2、摄像头部分有监控和抓拍两个功能,其中摄像头线程只完成了抓拍功能,抓拍命令是从消息队列里获得的,而视频监控功能直接走的MJPG-stream,所以上图中有画的与实际不相符的地方。
3、数据库部分在客户端没有体现,所以CGI中也没有编写相应的数据库CGI进程,但是主程序中会将采集到的环境信息和货物信息存入数据库。
4、没有实现红外检测线程。
5、M0数据接收线程会将接收到的数据存入到链表中,并且唤醒数据分析线程进行数据分析和处理。
3。4 终端M0采集功能介绍
M0节点完成对节点的温度、湿度、光照强度、ADC、三轴加速度和刷卡信息的采集工作,节点从M0对数据进行打包并通过Zigbee向主M0节点发送打包数据。主M0节点在完成对节点的温度、湿度、光照强度、ADC、三轴加速度和刷卡信息的采集工作的同时,并对通过Zigbee接收从M0发送的数据,最后连同本节点的数据一起通过zigbee上传至A9平台。
图3-3终端M0采集功能
3。5 M0模版的主要功能
- 处理器 LPC11C14
- 最高主频 50MHz,实际工作48MHz,且外接12MHz晶体
- 32KB FLASH
- 8KB SRAM
- 2路ADC输入
- 1个128x64点阵OLED双色(黄和蓝)显示屏
- 1个八段LED数码管
- 2个LED灯
- 1个蜂鸣器
- 1个温湿度传感器
- 1个三轴加速度传感器
- 1个光敏传感器
- 1个可控电风扇
- 1个RFID模块
- 1个ZigBee模块
- 1个电源开关
- 1个复位键(Reset)
4M0终端设备功能设计
4。1 M0芯片简介
Cortex-M0处理器,是arm架构处理器中功耗和体积最小的。该处理器能耗非常低、代码占用空间小,使得该处理器能够以8bit处理器的价格,获得32bit处理器的性能。超低门数还使其能够用于模拟信号设备和混合信号设备及MCU应用中,可望明显节约系统成本。
4。2 工作流程
图4-1 流程图
开发板的初始化
InitSys(); //系统初始化,让M0芯片跑起来
InitTimeFLag(); //定时时间标志位
InitAllSensor(); //初始化所有的传感器
InitAllDevice(); //初始化外围电路
Initcontrol(TitileBuf);//初始化按键控制
Void InitSys(void)
{
SystemInit();//系统初始化
GPIOInit(); //IO初始化
Init_timer32(0, 480000); //初始化延时滴答定时器
NVIC_SetPriority(); //映射32位定时器中断
Enable_timer32(0);//使能32位定时器
UartInit(115200); //设置串口波特率
NVIC_Setpriority(UART_IRQn, 2); //映射串口中断
}
void InitTimeFlag(void)
{
To10msFlag=FALSE;
To10msCnt=1;
To100msFlag=FALSE;
To100msCnt=10;
To1SFlag=FALSE;
To1SCnt=100;
}
void InitAllSensor(void)
{
InitMyAdc(); // ADC
InitKey(); // KEY
InitLight(); // LIGHT
InitAxis3(); // AXIS3
InitDHT11(); // DHT11
InitRfid(); // RFID
memset(&EnvMsg, 0, 24);
}
void InitAllDevice(void)
{
InitFan(); // FAN
InitSpeaker(); // SPEAKER
InitLed(); // LED
Seg7Led_Init(); // SEG
InitZigbee(); // 初始化ZIGBEE
InitOled();
FanSpeed(0);
Speaker(0); // 1开0关
Led1Show(0); // 1开0关
Seg7Led_Put(' ');