【LoRa点对点通信与控制】

本文详细介绍了LoRa点对点通信与控制的实现过程,包括配置频率、初始化模块、按键算法以及主函数设计。通过按键操作,LoRa(A)控制小箭头循环切换,选择LED状态,并通过LoRa无线传输控制LoRa(B)的LED状态,同时实现消息加密和验证。
摘要由CSDN通过智能技术生成

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

LoRa通信与控制

二、LoRa通信与控制的要求

  • (1)根据竞赛提供的频率信息配置LoRa频率;
  • (2)设备上电,默认情况下两个LoRa模块上的LED1和LED2灯都是熄灭的,且显示如下图在这里插入图片描述
  • (3)每按一次Key2键可以控制LoRa(A)屏幕中的小箭头以LED1开 --> LED2关
    –> LED2关 --> LED2开 --> LED1开这样的顺序循环切换小箭头指示。每按一次Key3键可以控制LoRa(A)屏幕中的小箭头以LED1开 --> LED1关 --> LED1开 --> LED2关 --> LED1开这样的顺序循环切换小箭头指示。效果如下图所示:在这里插入图片描述
  • (4)当LoRa(A)中选中某个灯开或者关时,点击Key4键,可以控制LoRa(B)中对应LED1或者LED2的常亮或者熄灭。
  • (5)LoRa(B)要根据自己模块中LED1灯或LED2灯的亮起或熄灭使用不同的图片或动画来表示。

三、重点代码剖析

1、配置频率与初始化LoRa模块

#define RF_PING_PONG_FREQUENCY                      433300000 //载波频率,建议433MHz附近频率最佳

//初始化LoRa模块
NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);

2、设备上电,LoRa(A)和LoRa(B)的初始界面代码

  1. LoRa(A)模块的代码
/**********************************************************************************************
*函数:void OLED_InitView()
*功能:Lora液晶初始化
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
void OLED_InitView(void)
{
  OLED_Clear();
  OLED_ShowString(0,0, (uint8_t *)" LED1:");
  OLED_ShowCHineseArray( 64, 0, kai);		//通过取模工具对“开”、“关”取模
  OLED_ShowCHineseArray( 96, 0, guan);
  OLED_ShowString(0,4, (uint8_t *)" LED2:");
  OLED_ShowCHineseArray( 64, 4, kai);
  OLED_ShowCHineseArray( 96, 4, guan);
}
  1. LoRa(B)模块的代码
/**********************************************************************************************
*函数:void OLED_InitView()
*功能:Lora液晶初始化
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
void OLED_InitView(void)
{
  OLED_Clear();
  OLED_DrawBMP(16,1,40,40,mie);
  OLED_DrawBMP(64,1,40,40,mie);
  OLED_ShowString(16,6, (uint8_t *)" LED1");
  OLED_ShowString(64,6, (uint8_t *)" LED2");
  
}

3、对LoRa(A)模块按键进行设计算法

-(1)Key2的按键算法:
在这里插入图片描述

  • (2)Key3的按键算法:
    在这里插入图片描述

4、LoRa(A)模块的主函数参考

int main( void )
{
  Init();
  //初始化需要的外设
  OLED_Init();
  OLED_Clear();
  OLED_InitView();//OLED屏幕初始化信息
  keys_init();
  //LoRa模块初始化
  NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);
    while( 1 )
    {
   	key2Show();	//点击Key2键的算法
   	key3Show();	//点击Key3键的算法
   	LoRa_sendCmd();	//点击Key4键向LoRa(B)发送命令
    }
}

5、LoRa(B)模块的主函数参考

/**
 * Main application entry point.
 */
int main( void )
{
    Init();
 
  //初始化需要的外设
  OLED_Init();
  OLED_Clear();
  OLED_InitView();//OLED屏幕初始化信息
  USART1_Init(115200);//串口1初始化
  uint8_t RxBuffer[16];
  //LoRa模块初始化
  NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);
    while( 1 )
    {
   	LoRa_readCmd(RxBuffer);  //接收LoRa发送的命令,并控制LED1和LED2的亮灭,控制OLED的状态显示
    }
}

四、实验总结和重点

1、按要求配置LoRa的频率,一般在在433MHz左右;

2、汉字和小箭头的取模以及在在OLED屏特定位置的显示;

3、按下按键Key2、Key3小箭头切换选项的算法实现;

4、按下Key2和Key3不会互相影响,并实现箭头当前位置的传递;

5、LoRa(A)和LoRa(B)通信消息的加密传递,并确定LoRa(B)接收到的是LoRa(A)无线传输的信息,需进行验证(高级);

五、实现源码获取方式

  • 15
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
### 回答1: Lora点对点通信按键控制是指利用Lora技术进行点对点通信,并通过按键来控制通信的过程。 Lora是一种低功耗广域网通信技术,可以在远距离范围内进行长时间的通信。点对点通信是指在两个节点之间进行直接的通信,而不需要经过其他中继节点。这种通信方式可以用于很多应用场景,例如遥控器、智能家居、传感器网络等。 按键控制是指通过按下按钮或开关等方式,来控制通信的开始和结束,或者改变通信的状态。在Lora点对点通信中,按键可以作为一种控制手段,用于触发通信的开始和结束。 举个例子,我们可以设计一个基于Lora点对点通信的智能开关系统。当按下开关,发射器节点便会发送一个信号给接收器节点,接收器节点接收到信号后,控制对应的电器开关进行操作。再次按下开关,发射器节点发送另外一个信号给接收器节点,控制对应的电器开关进行关闭操作。 通过按键控制Lora点对点通信,我们可以实现一些灵活、简单的远程控制应用。比如,按键控制灯光开关、窗帘升降、温度调节等。这种控制方式不仅方便,而且省电,使得设备的使用更加智能化和便利化。 总之,Lora点对点通信按键控制是一种利用Lora通信技术,通过按键来控制通信的启动和停止,或者改变通信状态的方式。通过该方式,我们可以实现许多智能化的远程控制应用。 ### 回答2: Lora点对点通信按键控制是一种基于Lora无线通信技术的网络通信方式。Lora是一种低功耗、长距离、广域网无线通信技术,具有传输距离远、穿透力强、抗干扰能力高等特点。 在Lora点对点通信按键控制中,我们通常会使用两个或多个节点,一个节点作为发送方,一个或多个节点作为接收方。发送方通过按键触发某个事件或操作,将这个事件或操作的命令通过Lora无线通信技术发送给接收方。接收方收到命令后,根据命令执行相应的操作。 在这种通信方式中,按键起到了触发事件或操作的作用。通过按下按键,发送方会将按键事件的命令发送给接收方进行解析和执行。而Lora无线通信技术则起到了实现远程通信的作用,使得两个节点之间可以在较远的距离范围内进行无线通信。 Lora点对点通信按键控制在许多领域有着广泛的应用,例如智能家居、物联网等。通过按键控制,人们可以方便地控制家居设备,如灯光、空调、窗帘等。此外,Lora点对点通信按键控制还可以应用于工业领域,实现对远程设备的控制和监测,提高生产效率和安全性。 总之,Lora点对点通信按键控制是一种利用Lora无线通信技术,通过按键触发事件或操作的通信方式。它的应用范围广泛,可以实现对设备的远程控制和监测,提升生活和工作的便利性。 ### 回答3: Lora点对点通信按键控制是指使用Lora无线模块进行点对点通信,并通过按键控制通信的功能。 Lora是一种低功耗、长距离的无线通信技术,适用于物联网应用。通过Lora点对点通信,我们可以实现两个设备之间的无线数据传输。而按键控制则是通过按下按钮来触发相应的操作。 在Lora点对点通信中,我们需要两个设备:发送端和接收端。发送端将要发送的数据通过Lora模块进行编码,并通过天线发送出去。接收端的Lora模块则接收到发送端发送的信号,并解码得到原始数据。 当我们需要使用按键控制Lora点对点通信时,可以将一个按键连接到发送端设备,另一个按键连接到接收端设备上。当发送端按下按键时,发送端的Lora模块会发送指定的数据信号。接收端的Lora模块接收到信号后,进行解码,并执行相应的操作,例如控制继电器开关、改变LED灯的状态等。 通过Lora点对点通信按键控制,我们可以实现一些智能化控制的应用。例如,我们可以通过按键控制来实现家庭中的灯光、电器的远程控制。只需按下发送端的按键,即可发送指令到接收端,从而控制灯光的开关、电器的启停等。这种应用无需接入互联网,仅使用Lora通信即可实现便捷、稳定的控制。 总之,Lora点对点通信按键控制是一种便捷、低功耗的无线通信方式,可通过按下按键来控制通信设备的操作。它在物联网应用中具有重要的应用价值。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小鹿

博主不差钱,点个赞就行哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值