在宿舍上床之后总是想开灯玩手机和室友一起打会儿游戏,故做此改造
前言展示
废话不多说,先上效果图
V1.0 参考网上的教程
V2.0 考虑到宿舍有两个灯,这不直接整上双开关
V3.0 舵机的固定方法和板子的固定方法改进,爽!
控制方式一开始使用了别人示例的点灯科技 APP,但感觉不够酷,所以使用 NoneBo 机器人框架接入了QQ机器人,这样室友也能用了。
开灯1、关灯1、开灯2、关灯2可以单独操控一个舵机
具体过程
想来想去本次过程似乎也没有太多可以记录的,总体流程为我向我的 QQ 机器人发送消息,经由自己编写的插件处理后,通过 MQTT 通信话题收发机制(说起来跟 ROS 十分的相似),向 ESP 8266 开发板发送消息,ESP 8266 接受消息后控制 PWM 波的输出从而驱使舵机发生旋转。
值得注意的是,建议把机器人插件中的topic
(”test/status”)和topic_reply
(”test/reply”)更换成随意的另外名字并把 esp 8266 的代码中相应的值改成你更改后的名字,如果都在用相同的话题,显然,A 的机器人会控制 B 的开关。第二点是把 wifi 换成你的账号密码。
舵机供电
舵机建议供电是 3V~7V 似乎,一般推荐 5V,但是 ESP8266 上只有 3.3V,带一个勉强能用,带俩很吃力,基本没力了,总电流变大,板子迟早是会有问题的(或许)。所以想了个办法,原本的 micro-USB 还是给板子供电,然后再拉一根 micro-USB,把 micro-USB 端剥开,取出里面的 0V 和 5V 电线,用来给舵机供电。其中要注意 0V 必须和板子共 GND,理论上来说这个 0V 插到板子的 GND 上即可共地,舵机取电从其他几个 GND 拉就行了,但是我没成功,很奇怪,可能是我的 0V 虚接了。我现在共地是用了一个有两个 USB-A 的排插,刚好合适。