聚丰项目 > AB32VG1开发板宠物远程智能管理系统
随着社会的发展和人民生活水平的不断提高,也有着非常多的工作压力。与人的交往也会有很多的压力,于是,越来越多的人选择养一只小宠物陪伴自己。但是目前,宠物不像人一样,可以选择搭建自己的舒适居住环境,在这种背景和情况下,做一个智能的宠物家居系统显得非常有趣和有必要。 本项目基于中科蓝讯(Bluetrum)AB32VG1开发板,结合rt-thread物联网操作系统,同时外接ESP8266模块,通过MQTT协议连接阿里云物联网平台。开发板上云后,就可以实时的上传开发板采集到的传感器数据,同时通过云平台提供的web界面设计,可以展示出数据的值,也可以通过控件来完成对设备的控制,从而实现远程监控的作用。
Bigmagic123
分享Bigmagic123
团队成员
Bigmagic123 嵌入式软件工程师
本项目采用AB32VG1开发板作为主要的控制中心,连接ESP8266模块,整体的架构如下框图所示:
本项目用到的AB32VG1开发板的硬件接口有:
1.两路I2C,主要连接OLED和光照传感器
2.两路UART,一路用于外接下载和调试,另外一路用于连接8266模块
3.GPIO控制,由于风扇,加热片,加湿器都是5V供电,所以需要利用光耦隔离输出
本模块主要用到的外设:
1.ESP8266模块
2.B-LUX-V20光照检测模块
3.SSD_1306 OLED模块
4.风扇
5.加热片
6.加湿器
7.DHT11
本项目利用了rt-thread的进行系统控制,利用一些rt-thread的软件包进行物联网上层驱动的开发工作。并且通过利用RT-ThreadStudio加快编译开发AB32的环境,使得整体开发效率较高。
rt-thread提供了丰富的软件包可以直接使用,其系统架构也是采用了系统与应用分层的设计思想,使得开发者不用关注底层架构的具体实现细节,包括也不需要特别对riscv架构有很深刻的理解也能够快速上手。这对于嵌入式应用开发者来说非常的友好,在现在stm32涨价缺货的情况下,也能够很好的进行业务逻辑的设计。
软件的设计流程如下:
本项目主要的难点在于物联网云平台与设备的连接问题,采用MQTT连接物联网平台,目前ESP8266已经做的非常的稳定了,且在阿里云物联网平台上也提供了相关的SDK配置的教程,可以连接上自己的服务器即可。由于ESP8266只有一个半串口,UART0可以收发,UART1只有TX,所以可以将ESP8266的串口打印映射到UART1,而将UART0作为与单片机通信的协议串口。这样就能够解决单片机与模块之间的通信问题,接下来就是自定义协议,其通信协议的制定按照协议框架即可。
而在云端配置web时,阿里云平台也可以利用阿里云IoT Studio进行控制和显示界面设计,其直接可以调用内部接口,将数据进行控制和显示,非常的方便。
而单片机则主要负责业务处理、协议解析、传感器数据采集。在进行程序设计的时候,可以按照posix API接口进行设计,最后各种模块之间各种独立工作,完成整个项目设计。
ab32vg1代码平台:
https://gitee.com/bigmagic/ab32_smart
ESP8266代码平台
https://gitee.com/bigmagic/esp8266_mqtt_ab32
图片效果