本帖最后由 红绿灯 于 2022-4-22 10:58 编辑
纯纯新手小白一枚,三天前还未接触过arduino、C++等。翻看了多位大佬的教程,初次尝试使ESP8266-1S+点灯科技做了一个远程开机。实名感谢点灯科技及各位慷慨出教程的大佬。
需求=====
1.能远程开机,不受同一局域网限制。
2.因为受控电脑是用来渲染3D模型,偶尔会死机,所以要能强制关机。
- #define BLINKER_WIFI // 点灯科技WIFI库
- #include <Blinker.h> // 点灯科技官方库
- char auth[] = "59******c9"; // 设备KEY
- char ssid[] = "sn666"; // wifi名称
- char pswd[] = "2014hzsn"; // wifi密码
- // 新建组件对象
- BlinkerButton Button1("btn-kj"); // 正常开关机
- BlinkerButton Button2("btn-gj"); // 强制关机
- BlinkerNumber Number1("num-abc");
- void Button1_callback(const String & state) {
- BLINKER_LOG("btn-kj:", " on");
- digitalWrite(0,LOW);
- delay(200);
- digitalWrite(0,HIGH);
- }
- void Button2_callback(const String & state) {
- BLINKER_LOG("btn-gj:", " off");
- digitalWrite(0,LOW);
- delay(5000);
- digitalWrite(0,HIGH);
- }
- void setup(){
- // 初始化blinker
- Blinker.begin(auth,ssid,pswd);
-
- Button1.attach(Button1_callback);
- Button2.attach(Button2_callback);
-
- pinMode(0, OUTPUT);
-
- }
- void loop(){
- Blinker.run();
- }
复制代码
点灯APP
很多大佬写的教程里都加入了小爱音响,因为我用不上这个功能所以就没加进去。增加了一个强制关机按钮,本来想着能将两个功能合并成一个按钮,比如,短按为正常开关机,长按为强制关机。但编写几次都没成功,看来还要继续学习。代码比较粗糙,各位大佬多多指教。再次实名感谢点灯科技及平台的各位大佬,让我这种从未学习接触过编程的电子爱好者也能DIY出自己想要的东西。
===========================================
更改:短按开机键正常开关机,长按强制关机。 按键为普通按键
- #define BLINKER_WIFI // 点灯科技WIFI库
- #include <Blinker.h> // 点灯科技官方库
- char auth[] = "5*****9"; // 设备KEY
- char ssid[] = "sn666"; // wifi名称
- char pswd[] = "20***sn"; // wifi密码
- // 新建组件对象
- BlinkerButton Button1("btn-kj");
- BlinkerNumber Number1("num-abc");
- void button1_callback(const String & state)
- {
- BLINKER_LOG("get button state: ", state);
-
- // 点击正常开关机
- if (state == BLINKER_CMD_BUTTON_TAP) {
- BLINKER_LOG("Button tap!");
- digitalWrite(0,LOW);
- delay(200);
- digitalWrite(0,HIGH);
- }
- // 长按关机
- else if (state == BLINKER_CMD_BUTTON_PRESSED) {
- BLINKER_LOG("Button pressed!");
- digitalWrite(0,LOW);
- delay(5000);
- digitalWrite(0,HIGH);
- }
- }
- void setup(){
- // 初始化blinker
- Blinker.begin(auth,ssid,pswd);
-
- Button1.attach(button1_callback);
-
- pinMode(0, OUTPUT);
-
- }
- void loop(){
- Blinker.run();
- }
复制代码
|