摘要: 为了方便人们更好地管理宠物,设计基于STM32和机智云SDK进行二次开发的安卓APP宠物管理系统。该系统整合WiFi联网模块和传感器技术,实现随时随地远程观察宠物状况、控制管理宠物喂食以及清理等服务,从根本上解决由于时间距离关系不能更好地照顾宠物的需求。机智云物联网开发平台操作简单方便,兼容性好,系统安全性能高。
关键词: 机智云技术 宠物管理 STM32 WiFi联网模块 传感器技术 安卓APP
引言
在我国,饲养的宠物越来越多,但人们由于工作、生活的原因没有更多的时间更好地照顾管理宠物,因此对饲养宠物工具的要求也越来越高。目前在市场上宠物喂食系统部分是人工喂养,多半是半自动喂养,产品比较单一,在一定程度上无法满足人们的需求。针对目前市场的需求,整合市场上单一产品的优点,设计实现基于机智云技术的智能宠物管理系统。本系统以Cortex-M4为内核的STM32F429芯片为核心,通过机智云整合单片机、WiFi物联网实现对宠物智能喂养与管理的功能。
1 机智云技术
从2014年推出的机智云1.0到现在的机智云3.0,机智云实现了技术积累,提供物联网云平台、硬件通信、终端APP一体化产品服务和云服务,为有物联网管理需求的客户提供连接、运营管理、数据分析等服务。用户可以自定义统计分析,对机智云SDK进行二次开发,使智能硬件设备接入机智云后的功能更加完善,更加便于管理。机智云的功能可以概括为连接硬件设备,存储分析数据并保证数据的安全性,通过唯一的标识码链接主控设备后控制设备。物联网的价值源于万物互联的“智能化”,机智云为企业提供智能硬件自助开发工具(PaaS)及物联网行业解决方案(SaaS),走在了物联网云服务市场的前列。机智云开发系统示意图如图1所示。
2 总体设计
宠物管理系统由硬件系统、软件系统组成。硬件系统包括主控模块、电机模块、液晶屏显示操作模块、传感器模块、电源模块和摄像头模块。软件系统首先要开发环境搭建,完成MDK软件安装、USB串口驱动安装、ST-LINK安装,采用C++/C语言和单片机C51等语言来编写模块化程序。软件系统主要实现机智云物联网功能,并在手机开发相应APP系统。机智云物联网平台的系统一方面远程控制移动终端,利用网络和底层控制相关功能,实物搭建完毕和下载好程序,上传好数据,就可以通过液晶屏、自动检测、安卓手机进行发送指令;另一方面把数据上传到机智云端,机智云的服务器就会对收到的数据进行处理和分析,将结果上传到控制终端,并在终端中显示,这种形式克服了时间和区域问题,能精确地知道宠物的活动状况[1]。系统设计如图2所示。
3硬件系统设计
本文的控制系统以Cortex-M4为内核的STM32F429芯片为控制核心,通过温湿度传感器对宠物屋的空气温度、湿度实现实时监测;利用嵌入式与物联网技术,通过温湿度传感器和激光传感器的应用,并借助Andriod APP终端实现对宠物的远程观察。该系统可以实时监测相关参数,并以此判断当前的物理环境状况,自动调节温度、湿度以及投放食物量等相关操作。
主控模块使用了ARM公司的STM32F429芯片、CH340G芯片、AT24C02芯片。电机模块使用了Realplay品牌的微型130小电机来控制风扇转动,使用立式的型号为ZGA37RH电机控制喂食的阀门和清理粪便。液晶显示屏模块用于显示温湿度和激光测量距离实物的高度等。传感器模块由温度传感器、湿度传感器组成。电源模块有两种供电模式:USB供电模式和电池供电模式。摄像头模块用于观察宠物的活动状况,应用市场上成本较低但比较成熟的摄像头。
3.1 WiFi模块
WiFi联网属于办公和家庭使用的短距离无线技术,具有速度快、可靠性高等特点。在开放性区域,通信距离可达300 m左右;在封闭性区域,其通信距离为100 m左右,组网的成本低。该系统选用的esp8266 WiFi模块芯片是一款串口转无线芯片模块,内部自带固件,用户操作简单,无需编写时序信号。ESP8266 WiFi模块内部配置TCP/IP协议,支持Smart Config功能;支持SPI,UART,I2C,I2S,PWM,GPIO,IR远程控制功能,以及2 ms唤醒,连接并传递数据开发包的特性
3.2 传感器模块
温湿度传感器模块包括温湿度显示、自动调节温湿度、人工调节温湿度等。它有三大执行元件TH11温湿度传感器、5 V电热片和5 V/1 A直流小电机。本设计中,当DTH11温湿度传感器给主控系统传输的数据高于设定值时,主控系统发送一个信号使直流小电机开始工作降温;当数据低于设定值时,主控系统发送一个信号使电热片工作升温。
为了防止电热片与直流小电动机启动和关闭时,电流过大影响芯片和DTH11温湿度传感器,本系统采用分开供电模式TH11的电源来自于主控板阿波罗STM32F429IGT开发板的电源端口,而电热片和直流小电动机的电源直接采用18650锂电池来供电。电热片和直流小电动机均采用PWM脉冲信号控制,但不是直接使用PWM脉冲信号控制,而是使用两个小继电器单独控制电热片和直流小电动机。主控模块用PWM脉冲信号来控制继电器,从而间接控制电热片和直流小电动机的启动和关闭。采用继电器来控制的方案是经过综合考虑的,这样不仅经济、安全,而且使用简单。
4 软件系统设计
整个软件系统设计是基于μC/OS-Ⅲ操作系统和STemWin图形界面系统进行设计。首先,对μC/OS-Ⅲ操作系统和STemWin图形系统移植;接着,编写各个模块的驱动代码,为每个模块开启相应的任务,分配好栈和优先级,同时利用仿真器制作相应的按钮控件,并在Visual C++6.0上进行测试;最后,将测试好的控件代码移植到工程中,这样就可以通过μC/OS-Ⅲ对图形界面的相关控件任务进行调用并显示,根据宠物家园的硬件系统进行模块化编写,而程序使用IAR软件进行编写。
4.1 机智云物联网
在该系统应用的物联网技术是市面上的智能喂食系统版和集合版,把单一的宠物喂食系统的优点结合起来,设计一个更加完美和符合市场需求的产品,是原来产品的升级版,实现对宠物远程实时监控的功能。宠物管理系统远程实时监控主要功能有两点:用户手机APP软件与喂养装置和清理粪便装置进行通信;在安卓APP上随时都可以观察宠物的活动状态。
物联网网络架构分为应用层、网络层、感知层。通过上面分析,通信模块主要是基于IEEE 802.11协议的WiFi低功耗SoC广域网,工作在2.4 GHz/5 GHz频段,可以借助于互联网、云概念和智能终端,更加方便地对任何物体进行连接。物联网对所连接的设备的通信协议要求有以下三点:联网的每一物件均可寻址;联网的每一物件可通信;联网的每一物件可控制[2]。为满足以上要求,该系统采用WiFi联网的方式,使硬件系统成为可通信可控制的网络体。机智云物联网网络架构如图3所示。
4.2 手机APP开发
本系统所用远程控制的客户端是基于机智云开发的安卓APP控制。根据机智云部署步骤和调试步骤,在机智云平台开发SoC模式,创建安卓APP的操作步骤如图4所示,成功地把硬件系统接入到机智云服务。
在创建机智云服务之前需要先下载安卓APP开源框架,并准备好Eclipse开源框架编译环境。导入项目到Eclipse工程后,根据开源框架包结构的说明,修改UIConfig.json文件,在这里可以配置工程的配置信息。正确填写机智云的Product Key,APP ID,APP Secret后,工程就可以部署运行。云端会自动生成一个仿真设备,可模拟真实设备上报数据的行为。在实体设备还未开发完成的情况下,开发者可以利用机智云提供的虚拟设备工具进行APP调试,测试远程控制设备的功能。其中,在WiFi链接模式时,当WiFi通信在无优先级或者BT/ZB优先级较高的情况下,可以人为中断WiFi工作,只需通过GPIO口来区分各个通信的优先级。利用联网的IP地址与安卓APP连接,通过该端口发送参数信息,并通过APP界面显示。要实现机智云APP与硬件设备联调,首先要使手机和硬件设备连接到同一个网络上,通过网络向服务器发出请求,并且获得相应的信息。信息的传递是双向的,机智云APP可以控制硬件设备,若手动操作硬件设备,APP界面上相应的数据也会变化。该系统相应的安卓APP界面如图5所示。
安卓APP页面
5 测试
(1)首先在机智云平台上的开发者中心打开已经开发的Android APP—宠物管理系统,依次点击“在线调试设备”“启动虚拟设备”。在页面上有生成已开发的宠物管理系统的二维码,手机下载机智云,进入机智云APP扫描二维码进行绑定。然后进行电脑模拟虚拟设备控制和手机APP操作按钮进行测试。在模拟设备和手机APP上操作有数据并且在仿真软件无误显示的话,证明在线测试成功。
(2)把手机APP与实物进行连接,宠物家园系统处于启动状态,在手机终端APP添加实物设备。进行一键配置时,尝试多次配置并失败。排查网络问题,随后分别连接WiFi和4G网络进行配置,配置并没成功。最后更换安卓手机后,配置成功。开始进行远程控制各个模块。
(3)远程控制时发现手机APP中显示温湿度与硬件设备液晶显示屏上数值不对应,手机APP中需要延时很长时间,数值才更新,并且多个按钮没有添加松手检测,以至于要一直按着按钮才能使其工作。
(4)排查代码的不严谨而导致的延时问题,经过优化代码后,调试成功。其中,进行APP调试时开发APP是难点;对Java语言不太熟悉的情况下,应用WiFi连接设备和APP的连接调试,要花不少时间。
6 结语
本文所述宠物管理系统可以通过安卓手机APP远程观察宠物的活动,随时随地通过手机进行投食、清理粪便,实时显示温湿度并可调节温度。该系统具有操作简单、易懂、方便等优点,且安全性、稳定性、智能性较高。但是,该系统还存在几个可以优化地方:增加语音提示功能、增加远程故障短信通知等功能,有待进行下一步研究。
|