物联网国赛LORA模块开发教程(通用库)——LoRa点对点通信

这篇具有很好参考价值的文章主要介绍了物联网国赛LORA模块开发教程(通用库)——LoRa点对点通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

物联网国赛LORA模块开发基础教程(通用库)—点对点通信

一、LoRa点对点通信与控制实现效果

        LoRa点对点通信与控制实现效果,本次实验主要对Lora点对点通信进行实验,发送端采集光照值显示到oled屏并发送至节点端进行控制,当光照值低于100 lx 时点亮Led2灯,反之熄灭。

LoRa点对点通信与控制实现效果

二、LoRa点对点通用库中函数的简介

1、本次LoRa点对点实验用到的库   

在main.c文件中添加 LoRa 通用库头文件 #include "NS_Radio.h"

#include "NS_Radio.h"
#include "sx1276.h"

2、LoRa模块的初始化

// 开发板平台初始化
void Init()
{
    BoardInitMcu();
    BoardInitPeriph();
    keys_init();                                   //按键初始化
    OLED_Init();                                   //OLED初始化     
    setTimer2Callback(Time2Handler);
    Tim2McuInit(1);                                //定时器初始化,设置定时中断1ms中断一次
                           
    NS_RadioInit( 433300110, 16, 1000 ,1000);      //LORA模块初始化     
}


//通用库里面讲解的很详细
/**********************************************************************************************
*函数:void NS_RadioInit( uint32_t freq, int8_t power, uint32_t txTimeout, uint32_t rxTimeout)
*功能:对射频模块发送、接收参数进行初始化
*输入:
*			freq载波频率,建议433MHz附近频率最佳
*			power发射功率,最大20
*			txTimeout发送超时时间
*			uint32_t rxTimeout 接收超时时间
*输出:无
*特殊说明:无
**********************************************************************************************/
void NS_RadioInit( uint32_t freq, int8_t power, uint32_t txTimeout, uint32_t rxTimeout)
{
	 NS_RadioEventsInit();//无线射频模块注册事件回调函数
     NS_RadioSetTxRxConfig( freq, power, txTimeout );
	 Radio.Rx( rxTimeout );//设置LoRa模块为接收模式,同时设置超时时间,必许步骤
}

三、代码实现

1、发送端

//发送光照值【发送端】
uint16_t gz_val=0;                        //ADC的值,需为整形或浮点型,字符型会导致数据上限
uint8_t lora_send_data[3];                //无线接收数据的数组,数组长度任意,不超过255即可
uint8_t oled_data[10];                    //OLED屏幕数据的数组,数组长度任意,不超过255即可
void send(void)                           //发送函数
{
    AdcScanChannel();                     //查询ADC
    gz_val=AdcReadCh0()*250;              //读取ADC通道0函数读取到电压值并*250进行转化得到光照值赋给gz_val
    sprintf((char*)lora_send_data,"%d",gz_val);  //对无线发送数据的数组进行处理
    SX1276Send(lora_send_data,3);                //无线发送数据SX1276Send(发送内容,字节数)
    sprintf((char*)oled_data,"%d  ",gz_val);     //lx后需加两个空格(lx为光照强度的单位),否则屏幕不会清除原先显示的数据
    OLED_ShowString(0,0,oled_data);              //显示OLED屏幕数据
	GpioToggle(&Led1);                           //通讯指示灯
}

2、节点端

【补充】

该函数的格式为 :int atoi(const char* str)

atoi()函数将数字格式的字符串转换为整数类型。例如,将字符串“12345”转换成数字12345。

//接收光照值【节点端】
uint8_t lora_recieve_data[255];       //无线接收数据的数组,数组长度必须为255
uint8_t oled_data[10];                //OLED屏幕数据的数组,数组长度任意,不超过255即可
uint16_t gz_val=0;                    //无线数据的值,需为整形或浮点型,字符型会导致数据上限
void receive()              //接收函数
{
	ReadRadioRxBuffer( (uint8_t *)lora_recieve_data);    //无线接收数据
	gz_val=atoi((const char *)lora_recieve_data);        //将无线数据字符串转换为整形
	               
	sprintf((char*)oled_data,"%d lx  ",gz_val);    //格式化OLED屏幕数据,lx为光照强度的单位
	OLED_ShowString(0,0,oled_data);                      //显示OLED屏幕数据
	if(gz_val<100)                                       //判断无线数据的值
	{
		GpioWrite(&Led2,0);
	}
	if(gz_val>100)                                      //判断无线数据的值
	{
		GpioWrite(&Led2,1);
	}
    GpioToggle(&Led1);                           //通讯指示灯
	memset(lora_recieve_data, 0, 255);           //清空(数组)无线数据,不清空则数据会溢出  
}

【注意】发送端和节点段尽量发送字符,到节点端进行转换,减少出错!!!

四、【特别注意】

        发送端LoRa板和节点端LoRa板一定要装天线!!!

        发送端LoRa板和节点端LoRa板一定要装天线!!!

        发送端LoRa板和节点端LoRa板一定要装天线!!!

        可以提升两点之间通信信号的稳定。

五、本节资源

链接:https://pan.baidu.com/s/1FhQwd2ataN8Nr-iPDnML7g 
提取码:1119文章来源地址https://www.toymoban.com/news/detail-858279.html

到了这里,关于物联网国赛LORA模块开发教程(通用库)——LoRa点对点通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 物联网Lora模块从入门到精通(四)对某些端口的初始化

            由于程序设计开发具有的不确定性,我们常常需要初始化某些特定的引脚,并读取引脚电平状态或向引脚输出高低电平。         快速找到端口的初始化语句:         首先,找到board.c文件,在下图的位置,我们可以看到关于LED灯的端口的初始化语句。        

    2024年02月08日
    浏览(48)
  • 物联网Lora模块从入门到精通(二) LED灯泡闪烁与呼吸灯

    目录 一、前言 二、实践与代码         1.电亮LED1         2.熄灭LED1         3.翻转LED电平         4.LED1与LED2交替闪烁         5.LED1呼吸灯 三、程序代码         本篇内容属于新大陆物联网Lora模块开发,使用给定的Lora基础例程,并在其基础上开发完成,并可

    2024年02月09日
    浏览(44)
  • [005] [蓝桥杯物联网] LoRa模块通信原理概述与API使用方法

    MCU型号: STM32L071KBU SDK:HAL库 工具:CubeMX + MDK LoRa ( Long Range , 远距离)模块收发器型号为 SX1278 ,可以完成 点对点 的数据通信功能,属于 半双工 通信,其原理图与引脚描述如下图所示: ▲ Lora模块原理图 ▲ Lora模块引脚描述 Lora竞赛板中引出了以下引脚: PA5~7:一般配置为

    2023年04月16日
    浏览(41)
  • 3个月快速入门LoRa物联网传感器开发

    在这里插入图片描述 LoRa作为一种LPWAN(低功耗广域网络)无线通信技术,非常适合物联网传感器和行业应用。要快速掌握LoRa开发,需要系统学习理论知识,并通过实际项目积累经验。 摘要: 先学习LoRa基础知识:原理、网络架构、协议等,大概需要2周时间。 然后选择LoRa开发板,编写简

    2024年02月14日
    浏览(50)
  • Keil5添加.c文件与.h文件的方法-导入支持库-新大陆物联网竞赛-Lora模块&NBIOT模块例程-添加导入文件

            在某些情况下,我们使用现用的物联网开发例程,例如新大陆物联网的Lora与NBIOT的例程,我们对其例程内目前所有的库不满意,不足以实现开发需要的功能,我们需要在原有工程上添加我们自己的库,以满足开发需要。         首先,打开文件夹选项,点击如下图所

    2024年02月12日
    浏览(50)
  • 正点原子LoRa模块的使用

    所用单片机为STM32F407,此篇为当时做电赛时未记录,但是现在忘了所以重新记录一下,防止自己忘记。总的来说就是用串口给LoRa模块发送AT指令来配置模块,然后单片机想要发数据也是使用串口发送出去。 MD0引脚配置为推挽输出模式,并配置为下拉, AUX引脚配置为输入模式

    2024年02月08日
    浏览(39)
  • STM32使用LORA模块通信

    目录 一、简单了解 1、模块简介 2、硬件及功能  3、传输方式 二、模块上手 1、连接  2、编写代码 usart3.h usart3.c lora.h lora.c main.c 本文以正点原子ATK-LORA-01模块为例进行介绍。         ATK-LORA-01-V3.0(V3.0是版本号,下面均以ATK-LORA-01表示该产品)是ALIENTEK推出的一款体积小、微

    2024年02月02日
    浏览(36)
  • ATK-LORA 无线通信模块

    ATK-LORA 是 正点原子 推出的一款小体积、微功率、低功耗、高性能的远距离 LoRa 无线串口模块,该模块采用高效的 ISM 频段射频 SX1278 扩频芯片,其工作频率为 410MHz~441MHz,信道以 1MHz 频率为步进,共有 32 个信道,可在线修改模块的串口速率、发射功率、空中速率、工作模式和

    2024年02月07日
    浏览(41)
  • 物联网毕设 -- 医院病人智能护理监测(LORA+STM32)

    目录 前言 一 连线图 1 原理图 2 PCB效果 3 实物效果 4 APP效果(本项目不适应) 5 功能概括 (1)护士端: (2)病人端: (3)云平台使用(阿里云)(本项目不适应) (4)演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式(本项目不适应) 四 程序修改部

    2024年02月21日
    浏览(47)
  • LuatOS-SOC接口文档(air780E)--lora2 - lora2驱动模块(支持多挂)

    常量 类型 解释 lora2.SLEEP number SLEEP模式 lora2.STANDBY number STANDBY模式 lora初始化 参数 传入值类型 解释 string lora 型号,当前支持: llcc68 sx1268 table lora配置参数,与具体设备有关 返回值 返回值类型 解释 userdata 若成功会返回lora对象,否则返回nil 例子 设置频道频率 参数 传入值类型

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包