机智云技术在宠物管理系统中的应用
扫描二维码
随时随地手机看文章
0 引 言
在我国,饲养的宠物越来越多,但人们由于工作、生活的原因没有更多的时间更好地照顾管理宠物,因此对饲养宠物工具的要求也越来越高。目前在市场上宠物喂食系统部分是人工喂养,多半是半自动喂养,产品比较单一,在一定程度上无法满足人们的需求。针对目前市场的需求,整合市场上单一产品的优点,设计实现基于机智云技术的智能宠物管理系统。本系统以 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 传感器模块
温湿度传感器模块包括温湿度显示、自动调节温湿度、人工调节温湿度等。它有三大执行元件 :DTH11 温湿度传感器、5 V 电热片和 5 V/1 A 直流小电机。本设计中,当DTH11 温湿度传感器给主控系统传输的数据高于设定值时,主控系统发送一个信号使直流小电机开始工作降温 ;当数据低于设定值时,主控系统发送一个信号使电热片工作升温。
为了防止电热片与直流小电动机启动和关闭时,电流过大影响芯片和 DTH11 温湿度传感器,本系统采用分开供电模式 :DTH11 的电源来自于主控板阿波罗 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 文件,在这里可以配置工程的配置信息。正确填写机智云的 ProductKey,APP ID,APP Secret 后,工程就可以部署运行。云端会自动生成一个仿真设备,可模拟真实设备上报数据的行为。在实体设备还未开发完成的情况下,开发者可以利用机智云提供的虚拟设备工具进行 APP 调试,测试远程控制设备的功能。其中,在 WiFi 链接模式时,当 WiFi 通信在无优先级或者 BT/ZB 优先级较高的情况下,可以人为中断 WiFi 工作,只需通过 GPIO 口来区分各个通信的优先级。利用联网的 IP地址与安卓 APP 连接,通过该端口发送参数信息,并通过APP 界面显示。要实现机智云 APP 与硬件设备联调,首先要使手机和硬件设备连接到同一个网络上,通过网络向服务器发出请求,并且获得相应的信息。信息的传递是双向的,机智云 APP 可以控制硬件设备,若手动操作硬件设备,APP界面上相应的数据也会变化。该系统相应的安卓 APP 界面如图 5 所示。
5 测 试
(1)首先在机智云平台上的开发者中心打开已经开发的 Android APP—宠物管理系统,依次点击“在线调试设备”“启动虚拟设备”。在页面上有生成已开发的宠物管理系统的二维码,手机下载机智云,进入机智云 APP 扫描二维码进行绑定。然后进行电脑模拟虚拟设备控制和手机 APP 操作按钮进行测试。在模拟设备和手机 APP 上操作有数据并且在仿真软件无误显示的话,证明在线测试成功。
(2)把手机 APP 与实物进行连接,宠物家园系统处于启动状态,在手机终端 APP 添加实物设备。进行一键配置时,尝试多次配置并失败。排查网络问题,随后分别连接 WiFi和 4G 网络进行配置,配置并没成功。最后更换安卓手机后,配置成功。开始进行远程控制各个模块。
(3)远程控制时发现手机 APP 中显示温湿度与硬件设备液晶显示屏上数值不对应,手机 APP 中需要延时很长时间,数值才更新,并且多个按钮没有添加松手检测,以至于要一直按着按钮才能使其工作。
(4)排查代码的不严谨而导致的延时问题,经过优化代码后,调试成功。其中,进行 APP 调试时开发 APP 是难点 ; 对 Java 语言不太熟悉的情况下,应用 WiFi 连接设备和 APP的连接调试,要花不少时间。
6 结 语
本文所述宠物管理系统可以通过安卓手机 APP 远程观察宠物的活动,随时随地通过手机进行投食、清理粪便,实时显示温湿度并可调节温度。该系统具有操作简单、易懂、方便等优点,且安全性、稳定性、智能性较高。但是,该系统还存在几个可以优化地方 :增加语音提示功能、增加远程故障短信通知等功能,有待进行下一步研究。