有很多初学者反映,在学习基础理论知识的时候,会容易觉得枯燥无味,不知道学完之后应用在哪些方面,更不知道如何把学到的知识应用到实际的项目开发当中。
因此,微联智控工作室计划开源一个关于嵌入式物联网的小项目。这个小项目的框架,如下图所示:
这是一个无线传感控制网络,主要涉及各种终端设备,ARM-Linux中控,云服务器这三个角色,终端设备和其中一台ARM-Linux中控使用2.4GHz或433MHz组成一个小型的无线局域网络。多台ARM-Linux中控使用MQTT协议,通过云服务器进行数据同步和转发。
为什么不用ZigBee进行组网设计?因为,作者还没进行ZigBee相关知识的学习和开发。再加上,2.4GHz和433MHz这两个无线频段,在实际工作中应用还是比较多的。
各种终端设备是微联智控工作室自主进行开发设计的,目前设备的数量还不算多,整个系统调通后会逐渐加入其他终端设备,如下图所示。
这些终端设备使用了STM32单片机作为主控芯片,项目的第一期规划,硬件主要有2.4GHz模块,433MHz模块,用户轻触按键,可调光RGB-LED,继电器模块,DHT11温湿度传感器,OLED信息显示。
这个嵌入式物联网项目,第一期计划实现以下功能:
1、终端设备入网及退网功能。
2、ARM-Linux中控管理终端设备功能。
3、终端设备上线及离线检测。
4、用户按键上报,RGB-LED调光,继电器控制。
5、温度和湿度实时监测和上报。
6、OLED显示实时温度,显示中控推送的数据。
7、更多未知功能......
对于ARM-Linux中控部分,采用百问科技和正点原子的imx6ull开发板,使用Qt5进行界面应用程序开发,本次开源不涉及系统移植和驱动开发方面的知识,只涉及Qt5应用程序开发。
对于不熟悉Qt5应用程序开发的初学者,可以用一些简单易用的GUI开发板进行界面设计,如游芯科技的YOXIOS X3开发板,这类开发板提供一套简单易用的GUI解决方案,开发者使用此类开发板,可以很容易进行界面设计开发。
这个项目会在GitHub和Gitee进行开源,目前,项目第一期的硬件说明文档,原理图和PCB已经上传完成,程序源代码已经上传但仍在调试中,项目开发文档也开始进行编写,欢迎fork和star。
开源内容包括硬件说明文档,原理图和PCB,程序源代码,项目开发文档,如下图所示。
项目的开源地址:
https://github.com/embediot/Embedded-IoT-Project
https://gitee.com/embediot/Embedded-IoT-Project