文档章节

Arduino集成zigbee无线通信模块

happycool333
 happycool333
发布于 2017/03/09 13:37
字数 385
阅读 131
收藏 0

1. 硬件清单:

arduino 101一个(http://www.dfrobot.com.cn/goods-1265.html)

Dfrobot IO 传感器扩展板 V7.1(http://www.dfrobot.com.cn/goods-791.html)

zigbee模块(深联创新DL-LN33)两块 (https://deeplink.taobao.com/?spm=a1z10.1-c.0.0.XT2LAU)

CP2102模块 USB转TTL 一个

(https://detail.tmall.com/item.htm?id=520311054724&spm=a1z09.2.0.0.Q59lSj&_u=921ii2ufcf2)

LED灯一个(http://www.dfrobot.com.cn/goods-83.html)

杜邦线若干

2. 实验目的:

使用 arduino 101 通过串口(pin0-1,rx-tx)连接zigbee模块,arduino使用usb串口线和PC连接,这个作为A端。另一端为B,直接使用CP2102模块连接zigbee模块到PC。在B端PC上使用LN33自带串口调试工具发送FE 05 91 90 53 0D 01 FF,A端zigbee模块收到信号,通过串口把数据传送到arduino,触发arduino上的LED灯闪烁,然后再把收到的数据输出到USB串口上。

3. 组网图:

4.

代码:


unsigned char sendCmd[8]={0xfe, 0x05, 0x91, 0x90, 0x14, 0x10, 0x02, 0xff};//LN33 向
int ledPin = 13;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600); //USB serial port
  Serial1.begin(115200); //RX TX serial port

  pinMode(ledPin, OUTPUT);
}

void loop() {

   if (Serial1.available()) {
    digitalWrite(ledPin, HIGH); 

    Serial1.write(sendCmd, 8);
    
//    Serial.println(Serial1.read(),HEX); 
    myPtHex((char)Serial1.read());  
    while(Serial1.available()){
      myPtHex((char)Serial1.read()); 
    }
   }

   delay(100);   
   digitalWrite(ledPin, LOW);
   delay(100);
}

void myPtHex(int g){ // 把 g 最右邊 byte 印成 Hex 倆位
   int a = g& 0xf0;  // 左邊 4 bits
   a = a >> 4;  // 右移 4 bits
   int b = g& 0x0f;  // 右邊 4 bits
   char c = a < 10 ? a + '0' : a + 'A' - 10;
   Serial.print(c);
   c = b < 10 ? b + '0' : b + 'A' - 10;
   Serial.print(c);
}

 

参考:

http://www.arduino.cn/forum.php?mod=viewthread&tid=10858&extra=&highlight=%E8%BD%AF%E4%B8%B2%E5%8F%A3&page=1

arduino官方示例。

 

© 著作权归作者所有

共有 人打赏支持
happycool333
粉丝 4
博文 13
码字总数 3148
作品 0
沈阳
架构师
私信 提问
转载:使用X-CTU软件配置XBee/PRO模块,实现点对点无线通信

原文链接: http://www.yfrobot.com/forum.php?mod=viewthread&tid=11776&highlight=xbee 介绍:DIGI提供有两种XBee版本,XBee和XBee PRO版本都具有相同的功能和引脚兼容,唯一的差异就是发射...

sinat_28371057
04/24
0
0
nrf2401 - 最廉价的2.4G无线通信方案

所有的使用Arduino 的朋友大多都会知道大名鼎鼎的XBee 这个土豪级的ZigBee 的通信模块。我们是做产品开发的,对于XBee这个产品可谓是又爱又恨,不得不承认他确实是一个好货,从做工到功能都无...

rayliang
2017/02/09
0
0
基于Zigbee技术用于路灯无线网络化单灯控制

 第一部分、项目简介   由于有线照明控制系统,具有布线麻烦,增减设备需要重新布线、系统可扩展性差、系统安装和维护成本高以及移动性能差等缺点,因此采用无线通信技术是实现智能路灯照...

dataie456000
2016/01/06
63
0
力争发挥积极作用,顺舟智能参加三场2017 TI 嵌入式产品研讨会

12月5日、7日和12日,2017TI嵌入式产品研讨会分别在广州、杭州和西安举办。研讨会围绕嵌入式产品、无线连接、单片机和处理器技术、最前沿的系统解决方案等方面展开讨论。 顺舟智能自2004年起...

zhihui51
2017/12/13
0
0
关于arduino和zigbee串口16进制通信问题

这几天我做毕业设计遇到的问题。这个问题就是我的uno板子怎样和zigbee通信起来。先说说我的思路,把uno做成一个网关,从而连上互联网,而zigbee就是做无线通信。去跟我的传感器通信,把我的传...

我叫leo-
2016/03/23
160
0

没有更多内容

加载失败,请刷新页面

加载更多

windows下让 jar 在后台运行的办法

windows下 运行 java jar 不出现 命令行 窗口 新建一个披处理 run.bat,内容如下 @echo off start javaw -jar xx.jar exit 双击运行即可。...

glen_xu
12分钟前
1
0
jdk1.8 lambda stream 指定的对象属性进行去重

原因:因为Stream提供的distinct()方法只能去除重复的对象,无法根据指定的对象属性进行去重,可以应付简单场景。 解决方案: //去重,共同信息保存到bizPledgeSupplierVOs里bizPledgeSupp...

INSISTQIAO
14分钟前
0
0
vue nextTick深入理解---vue性能优化、DOM更新时机、事件循环机制

定义[nextTick、事件循环] nextTick的由来: 由于vue的数据驱动视图更新是异步的,即修改数据的当下,视图不会立即更新,而是等同一事件循环中的所有数据变化完成之后再统一进行视图更新。...

JamesView
22分钟前
1
0
常用汉字编码

GB2312 仅包含大部分的常用简体汉字,但已经不能适应现在的需要; GB13000 由于GB2312的局限性,国家标准化委员会制定了GB13000编码; 但由于当时的硬件和软件都已经支持了GB2312,而GB13000...

晨猫
25分钟前
1
0
纳尼?我的Gradle build编译只要1s

https://juejin.im/post/5c00ec39e51d4555ec0394f6

SuShine
26分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部