PCB设计
直播中

刀马旦

13年用户 701经验值
私信 关注
[资料]

自制一个RFM97CW分线板

描述
Diy RFM97CW Breakout PCB

介绍
LoRa(代表远程)是一种 LPWAN 技术,其特点是与低功耗相关的长距离。这是一种可以参数化以改变其范围和数据速率的技术,从而影响其功耗。它通常配备称为 LoRaWAN 的集成 MAC 层,提供面向物联网的设备管理。由于TTN提供的公共网络覆盖,设置相对容易。



洛拉?
由 Semtech 开发的一种扩频调制技术,源自啁啾扩频 (CSS) 技术。它允许高噪声鲁棒性,因此即使在小功率的情况下也能提供相当长的范围(高达 10 公里)。但是,由于它使用 Sub-GHz ISM 频段,它的数据速率较低,最高可达 50kbps。它具有不同的参数,可以确定这些参数以固定范围、数据速率、噪声鲁棒性等属性。这些参数是使用的带宽、扩展因子和码率。这三者都会影响功耗,因为更高的带宽或范围意味着更高的功耗。

洛拉万?
LoRaWAN 开放规范是一种基于 LoRa 技术的低功耗广域网 (LPWAN) 协议。它由 LoRa Alliance 开发,这是一个致力于 LoRa 设备和网络的开放协会(有关更详细的协议参考,请参阅他们的网站)。该技术为通信手段增加了几个有用的功能:



实现了自动频率切换以避免冲突和干扰
,可以发送可确认和不可确认的消息,这要归功于可选的 ACK 机制为数据安全提供了
AES 加密,以及设备身份验证
- 提供连接到网关的空中设置,以简化基础设施灵活性
设备电池管理分为三类:
A 类:极低的电池电量,A 类设备将保持睡眠状态,除非它们有信息要发送,之后它们将继续监听一段固定的时间,然后再次进入睡眠状态。这种机制允许尽可能多地节省电池,但快速响应的双向通信是不可能的。
B 类:意味着电池,B 类设备将像 A 类一样工作,但也会在预定的时间段醒来收听。这使用了更多的电池,但允许更轻松的下行链路交互。
C 类:恒定电源,C 类设备永远不会进入睡眠状态。这是最被动的通信方案,但它使用最多的功率。

LoRa 和 LoRaWAN共同定义了低功耗、广域 (LPWA) 网络协议,旨在将电池供电的“事物”无线连接到区域、国家或全球网络中的互联网,并针对关键的物联网 (IoT) 要求,例如双向通信,端到端的安全性、移动性和本地化服务。低功耗、低比特率和物联网的使用将这种类型的网络与旨在连接用户或企业并使用更多功率传输更多数据的无线广域网区分开来。LoRaWAN 数据速率范围为每通道 0.3 kbit/s 至 50 kbit/s
LoRa(来自“远程”)是物理专有的无线电调制技术。 [2] 它基于源自啁啾扩频 (CSS) 技术的扩频调制技术。它由法国格勒诺布尔的公司 Cycleo 开发,后来被 Semtech 收购。



LoRaWAN 定义了软件通信协议和系统架构。LoRaWAN 协议的持续发展由开放的非营利 LoRa 联盟管理,SemTech 是该联盟的创始成员。

lora 接收器代码

#include
#include
#include
#include

LiquidCrystal_I2C lcd(0x27, 16, 2);

无效设置(){
序列.开始(9600);
而(!串行);

液晶显示器开始();
lcd.setCursor(0,0);
lcd.print("LoRa 接收器");
延迟(2500);
lcd.clear();

Serial.println("LoRa 接收器");

if (!LoRa.begin(915E6)) {
Serial.println("启动 LoRa 失败!");
lcd.setCursor(0,0);
lcd.print("LoRa 接收器");
而(1);
}
}

无效循环() {
lcd.clear();
int packetSize = LoRa.parsePacket();
if (packetSize) {


Serial.print("收到的数据包 '");


while (LoRa.available()) {
Serial.print((char)LoRa.read());
}

lcd.print(数据包);


Serial.print("' 带有 RSSI");
Serial.println(LoRa.packetRssi());
延迟(2000);







#include
#include


int counter = 0;
int Senderled = 5;
int 错误指示灯 = 6;




无效设置(){
序列.开始(9600);
而(!串行);


Serial.println("LoRa 发件人");
pinMode(Senderled,输出);
pinMode(错误,输出);
数字写入(Senderled,低);
数字写入(错误,低);


if (!LoRa.begin(915E6)) {
Serial.println("启动 LoRa 失败!");
数字写入(错误,高);
延迟(2000);
而(1);
}
}


void loop() {
digitalWrite(Senderled, LOW);
数字写入(错误,低);

Serial.print("发送数据包:");
Serial.println(计数器);


LoRa.beginPacket();
LoRa.print("来自 LoRA 的你好");
数字写入(Senderled,高);
延迟(500);
数字写入(Senderled,低);

LoRa.print(计数器);
LoRa.endPacket();


计数器++;


延迟(2000);
}


SCHEMAtiCS

Code

sender test code

lora_sender_code.ino

Download reciever

test code

reciever_code_for_lora.ino

Download

Circuit diagrams and Schematics

Schematics

STM32_adafruit_rfm9x_lora_steckplatine.pn

Download



更多回帖

发帖
×
20
完善资料,
赚取积分