Page 67 - 大樱桃优质高产栽培与病虫害防治
P. 67
第二章 高产优质生产栽培技术
(2)协调器软件设计
协调器在 Zigbee 协议中处于重要地位,负责启动 Zigbee 网络,随后启动整
个网络,协调器的角色主要涉及启动和配置网络,功能类似一个路由器。协调器
设计围绕SAPI任务事件处理函数实现,该事件中处理了SYS_EVENT_MSG事件、
ZB_ALLOW_BIND_TIMER 事件、ZB_BIND_TIMER 事件、ZB_ENTRY_EVENT
和 ZB_USER_EVENTS 事件。其中 ZB_ENTRY_EVENT 事件为 zigbee 协议栈的
入口事件包括 zigbee 入网的过程处理等,ZB_USER_EVENTS 为用户的自定义的
事件,在 ZB_ENTRY_EVENT 和 ZB_USER_EVENTS 事件处理过程中最终都调
用了 zb_HandleOsalEvent() 函数,将这两个事件的处理过程中都集中在该函数内
处理,如果要处理自定义的事件,需要在 zb_HandleOsalEvent() 函数中实现相应
的功能。
① ZB_ENTRY_EVENT 和 ZB_USER_EVENTS 事件,调用 zb_HandleOsal
Event() 接口,其中处理的事件包括 ZB_ENTRY_EVENT、_START_EVT 和 __
REPORT_EVT 事 件,_START_EVT 事件启动 Zigbee 协议栈;ZB_ENTRY_
EVENT 事件负责解析收到的数据命令,通过函数接口,解析接收的数据属于哪
种类型,是由哪个传感器发送的数据,再如何转发等信息。
② _REPORT_EVT 事件利用定时器启动数据传输,一方面可以通过串口事
件将数据发送到网关,另一方面可以接收网关通过串口发来的数据。
③ SYS_EVENT_MSG 事件,处理两类事件,一类是收到的 MSG 类型的信
息,再通过串口事件发送数据;另一类是用户事件,对用户命令进行解析,如果
目标地址不为空,直接通过 zb_SendDataRequest 发送数据,目标地址为 0 或者是
0×FFFF,则进行命令解析,通过 MAC 地址或者网络地址查找节点,利用该信
息进行读写操作和数据发送。
④串口事件,主要完成协调器发送数据到网关以及协调器接收从网关发送的
命令。该事件通过定时器调用了 SYS_EVENT_MSG 事件来,通过 SYS_EVENT_
MSG 事件进行命令解析和数据收发。
(3)功能模块软件设计
①光照控制模块设计
光敏传感器采用 ML-020S-O 适用于高照度的传感器,量程为 0~150000
lux,主要采集光照值,光敏传感器利用光敏元件将光信号转换为电信号的传感器,
59

