arduino开发RF433模块+blinker同时控制灯
本文使用Arduino开发RF433模块和Blinker同时控制灯的方法。RF433模块可以实现无线控制,Blinker是一款物联网平台,可以通过手机APP控制设备。
硬件准备
- Arduino UNO板
- RF433模块
- 一个LED灯
- 220欧姆电阻
- 杜邦线若干
软件准备
- Arduino IDE软件
- Blinker库文件(可以在Arduino IDE的库管理器中搜索安装)
电路连接
将RF433模块的DATA引脚连接到Arduino的D2引脚,VCC连接到5V,GND连接到GND。将LED的正极连接到Arduino的D13引脚,负极通过220欧姆电阻连接到GND。
编写代码
在Arduino IDE中新建一个工程,将以下代码复制到工程中。这个代码包含了RF433模块和Blinker的代码,其中RF433模块用于接收无线信号,Blinker用于与物联网平台通信。
#include <RCSwitch.h>
#include <Blinker.h>
#define LED_PIN 13
#define RX_PIN 2
RCSwitch mySwitch = RCSwitch();
char auth[] = "YourAuth"; // Blinker物联网平台的设备密钥
char ssid[] = "YourSSID"; // WiFi名称
char pswd[] = "YourPass"; // WiFi密码
void setup()
{
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
mySwitch.enableReceive(RX_PIN);
Blinker.begin(auth, ssid, pswd);
Blinker.attachPowerState(powerState);
Blinker.attachData(dataRead);
Blinker.attachHeartBeat(heartBeat);
digitalWrite(LED_PIN, HIGH);
}
void loop()
{
Blinker.run();
if (mySwitch.available())
{
int value = mySwitch.getReceivedValue();
if (value == 12345)
{
digitalWrite(LED_PIN, HIGH);
Blinker.powerState("on");
}
else if (value == 67890)
{
digitalWrite(LED_PIN, LOW);
Blinker.powerState("off");
}
mySwitch.resetAvailable();
}
}
void powerState(const String &state)
{
if (state == BLINKER_CMD_ON)
{
digitalWrite(LED_PIN, HIGH);
mySwitch.send(12345, 24);
}
else if (state == BLINKER_CMD_OFF)
{
digitalWrite(LED_PIN, LOW);
mySwitch.send(67890, 24);
}
}
void dataRead(const String &data)
{
Serial.println("Blinker readString: " + data);
}
void heartBeat()
{
Serial.println("Blinker heartbeat");
}
其中auth、ssid、pswd需要替换为Blinker物联网平台的设备密钥、WiFi名称和WiFi密码。
代码解析
代码中使用了RCSwitch库和Blinker库。RCSwitch库用于接收无线信号,Blinker库用于与物联网平台通信。
在setup函数中,首先初始化串口和LED引脚。然后启用RF433模块的接收功能,同时初始化Blinker库。
在loop函数中,首先调用Blinker.run函数,该函数用于处理Blinker库的事件。然后检查RF433模块是否接收到了信号,如果接收到了信号,则根据信号的值控制LED灯的亮灭,并将状态信息发送给物联网平台。
在powerState函数中,根据Blinker库传递过来的状态信息控制LED灯的亮灭,并将状态信息发送给RF433模块。
在dataRead函数中,输出Blinker库接收到的字符串。
在heartBeat函数中,输出Blinker库发送心跳包的信息。
上传代码
将Arduino UNO板通过USB线连接到电脑上,打开Arduino IDE软件,将代码上传到Arduino UNO板中。上传完成后,在Blinker物联网平台中添加设备,然后打开手机APP扫描二维码添加设备,就可以通过手机APP控制LED灯的亮灭了。
总结
本文介绍了如何使用Arduino开发RF433模块和Blinker同时控制LED灯的方法。通过这种方法,可以实现无线控制LED灯,同时可以通过手机APP与物联网平台互动。
原文地址: http://www.cveoy.top/t/topic/bjHV 著作权归作者所有。请勿转载和采集!