微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ZigBee和Android的智能移动监控系统设计

基于ZigBee和Android的智能移动监控系统设计

时间:01-04 来源:互联网 点击:

息数据和用户命令数据。信息采集结点向网关节点发送环境信息数据时采用的簇ID为ENV_INFO_CLU,网关节点向信息采集节点传达用户命令时使用的簇ID为USR_CMD_CLU.Profile ID号、端点号和簇ID都是ZigBee协议定义的重要的配置信息,请参见ZigBee协议。

环境信息数据和用户命令数据最终都将填充到类型为aflncomingMSGPacket_t的结构体中,其定义如下:

该结构中clusterId填充的就是簇ID,endPoint填充的就是端点号,Profile ID隐藏在变量srcAddr中。变量cmd填充的就是与应用相关的数据,如环境信息编码和用户命令编码。
2.2信息处理与控制子系统

信息处理与控制子系统是在Android智能移动平台上研发的。Android智能平台体系从上到下由应用程序、应用程序框架、外部库、Andr oid运行时库、硬件抽象层HAL(Hardware Abstraction Laycr)和Linux内核组成。

Android智能移动平台的研发需要借助Eclipse、NDK和JNI等工具和方法。信息处理与控制子系统的MVC模式如图8所示。本文是按MVC模式研发信息处理与控制子系统的。

Android应用程序的设计必须要遵循单线程模型。当Android应用程序启动时,Android系统会同时启动一个对应的主线程即UI线程,用于处理与用户界面UI(User Interface)相关的事件。UI线程不是线程安全的。

此设计需要将环境信息实时地显示在Android应用程序上,同时需要及时地将用户操作转换成用户命令发送至信息采集与传输子系统。冈此,为了避免阻塞UI线程,设计了一个守候线程并采用了基于zbHandler的消息传递机制。UI线程和守候线程的关系如图9所示。

守候线程是借助于本地方法获取Linux底层驱动环境信息的。信息处理与控制子系统中的本地方法被封装在一个名为ZigBeeJni的类中,其定义如下:


结语

本文研究了基于ZigBee网络和Android智能移动平台的监控系统的设计。经过严格的测试,本系统能够完成对环境信息的实时监测,并能及时地响应用户发出的各种控制命令,系统的设计达到了预期的目标。

更多关于ZigBee技术的资讯,欢迎访问与非网ZigBee技术专区

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top