eew_TKwwQ7 发表于 2023-12-3 23:11

【DFRobot 云雀气象仪评测】Arduino无线智能空气监测系统搭建-05Xbee数据无线传输

本帖最后由 eew_TKwwQ7 于 2023-12-13 23:00 编辑

<p><span style="font-size:18px;"><strong>一、无线通讯准备工作</strong></span></p>

<p>无线电通信(radio communications)是将需要传送的声音、文字、数据、图像等电信号调制在无线电波上经空间和地面传至对方的通信方式,利用无线电磁波在空间传输信息的通信方式。短(近)距离无线通信技术是指通信双方通过无线电波传输数据,并且传输距离在较近的范围内,其应用范围非常广泛:Zig-Bee、蓝牙(Bluetooth)、无线宽带(Wi-Fi)、超宽带(UWB)和近场通信(NFC)等方式,其中XBee模块是一款内置协议栈的ZigBee模块,它通过串口使用AT命令集方式设置模块的参数,并通过串口来实现数据的传输。为了缩短客户的开发期,提供了X-CTU配置软件,用它可以方便地配置XBee模块的所有参数。&nbsp; &nbsp; XBee模块具有各个国家地区认证,在国外应用非常广泛, 包括智能家居,远程控制,无线抄表,传感器,无线检测,资产管理等,同时还有对应的iDigi平台,提供各种常用的接入方式,更加方便远程控制。</p>

<p> &nbsp;<br />
1.配置XBee模块通讯</p>

<p>XBee模块与单片机的串口通信有transparent和API两种操作模式,其中在transparent模式下单片机直接通过串口将要传输的数据发送给XBee模块,XBee模块按照ZigBee协议将数据通过无线发送给远端的XBee模块,远端模块再通过串口发送给单片机,就好像两个单片机之间通过XBee模块建立了一条透明传输通道,通信原理图如下图所示:</p>

<p>&nbsp;</p>

<p> &nbsp;</p>

<p>2.X-CTU配置</p>

<p>就如我们链接WiFi网咯一样,第一次需要进行设置输入无线网和密码,通过X-CTU软件一次配置可以让XBee模块能够自动完成配网进行数据传输,具体步骤如下:</p>

<p>1)电脑USB与XBee进行通讯,需要让Arduino当做翻译官,电脑X-CTU发送什么Arduino将信息传送到XBee模块:具体内容可参考:<a href="https://mc.dfrobot.com.cn/thread-24447-1-1.html" target="_blank">https://mc.dfrobot.com.cn/thread-24447-1-1.html</a></p>

<p>本次采用Arduino开发板为Romeo V2 多合一Arduino兼容控制器,烧写以下程序<br />
&nbsp;</p>

<p><span style="color:#e74c3c;"><span style="background-color:#2ecc71;">代码如下:</span></span></p>

<pre>
<code>void setup()      
{   
Serial.begin(9600);//初始化usb串口并设置波特率为9600
Serial1.begin(9600);//初始化xbee或WIFI Bee串口并设置波特率为9600   
}
void loop()   
{   
if(Serial1.available()&gt;0)//串口1有数据测发送到串口0   
{
      Serial.write(Serial1.read());
}   
    if(Serial.available()&gt;0)//串口0有数据则发送到串口1
{
      Serial1.write(Serial.read());   
}
}</code></pre>

<p>2)打开X-CTU连接两个装有XBee模块的开发板,进行软件配置</p>

<p>&nbsp; &middot;</p>

<p>3)X-CTU进行搜索串口进行连接</p>

<p> &nbsp;&nbsp;&nbsp;</p>

<p> &nbsp;</p>

<p>4)配置通讯设置</p>

<p>C节点配置如下:</p>

<p> &nbsp;</p>

<p>E节点配置如下:</p>

<p> &nbsp;</p>

<p>5)无线通讯调试测试</p>

<p> &nbsp;</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p><span style="font-size:18px;"><strong>二、云雀气象仪无线通讯</strong></span></p>

<p><span style="font-size:18px;">1.E节点的</span>XBee作为云雀气象仪数据发送端,C节点的XBee作为电脑数据接收端,</p>

<p> &nbsp;</p>

<p>2.C节点的Arduino程序暂时不需要修改,E节点的Arduino程序如下:</p>

<p>为了简化代码和了解主要功能,采用<span style="color:#e74c3c;"><strong>03Arduino代码简化(<a href="https://bbs.eeworld.com.cn/thread-1265072-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1265072-1-1.html</a>)</strong></span>,将<strong>Serial.println()改成Serial1.println()</strong>需要将该部分代码功能是将获取的云雀气象仪数据通过串口1<span style="color:#e74c3c;"><strong>Serial1.println()</strong></span>传送到E节点的Xbee,通过E节点的Xbee传送到C节点的Xbee,进而传送到电脑上</p>

<p> &nbsp;&nbsp; &nbsp;&nbsp;</p>

<p><span style="color:#e74c3c;"><span style="background-color:#2ecc71;">代码如下:</span></span></p>

<pre>
<code>#include "DFRobot_LarkWeatherStation.h"

#define DEVICE_ADDR                  0x42

#define MODESWITCH      /*UART:*/0 /*I2C: 0*/


DFRobot_LarkWeatherStation_I2C atm(DEVICE_ADDR,&amp;Wire);


void setup(void){

Serial.begin(9600);
Serial1.begin(9600);
atm.begin();
atm.setTime(2023,1,11,23,59,0);
}

void loop(void){
    Serial1.println("----------------------------");
    Serial1.print(atm.getValue("Temp"));
    Serial1.println(atm.getUnit("Temp"));
    Serial1.print(atm.getValue("Humi"));
    Serial1.println(atm.getUnit("Humi"));
    Serial1.print(atm.getValue("Speed"));
    Serial1.println(atm.getUnit("Speed"));
    Serial1.println(atm.getValue("Dir"));
    Serial1.print(atm.getValue("Altitude"));
    Serial1.println(atm.getUnit("Altitude"));
    Serial1.print(atm.getValue("Pressure"));
    Serial1.println(atm.getUnit("Pressure"));
    Serial1.println("----------------------------");
    Serial1.println(atm.getInformation(true));
    delay(100);
}
</code></pre>

<p>3.电脑打开串口观察是否有数据接收到</p>

<p>&nbsp;&nbsp; &nbsp;</p>

<p>整体Xbee数据无线传输实物图如下:</p>

<p> &nbsp;</p>

Penny2023 发表于 2023-12-15 14:29

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">射频前端芯片</font></span></span></span></span></span></span><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:宋体"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="宋体">设计原厂</font></span></span></span></span></span></span><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">三伍微电子的</font></span></span></span></span></span></span><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:宋体"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="宋体">产品</font></span></span></span></span></span></span><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">有</font><font face="Segoe UI">WIFI FEM、IOT FEM、PA和开关。</font></span></span></span></span></span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">产品优势</font></span></span></span></span></span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">FEM优势:(1)谐波好,免去外置滤波器,(2)无需调试匹配电路,直接替换。</font></span></span></span></span></span></span></span></span></p>

<p style="text-align:justify"><span style="font-size:10.5pt"><span style="font-family:Calibri"><span style="font-size:11.0000pt"><span style="background:#fdfdfe"><span style="font-family:'Segoe UI'"><span style="color:#05073b"><span style="letter-spacing:0.0000pt"><span style="font-style:normal"><font face="Segoe UI">开关优势:低插损,低延时,高频率(支持</font><font face="Segoe UI">7.2GHz)</font></span></span></span></span></span></span></span></span></p>

eew_TKwwQ7 发表于 2023-12-16 23:28

Penny2023 发表于 2023-12-15 14:29
射频前端芯片设计原厂三伍微电子的产品有WIFI FEM、IOT FEM、PA和开关。

产品优势

FEM优势:(1)谐 ...

<p></p><br/>
页: [1]
查看完整版本: 【DFRobot 云雀气象仪评测】Arduino无线智能空气监测系统搭建-05Xbee数据无线传输