查看: 2392|回复: 4

[分享] ESP8266物联网开关基础示例教程

[复制链接]
  • TA的每日心情
    慵懒
    2020-11-30 19:03
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2020-7-14 13:19 | 显示全部楼层 |阅读模式
    本帖最后由 f969439474 于 2020-7-14 13:31 编辑

    为方便像我这样零基础爱好者,制作出属于自己的第一个物联网开关,在这我分享一下,自己的制作之旅,只要按照步骤一步一步下来,相信大家可以跟我一样制作出第一个属于自己的物联网开关。
    一、准备工作
    入门初学者直接入手一块开发板,开发板的一个好处就是板子设计者已经给初学者排查了硬件连接错误,可以使初学者专注于软件开发,加快学习进度。目前比较火的一款ESP8266开发板就是NodeMcu,其核心芯片是ESP8266-12F,下载程序只需一根手机数据线就好,如下图所示:
    1、硬件准备:ESP8266  Node mcu一个 、一路5V继电器模块(带光耦隔离),VV 接 DC+ , G 接DC- , 我用的是D4引脚,因此 D4 接 IN接好线。 (前者为Node mcu上的引脚,后者为继电器上的)
    图片1.png 图片14.png
    2、软件准备
    ①、Arduino IDE安装,我这提供免安装版
    无法上传压缩包,需要请留言
    下载解压后,file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps3.jpg
    图片3.png

    出现以下界面:
    图片4.png


    file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps4.jpg
    ②、安装esp8266扩展
    点击文件,打开首选项
    file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps5.jpg
    出现以下界面: 图片5.png

    第一步: 图片6.png

    file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps6.jpg
    第二步:网址部分(http://arduino.esp8266.com/stable/package_esp8266com_index.json
    图片7.png
    file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml7808\wps7.jpg
    完成后,点击“工具”→“开发板”→“开发板管理器”

    图片8.png 图片9.png
    安装时间较长,请静静等待。
    ③、下载并安装blinker Arduino库(需要的可以请留言)
    解压到第①步中免安装包里的
    图片10.png
    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
    IMG_1215.PNG IMG_1216.PNG IMG_1217.PNG IMG_1218.PNG IMG_1219.PNG
    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界面
    在设备列表页,点击设备图标,进入设备控制面板
    首次进入设备控制面板,会弹出向导页
    在向导页点击 载入示例,即可载入示例组件
    IMG_1220.PNG IMG_1221.PNG
    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
    打开例程如下图所示
    图片11.png
    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();}
    完成后,
    编译并上传
    第一步: 图片12.png
    第二步: 图片13.png

    完成以上6步,
    恭喜!一切就绪
    APP中点击刚才你添加的设备,即可进入控制界面,点击“点我开关灯”按钮就可以控制继电器做出相应的动作,
    另一个按钮也点下试试,放心,你的手机不会爆炸~
    (新手出的新手教程,若有错误请指正)

    该用户从未签到

    发表于 2020-9-9 11:32 | 显示全部楼层
    大神可以给我blinker Arduino库文件吗 juexin163@126.com这是我邮箱谢谢了
  • TA的每日心情
    奋斗
    2021-1-24 08:08
  • 签到天数: 93 天

    [LV.6]常住居民II

    发表于 2020-9-9 12:05 | 显示全部楼层
    13633647172 发表于 2020-9-9 11:32
    大神可以给我blinker Arduino库文件吗 这是我邮箱谢谢了

    网上有的
  • TA的每日心情
    难过
    2020-11-30 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-11-30 08:26 | 显示全部楼层
    您好  按照这个方法编程只能控制指示灯,无法控制继电器动作是怎么回事
  • TA的每日心情
    慵懒
    2020-11-30 19:03
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2020-11-30 18:51 | 显示全部楼层
    爷傲奈我何 发表于 2020-11-30 08:26
    您好  按照这个方法编程只能控制指示灯,无法控制继电器动作是怎么回事

    控制指示灯的两个引脚分别对应到继电器上就可以了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    (开源)微信小程序控制esp8266,可远程
    (开源)微信小程序控制es
    流程说明:首先要使esp8266能够联网,能联网就可以控制,使用示例程序,修改WIFI、
    arduino封装了一个无线串口模块LC12S的操作库
    arduino封装了一个无线串
    前一段时间接触到一个比较好用的2.4G无线串口通信模块LC12S, 在淘宝上仅四五块钱,收
    【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
    【花雕动手做】快餐盒盖,
    吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成
    全新AVR芯片ATMEGA328P烧录程序的教程
    全新AVR芯片ATMEGA328P烧
    潜水多年,觉得有义务贡献一些内容,此贴作为最近学习Arduino的一个总结。 玩Arduino
    【Arduino】168种传感器模块系列实验(90)--- ULN2003步进电机
    【Arduino】168种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表