2019独角兽企业重金招聘Python工程师标准>>>

这几天我做毕业设计遇到的问题。这个问题就是我的uno板子怎样和zigbee通信起来。先说说我的思路,把uno做成一个网关,从而连上互联网,而zigbee就是做无线通信。去跟我的传感器通信,把我的传感器的数据发给协调器,然后协调器和uno通信。关键就在于怎么把uno和协调器通信起来,我的zigbee板子用的是创思通信的开发板。这板子很不错,学习资料都有,由于zigbee协议我看不懂。我就拿来主义,直接用的给好的代码。一个当终端,一个当协调器。代码很多,我就看了几个关键的地方。然后又看看协调器是怎么能过串口跟电脑的串口助手通信的。

zigbee串口通信就是上图红色所看来的要求。由于我对串口通信不太熟悉,当我第一次看到要HEX显示和HEX发送时,我是来懂的。然后上百度,看了几个网页。才知道,哦!原来就是以16进制发送显示啊。(到现在我也不知道是不是这样的)知道了zigbee是怎么通信的。那下一步,我就让我的uno板子按上面的要求来和zigbee通信了。由于我不知道uno要怎么代码才可以达到上要的要求。我又一次百度了。这个过程,我看了好几天。因为,我对hex方式通信不懂啊,走了很多的弯路。而我的这篇文章就是要帮助像我之前不怎么懂的人,可以从我这里有所帮助。

说回正文,我从百度中看到了,如果要串口发送hex16进制的话。uno是要用Serial.write的,我不知道是为什么,我之前用Serial.print发送有问题。再用Serial.print(xxx,HEX)发送还是有问题。最后,我就用了Serial.write就可以发送成功了。下面我就把我的代码显示下

unsigned char d_ligth[7]={0x3a,0x00,0x04,0x0a,0x01,0x35,0x23};//这是发送协调器代码
unsigned char d_dark[7]={0x3a,0x00,0x04,0x0a,0x00,0x34,0x23};
void setup() {
  // put your setup code here, to run once:
  Serial.begin(38400,SERIAL_8N1);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.write(d_ligth,7);//uno发送的方式
  time_10s();
  Serial.write(d_dark,7);
  time_10s();
}
void time_10s(){
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
  delay(1000);
}

上面代码几行,可是我这几天百度,学习的结果。只是希望写下来,给有需要的人帮助。第一次写这类型的文章。有错误的地方,请见谅!

转载于:https://my.oschina.net/leohouse/blog/645880

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

  1. esp32的uart串口发送16进制通信指令调用实例

    esp32的uart串口发送16进制通信指令调用实例 简介 最近想用esp32通过uart发送的16进制指令来控制一个语言播放模块,记录一下调用uart的过程,请大佬斧正.比较愚笨,过程中踩了很多坑, ...

  2. 数据通信--ASCII码通信16进制通信的区别

    16进制通信一般用于网络传输等的通信上,传输效率高.数据量大是二进制通信. ASCII码通信一般用与串口通信等通信上,数据量小.易于处理.便于调试,它虽然是文本模式,但本质仍然是二进制通信. 在使用串 ...

  3. Arduino串口发送与接收16进制数据(HEX)(数据乱码)-JDY-10M组网

    最近使用JDY-10M蓝牙组网,需要Arduino收发数据,将遇到的一些问题与最终解决方法分享给大家,如果内容有问题,还请大家指点. 1.JDY-10M组网 关于如何JDY-10M如何组网网上介绍,这 ...

  4. arduino字符串转16进制数 大彩串口屏用。

    String Zi_Fu_Chuan = "我是中国人ABCD4567.879";//字符串void setup() {Serial.begin(115200); }void lo ...

  5. linux 串口 字符 间隔,嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)...

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include #incl ...

  6. 嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include<st ...

  7. java串口发送16进制_串口发送数据——字符串发送与十六进制发送的区别

    在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示.我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照 ...

  8. python3串口通信16进制_STM32串口通信——16进制数形式

    一.为什么采用16进制数形式? 首先,需要解释一下串口发送的数据都是unsigned char类型的,说成字符和16进制形式,只是我们采用何种方式展示这些数据.字符形式就是把16进制数通过ASCII表 ...

  9. java串口发送16进制数据_MFC串口通信发送16进制数据的方法

    本文实例为大家分享了MFC串口通信发送16进制数据的具体代码,供大家参考,具体内容如下 MFC串口通信会使用m_mscomm控件. 发送数据一般是在edit control 里输入自己想发送的内容,然 ...

最新文章

  1. python3.6升级及setuptools、pip安装
  2. visio图中包含公式,插入word后公式模糊终极解决办法
  3. zabbix监控linux文件目录,zabbix监控linux磁盘性能
  4. 关于FCN的数据集着色说明
  5. Vuejs 写法实例
  6. Jzoj5231 序列问题
  7. 126套Unity3D视频教程全集(包含入门、编程、特效、UI、动画、实战等等)
  8. dp hp oracle 备份软件_HP-DP备份软件设置
  9. 关于绝对路径与相对路径(详细)
  10. Spring boot2.0 JpaRepository findOne的使用
  11. ”左行右立“折寿探秘
  12. 深入解析protobuf 2-自定义protoc 插件
  13. IDEA 2018.3.3 有效期至 2100
  14. 精益看板方法从理论到实战 (6)—— 控制在制品数量(中)
  15. 查看mysql 版本号 (3种)
  16. LApacheMP基础环境搭建
  17. 含有泛型的 JSON 反序列化问题
  18. unicode utf8 utf16转换说明及代码实现(包含emoji表情编码转换)
  19. 惠普光影精灵7Victus 评测
  20. 终结刻录CD与原版CD音质差别之争!以及设备盘片对刻录音质的影响!(转载)...

热门文章

  1. 解密中国研发团队如何开发VS2010新特性
  2. 记一次升级Oracle驱动引发的死锁
  3. vue transition动画
  4. 封装、继承、多态、访问符,范围修饰符
  5. 前端面试常考知识点---js
  6. org.apache.log4j.Logger详解
  7. laravel创建新model数据的两种方法
  8. hadoop2.610集群配置(包含HA和Hbase )
  9. 关于使用android系统设备充当web服务器的一点准备
  10. Microsoft Expression Blend 2 密钥,key