3。湿度信息:通过湿度传感器采集湿度信息通过ZigBee传输到仓储中心并在服务器端显示,服务器端可以修改湿度的设定范围
4。光强信息:通过光强传感器采集光强信息通过无线网络传输到仓储中心并在服务器端显示,服务器端可以更改光强的设定范围
5。货物管理:访问服务器即可查看当前该仓储中心中的物品存放情况,具体的记录信息为:(1)id (2)物品名 (3)归类 (4)产地 (5)数量, 可以在仓库使用RFID芯片来管货物登记出入库。
6。警报:通过对检测温度、湿度、光强的检测来打开警报,也可以在服务器页面直接打开或关闭警报,当有警报情况发生时,发送相应的警报信息到指定的手机号码中
7。通风:通过对温度、湿度、光强的检测来打开风扇,也可以在服务器页面直接打开或关闭风扇也可以选择风扇的转速等级
8。无线通信:通过无线模块发送采集到的信息到仓储中心,当有警报信息时通过无线模块发送信息到制定手机号码中
2。3 M0模块功能设计
采用FS_11C14开发板,是基于LPC11C14微控制器(ARM Cortext-M0 内核)。集成多种传感器、RFID、ZigBee、OLED显示模块等。另外配套开放的CoLink仿真器,使用者不需要另外配置 U-LINK2仿真器。
2。4 A9模块功能设计
采用exynos4412微处理器(ARM Cortext-A9 内核)。装载linux3。14系统,可以进行多进程多线程任务,具有强大的运算能力,可以进行信息的处理和对M0模块的控制。
3仓储系统设计
3。1 系统概述
本项目分为三个模块:客户端(网页)、数据处理中心(A9)、数据采集中心(M0) 。
图3-1 系统概述
系统工作过程如下:
1。通过M0进行实时采集环境参数,例如温度、湿度、光感数据,进行物品刷卡。
2。再通过Zigbee把采集到的环境参数或物品信息发送给A9。
3。由A9的M0线程负责接收环境参数或物品信息,激活数据库线程对数据库进行相应的处理,假如是环境参数则对环境参数进行判断处理进行报警。
4。用摄像头采集图片,存储到A9上。
5。创建boa服务器,用户可通过html网页进行访问。
6。在html页面上用户可通过按钮进行相应的操作进行管理。
3。2前端控制中心A9功能设计
Cortex-A9处理器能够很好延用包括操作系统/实时操作系统(OS/RTOS)、中间件在内的态系统,从而大大减少采用全新处理器的成本。利用关键微体系架构方面的概念,Cortex-A9 处理器提供了具有高功耗效率和高有效性的方案。利用动态长度、八级超标量结构、多事件管道及推断性乱序执行( Speculative out-of-order execution),它能在频率超过1GHz的设备中,在每个循环中执行多达四条指令,同时还能减少目前主流八级处理器的成本并提高效率。
3。3 A9端通过Zigbee接收消息发送给各个线程的流程图
图3-2 A9模块总流程图
其中用到的线程如下:
pthread_client_request():处理消息队列里请求的线程。
pthread_refresh():实时刷新共享内存中的即时数据
pthread_sqlite():数据库线程。
pthread_transfer():接收M0数据线程。
pthread_analysis():M0数据分析线程。
pthread_sms():短信模块控制线程。
pthread_buzzer():A9蜂鸣器控制线程。
pthread_led():A8LED模块线程。
pthread_camera():摄像头模块控制线程。
说明:
1、实际项目时去掉了pthread_uart_cmd()线程,在pthread_client_request():处理消息队列里请求的线程的M0处理代码部分加入了发送M0命令,希望客户端的M0控制命令能快的到达M0,但是有些命令还是会丢失。