Arduino集成zigbee无线通信模块
Arduino集成zigbee无线通信模块
happycool333 发表于9个月前
Arduino集成zigbee无线通信模块
  • 发表于 9个月前
  • 阅读 39
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

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官方示例。

 

标签: Arduino zigbee
共有 人打赏支持
粉丝 5
博文 13
码字总数 3148
×
happycool333
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: