本帖最后由 f969439474 于 2020-7-14 13:31 编辑
为方便像我这样零基础爱好者,制作出属于自己的第一个物联网开关,在这我分享一下,自己的制作之旅,只要按照步骤一步一步下来,相信大家可以跟我一样制作出第一个属于自己的物联网开关。 一、准备工作 入门初学者直接入手一块开发板,开发板的一个好处就是板子设计者已经给初学者排查了硬件连接错误,可以使初学者专注于软件开发,加快学习进度。目前比较火的一款ESP8266开发板就是NodeMcu,其核心芯片是ESP8266-12F,下载程序只需一根手机数据线就好,如下图所示: 1、硬件准备:ESP8266 Node mcu一个 、一路5V继电器模块(带光耦隔离),VV 接 DC+ , G 接DC- , 我用的是D4引脚,因此 D4 接 IN接好线。 (前者为Node mcu上的引脚,后者为继电器上的) 2、软件准备 ①、Arduino IDE安装,我这提供免安装版 无法上传压缩包,需要请留言 下载解压后,file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps3.jpg
出现以下界面:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps4.jpg ②、安装esp8266扩展 点击文件,打开首选项 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps5.jpg 出现以下界面:
第一步:
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps6.jpg 第二步:网址部分(http://arduino.esp8266.com/stable/package_esp8266com_index.json) file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps7.jpg 完成后,点击“工具”→“开发板”→“开发板管理器”
安装时间较长,请静静等待。 ③、下载并安装blinker Arduino库(需要的可以请留言) 解压到第①步中免安装包里的 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps10.jpg ④、下载并安装blinker APP Android下载:
在android应用商店搜索“blinker”下载安装
IOS下载:同上
⑤、在app中添加设备,获取Secret Key
进入App,点击右上角的“+”号,然后选择 添加设备 点击选择Arduino > WiFi接入 选择要接入的服务商 复制申请到的Secret Key file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps11.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps12.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps13.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps14.jpgfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps15.jpg 因为我原先就有三个,所以再添加就成了四个。 点击第一个。 DIY界面 在设备列表页,点击设备图标,进入设备控制面板 首次进入设备控制面板,会弹出向导页 在向导页点击 载入示例,即可载入示例组件 file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps16.pngfile:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps17.jpg ⑥、编译并上传示例程序 打开Arduino IDE,通过 文件>示例>Blinker>Blinker_Hello>Hello_WiFi 打开例程(如下图所示) file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps18.jpg 在程序中找到如下变量,填入你申请到的Secret Key(auth)和要连接的WiFi热点名(ssid)、密码(pswd),如: char auth[] = "abcdefghijkl"; //上一步中在app中获取到的Secret Key char ssid[] = "abcdefg"; //你的WiFi热点名称 char pswd[] = "123456789"; //你的WiFi密码
例程中宏LED_BUILTIN为开发板厂家定义的连接板载LED的引脚,我们选择的开发板没有定义LED_BUILTIN,自行修改为你要使用的引脚,我使用的是D4引脚,因此把程序中的LED_BUILTIN改为D4.(在下面程序中重点标红) #define BLINKER_WIFI #include <Blinker.h> char auth[] = "Your Device Secret Key"; char ssid[] = "Your WiFi network SSID or name"; char pswd[] = "Your WiFi network WPA password or WEP key"; // 新建组件对象 BlinkerButton Button1("btn-abc"); BlinkerNumber Number1("num-abc"); int counter = 0; // 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));} // 如果未绑定的组件被触发,则会执行其中内容 void dataRead(const String & data) { BLINKER_LOG("Blinker readString: ", data); counter++; Number1.print(counter);} void setup() { // 初始化串口 Serial.begin(115200); BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll(); // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); // 初始化blinker Blinker.begin(auth, ssid, pswd); Blinker.attachData(dataRead); Button1.attach(button1_callback);} void loop() { Blinker.run();} 完成后,
编译并上传 第一步:
第二步:
恭喜!一切就绪 在APP中点击刚才你添加的设备,即可进入控制界面,点击“点我开关灯”按钮就可以控制继电器做出相应的动作, 另一个按钮也点下试试,放心,你的手机不会爆炸~ (新手出的新手教程,若有错误请指正) |