一、介绍

Blinker 是一个简单易用的物联网平台,只需要几行代码,就可以开发出物联网应用。

这里我们使用 NodeMCU(一种基于esp8266的开发板)接入Blinker平台。

NodeMCU 在淘宝上仅10元左右

esp8266开发板使用 esp8266开发平台_开发板

二、搭建开发环境

1. 安装Arduino IDE

① 进入 Arduino 官网
https://www.arduino.cc/en/software

② 选择适合电脑的版本(这里选择的是windows版本)

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_02


③ 点击 “Just Download”

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_03


④ 下载完成后,安装即可

2. 安装esp8266支持包

点击下载支持包

下载速度非常慢,需要耐心等待…

esp8266开发板使用 esp8266开发平台_单片机_04

② 下载完成后,解压并点击安装即可

3. 安装blinker库

点击下载blinker库

② 将下载好的文件解压到 我的电脑>文档>Arduino>libraries 文件夹中

esp8266开发板使用 esp8266开发平台_nodemcu_05

三、新建设备

① 使用手机,在应用商店搜索Blinker并下载

esp8266开发板使用 esp8266开发平台_nodemcu_06


② 注册并登录APP③ 点击右上角的“+” 新建设备

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_07

④ 选择 “独立设备”

esp8266开发板使用 esp8266开发平台_单片机_08


⑤ 选择 “网络接入”

esp8266开发板使用 esp8266开发平台_nodemcu_09


⑥ 选择运营商,直接选择 “阿里云” 即可

esp8266开发板使用 esp8266开发平台_单片机_10


⑦ 复制你的 Secert Key ,并点击 “返回我的设备”

esp8266开发板使用 esp8266开发平台_物联网_11


⑧ 点击进入新创建的设备,并点击 “载入示例”

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_12


esp8266开发板使用 esp8266开发平台_nodemcu_13

四、开始编程

① 打开 Arduino IDE,点击 “文件 -> 新建”

② 复制下列代码(别忘记替换代码中的 secert key 、wifi名和密码)

#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "你的Secert Key";
char ssid[] = "你的 WIFI 名称";
char pswd[] = "你的 WIFI 密码";

#define BUTTON_1 "btn-abc"

BlinkerButton Button1(BUTTON_1);

void button1_callback(const String & state)
{
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Button1.attach(button1_callback);
}

void loop()
{
    Blinker.run();
}

注意

  • esp8266只支持2.4Gwifi
  • 如果使用手机热点,必须设置热点的频段为2.4G

五、下载程序到开发板

① 选择开发板类型

点击 工具 -> 开发板 -> ESP8266 Boards -> Generic ESP8266 Module

esp8266开发板使用 esp8266开发平台_单片机_14


② 选择程序上传的速度点击 工具 -> Upload Speed -> 921600

esp8266开发板使用 esp8266开发平台_单片机_15


③ 将开发板通过 USB 线连接到电脑

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_16


④ 点击下载按钮,将程序下载到开发板

如果下载失败,可以将usb线拔出后重新插上,多试几次就可以了

esp8266开发板使用 esp8266开发平台_esp8266开发板使用_17


⑤ 点击开发板上的 RST 按键,等待十几秒

⑥ 这时候,就可以通过APP控制开发板上的 LED 了

esp8266开发板使用 esp8266开发平台_nodemcu_18

提示

  1. 如果忘记复制“secert key”,可以点击右上角的“…”,双击下列区域即可复制
  1. Blinker有很多有意思控件,具体使用方法可以参考 官方文档

六、一键配网

可以看到,开发板需要的的 WIFI 名称和密码都是写死在程序中的,如果需要连接另一个 WIFI,就需要重新修改并下载程序,非常麻烦。那么,有没有不需要重新下载程序,就可以配置 WIFI 的方法呢? 当然有,那就是智能配网

使用智能配网的方法也非常简单,只需要更改几行代码即可。

① 在程序的前面加入宏定义

#define BLINKER_ESP_SMARTCONFIG

② 将初始化代码改为

// Blinker.begin(auth, ssid, pswd);
Blinker.begin(auth);

修改后的完整代码

#define BLINKER_ESP_SMARTCONFIG#define BLINKER_WIFI#include <Blinker.h>char auth[] = "你的Secert Key"; //char ssid[] = "你的 WIFI 名称"; 
//char pswd[] = "你的 WIFI 密码";

#define BUTTON_1 "btn-abc"

BlinkerButton Button1(BUTTON_1);

void button1_callback(const String & state) {
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    }

void dataRead(const String & data) {
    BLINKER_LOG("Blinker readString: ", data); }

void setup() {
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

//    Blinker.begin(auth, ssid, pswd);
    Blinker.begin(auth);
    Blinker.attachData(dataRead);
    Button1.attach(button1_callback); }

void loop() {
    Blinker.run();
 }

重新下载程序,就可以使用智能配网了:

① 打开APP,点击侧边栏,选择 开发者 -> 专属工具 -> EepTouch

esp8266开发板使用 esp8266开发平台_开发板_19


esp8266开发板使用 esp8266开发平台_esp8266开发板使用_20


② 使用手机连接目标 WIFI,输入密码,并点击开始配置

esp8266开发板使用 esp8266开发平台_单片机_21

③ 按下开发板上的 RST 按键重启开发板,等待一会,开发板就可以连接上WIFI了

好了,文章到这里就结束了。

本篇文章只是简单的介绍了Blinker的使用,剩下的内容可以参考Blinker官方开发文档