HoneyBee Zigbee无线通信讲解01--最简单的无线收发
Honeybee的最大特点是可以非常简单的使用Zigbee进行简单地无线通信~~~有多简单呢?继续往下看就好。。。。
使用Honeybee之前请在http://www.ocrobot.com/doku.php?id=zh:download下载0002或以上版本的IDE。
IDE下载好以后,我们来实现Honeybee的第一个无线通信代码,一收一发。
首先把下面的发射机代码下载进入第一块Honeybee。
#include <at128rfa1.h>
void setup()
{
Zigbee.begin(11);// 初始化Zigbee,定义信道
}
void loop()
{
Zigbee.beginTransmission(); // 启动传输
Zigbee.write("helloword"); // 传输helloword
Zigbee.endTransmission(); // 结束传输
delay(500); // 延时500毫秒
}
接收机代码
#include <at128rfa1.h>
void setup()
{
Zigbee.begin(11);// 初始化Zigbee,定义信道
Serial.begin(9600); // 启用串口,波特率9600
}
void loop()
{
if (Zigbee.available()>0) // 判断Zigbee数据接收缓冲区是否有数据
{
Serial.println();
Serial.print("Rx: ");
while(Zigbee.available())
Serial.write(Zigbee.read());// 读取缓冲区数据,通过串口输出。
}
}
打开接收机的串口监视器,波特率9600~~就能看到不停有数据发送过来。
---------------------华丽的分割线----------------------
第一次无线通信完成后我们来介绍下这些代码。
所有的Honeybee代码我们都有
#include <at128rfa1.h>
这个是调用了无线通信的函数库,大家复制上就可以了。。。
通过发射机的工作代码可以看到我们要启动Zigbee首先要通过Zigbee.begin()函数初始化及信道,Zigbee在2.4G频段下的信道是11-26~所以起步就是11哦。。。。
如果要发送数据我们首先需要通过Zigbee.beginTransmission()函数启动传输过程,然后通过Zigbee.write()发送数据,发送数据完毕后通过Zigbee.endTransmission()来结束传输。
对于接收端,我们同样需要使用Zigbee.begin()初始化及定义信道,可以直接使用Zigbee.read()读取缓冲区数据。。。不过最好是通过Zigbee.available()判断缓冲区是否有数据后再获取。
具体函数介绍可以看语法手册
http://www.ocrobot.com/doku.php?id=zh:reference:librariy:zigbee
值得推荐、、、、第一次一楼:lol,弱弱说一句,楼主电脑要擦擦了、、、 这个有没有便宜点的解决方案啊,100+的价格,真用这个在家里组个物联网,还不得上千啊 毅毅,传说你的二手thinkpad工作站很正点呢,
SHOW些本本图来看看嘛 楼主这明明是在炫耀新买的Thinkpad吧 好多人发帖都不是教程了都是做出来看你们赞的了,所以觉得还是弘毅大大强子大大最好了! wing 发表于 2014-8-19 12:23 static/image/common/back.gif
毅毅,传说你的二手thinkpad工作站很正点呢,
SHOW些本本图来看看嘛
下篇介绍信道上3个Honeybee~~~多露点本本
我想问如何实现8888积分。。。 我想知道,如果使用Zigbee通信以后,我还剩多少端口。 本帖最后由 弘毅 于 2014-8-24 10:36 编辑
simatic_net 发表于 2014-8-22 20:53 static/image/common/back.gif
我想知道,如果使用Zigbee通信以后,我还剩多少端口。
所有端口都可用。。。。128RFA1自带无线功能,所以不会占用其他端口,SPI,IIC,串口啥都没有占用。 顺道悄悄地说,Honeybee有两路串口,一路是给usb下载程序用,D0,D1是另外一路。配合Honeybee上的跳帽。。。实际有两路串口可以用哦~~ 这个用起来跟arduino 有和不同?不用无线的时候完全兼容吗?语法也一样吗? zix 发表于 2014-8-29 15:19 static/image/common/back.gif
这个用起来跟arduino 有和不同?不用无线的时候完全兼容吗?语法也一样吗?
恩,完全一样。。。语法没什么不同
页:
[1]