|
飞比物联网培训教程--"玩转物联网"之二、带反馈的Zigbee无线电灯实验
该系列文章已经全部更新至“飞比云百科知识库(FBee Cloud WIKI)”中,建议到以下网址阅读:http://www.fbeecloud.com/wiki
标题有点长,先解释一下:既然是“玩”,我们就从最简单又好玩的开始,“物联网”是“物”联起来的网,这里的“物”至少要具备以下两个属性之一:第一是把自己的状态“上报”至指定地点――采集属性;二是它是可以被“授权设备(人)”来进行控制――控制属性。电灯恰恰是既简单,又可以同时有这两个属性的最好例子了:它可以远程被打开或者关闭,同时它的状态可以“反馈”给控制终端。当然,电灯只是“高低电平”控制的一个例子,有了“继电器”这种弱电控制强电的设备,它可以是插座、水龙头、阀门等各种通过高低电平控制的部件。
再简单说下B/S模式与C/S模式,这是互联网的两种不同的结构,因为这个例子里的电灯是可以通过互联网进行控制的,那就难免要和这两个名词打交道。所谓B/S,C/S分别是指Brower/Server与Client/Server,即浏览器/服务器与客户端/服务器模式。通俗点,可以理解为这个电灯是通过网页来控制,还是通过客户端软件来控制的。在这章中,我们会分别来探讨这两种方式。
先看下整个系统的结构图:
从这幅图中,我们看到可以发送控制的终端可以是:1、飞比物联网浏览器或者用户自行开发的客户端软件(即C/S模式,可以基于Windows、iOS或者Android不同的平台);2、普通互联网浏览器(即B/S模式)。通过这两种模式,均可以向“飞比云服务平台”发送控制指令;与Zigbee网络相连的“网关”设备(可以是运行“飞比物联网浏览器” 的PC或者嵌入式网关),可以获取“飞比云服务平台”的控制指令后,转达给zigbee协调器,并最终由协调器发送2.4G空中指令,控制zigbee节点的IO口状态,打开或者关闭电灯。
铺垫了半天,下面我们就真正开始“玩”了,分两种玩法,先用“FBee Zigbee模块”玩一遍;然后再用“开发板”来玩一遍。
有人又问了:“模块”和“开发板”有什么区别?这个又说来话长了,有人已经等不及了。简单来说,“模块”是写好软件的,针对的是只想用Zigbee快速开发产品的人群,特点是简单、稳定;而“开发板”是要自己写Zigbee软件的,针对想把Zigbee当成一门技术深入掌握的,特点是灵活、深入,但周期长。
好了,摩拳擦掌,终于可以开始了!
先看下B/S模式下控制界面:fbeecloud.svfreee.net
怎么,点了开关没反应?是的,那是因为灯的状态需要有了“反馈”信息后才会变化的,也就是说先要有“物”,才能“上网”,下面我们就一起先让这个“物”动起来:
一、如何用FBee Zigbee模块实现无线电灯控制(开发板用户可直接跳过此节)
1、硬件准备
最简单的设备如下表:
分别将两个模块与底板连接,将协调器通过USB转串口线连接电脑串口,并将LED灯连接终端节点底板的CN3第10脚(即DIO1,其与模块P2 PIN19连通)与CN3第20脚(即GND),注意LED灯的极性,脚短一侧接地,同时将底板P70 PIN23与PIN25相连,用于控制状态反馈。如下图所示(右侧为终端节点):
2、设置节点参数
为方便大家了解FBee模块的AT指令集,下面我们采用串口助手与FBee Wizard两种方法进行设置,串口助手使用SSCOM32(点此下载),波特率设为38400。
1)、设置协调器为控制模式
依次输入如下命令:
%FBee&AT(记得勾选“发送新行”,即增加回车换行符\r\n)
ATCT
模块回复:
CT OK
EXIT AT MODE
表明模块已经进入CT模式
2)、将终端节点组网,并设置相应参数
在保持协调器打开的前提下,打开终端节点电源,观察协调器绿色LED灯,闪烁数次,表明终端节点已经成功入网,此时按终端节点的测试键S1,协调器绿色将会闪烁。如果未出现此现象,则按模块手册(点此下载)介绍的方法,分别将协调器与终端节点“重置参数”,然后重复前面步骤。
将终端节点连接电脑串口,按一下S1键,将其唤醒(绿灯亮起),然后在10秒时间内,按1)相同的方法,依次输入如下命令:
%FBee&AT(记得勾选“发送新行”,即增加回车换行符\r\n)
ATUD 0003(将模块的UserID号设为0003,原因后续将详解)
ATIO 02(将节点DIO1和DIO3设为输出模式,DIO2设为输入模式,用于反馈状态)
ATSO 00E0(BIT5-BIT7置1,代表传感数据中包含Bit5:开关量;bit6:最后一跳rssi;Bit7: 用户自定义ID)
ATCL(设为采集模式)
ATEX
注:上述指令发送成功后,模块会返回类似“OK xxxx”表明设置成功
以上指令的详解请浏览“FBee Zigbee Module 产品手册 V2.0.pdf”,此处不再赘述。
3)、用串口助手测试本地采集
将协调器与电脑串口相连,重启终端节点,会在串口助手连续收到数据,勾选“Hex显示”后,将得到下图所示数据:
这说明我们已经迈出了成功的第一步――采集,也即灯的亮灭状态已经可以实现上报了。对这段数据所代表的含义,简单解析如下:
FB(协议头)
07(数据长度,红色字体部分)
55 F6(节点短地址)
01 00(一个开关量,值为0)
30 00 03(UserID号为0003)
23 EE(信号质量RSSI值为-17dbm)
A0(检验和)
4)、用串口助手测试本地控制
在前面的设置中,我们已经将协调器设为了控制模式了,此时只需要在串口助手中输入如下指令,即可开关终端节点上的红色LED灯了:
CTO1 55F601(将终端节点DIO1端口电平置高)
CTO1 55F600(将终端节点DIO1端口电平置低)
注:55F6地址是终端节点短地址,从上述采集数据中获取
可以发现,当LED灯状态变化时,在随后所采集的DIO2的数值也相应变化。如下图:
至此,我们已经成功地实现了“本地”的电灯控制与状态反馈。也即实现系统结构图中的如下部分:
在后续的章节中,我们将介绍如何采用飞比物联网浏览器来构建场景,将实现数据上传。
二、如何用飞比Zigbee开发平台实现无线电灯控制(模块用户可跳过此节)
1、首先,要做的是硬件上的准备,最简单的设备如下表:
将FB2530BB板上的P10 PIN4与PIN11用杜邦线连接,即将P1.1的输出状态引入P2.0输入口,作为灯的反馈信号。连接方式如下图所示:
对开发板使用不熟悉的朋友建议先阅读开发板使用文档,了解硬件连接与开发工具的使用,此处不再重复。
2、分别下载CollectorEB.hex与UID03_P20IN_P11OUT.hex文件至EB与BB板中
3、用串口助手测试本地采集
将协调器与电脑串口相连,重启终端节点,会在串口助手连续收到数据,勾选“Hex显示”后,将得到下图所示数据:
这说明我们已经迈出了成功的第一步――采集,也即灯的亮灭状态已经可以实现上报了。对这段数据所代表的含义,简单解析如下:
FB(协议头)
05(数据长度,红色字体)
55 F9(节点短地址)
30 00 03(UserID号为0003)
01 00(一个开关量,值为0)
60(检验和)
4、用串口助手测试本地控制
此时只需要在串口助手中输入如下指令,即可开关FB2530BB上的绿色LED灯了:
CTO1 55F901(将终端节点P1.1口电平置高,即绿灯灭)
CTO1 55F900(将终端节点P1.1口电平置低,即绿灯高)
注:55F9地址是终端节点短地址,从上述采集数据中获取
可以发现,当LED灯状态变化时,在随后所采集的P2.0口的数值也相应变化。如下图:
至此,我们已经成功地实现了“本地”的电灯控制与状态反馈。也即实现系统结构图中的如下部分:
在后续的章节中,我们将介绍如何采用飞比物联网浏览器来构建场景,将实现数据上传。
5、关于如何用ZStack来实现上述的功能
这一系列的教程会是循序渐进的,从用模块实现,到用开发板演示,到最后的源代码解析都会包括,但代码解析部分内容会在最后的章节中出现,集中去讲解每一个演示如何实现。在这之前,都会留下一些“伏笔”,像下面这样:
[伏笔一]、如何用ZStack实现具有睡眠功能,及状态反馈的“无线电灯节点”
飞比物联网培训教程--"玩转物联网"之一、前言及目录
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|