首页 > 评测 > 带你飞越LoRa世界--Feather 32u4 LoRa开发板体验
带你飞越LoRa世界--Feather 32u4 LoRa开发板体验
- [导读]
- 今天给大家介绍的Feather 32u4 LoRa开发板是Feather家族中的一员。从名字可以看出,这是一款用于学习及评估LoRa技术的开发板。相比LoRa在国外火爆的局面,国内似乎还没有掀起太大的波澜,不过技术这东西,说火爆就火爆了,有时间还是了解下也好。
对于一个典型的IoT通信模型来说,传感器收集到的信息,一般通过网关集中、筛选后再上传到服务器;除了数据的上行,也可以通过服务器下发控制指令,实现远程控制。
结点与网关交换信息的不同方式,又可以分为三类:
• Class A: 低功耗模式,必须实现
• Class B: 低延迟,可选实现
• Class C: 无延迟,可选实现,功耗较大
先看一段简单的硬件初始化代码,如下
/* for feather32u4 */
#define RFM95_CS 8
#define RFM95_RST 4
#define RFM95_INT 7
#define RF95_FREQ 915.0
// Singleton instance of the radio driver
//RH_RF95 rf95;
RH_RF95 rf95(8, 7); // Rocket Scream Mini Ultra Pro with the RFM95W
首先指定MCU与LoRa模块通信的一些基本配置,如片选、复位及中断引脚,这里分别对应于8、4及7号引脚,接下来是定义ISM频段,前面提到这是一款900MHz的芯片,所以要设置为915。
接下来的代码是使用硬件配置的引脚来初始化LoRa芯片,底层代码通过SPI接口来指定相关的指令,如设置LoRa的配置参数,设置发射功率等。LoRa使用扩频技术来实现远距离及低功耗,不同的调制参数适用不同的场合,例如不同的传输距离,典型的配置列表如下
不同的扩频因子SF、带宽BW及CR的组合,可以得到不同的传输速率,结合不同的发射功率,还可以选择传输距离等
while (!rf95.init()) {
Serial.println("LoRa radio init failed");
while (1);
}
Serial.println("LoRa radio init OK!");
// Defaults after init are 434.0MHz, modulation GFSK_Rb250Fd250, +13dbM
if (!rf95.setFrequency(RF95_FREQ)) {
Serial.println("setFrequency failed");
while (1);
}
Serial.print("Set Freq to: "); Serial.println(RF95_FREQ);
// Defaults after init are 434.0MHz, 13dBm, Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on
// The default transmitter power is 13dBm, using PA_BOOST.
// If you are using RFM95/96/97/98 modules which uses the PA_BOOST transmitter pin, then
// you can set transmitter powers from 5 to 23 dBm:
rf95.setTxPower(23, false);
这一段代码设置ISM频率,使用默认的BW、CR及SF参数,这些参数在LoRa每个结点上,这些参数要求保持一致。剩下的事情就是发送及接收数据的处理工作了,代码就不详细介绍了。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前