购买的模块终于到齐了,来个接线图:

第一步:通过官方工具,将lora模块进行初始化,注意一定要选定点传输方式,我一开始不知道在这里搞了好久。第一个模块设置地址为1,这个模块到时接树莓派,第二个模块设置地址为2,接到arduino上。

第二步:接线,这步要注意,lora模块有m0,m1两根针,用来控制模式的,如果不用,一定要接地,这里我也尝试了好久。

第三步:编写通信代码,我要实现一个简单的功能,01模块向02模块发送一个指令,arduino验证指令完整后向01模块响应。多话不说,直接上代码:

#include

SoftwareSerial rolaSerial(2, 3); // 电流表数据通讯TTL RX, TX

String cmdBuffer = ""; // 命令缓存

int loggerLevel = 1; // 日志级别

char szTmp[3]; // 串口读取

unsigned char channel = 0x04; // 信道

void setup() {

Serial.begin(9600);

rolaSerial.begin(9600);

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

// 读取串口指令到buffer

if(rolaSerial.available() > 0) {

digitalWrite(LED_BUILTIN, HIGH);

}

while (rolaSerial.available() > 0)

{

sprintf( szTmp, "%02X", (unsigned char) rolaSerial.read() );

cmdBuffer += szTmp;

delay(2);

}

digitalWrite(LED_BUILTIN, LOW);

if(cmdBuffer.length() > 0) {

parseBuffer();

}

}

void parseBuffer() {

// 长度超过2048,清空

if(cmdBuffer.length() > 2048) {

cmdBuffer = "";

logger("size out 2048");

return;

}

// 查找AA333380

int start = cmdBuffer.indexOf("AA333380");

if(start > 0) {

cmdBuffer = cmdBuffer.substring(start);

} else if(start == -1) {

return;

}

// 查找FCFF

String temp = "";

int end = cmdBuffer.indexOf("FCFF");

if(end != -1) {

temp = cmdBuffer.substring(0, end + 4);

cmdBuffer = cmdBuffer.substring(end + 4);

sendReturn();

}

String cmdstr = temp.substring(8, 12);

String data = temp.substring(12, temp.length() - 4);

if(cmdstr.equals("0001")) {

logger(data);

}

}

// 收到信息号响应

void sendReturn() {

unsigned char dest[11] = {0x00, 0x01, channel, 0xBB, 0x66, 0x66, 0x80, 0xFF, 0xFF, 0xFc, 0xFF};

rolaSerial.write(dest, 11);

}

void logger(String str) {

if(loggerLevel) {

Serial.println(str);

}

}

第四步:测试

连通性测试,发送一条,响应一条

压力测试:

定时发送设置为100,200,300,400,在100ms情况下,模块接收到数据错乱。300以后正常,但偶尔发生不回复的情况,500ms较为稳定。

因为lora模块是通过无线电来传输的,首先,传输的数据不能太多。第二,需要一点时间。所

以确定500ms为一次通信较为稳定。

距离与稳定性测试:

官方数据说在3KM之内通信,我测试了在1-2KM,是正常的,再远没测试过了。电梯内也可以正常收发,在电梯运动时会偶尔收发失败。

lora通信基本测试成功,下一步使用树莓派开发中继器

arduino lora通讯_智能酒桶-arduino+lora通信相关推荐

  1. arduino摄像头监控_如何使用Arduino和Pusher制作实时光监控器

    arduino摄像头监控 by Neo Ighodaro 由新Ighodaro 如何使用Arduino和Pusher制作实时光监控器 (How to make a realtime light mon ...

  2. arduino 温度调节器_怎样使用Arduino制作自己的温度控制器

    使用Arduino温度控制器提高完美的面包,酿造精美的啤酒和饲养快乐的小鸡.如果您的生活环境不太可靠,例如英格兰,那么告诉您将某物保持在设定温度下的指示并没有特别帮助-我们没有空调,并且为整个房子提高 ...

  3. Arduino录音时间延长_如何用arduino设计出可以语音播报的数字时钟

    A:您好,1.基本要求:能利用现有的硬件系统设计一个至少能显示分.秒的控制电路.分和秒均用两位数码管指示,并具有调时.复位功能: 2.扩展要求:能同时显示小时(两位数码管)并能调节小时功能:具有闹钟* ...

  4. 【STM8】两个单片机之间的Lora通讯实验

    文章目录 前言 一.SX1278的AT命令 二.使用步骤 1.SPI驱动 2.串口驱动 3.串口发送 总结 前言 这一次的实验,主要是要使用两个STM8单片机和SX1278Lora模块,互相实现数据的 ...

  5. arduino lora通讯_Arduino开发板和树莓派之间实现Lora点对点通讯

    随着物联网.互联汽车.M2M.工业4.0等的出现,LoRa越来越受欢迎.由于其能够以非常低的功率进行长距离通信,因此它非常适合设计人员用于发送/接收来自电池供电的数据.我们已经讨论了LoRa的基础知识 ...

  6. 【arduino】(1)介绍、lora和温度传感器的连接

    (持续更新中) 1 arduino arduino较为简单.其是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE).它适用于爱好者.艺术家 ...

  7. lora模块 A39系列 远距离通信 Arduino 串口案列程序

    lora模块 A39系列 远距离通信 Arduino 串口案列程序 一.器材 Lora通信模块 A39C-T400A22D1a *2 USB转TTL *1 Arduino *1 面包板 *1 杜邦线 ...

  8. arduino蓝牙通讯代码_「Arduino」OLED屏使用教程,显示内容听谁的?我不管,听我的...

    玩转Arduino小伙伴肯定都接触过OLED屏吧,不管是在Arduino还是树莓派中都起到浓墨重彩的一笔,会写编程的同学也可以变换更多的花样. 材料清单: Arduino驱动板 x 1 OLED模块 ...

  9. python和arduino哪个好_基于Python和Arduino的智能花盆系统

    基于 Python 和 Arduino 的智能花盆系统 杨吉云 YANG Ji-yun :徐乾淏 XU Qian-hao :沈莲 SHEN Lian :章晓敏 ZHANG Xiao-min [摘 要] ...

最新文章

  1. 调整亮度_【紫墨手机摄影课堂】图片调整
  2. 从业务在线到互联互通,钉钉宜搭进入低代码3.0阶段新模式
  3. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的解决方案...
  4. NPOI之Excel——设置单元格背景色
  5. js 日期天数相加减,格式化yyyy-MM-dd
  6. AsyncTask 源码流程简析
  7. Python中list,tuple,dict,set的区别和用法
  8. win7和xp,哪个才是你的选择?
  9. java 读文件 解析
  10. 多智能体强化学习(一) IQL、VDN、QMIX、QTRAN算法详解
  11. Backtrader量化平台教程(六)Analyzer
  12. AC Dream1069
  13. VR视频为什么都是弯的?
  14. 【Redis学习05】优惠券秒杀及其优化
  15. JavaScript - JS验证邮箱 ××× VISA 卡输入是否正确|正则表达式
  16. C++内存管理与指针的使用
  17. 怎么在线压缩PDF文件?常见途径说明
  18. ff新推荐的关闭办法
  19. Archive for the 'TED' Category TED视频:Tan Le 能读懂脑电波的耳机
  20. vs点击方法跳不到对于的地方_【阿司足球】今天带来一场欧国联的比赛,比利时VS冰岛...

热门文章

  1. 智能优化算法——粒子群优化算法(PSO)(小白也能看懂)
  2. lodop打印控件 功能实战
  3. 自制UM2结构的3D打印机
  4. ios后台刷新,后台定位,后台下载
  5. [置顶]ABP入门系列目录——学习Abp框架之实操演练
  6. JS继承方式及其优缺点总结
  7. ClickHouse 在日志存储与分析方面作为 ElasticSearch 和 MySQL 的替代方案
  8. 争议不断的动力电池暗战,究竟改变了什么?
  9. 读《全球领导力》笔记——001
  10. FIFO算法、LRU算法与LFU算法