极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23173|回复: 12

HoneyBee Zigbee无线通信讲解01--最简单的无线收发

[复制链接]
发表于 2014-8-18 11:37:22 | 显示全部楼层 |阅读模式
Honeybee的最大特点是可以非常简单的使用Zigbee进行简单地无线通信~~~

有多简单呢?继续往下看就好。。。。


使用Honeybee之前请在http://www.ocrobot.com/doku.php?id=zh:download下载0002或以上版本的IDE。

IDE下载好以后,我们来实现Honeybee的第一个无线通信代码,一收一发。

首先把下面的发射机代码下载进入第一块Honeybee。


  1. #include <at128rfa1.h>

  2. void setup()
  3. {
  4.   Zigbee.begin(11);  // 初始化Zigbee,定义信道
  5. }

  6. void loop()
  7. {
  8.   Zigbee.beginTransmission(); // 启动传输
  9.   Zigbee.write("helloword"); // 传输helloword
  10.   Zigbee.endTransmission(); // 结束传输
  11.   delay(500); // 延时500毫秒
  12. }
复制代码


接收机代码

  1. #include <at128rfa1.h>

  2. void setup()
  3. {
  4.   Zigbee.begin(11);  // 初始化Zigbee,定义信道
  5.   Serial.begin(9600); // 启用串口,波特率9600
  6. }

  7. void loop()
  8. {
  9.   if (Zigbee.available()>0) // 判断Zigbee数据接收缓冲区是否有数据
  10.   {
  11.     Serial.println();
  12.     Serial.print("Rx: ");
  13.     while(Zigbee.available())
  14.     Serial.write(Zigbee.read());// 读取缓冲区数据,通过串口输出。
  15.   }
  16. }
复制代码


打开接收机的串口监视器,波特率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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-8-18 16:33:35 | 显示全部楼层
值得推荐、、、、第一次一楼,弱弱说一句,楼主电脑要擦擦了、、、
回复 支持 反对

使用道具 举报

发表于 2014-8-18 19:25:50 | 显示全部楼层
这个有没有便宜点的解决方案啊,100+的价格,真用这个在家里组个物联网,还不得上千啊
回复 支持 反对

使用道具 举报

发表于 2014-8-19 12:23:27 | 显示全部楼层
毅毅,传说你的二手thinkpad工作站很正点呢,
SHOW些本本图来看看嘛
回复 支持 反对

使用道具 举报

发表于 2014-8-19 15:04:24 | 显示全部楼层
楼主这明明是在炫耀新买的Thinkpad吧
回复 支持 反对

使用道具 举报

发表于 2014-8-19 15:34:41 | 显示全部楼层
好多人发帖都不是教程了都是做出来看你们赞的了,所以觉得还是弘毅大大强子大大最好了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-19 16:21:30 | 显示全部楼层
wing 发表于 2014-8-19 12:23
毅毅,传说你的二手thinkpad工作站很正点呢,
SHOW些本本图来看看嘛

下篇介绍信道上3个Honeybee~~~多露点本本
回复 支持 反对

使用道具 举报

发表于 2014-8-22 18:44:13 | 显示全部楼层


我想问如何实现8888积分。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-8-22 20:53:10 | 显示全部楼层
我想知道,如果使用Zigbee通信以后,我还剩多少端口。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-24 10:35:04 | 显示全部楼层
本帖最后由 弘毅 于 2014-8-24 10:36 编辑
simatic_net 发表于 2014-8-22 20:53
我想知道,如果使用Zigbee通信以后,我还剩多少端口。


所有端口都可用。。。。128RFA1自带无线功能,所以不会占用其他端口,SPI,IIC,串口啥都没有占用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-24 10:37:05 | 显示全部楼层
顺道悄悄地说,Honeybee有两路串口,一路是给usb下载程序用,D0,D1是另外一路。配合Honeybee上的跳帽。。。实际有两路串口可以用哦~~
回复 支持 反对

使用道具 举报

发表于 2014-8-29 15:19:32 | 显示全部楼层
这个用起来跟arduino 有和不同?不用无线的时候完全兼容吗?语法也一样吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-29 23:22:31 | 显示全部楼层
zix 发表于 2014-8-29 15:19
这个用起来跟arduino 有和不同?不用无线的时候完全兼容吗?语法也一样吗?

恩,完全一样。。。语法没什么不同
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-16 23:44 , Processed in 0.049243 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表