开源物联网平台调研
一、 调研推荐开源物联网平台及背景介绍
-
RT-Thread
RT-Thread是一个来自中国的开源物联网操作系统,它提供了非常强的可伸缩能力:从一个可以运行在ARM Cortex-M0芯片上的极小内核,到中等的ARM Cortex-M3/4/7系统,甚至是运行于MIPS32、ARM Cortex-A系列处理器上功能丰富系统。
-
Thingsboard
Thingsboard是一个开源的物联网平台,由俄罗斯软件公司Thingsboard Inc.创建。Thingsboard提供了一个易于使用的用户界面和可扩展的API,使得用户可以快速构建和部署物联网解决方案。Thingsboard提供了丰富的文档和教程,已经被广泛应用于智能家居、智能农业、智能工业等领域。
-
Kaa
Kaa是一个开源的物联网平台,由KaaIoT Technologies创建。Kaa提供了广泛的API和SDK,使得用户可以快速构建和部署物联网应用。Kaa平台提供了一套完整的物联网解决方案,包括数据收集、数据存储、设备管理等等。Kaa已经被广泛应用于智能家居、智能医疗、智能制造等领域。
这些开源物联网平台都是为了提供一个可扩展、开放和可互操作的物联网开发平台而创建的,旨在为物联网开发者提供更好的开发工具和解决方案。这些平台都已经被广泛应用于不同的物联网应用场景中,为物联网的发展做出了积极的贡献。
实际案例:
- RT-Thread
- 分布式温度监控系统
- 智能车连载教程
- 蜂鸣器播放器
- Thingsboard
-
利比里亚政府使用Thingsboard构建了一个智能水务系统,用于监测水源和供水质量。
-
智慧农业案例分享
http://www.ithingsboard.com/smart-farming/ -
中国移动使用Thingsboard构建了一个智能停车场系统,用于实现智能停车和缴费。
-
- Kaa
-
奥迪使用Kaa构建了一个智能车辆平台,用于实现车辆诊断和远程控制等功能。
-
Kaa在智慧农业方面有现成成熟的案例,在官网上有自己的分支。
-
Pragmatic使用Kaa构建了一个智能健康监测平台,用于监测和管理慢性疾病患者的健康状况。
-
这些案例展示了这些平台的应用场景和功能,同时也表明这些平台在全球范围内都有着广泛的应用。
二、社区支持度与技术栈角度优缺点对比
在社区支持度和背景方面的对比:
-
RT-Thread
优点:
- RT-Thread视频中心提供了一系列RT-Thread相关教程及分享内容。
- 中文支持度好
- 跨平台、芯片支持广泛。
- 资源占用极低,超低功耗设计,最小内核(Nano版本)仅需1.2KB RAM,3KB Flash。
- 高度可伸缩,优质的可伸缩的软件架构,松耦合,模块化,易于裁剪和扩展。
局限性:
- 硬件知识具有一定的入门要求
-
Thingsboard
优点:
- Thingsboard是一个易于使用的开源物联网平台,提供了直观的用户界面和丰富的功能。
- Thingsboard支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、Modbus等等。
- Thingsboard有一个活跃的社区支持,提供了大量的文档和示例代码。
局限性:
- Thingsboard的性能和可扩展性可能不如其他一些物联网平台,需要进行优化和调整。
- Thingsboard的一些高级功能和扩展可能需要额外的费用。
- Kaa
优点:
- Kaa是一个功能丰富的开源物联网平台,提供了设备管理、数据收集、规则引擎、远程配置等等功能。
- Kaa支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、AWS、Azure等等。
- Kaa有一个积极的社区支持,提供了大量的文档和示例代码。
局限性:
- Kaa的学习曲线可能比较陡峭,需要一定的开发经验和技能。
- Kaa的文档和社区支持可能不够清晰和完善。
总体来说,选择哪个开源物联网平台取决于您的具体需求和技能水平。如果需要一个功能丰富、可扩展的平台,可以选择RT-Thread或Kaa。如果需要一个易于使用的平台,可以选择Thingsboard。无论选择哪个平台,都应该注意学习曲线和社区支持,以便更好地理解和使用平台。
技术栈方面对比:
-
RT-Thread
优点:
-
C语言开发,源码支持大部分国内市面上的开发板
-
支持内核级编程,对于边缘硬件的优化利用率是极高的。
-
社区的开发文档支持全面,例程与教学视频都非常丰富。
局限性:
- 对开发人员的硬件基础要求稍高,要熟练掌握单板程序的编写。
- 发挥框架优势需要有RTOS的经验
-
-
Thingsboard
优点:-
Thingsboard使用Java和JavaScript作为主要的编程语言,这使得它可以很好地与其他Java应用程序和Web应用程序集成。
-
Thingsboard提供了易于使用的用户界面和可视化工具,可以帮助用户快速构建物联网应用程序。
-
Thingsboard支持多种设备协议,包括MQTT、HTTP、CoAP等等。
局限性:
- Thingsboard的性能和可扩展性可能不如其他一些物联网平台,需要进行优化和调整。
- Thingsboard可能需要更高的硬件和软件资源,以实现更好的性能和可扩展性。
-
-
Kaa
优点:-
Kaa使用C++和Java作为主要的编程语言,这使得它可以很好地与其他C++应用程序和Java应用程序集成。
-
Kaa提供了强大的设备管理和数据收集功能,可以帮助用户快速构建物联网应用程序。
-
Kaa支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、AWS、Azure等等。
局限性:
- Kaa的学习曲线可能比较陡峭,需要一定的开发经验和技能。
- Kaa可能需要更高的硬件和软件资源,以实现更好的性能和可扩展性。
-
三、开源项目地址及中文教程地址
开源项目地址如下:
-
RT-Thread:https://github.com/RT-Thread
官方文档:https://www.rt-thread.org/document/site/#/
-
Thingsboard:https://github.com/thingsboard
中文文档:http://www.ithingsboard.com/
开发例程:http://www.ithingsboard.com/docs/guides/#AnchorIDHardwareSamples
-
Kaa:https://github.com/kaaproject/kaa
官方文档:https://www.kaaiot.com/products/overview
教程文档直达:https://docs.kaaiot.io/KAA/docs/current/Architecture-overview/
四、部署要求
RT-Thread:
-
硬件
-
开发IDE、编译器
MDK KEIL、IAR、Gcc、RT-Thread Studio -
云上服务器
可选OneNet中国移动物联网开放平台,由于RT-Thread更多的是提供了硬件端的优化,对于物联网Iot的服务端需要另找方案。
Thingsboard:
-
硬件可选性大,若选用单板单片机,可考虑Arduino,其有专属的Arduino SDK可以使用,亦可以移植到树莓派这种系统板进行数据的上传(大大降低开发难度,但成本稍高)
-
云服务平台选择任意的云服务器,Thingsboard的后台服务是Java编写的程序,有源码可以跑在服务器上,Web的UI使用Express.js框架编写承载
官方推荐部署方案:http://www.ithingsboard.com/docs/reference/iot-platform-deployment-scenarios/(仅架构可参考,同时又要考虑我们的应用场景数量级并不大)
Kaa:
- 对ESP8266、STM32、树莓派、Arduino均有对应连接例程,所以边缘设备需要自行实现HTTP或者MQTT协议的json数据上报即可。
- 需要一台云服务器部署Kaa服务,页面组件采用Kaa Web UI可以进行自定义。
官方部署案例:https://docs.kaaiot.io/KAA/docs/current/Tutorials/solutions/air-quality-monitoring/空气质量检测相关案例,边缘单片机采用ESP8266,编写单板程序采集上报数据,使用PC做服务器处理并可视化。
五、功能截图
RT-Thread:
Thingsboard:
Kaa:
六、个人总结
物联网的部署方案大同小异,都是边缘数据的采集+服务器的处理,边缘数据的采集一般都对硬件不会提出具体要求,因为他和边缘的业务有关,只会对交互的协议提出要求,如果是CS架构的,公开SDK要以SDK为主要考虑挑选合适硬件性能,而直接装架构软件的,则一般边缘设备需要是树莓派这种系统板;云上服务器任意都可以满足要求,主要是运行物联网平台的框架,而服务器的要求也是与数据量强相关的,业务场景大、数据带宽大,对云服务器的要求就大,云服务器又分两种,一种是本文三种平台运行在服务器上的,这种不需要额外的服务器配合(除非你要做集群),如果是类似阿里云Iot平台这种云服务器,那么一般需要再接入服务器配合使用,那个Iot云服务器实例可以考虑成是个拿数据的池子(RT-Thread亦是如此);至于UI的开发,一般服务器都会给出对应的UI开发框架和一个便捷操作的UI组件(仪表盘)。文章来源:https://www.toymoban.com/news/detail-445241.html
RT-Thread对于设备性能的优化是内核级别的,其为国产框架,对于开发人员的生态支持良好,文档教程丰富,而且移植程序可以直接面向国内很多开发板供应商,但是对于开发人员需要有硬件开发的基础,最好有RTOS的经验,其对应不同的设备成本有不同的解决方案,这个框架对于硬件方面的优化和国内开发的教程做的是很友好的,不过相较于后两个,其可视化部分和Iot服务部分仍然需要寻找方案;Thingsboard与Kaa都属于成熟的Iot框架解决方案,体量庞大,因为并非国产,所以在入门上会较RT-Thread难一些,但是其生态良好,久经沙场,社区支撑强大,仍然是不错的选择,Thingsboard也有中文文档教程区,完整度不低,其功能相比RT-Thread也更齐全、更丰富,但对于硬件没有那么强有力的优化,很多案例也是国外市场的产品,Kaa虽然也同样强大,但是其中文教程方面稀少,入门和上两个相比会更加艰难。文章来源地址https://www.toymoban.com/news/detail-445241.html
到了这里,关于开源物联网平台推荐介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!