安防监控之软硬件环境分析和通信结构体定义

声明

华清远见教育集团 15年专注高端IT培训 做良心教育,做专业教育,做受人尊敬的职业教育

创客学院官网:http://www.makeru.com.cn/
华清远见创客学院嵌入式课程链接:http://www.makeru.com.cn/emb
华清远见创客学院物联网课程链接:http://www.makeru.com.cn/iot

软硬件环境分析

硬件环境软件架构分析
在这里插入图片描述在这里插入图片描述

FS4412 资源描述

华清远见 ARM Cortex-A9 FS4412 开发平台(下文简称 FS4412)是由华清远见研发中心专为培训教学和项目研发定制的高性能的 ARM Cortex-A9 开发平台。FS4412 采用三星 ARM Exynos 4412 四核处理器,运行主频可高达 1.5GHz,其处理速度和节能能力比起双核大幅提高。对比上一代的双核处理器,四核能提供翻倍的处理能力以及减半的功耗,这也为精细的显示效果、1080P 拍摄及播放、以及各方面的超高流畅

在这里插入图片描述

ZigBee 开发套件简介

在这里插入图片描述

通信结构体定义

zigbee 模块对象信息参数结构体

 typedef struct _makeru_zigbee_info
  {
 	uint8_t head[3];       //标识位: 'm' 's' 'm'  makeru-security-monitor  
 	uint8_t type;	       //数据类型  'z'---zigbee  'a'---a9
 	float temperature;     //温度
 	float humidity;        //湿度
 	float tempMIN;         //温度下限
 	float tempMAX;         //温度上限 
 	float humidityMIN;     //湿度下限
 	float humidityMAX;     //湿度上限
 	uint32_t reserved[2];  //保留扩展位,默认填充0
 	//void *data;  内核预留的扩展接口  参考版
  }ZIGBEE_INFO_T;

A9模块对象信息参数结构体

 typedef struct _makeru_a9_info
 {
 	uint8_t head[3]; //标识位: 'm' 's' 'm'  makeru-security-monitor  
 	uint8_t type;	 //数据类型  'z'---zigbee  'a'---a9
 	float adc;
 	short gyrox;   //陀螺仪数据
 	short gyroy;
 	short gyroz;
 	short  aacx;  //加速计数据
 	short  aacy;
 	short aacz;
 	uint32_t reserved[2]; //保留扩展位,默认填充0
 	//void *data;  内核预留的扩展接口  参考版
 }CROTEXA9_INFO_T;

环境参数对象结构体参数

 typedef struct _makeru_env_data
 {
 	CROTEXA9_INFO_T  a9_info;    
 	ZIGBEE_INFO_T    zigbee_info;
 	uint32_t reserved[2]; //保留扩展位,默认填充0
 }ENV_DATA_T;

所有监控区域的信息结构体

 struct env_info_client_addr
 {
 	ENV_DATA_T  monitor_no[MONITOR_NUM];	//数组  老家---新家
 }env_info_client_addr;

设备控制对象列表

 typedef  enum 
 {
     DEVICE_CTL_LED = 1,         //LED控制
     DEVICE_CTL_BUZZER = 2,      //蜂鸣器控制
     DEVICE_CTL_DIGITAL = 3,     //四路LED灯模拟的数码管
     DEVICE_CTL_FAN =4,           //风扇
     DEVICE_CTL_TEMP_HUMI=5,      //温湿度最值设置
     DEVICE_CTL_RESERVED=6,      //用于个人的扩展
     DEVICE_CTL_GPRS = 10,       //3G通信模块-GPRS 
     DEVICE_CTL_MAX, 
 }DEVICE_CONTROL_LIST_E;

A9-ZIGBEE通用指令

  1. 命令格式说明
    一个字节,unsigned char 对应消息队列中正文的类型:
    unsigned char 8位

    平台编号设备编号操作设备
    7 65 43 2 1 0
  2. 平台编号详细说明

    平台编号设备说明
    0x000号-ZigBee平台
    0x401号-A9/A53平台
    0x802号-STM32平台(可以自己扩展)
    0xc03号-avr arduino…保留(如果平台继续增多的话可以采用2个字节或多个字节来对设备进唯一的编号,比如A9类下的1号平台,2号平台,先分类,然后再具体标识设备)
  3. 设备编号控制说明

    设备编号设备对象操作掩码-操作说明
    0x00LED0x00  全部关闭
    0x01  全部打开
    0x02  打开LED2
    0x03  打开LED3
    0X04  打开LED4
    0x05  打开LED5
    0X10  打开流水灯
    0x10蜂鸣器0x00  关闭
    0x01  打开
    0x02  自动报警关闭
    0x03  自动报警打开
    0x20风扇风扇 0x00 关闭风扇
    0x01 打开风扇
    x30数码管0x0~0xF   显示0~F数字(四盏灯,对应0000-表示0,0001-表示1…1110-表示14)
    0x0f    关闭数码管 led2-3-4-5
  4. 控制命令:
    平台编号 + 设备编号 + 操作掩码 = 命令 (命令的封装)
    例如:
    0x00 + 0x20 + 0x01 = 0x21 风扇打开
    0x40 + 0x10 + 0x01 = 0x51 蜂鸣器打开
    0x40 + 0x30 + 0x08 = 0x78 数码管显示8
    0x40 + 0x30 + 0x0f = 0x7f 关闭数码管

     上行:封装的结构体====共享内存和信号量 ===>交给CGI(C语言和HTML语言之间的转化接口)===>交给HTML
     下行:封装的命令字====消息队列 ====>msgbuf msgsnd===>控制命令字封装在msgsnd的msgbuf中 ===>A9端解析==>向下控制硬件
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值