开源物联网平台推荐介绍

开源物联网平台调研

文章目录

  • 开源物联网平台调研
  • 一、 调研推荐开源物联网平台及背景介绍
  • 二、社区支持度与技术栈角度优缺点对比
  • 三、开源项目地址及中文教程地址
  • 四、部署要求
  • 五、功能截图
  • 六、个人总结
  • 一、 调研推荐开源物联网平台及背景介绍

  • 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已经被广泛应用于智能家居、智能医疗、智能制造等领域。

  •   这些开源物联网平台都是为了提供一个可扩展、开放和可互操作的物联网开发平台而创建的,旨在为物联网开发者提供更好的开发工具和解决方案。这些平台都已经被广泛应用于不同的物联网应用场景中,为物联网的发展做出了积极的贡献。

    实际案例:

    1. RT-Thread
    2. 分布式温度监控系统
    3. 智能车连载教程
    4. 蜂鸣器播放器
    5. Thingsboard
    6. 利比里亚政府使用Thingsboard构建了一个智能水务系统,用于监测水源和供水质量。

    7. 智慧农业案例分享
      http://www.ithingsboard.com/smart-farming/

    8. 中国移动使用Thingsboard构建了一个智能停车场系统,用于实现智能停车和缴费。

    9. Kaa
    10. 奥迪使用Kaa构建了一个智能车辆平台,用于实现车辆诊断和远程控制等功能。

    11. Kaa在智慧农业方面有现成成熟的案例,在官网上有自己的分支。

    12. Pragmatic使用Kaa构建了一个智能健康监测平台,用于监测和管理慢性疾病患者的健康状况。

    这些案例展示了这些平台的应用场景和功能,同时也表明这些平台在全球范围内都有着广泛的应用。

    二、社区支持度与技术栈角度优缺点对比

      在社区支持度和背景方面的对比:

    1. RT-Thread

      优点:

    2. RT-Thread视频中心提供了一系列RT-Thread相关教程及分享内容。
    3. 中文支持度好
    4. 跨平台、芯片支持广泛。
    5. 资源占用极低,超低功耗设计,最小内核(Nano版本)仅需1.2KB RAM,3KB Flash。
    6. 高度可伸缩,优质的可伸缩的软件架构,松耦合,模块化,易于裁剪和扩展。
    7. 局限性:

    8. 硬件知识具有一定的入门要求
    9. Thingsboard

    优点:

  • Thingsboard是一个易于使用的开源物联网平台,提供了直观的用户界面和丰富的功能。
  • Thingsboard支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、Modbus等等。
  • Thingsboard有一个活跃的社区支持,提供了大量的文档和示例代码。
  • 局限性:

  • Thingsboard的性能和可扩展性可能不如其他一些物联网平台,需要进行优化和调整。
  • Thingsboard的一些高级功能和扩展可能需要额外的费用。
    1. Kaa

    优点:

  • Kaa是一个功能丰富的开源物联网平台,提供了设备管理、数据收集、规则引擎、远程配置等等功能。
  • Kaa支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、AWS、Azure等等。
  • Kaa有一个积极的社区支持,提供了大量的文档和示例代码。
  • 局限性:

  • Kaa的学习曲线可能比较陡峭,需要一定的开发经验和技能。
  • Kaa的文档和社区支持可能不够清晰和完善。
  • 总体来说,选择哪个开源物联网平台取决于您的具体需求和技能水平。如果需要一个功能丰富、可扩展的平台,可以选择RT-Thread或Kaa。如果需要一个易于使用的平台,可以选择Thingsboard。无论选择哪个平台,都应该注意学习曲线和社区支持,以便更好地理解和使用平台。

      技术栈方面对比:

    1. RT-Thread

      优点:

    2. C语言开发,源码支持大部分国内市面上的开发板

    3. 支持内核级编程,对于边缘硬件的优化利用率是极高的。

    4. 社区的开发文档支持全面,例程与教学视频都非常丰富。

    5. 局限性:

    6. 对开发人员的硬件基础要求稍高,要熟练掌握单板程序的编写。
    7. 发挥框架优势需要有RTOS的经验
    8. Thingsboard
      优点:

    9. Thingsboard使用Java和JavaScript作为主要的编程语言,这使得它可以很好地与其他Java应用程序和Web应用程序集成。

    10. Thingsboard提供了易于使用的用户界面和可视化工具,可以帮助用户快速构建物联网应用程序。

    11. Thingsboard支持多种设备协议,包括MQTT、HTTP、CoAP等等。

    12. 局限性:

    13. Thingsboard的性能和可扩展性可能不如其他一些物联网平台,需要进行优化和调整。
    14. Thingsboard可能需要更高的硬件和软件资源,以实现更好的性能和可扩展性。
    15. Kaa
      优点:

    16. Kaa使用C++和Java作为主要的编程语言,这使得它可以很好地与其他C++应用程序和Java应用程序集成。

    17. Kaa提供了强大的设备管理和数据收集功能,可以帮助用户快速构建物联网应用程序。

    18. Kaa支持多种设备协议和云平台集成,包括MQTT、HTTP、CoAP、AWS、Azure等等。

    19. 局限性:

    20. Kaa的学习曲线可能比较陡峭,需要一定的开发经验和技能。
    21. Kaa可能需要更高的硬件和软件资源,以实现更好的性能和可扩展性。

    三、开源项目地址及中文教程地址

      开源项目地址如下:

    1. RT-Thread:https://github.com/RT-Thread

      官方文档:https://www.rt-thread.org/document/site/#/

    2. Thingsboard:https://github.com/thingsboard

      中文文档:http://www.ithingsboard.com/

      开发例程:http://www.ithingsboard.com/docs/guides/#AnchorIDHardwareSamples

    3. 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组件(仪表盘)。

      RT-Thread对于设备性能的优化是内核级别的,其为国产框架,对于开发人员的生态支持良好,文档教程丰富,而且移植程序可以直接面向国内很多开发板供应商,但是对于开发人员需要有硬件开发的基础,最好有RTOS的经验,其对应不同的设备成本有不同的解决方案,这个框架对于硬件方面的优化和国内开发的教程做的是很友好的,不过相较于后两个,其可视化部分和Iot服务部分仍然需要寻找方案;Thingsboard与Kaa都属于成熟的Iot框架解决方案,体量庞大,因为并非国产,所以在入门上会较RT-Thread难一些,但是其生态良好,久经沙场,社区支撑强大,仍然是不错的选择,Thingsboard也有中文文档教程区,完整度不低,其功能相比RT-Thread也更齐全、更丰富,但对于硬件没有那么强有力的优化,很多案例也是国外市场的产品,Kaa虽然也同样强大,但是其中文教程方面稀少,入门和上两个相比会更加艰难。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 开源物联网平台推荐介绍

    发表评论