【ardunio+sx1268】与【esp32+sx1268】实现不同主控单片机lora通讯

news2024/10/9 6:21:25

2023.21
在前文 esp32 + sx1268 的 spi 驱动调通之后,又尝试 ardunio +sx1268 驱动,实现不同主控对于lora模块 sx1268 的控制

文章目录

    • 1. 实验结果
    • 2.硬件描述
      • 2.1 sx1268
      • 2.2 ardunio ATmega328
    • 3.接线实物图
    • 5.开发环境
    • 6.代码实现

关于esp32+sx1268 的驱动以及代码,请参考:
【Esp32】Esp32+sx1268 Spi接口驱动SX1268模块

1. 实验结果

请添加图片描述
描述:
Esp32 sender ardunio reciever
完成完成一次数据交互:

  • Esp32 发送ping
  • ardunio 接收到ping 后,回复 pong
  • Esp32 接收到 pong

2.硬件描述

2.1 sx1268

SX1268 lora模块,采用,深圳市硅传科技有限公司,封装好的模组
SX1268ZTR4-GC
在这里插入图片描述

2.2 ardunio ATmega328

本实验ardunio 开发板主控为 ATmega328,是8位单片机,资料请参考:
Arduino Uno R3 硬件参考
在这里插入图片描述

3.接线实物图

在这里插入图片描述

5.开发环境

ardunio IDE

在这里插入图片描述

6.代码实现

ardunio IDE


void setup() 
{
  delay(1000);
  Serial.begin(115200);
  int16_t ret = lora.begin(RF_FREQUENCY,              //frequency in Hz
                           TX_OUTPUT_POWER);          //tx power in dBm
  if (ret != ERR_NONE) while(1) {delay(1);}

  lora.LoRaConfig(xx,xx,xx,xx,xx,xx);             //请自行添加参数

}

void loop() 
{
  uint8_t rxData[255];
  uint8_t txData[255];
  uint8_t rxLen = lora.Receive(rxData, 255);
  if ( rxLen > 0 )
  { 
    Serial.print("Receive rxLen:");
    Serial.println(rxLen); 
   
    if(memcmp(rxData,"PING",4)==0){
        Serial.print("接收到数据为 PING  \r\n");
        sprintf((char *)txData, "PONG");
        Serial.print("回复数据 PONG \r\n");
        lora.Send(txData, 4, SX126x_TXMODE_SYNC);
    }
    int8_t rssi, snr;
    lora.GetPacketStatus(&rssi, &snr);
    Serial.print("rssi: ");
    Serial.print(rssi, DEC);
    Serial.println(" dBm");
    Serial.print("snr: ");
    Serial.print(snr, DEC);
    Serial.println(" dB");
    Serial.println();
  }
  delay(1);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爆款制作获1200w播放,B站UP主+品牌如何迈入2023

1月13日,bilibili 2022年度百大UP主已经揭开帷幕,今年延续2021年的评审标准,依然从专业性、影响力、创新性三个维度进行评选。来源-B站这套评审标准已经实施两年,早期的百大评选上榜的更多是来自知名度高、影响力广的UP主&#xf…

2.关系数据库

学习过程参考(后续章节同) 【公开课】数据库系统概论(王珊老师)(完结) 《数据库系统概论》思维导图 【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详…

中国电子学会2021年09月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

2021-09 Scratch三级真题 分数:100 题数:38 一、单选题(共25题,每题2分,共50分) 1. 程序中要使用不确定的数值,这时要用到的是?(D ) A、图章 …

Github如何使用详细介绍(保姆级教学)

前言 📜 “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴 目录 一、Github如何搜索 二、如何判断一个项目好不好呢&#xff1f…

yolov5 模型输出的格式解析

工作需要, 又需要对yolov5 输出的模型进行转onnx 再用c进行后续处理。 两个问题。 yolov5 的模型输出的是个啥啊?转成onnx后输出的和yolov5输出的处理是否一样呢? 关于第一个问题,yolov5 的模型输出的是个啥啊? 以前…

【Rust】14. Rust 中的函数式语言功能:迭代器与闭包

14.1 闭包:捕获环境的匿名函数 14.1.1 闭包会捕获其环境 14.1.2 闭包类型推断和注解 闭包并不总是要求像 fn 函数那样在参数和返回值上注明类型闭包通常很短,并只关联于小范围的上下文而非任意情境如果尝试对同一闭包使用不同类型则就会得到类型错误&am…

selenium自动化测试框架

一、Selenium自动化测试(基于python) 1、Selenium简介: 1.1 Selenium是一款主要用于Web应用程序自动化测试的工具集合。Selenium测试直接运行在浏览器中,本质是通过驱动浏览器,模拟浏览器的操作,比如跳转…

测试碎碎念(基础篇_2)

一、软件测试的基础概念1.1 需求在企业中,需求 主要分为 用户需求 和 软件需求~用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务;用户需求 一般是比较简略的&#xf…

Flink官方例子解析:带窗口的WordCount

1. 简介 本篇介绍的是带窗口的WordCount,使用窗口函数countWindow。 countWindow是一种计数窗口,有固定窗口和滑动窗口两种用法。 1.1 固定窗口 countWindow(windowSize) , windowSize指的是窗口大小。 例如countWindow(5), 说明一个窗口可…

零基础机器学习做游戏辅助第七课--模型的保存与加载

一、保存模型 当我们训练好模型后将它保存下来,这样下次使用时就可以直接加载模型进行工作了。 常见的保存模型有三种: 只保存权重文件:model.save_weights(num_weights) 当我们使用save_weights保存权重文件时,没有指定后缀名,则会保存三个文件在指定目录下

linux 下ARC的中断机制

linux 下ARC的中断机制 一、Idu 中断控制器初始化 Idu 是arc 处理器内部中断控制模块, 类似于arm 内部的gic 中断控制模块 首先,Idu中断控制器在初始化时, 会解析DTS信息中定义了几个idu控制器,每个Idu控制器注册一个struct irq_domain数据…

嵌入式Linux系统开发笔记(十三)

U-Boot烧写验证测试 正点原子专门编写了一个软件来将编译出来的.bin 文件烧写到 SD 卡中,这个软件叫做“imxdownload” 【1】将 imxdownload 拷贝到工程根目录下 【2】给予 imxdownload 可执行权限 我们直接将软件 imxdownload 从 Windows 下复制到 Ubuntu 中以…

【干货】Windows下cmd中cd命令的使用方法

【干货】Windows下cmd中cd命令的使用方法什么是cd命令cd命令的使用打开cmdcd命令的常用方法进入某个盘进入某个目录返回上一级目录返回至当前工作目录下的根目录参考什么是cd命令 此处介绍两个概念: cmd:命令提示符cd:全称change directory…

model.train()与model.val()

一、问题描述 需要将mmpose框架下训练的模型单独保存出来,做后续处理。用torch.save()直接保存模型mmpose_model.pt,然后重新搭建模型,把保存的模型参数加载进去,得到scratch_model.pt使用scratch_model.pt进行推理,与…

基于Jmeter的百万级tps性能测试实践

【CSDN 编者按】如何对系统的承载能力和响应时间做出准确的评估,为资源的合理配置及优化提供依据,性能测试就成了必不可少的测试手段,本文会给读者推荐一款业界占有率最高的一款性能测试工具——Jmeter。 本文作者朱凯是环信测试主管&#x…

TCP实现回显服务器及客户端

目录 前言: Socket API SeverSocket API TCP中的长短连接 TCP实现回显服务器 代码实现(有详细解释) TCP实现回显客户端 代码实现(有详细注释) 小结: 前言: 上篇文章介绍了TCP的特点。由…

195136-58-4,2‘,7‘-Difluorofluorescein,2,7-二氟荧光素

产品描述:2,7-二氟荧光素中Fluorescein (Uranine) 生物应用中的荧光示踪剂,Fluorescein (Uranine) 是一种具有代表性的绿色荧光团,已被广泛用作实用绿色荧光探针的支架。结构式:理论分析:中文名&#xff1a…

1608_PC汇编语言_first例程分析

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次的笔记主要是梳理一个例程以及部分辅助信息。 为什么要学习汇编语言呢?现在的高级语言开发效率高,而且有着不错的效率,是…

Compose之跨平台Activity页面

前言 Compose(Jetpackjb)是可以跨平台的 目前跨平台主流的页面导航方式一般有两种 一种是都在同一个页面内进行页面替换类型的导航,类似于单Activity,多Fragment 另一种是不同的页面在不同的页面载体上,类似多Activity 两种页面导航方式都可以使用,但我比较偏向于使用多Ac…

加密签名算法

序言如果我们要消费的一段字符串没有唯一标识,我们该如何防止重复消费.cuiyaonan2000163.com背景信息加密加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原&…