1、物联网综合设计2.1 物联网开发基础EducationSolutions目录ContentsInternet+物联网项目开发平台ZXBee数据通信协议硬件开发平台应用接口Andriod应用实例Web应用实例22:12/3l 物联网平台物联平台介绍物联是一个开放的公共物联网接入平台,目的是为服务所有的爱好者和开发者,使物联网传感器数据的接入、存储和展现变得轻松简单,让开发者能够快速开发出专业的物联网应用系统。22:12/4l 系统架构设计物联平台介绍1 传感器硬件和接入互联网的通信网关(负责将传感器数据采集起来,发送到互联网服务器)。2 高性能的数据接入服务器和海量存储。3 特定应用,处理结果展
2、现服务。22:12/5l 平台基本框架物联基本框架22:12/6u 平台虚拟化技术框架物联虚拟化技术物联平台支持硬件与应用的虚拟化,硬件数据源仿真系统为上层软件工程师提供虚拟的硬件数据,图形化组态应用系统为底层硬件开发者提供图形化界面定制工具,框架如下图所示:22:12/7u 硬件模型如下:物联常用硬件22:12/8l 硬件模型介绍:物联常用硬件 主要用于采集物理世界中发生的物理事件和数据,包括各类物理量、标识、音频、视频数据。传感器传感器 采用单片机/ARM等微控制器,具备物联网传感器的数据的采集、传输、组网能力,能够构建传感网络。节点节点 实现传感网与电信网/互联网的数据联通,支持ZigB
3、ee、Wi-Fi、BLE、LoRa、NB-IoT、LTE、等多种传感协议的数据解析,支持网络路由转发,实现M2M数据交互。网关网关 负责对物联网海量数据进行中央处理,运行云计算大数据技术实现对数据的存储、分析、计算、挖掘和推送功能,并采用统一的开放接口为上层应用提供数据服务。云服务器云服务器 运行物联网应用的移动终端,比如Android手机/平板等设备。应用终端应用终端22:12/9开发前准备工作学习物联产品前,要求用户预先学习以下基本知识和技能:了解和掌握基于CC2530的单片机接口技术/传感器接口技术;了解ZigBee无线传感网基础知识,及基于CC2530的ZigBee ZStack组网原
4、理;了解和掌握JAVA编程,掌握Android应用程序开发;了解和掌握HTML、JavaScript、CSS、Ajax开发,熟练使用DIV+CSS进行网页设计;了解和掌握JDK+ApacheTomcat+Eclipse环境搭建及网站开发。22:12/10ZXBee 数据通信协议ZXBee数据通信协议对物联网整个项目从底层到上层的数据段作出了定义,该协议有以下特点:数据格式的语法简单,语义清晰,参数少而精;参数命名合乎逻辑,见名知义,变量和命令的分工明确;参数读写权限分配合理,可以有效抵抗不合理的操作,能够在最大程度上确保数据安全;变量能对值进行查询,可以方便应用程序调试;命令是对位进行操作,能
5、够避免内存资源浪费。22:12/11通信协议参数定义l ZXBee数据通信协议参数定义-Sensor-A传感器属性参数权限说明Sensor-A(601)温度值A0R温度值,浮点型:0.1精度,-40.0105.0,单位摄氏度湿度值A1R湿度值,浮点型:0.1精度,0100,单位%光强值A2R光强值,浮点型:0.1精度,065535,单位Lux空气质量值A3R空气质量值,表征空气污染程度气压值A4R气压值,浮点型:0.1精度,单位百帕三轴(跌倒状态)A5-三轴:通过计算上报跌倒状态,1表示跌到(主动上报)距离值A6R距离值(cm),浮点型:0.1精度,20cm80cm语音识别返回码A7-语音识别
6、码,整型:149(主动上报)上报状态D0(OD0/CD0)RWD0的Bit0Bit7分别代表A0A7的上报状态,1表示允许上报继电器D1(OD1/CD1)RWD1的Bit6Bit7分别代表继电器K1、K2的开关状态,0表示断开,1表示吸合上报间隔V0RW循环上报时间间隔22:12/12通信协议参数定义l ZXBee数据通信协议参数定义-Sensor-BSensor-B(602)RGBD1(OD1/CD1)RWD1的Bit0Bit1代表RGB三色灯的颜色状态RGB:00(关),01(R),10(G),11(B)步进电机D1(OD1/CD1)RWD1的Bit2分别代表电机的正反转动状态,0正转(5
7、s后停止),1反转(5s后反转)风扇/蜂鸣器D1(OD1/CD1)RWD1的Bit3代表风扇/蜂鸣器的开关状态,0表示关闭,1表示打开LEDD1(OD1/CD1)RWD1的Bit4、Bit5代表LED1/LED2的开关状态,0表示关闭,1表示打开继电器D1(OD1/CD1)RWD1的Bit6、Bit7分别代表继电器K1、K2的开关状态,0表示断开,1表示吸合上报间隔V0RW循环上报时间间隔22:12/13通信协议参数定义l ZXBee数据通信协议参数定义-Sensor-CSensor-C(603)人体/触摸状态A0R人体红外状态值,0或1变化;1表示检测到人体/触摸振动状态A1R震动状态值,0
8、或1变化;1表示检测到震动霍尔状态A2R霍尔状态值,0或1变化;1表示检测到磁场火焰状态A3R火焰状态值,0或1变化;1表示检测到明火燃气状态A4R燃气泄漏状,0或1变化;1表示燃气泄漏光栅(红外对射)状态A5R光栅状态值,0或1变化,1表示检测到阻挡上报状态D0(OD0/CD0)RWD0的Bit0Bit5分别表示A0A5的上报状态继电器D1(OD1/CD1)RWD1的Bit6Bit7分别代表继电器K1、K2的开关状态,0表示断开,1表示吸合上报间隔V0RW循环上报时间间隔语音合成数据V1W文字的Unicode编码22:12/14通信协议参数定义lZXBee数据通信协议参数定义-Sensor-
9、ELSensor-EL(605)卡号A0-字符串(主动上报,不可查询)卡类型A1R整型,0表示125K,1表示13.56M卡余额A2R整型,范围08000.00,手动查询设备余额A3R浮点型,设备金额设备单次消费金额A4R浮点型,设备本次消费扣款金额设备累计消费A5R浮点型,设备累计扣款金额门锁/设备状态D1(OD1/CD1)RWD1的Bit0Bit1表示门锁、设备的开关状态,0(关闭),1(打开)充值金额V1RW返回充值状态,0/1,1表示操作成功扣款金额V2RW返回扣款状态,0/1,1表示操作成功充值金额(设备)V3RW返回充值状态,0/1,1表示操作成功扣款金额(设备)V4RW返回扣款状
10、态,0/1,1表示操作成功22:12/15通信协议参数定义lZXBee数据通信协议参数定义-Sensor-EHSensor-EH(606)卡号卡号A0-字符串(主动上报,不字符串(主动上报,不可查询)可查询)卡余额A2R整型,范围08000.00,手动查询ETC杆开关D1(OD1/CD1)RWD1的Bit0表示ETC杆开关0(关闭),1(抬起一次3s自动关闭,同时bit0置0)充值金额V1RW返回充值状态,0/1,1表示操作成功扣款金额V2RW返回扣款状态,0/1,1表示操作成功22:12/16硬件开发平台Android网关,采用三星ARM Cortex-A9 S5P4418四核处理器,10.
11、1寸电容液晶屏,集成Wi-Fi、蓝牙模块、500W MIPI高清摄像头模块,可选北斗GPS模块、4G模块,Android-4.4操作系统22:12/17硬件开发平台22:12/18硬件开发平台22:12/19应用接口l Andriod应用接口物联云平台提供五大应用接口供开发者使用,包括:实时连接(WSNRTConnect)、历史数据(WSNHistory)、摄像头(WSNCamera)、自动控制(WSNAutoctrl)、用户数据(WSNProperty),详细逻辑图如下:22:12/20Andriod应用接口l 实时连接接口函数函数参数说明参数说明功能功能new WSNRTConnect(S
12、tring myZCloudID,String myZCloudKey);myZCloudID:账号myZCloudKey:密钥建立实时数据实例,并初始化ID及密钥connect()无建立实时数据服务连接disconnect()无断开实时数据服务连接setRTConnectListener()onConnect()onConnectLost(Throwable arg0)onMessageArrive(String mac,byte dat)mac:传感器的MAC地址dat:发送的消息内容设置监听,接收实时数据服务推送过来的消息:onConnect:连接成功操作onConnectLost:连接
13、失败操作onMessageArrive:数据接收操作sendMessage(String mac,byte dat)mac:传感器的MAC地址dat:发送的消息内容发送消息setServerAddr(String sa)sa:数据中心服务器地址及端口设置/改变数据中心服务器地址及端口号setIdKey(String myZCloudID,String myZCloudKey);myZCloudID:账号myZCloudKey:密钥设置/改变ID及密钥(需要重新断开连接)22:12/21Web应用接口l 实时连接接口函数参数说明功能new WSNRTConnect(myZCloudID,myZC
14、loudKey);myZCloudID:账号myZCloudKey:密钥建立实时数据实例,并初始化ID及密钥connect()无建立实时数据服务连接disconnect()无断开实时数据服务连接onConnect()无监听连接服务成功onConnectLost()无监听连接服务失败onMessageArrive(mac,dat)mac:传感器的MAC地址dat:发送的消息内容监听收到的数据sendMessage(mac,dat)mac:传感器的MAC地址dat:发送的消息内容发送消息setServerAddr(sa)sa:数据中心服务器地址及端口设置/改变数据中心服务器地址及端口号setIdK
15、ey(myZCloudID,myZCloudKey);myZCloudID:账号myZCloudKey:密钥设置/改变ID及密钥(需要重新断开连接)22:12/22开发调试工具l 实时推送测试工具22:12/23开发调试工具l 历史数据测试工具22:12/24开发调试工具l 网络拓扑分析工具22:12/25开发调试工具l 视频监控测试工具22:12/26Andriod应用实例l 历史数据接口分析历史数据的查询首先通过new WSNHistory(DemoActivity.myZCloudID,DemoActivity.myZCloudKey)实例化历史数据对象,wHistory.setServerAddr(:8080)设置服务器地址,注意加上后面的8080端口号。历史数据的查询还需要设置设备节点的通道号例如:00:12:4B:00:10:27:A5:19_A022:12/27Web应用实例l 实时连接接口分析物联云平台提供了实时数据推送服务的API,用户根据这些API可以实现与底层传感器的信息交互,只有理解了这些API后,用户就可以在底层自定义一些协议,然后根据API和协议就可以实现底层传感器的控制,数据采集等功能。