文档章节

Arduino集成zigbee无线通信模块

happycool333
 happycool333
发布于 2017/03/09 13:37
字数 385
阅读 83
收藏 0
点赞 0
评论 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

基于Zigbee技术用于路灯无线网络化单灯控制

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

dataie456000 ⋅ 2016/01/06 ⋅ 0

力争发挥积极作用,顺舟智能参加三场2017 TI 嵌入式产品研讨会

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

zhihui51 ⋅ 2017/12/13 ⋅ 0

Zigbee在.Net Micro Framework系统中的应用

Zigbee是IEEE 802.15.4协议的代名词。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”...

技术小美 ⋅ 2017/11/17 ⋅ 0

关于arduino和zigbee串口16进制通信问题

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

我叫leo- ⋅ 2016/03/23 ⋅ 0

一文详细对比智能家居的三种通讯协议

智能产品之间要想实现互联互动亦或是互相通话,就需要使用通信协议,而目前智能家居系统中都是采用无线通信协议,本文也将对蓝牙、WiFi和ZigBee三种主流无线通信协议进行比较。 蓝牙 蓝牙,是...

昇润科技 ⋅ 06/08 ⋅ 0

ZigBee的发展也有“碎片化”

ZigBee的发展也有“碎片化” ——看ZigBee在各个领域的发展 关键字:ZigBee,Profile,应用标准,物联网,碎片化 引言 2002年ZigBee 联盟成立,符合ZigBee标准的产品在之后的两年里陆续面世,刚诞...

jordum ⋅ 2014/02/13 ⋅ 0

在pcduino上搭载Xbee Shield

Xbee shield能使一块Arduino板通过一些无线通讯模块比如蓝牙或者zigbee等达到短程的无线通讯效果。你可以把它看成是串口或者USB的替代品。它可以使2个Arduino达到通讯效果,甚至可以实现Ard...

酸酸苹果汁 ⋅ 2014/01/16 ⋅ 2

开发出一款类似XBee 兼容Arduino平台的zigbee模块

经过我们公司一段时间的潜心开发,终于开发出中国第一款像样的zigbee模块,他与目前国外火热的XBee S2类似,也引脚完全兼容,并可搭载于arduino硬件开源平台,是一个不错的模块,下面就介绍一...

jordum ⋅ 2014/02/13 ⋅ 1

ZigBee联盟是如何与智能家居“攀上”关系的?

浅谈ZigBee联盟、智能家居以及物联网的关系。 智能家居以物联网为依托,物联网最浅显的概念即万物相连,以此来看,智能家居在家庭中应起到连接所有家电设备、实现家电互联互通的作用。如今众...

行者武松 ⋅ 03/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vim编辑模式、命令模式

编辑模式 vim要从一般模式进入编辑模式只要按字母 i 、I、a、A、o、O键就可以了 要从编辑模式回到一般模式按键盘上的Esc键即可。 按键 作用 i 在当前字符前插入 I 在光标所在行的行首插入 o ...

黄昏残影 ⋅ 29分钟前 ⋅ 0

OSChina 周五乱弹 —— 如果有一天不当程序员了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享off的单曲《我唱情歌给你听》 《我唱情歌给你听》- off 手机党少年们想听歌,请使劲儿戳(这里) @小小编辑 :#如果不做程序...

小小编辑 ⋅ 35分钟前 ⋅ 5

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部