【DTSE Tech Talk 精选问答】NO.58丨华为云IoT开源专家实践分享:开源让物联网平台更开放易用
【摘要】 开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
直播链接:https://bbs.huaweicloud.com/live/DTT_live/202405141630.html
Q:华为云IoT平台对于开源和企业用途有做功能区分吗?
A:IoT平台本身是一个华为云的原子服务之一,服务了成千上万的华为云客户和开发者,所以商用IoT平台会结合华为云的安全底座、运维底座以及周边服务从解决方案上给华为云客户和开发者提供更加完整的体验、安全、可靠和运维能力,可以提供开箱即用服务。 开源社区各个软件有自己的独立定位,聚焦在本身的功能上,所以IoT对于社区的开源贡献也聚焦在社区软件本身聚焦的能力上。Q:华为云IOT平台SDK底层通常需要做哪些硬件资源接口适配?
A:SDK主要是软件层面,实现对接华为云的相关功能,SDK本身不需要做硬件接口的适配Q:ServiceComb用于物联网开发相较于Spring Cloud和Dubbo有哪些优势?
A:Apache ServiceComb主要的优势在于性能;其借助优秀的设计以及Vert.x响应式框架的助力,在各项Benchmark中,均有不俗的表现。Q:华为云IoT与鸿蒙系统的结合方面有没有比较显著体现开源优势的案例?开发者如何参与华为云IoT的开源项目并贡献代码?
A:通过在OpenHarmony成立SIG,把端侧能力源代码放在开源社区与社区共建生态,比较多的鸿蒙商用发行版公司也在部分发行版集成了开源代码,这样就可以让硬件开发伙伴可以2个接口就可以连接到华为云进行业务上云调试,让开发者聚焦自己的业务实现。开发者可以通过Gitee OpenHarmony-SIG/iot_device_sdk_c (gitee.com)
、Github huaweicloud/huaweicloud-iot-device-sdk-java (github.com) huaweicloud/huaweicloud-iot-device-sdk-python (github.com)
平台关注我们的项目,并将自己想要或者想开发的特性通过issue或其他方式与我们交流。
Q:项目应该如何进行开源的选型,我们应该从哪些方面分析?
A:应该结合功能、特性、License、项目的活跃情况等分析。 同时,如果企业对开源项目运维经验不足,也推荐使用成熟的商业云服务,使得企业更聚焦核心业务,快速完成技术创新Q:开放南北向SDK有哪些区别?这些开源组件在多协议接入时怎么做到比较简洁地使用?
A:南向主要用于设备对接,北向主要用于应用对接。根据实际使用的场景和编程语言来选择SDK。 北向高频接口在华为云APIExplorer上可以获取代码示例,更快速的使用SDK;南向SDK有常用功能的demo,便于理解和使用。Q:使用开源技术对物联网设备兼容性有何影响?
A:开源技术一方面可以让设备更快速地接入某个标准,但是另一方面,开源技术相对更能接受EOL、EOS,商用项目可能需要关注开源技术支持的具体版本范围。Q:加入开源社区对于个人应用开发者有哪些好处?如何在开源社区中筛选到适合自己上手又有发展前景的项目?
A:加入开源社区可以让个人应用开发者更开拓视野,积累对某个技术栈更深刻的理解。可以在开源社区中寻找自己本来就在使用的,有上下游关系,技术契合,相对活跃的项目参与。Q:如何在不同的物联网设备之间建立通信和数据交换的连接?
A:可以选择华为云IoTDA服务,实现云端与设备、设备与设备间的双向通信能力。Q:开源软件如何帮助降低了物联网解决方案的入门门槛?
A:开源软件一般聚焦在某一个核心功能上,代码也是开放的,好的开源组件也有比较好的生态,可以让开发者聚焦业务功能和创新能力上,不需要做一个全能的选手。 开源组件在刚开始只需要使用功能的时候比较简单上手,后续商用化的时候要使用好开源组件其实对技术要求比较大,需要投入资源去进行调优、运维以及工程化优化。并且部分开源组件也只提供性能或者可靠性有一定限制的版本,所以这一块选择是也需要考虑。总体上说,一个企业需要结合业务的生命周期,商用的节奏,自己的资源来规划使用开源组件、还是使用商用化的云服务软件,让自己的资源投入到更加聚焦业务上。
Q:华为云IoT平台支持哪些开源通信协议?
A:IoT支持的通讯协议:lwM2M、LoRa、CoAP、J808、NGTP、MQTT(3.1&5.0)、AMQP、Kafka、Pulsar、MQS、Restful API、鸿蒙 主流的工业协议:OPC、MODBUS、PLC S7、PROFIBUS、PROFINET、CC-Link、BacNet...Q:能否利用华为云IoT的开源工具进行大规模设备的批量配置和管理?
A:目前IoT的开源工具还不能独立进行设备配置和管理,需要结合IoTDA服务使用。Q:企业参与开源开源如何能让物联网平台更开放、更易用?
A:首先,开源项目的标准化和兼容性,其次开源软件有一定程度上的透明性和信任。企业通常带有大量真实用户,可以通过大量实践推动开源能力建设,同时也汲取经验让平台与开源生态能力共同进步。Q:华为云IOT中如何进行物联网应用的代码审查和测试?
A:华为云IoT本身不负责物联网应用,不对物联网应用做代码审查和测试。解决方案级别商业项目可以提供相关服务。Q:开源是否有助于降低物联网平台运维的成本?
A:开源在降低成本主要体现在无需许可费用以及社区支持、资源共享。Q:开源策略下,华为云IoT平台如何增强应用数据隐私保护?
A:对于云服务来讲,隐私保护的核心还是防止客户数据泄露,需要识别关键数据资产,并按照数据分级分类保护以及GDPR相关保护要求落地,同时IOT按照“三道防线”做好自身防护,防止黑客入侵,第一道防线,外围依赖华为云安全服务,第二道防线暴露面的防注入攻击,第三道防线防止黑客在服务内部横向移动,只有做到云平台自身安全和保护好客户数据资产,才能做好隐私保护。Q:华为云IOT平台支持哪些物联网协议整合接入?
A:IoT支持的通讯协议:lwM2M、LoRa、CoAP、J808、NGTP、MQTT(3.1&5.0)、AMQP、Kafka、Pulsar、MQS、Restful API、鸿蒙 主流的工业协议:OPC、MODBUS、PLC S7、PROFIBUS、PROFINET、CC-Link、BacNet...Q:针对开源,如何确保物联网平台的开放性,使其能够兼容各种设备和协议?
A:实现标准协议,并对外定义清晰的API接口标准,使得任何设备厂商或第三方开发者都能够按照这些标准来开发兼容的设备和服务。Q:开源让物联网平台更开放、易用,那么知识产权保护如何体现?
A:业界一般通过License、签署CLA等方式来保护开源代码的知识产权。Q:开源实践如何促进物联网生态的创新?
A:开源更方便开发者和用户来共享代码和解决方案。另一方面也降低了进入门槛。使得开发者/用户可以更加聚焦到核心业务的构建中。Q:华为云IoT平台是如何利用开源技术来提高其开放性的?
A:使用开源协议和标准,同时贡献维护开源项目与华为云IoT的对接项目。Q:开源在简化物联网平台的开发和使用中起到了什么作用?
A:加速技术发展、降低成本、促进了标准化。Q:华为云IoT平台是如何确保开源组件的安全性的?
A:华为云IoT通过开源软件引入管理以及定期漏洞扫描等措施。Q:华为云IoT平台如何鼓励开发者为其贡献代码?
A:对于活跃的开发者,我们可以通过文章、社区宣传的方式,还会有一些活动礼品。Q:开源策略是如何帮助华为云IoT平台与第三方服务和应用程序集成的?
A:开放接口和标准,大家都使用标准协议对接,便于开发,便于与已存在的三方系统对接。Q:在开源生态系统中,华为云IoT平台是如何管理和维护不同版本和依赖关系的?
A:借助Git管理版本分支,在每个版本分支中,对各个语言采用统一的依赖管理措施管理依赖,做到每个语言统一版本,同时还有扫描工具扫描漏洞等。Q:开源解决方案对于处理大量物联网数据有何优势?
A:开源方案可能会具有更好的扩展性,有更广泛的生态支持。Q:华为云IoT平台提供哪些工具和资源以支持开源项目?
A:华为云IoT平台有开放API、SDK、免费用量、以及技术文档和社区来支持开源项目使用对接到华为云IoT平台。Q:如何通过开源合作加速物联网解决方案的创新?
A:开源更方便开发者和用户来共享代码和解决方案。另一方面也降低了进入门槛。使得开发者/用户可以更加聚焦到核心业务的构建中。Q:开源对标准化物联网设备和数据格式有何影响?
A:大部分开源项目都是使用标准化的数据格式,不过开源有机会可以促生出一些事实上标准的数据格式,可能对标准化设备影响有限。Q:华为云IoT平台如何处理开源社区的反馈和需求?
A:华为云IoT积极参与开源社区,通过论坛、Gitee、GitHub等渠道与社区交流。Q:开源技术如何帮助实现跨行业物联网解决方案的互操作性?
A:开源技术为跨行业的物联网解决方案提供了互操作性的基础,主要通过标准化协议、共享library等,方便跨行业的物联网解决方案互相通信,交换数据。Q:华为云IoT平台的开源路线图是怎样的?
A:华为云IoT2024年规划持续跟进OpenHarmony的新版本,同时支持原生arkts sdk,支撑纯血鸿蒙应用接入IoT平台。Q:开源在促进物联网国际标准制定中扮演了什么角色?
A:开源对于物联网国际标准制定还是比较重要的,首先,社区从实现者的方向提供了反馈,其次,社区的项目会被全球开发者使用,有助于得到广泛的应用、认可。Q:华为云IoT平台是如何平衡商业利益和开源精神的?
A:华为云IoT开源了促进生态发展、技术共享的组件,同时保留海量设备管理、亿级设备链接等作为差异化竞争的资产。Q:在开源项目中,华为云IoT平台是如何保护知识产权的?
A:业界一般通过License、签署CLA等方式来保护开源代码的知识产权Q:华为云IoT平台的开源实践对其他物联网提供商有何启示?
A:开放生态系统建设,让更多的设备、应用可以接入平台。Q:华为云IoT的开源解决方案是否提供了与市面上常见的健康监测设备(如血压计、血糖仪、体重秤等)的集成能力?还有就是华为云IoT平台是否提供了数据分析工具或API,以便用户对收集到的健康数据进行深入分析和挖掘,以发现潜在的健康问题或改善健康习惯?
A:目前华为云IoT平台对接了各种标准协议,如果健康检测设备支持就可以接入进来。华为云IoT平台服务目前定位于海量设备的多样接入和管理能力;支持流传数据到华为云大数据分析、机器学习云服务进行数据存储、分析、挖掘的能力,相关服务开放提供API,可以完成健康监测的解决方案。Q:华为云IoT对于开源消息中间件的选型依据是什么?
A:华为云IoT选型消息中间件的依据包括:license合规、社区活跃度良好、支持万级Topic、支持队列的消费模型等。可以看看华为云IoT之前在ApacheCon 2021年的分享。Q:华为云IoT对bookeeper的生态有什么规划?
A:2024年IoT对bookkeeper项目的生态上,计划推动社区迁移到junit5,并完善支持etcd,拆分client、server module,并考虑将server升级到jdk17。Q:华为云IoT今年对ServiceComb项目有什么规划呢?
A:2024年,IoT会与ServiceComb团队共建ServiceComb3.x 生态能力,持续完善DFX能力建设。想要了解更多TinyVue组件库相关知识,欢迎观看DTSE Tech Talk 系列技术直播
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)