首页 > 应用开发 > C/C++ > arduino--无线控制灯
“我现在正在工作啊,有什么事情我们等下在说好嘛?”
“啊啊啊,老妈,我正在写作业啊,你突然闯进来,我好不容易有了一点思路全被打断了”
“我打着游戏唱着歌,突然就被劫去洗厕所了”
“我今天心情这么差,这个大猪蹄子看不出来嘛,还不快来哄我”
不知你是否有这种体验,写作业时思路被突然打断,工作时被无端打扰,在创作时灵感被突然打乱。于是我就想做一个免打扰灯,提醒看到灯的人,里面的人正在工作。
那是一个风雨交加的晚上,我看见外面闪着七彩的光芒,我开始以为是我的意中人踩着七彩祥云来接我了。结果我仔细定睛一看,是一双紫色椰子鞋,他带着一个闪着七彩光芒的手套。吵着闹着要打什么响指之类的,我当时上去就是一个滑铲。把他手套上的宝石一颗一颗的拆下来了。大家来看看这些宝石值钱嘛,能不能在上海整个海景房。
“想要我的宝石吗?如果想要的话,那就到下文去找吧,我全部都放在哪里了。”
功能:
1.内附磁体可贴在金属门及金属制品上。
2.可使用手机远程控制工作灯亮,告知其他人自己的工作状态
3.可当做表示自己心情的心情指示灯,如:红色代表今天很生气,蓝色代表今天很开心。(有女票的同志再也不用跪搓衣板了,有么有。)
一、准备材料
1.硬件材料:
ESP32-E扩展板
ESP32-E主板
3.7V电池
3.7V电池充电器
7灯珠灯带
三、了解并使用SIoT
3.1 了解SIoT
SIoT
为“虚谷物联”项目的核心软件,是为了帮助中小学生理解物联网原理,并且能够基于物联网技术开发各种创意应用。
3.2 SIoT软件下载
3.3SIoT软件准备
SIoT
是一个绿色软件,将下载的压缩包解压并打开
。
3.4 运行SIoT
双击SIoT_win.exe,
可以看到一个黑色的CMD窗口。
3.5 获取电脑IP
3.6 打开SIoT网页端
打不开怎么办?
3.7 登录之后的页面展示
3.8 开机就自动打开这个程序
四、烧录代码远程点亮灯带
4.1 烧录代码
#include <DFRobot_Iot.h>#include <FastLED.h>#define NUM_LEDS 7#define DATA_PIN D6#define CLOCK_PIN 13CRGB leds[7];void obloqMqttEventT0(String& message);const String topics[1] = {"DFRobot/Seifer"}; //项目名称/设备名称const MsgHandleCb msgHandles[1] = {obloqMqttEventT0};DFRobot_Iot myIot;void obloqMqttEventT0(String& message) { if ((message==String("Red"))) { //判断发送信息是否为“Red” fill_solid(leds, 7, CRGB::Red); //灯带灯珠7颗,显示颜色为红色 FastLED.show(); //刷新灯带颜色 } else if ((message==String("off"))) { FastLED.clear(); //关闭灯带 FastLED.show(); //刷新灯带颜色 } else if ((message==String("Green"))) { fill_solid(leds, 7, CRGB::Green); //灯带灯珠7颗,显示颜色为绿色 FastLED.show(); } else if ((message==String("Blue"))) { fill_solid(leds, 7, CRGB::Blue); //灯带灯珠7颗,显示颜色为蓝色 FastLED.show(); } else if ((message==String("Yellow"))) { fill_solid(leds, 7, CRGB::Yellow); //灯带灯珠7颗,显示颜色为黄色 FastLED.show(); } else if ((message==String("White"))) { fill_solid(leds, 7, CRGB::White); //灯带灯珠7颗,显示颜色为白色 FastLED.show(); } else if ((message==String("Purple"))) { fill_solid(leds, 7, CRGB::Purple); //灯带灯珠7颗,显示颜色为紫色 FastLED.show(); }}void setup() { Serial.begin(115200); FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); myIot.setMqttCallback(msgHandles); myIot.wifiConnect("dfrobotOffice", "dfrobot2011"); //WiFi账号:dfrobotOffice,WiFi密码:dfrobot2011 while (!myIot.wifiStatus()) {yield();} myIot.init("192.168.0.104","siot","","dfrobot", topics, 1883); //IPv4地址:192.168.0.104,siot账号:siot,siot密码:dfrobot myIot.connect(); Serial.println("发起连接"); while (!myIot.connected()) {yield();} Serial.println("MQTT链接成功"); myIot.publish(topic_0, "hello");}void loop() {}
4.2 在SIoT网页端点亮灯带
五、制作手机端远程控制界面
5.1选择你喜欢的插...插图
5.2 写一个简单的静态网页
5.3 打开手机浏览器输入网址
http://192.168.0.104:8080/html/dingzhi.html复制代码
5.4 用手机app生成器,把输入的网址生成一个手机app
现在让我们采访拥有这个工作灯的小郑:主持人:“小郑你好,请问你看完这篇帖子你学会了嘛,感觉怎么样?”
小郑:“腰不酸了,腿不疼了,一口气能上六楼了”
主持人:“小郑你是不是串台了,我问你这个灯的感受”
小郑:“灯的感受啊,自从使用了这个灯啊。我跟你讲,平时在家工作效率蹭蹭的提升啊。在家打游戏也天天拿五杀了,我直接一口气上了个白银,你说厉不厉害嘛。特别是女票有了这个灯之后啊,我能随时知道今天是的天空是什么颜色的,搓衣板都扔了”
主持人:“屏幕前的你还在等什么,赶快行动起来吧”
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005204/viewspace-2789624/ ,如需转载,请注明出处,否则将追究法律责任。