(SKU:TEL0121)FireBeetle Covers-LoRa Radio 433MHz

来自DFRobot Product Wiki
跳转至: 导航搜索
产品名称

Update/modify/delete Forbidden, 禁止更改本图,请更改图片名称,避免覆盖上传

目录

简介

DFRobot FireBeetle萤火虫系列是专为物联网设计的低功耗微控制器。该系列产品,定位于低功耗物联网,旨在方便、快速的搭建物联网硬件平台。FireBeetle系列有三个大类,分别是Board(主板)、Covers(扩展)、Accessories(配件)。 FireBeetle LoRa 433MHz无线传输模块,采用高性能SX127x LoRa 433MHz芯片,内置PA增益,在空旷可视范围内可达5KM,实测城市距离大于1KM。支持FSK调制方式,支持最大传输速率300Kbps,支持LoRaTM,最大传输速率37.5Kbps。支持Arduino,支持低功耗,在睡眠模式下电流小于0.2uA。可以应用在远程抄表、家庭自动化检测、轮胎气压监测、健康监测、可穿戴等系统。


注意事项: 在同一网络中,模块的无线信号参数都应设置为相同参数,避免因模块之间信号参数不一致导致不能通信。


技术规格

  • 工作电压:3.3V
  • 工作频段:433MHz
  • 调制方式:LoRa 扩频
  • 输出功率:≤20dBm
  • 接收灵敏度:-139dBm
  • 发射电流:≤120mA
  • 接收电流:≤15mA
  • 休眠电流:≤1uA
  • 发射功率范围:-1dBm~20dBm(Max)
  • FIFO/直接模式两种传输模式
  • 工作频率:403MHz~463MHz(典型值433MHz)
  • 数据传输速率:@FSK,1.2~300Kbps @LoRaTM,0.018~37.5Kbps
  • 调制方式:LoRaTM、FSK、GFSK、OOK
  • 内置天性静电保护
  • 127分贝动态范围RSSI
  • 256字节FIFO与CRC跳频功能
  • SPI接口
  • 5个软件控制GPIO(可用作中断)
  • 工作温度:-20℃~+70℃
  • 产品尺寸:58 x 29 mm
  • 安装孔位置:53 x 24 mm
  • 安装孔尺寸:内径3.1mm


尺寸图

  • pin脚间距:2.54mm
  • 安装孔间距:24mm/53mm
  • 安装孔尺寸:3.1mm
  • 主板尺寸:29.00mm×58.00mm
  • 板厚:1.6mm
FireBeetle Covers-LoRa Radio 433MHz尺寸图

PinOut

FireBeetle Covers-LoRa Radio 433MHz主要由MISO,MOSI,SCK,CS,RESET控制,并将这些控制端口引到FireBeetle主板的MISO,MOSI,SCK上,片选CS和RESET通过杜邦线与D2、D3、D4、D5连接,一个FireBeetle主板可以同时控制2个LoRa Radio 433MHz板

FireBeetle Covers-LoRa Radio 433MHz数据控制引脚
Warning yellow.png

注:NC不连接,VCC为电源电压输出(5V-USB供电时, 3.7V-锂电池供电时)


使用教程


准备

  • 硬件
    • 2 x ESP32控制板
    • 2 x FireBeetle Covers-LoRa Radio 433MHz模块
    • 连接线

将CS连接到D4,RESET连接到D3,库文件默认连接方式,当然你也可以修改程序连接到其他IO口。

CS和RESET连接示意图
  • 软件
    • Arduino IDE (根据能够使用的Arduino版本来选择,不要盲目追求最新版本), 点击下载Arduino IDE


硬件连接

  • 直接将ESP32控制板和LoRa模块拼合
  • 将ESP32控制板通过USB线连接到PC

样例代码

请先下载FireBeetle Covers-LoRa Radio 433MHz库

  • 将主从程序分别下载到两块ESP32控制板上
  • 主模块(Master)代码程序

/*!
 * @file receiverTest.ino
 * @brief DFRobot's received data
 * @n [Get the module here]
 * @n This example is receive.
 * @n [Connection and Diagram]
 *
 * @copyright	[DFRobot](http://www.dfrobot.com), 2016
 * @copyright	GNU Lesser General Public License
 *
 * @author [yangyang]
 * @version  V1.0
 * @date  2017-04-10
 */

#include <DFRobot_LoRa.h>

DFRobot_LoRa lora;

uint8_t len;
uint8_t rxBuf[32];

void setup()
{
	Serial.begin(115200);

	pinMode(LED_BUILTIN, OUTPUT);
	Serial.println("Receiver Test");

	if(!lora.init()) {
		Serial.println("Starting LoRa failed!");
		while (1);
	}

	lora.rxInit();    
}
void loop()
{
	if(lora.waitIrq()) {   // wait for RXDONE interrupt
		lora.clearIRQFlags();
		len = lora.receivePackage(rxBuf);  // receive data
		Serial.write(rxBuf, len);    
		Serial.println();
		lora.rxInit();    // wait for packet from master
		
		// print RSSI of packet
    	Serial.print("with RSSI ");
    	Serial.println(lora.readRSSI());

		static uint8_t i;
		i = ~i;
		digitalWrite(LED_BUILTIN, i);
	}
}
  • 从模块(Slave)代码程序

/*!
 * @file sendTest.ino
 * @brief DFRobot's send data
 * @n [Get the module here]
 * @n This example is send.
 * @n [Connection and Diagram]
 *
 * @copyright	[DFRobot](http://www.dfrobot.com), 2016
 * @copyright	GNU Lesser General Public License
 *
 * @author [yangyang]
 * @version  V1.0
 * @date  2017-04-10
 */

#include <DFRobot_LoRa.h>

DFRobot_LoRa lora;

uint8_t counter = 0;
uint8_t sendBuf[] = "HelloWorld!";

/* The default pin:
/		SS:D2
/		RST:D3
*/

void setup()
{
	Serial.begin(115200);
	
	if(!lora.init()) {
		Serial.println("Starting LoRa failed!");
		while (1);
	}
}
void loop()
{
	Serial.print("Sending packet: ");
	Serial.println(counter);

	// send packet
	lora.sendPackage(sendBuf, sizeof(sendBuf)); // sending data
	lora.idle();    // turn to standby mode

	counter++;
#if 0
	if(counter%10 == 0) {
		lora.sleep();
		delay (5000);// sleep 5 seconds
	}
#endif

	delay(500);
}
                      


结果

主机发送
从机接收


常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。


更多


DFshopping car1.png [Link DFRobot商城购买链接]

个人工具
名字空间

变换
操作
导航
工具箱