【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台
搭建开发环境1. 安装Arduino IDE① 进入 Arduino 官网https://www.arduino.cc/en/software② 选择适合电脑的版本(这里选择的是windows版本)③ 点击 “Just Download”④ 下载完成后,安装即可2. 安装esp8266支持包① 点击下载支持包② 下载完成后,解压并点击安装即可3. 安装blinker库① 点击下载blinker库②
一、介绍
Blinker 是一个简单易用的物联网平台,只需要几行代码,就可以开发出物联网应用。
这里我们使用 NodeMCU(一种基于esp8266的开发板)接入Blinker平台。
NodeMCU 在淘宝上仅10元左右
二、搭建开发环境
1. 安装Arduino IDE
① 进入 Arduino 官网
https://www.arduino.cc/en/software
② 选择适合电脑的版本(这里选择的是windows版本)
③ 点击 “Just Download”
④ 下载完成后,安装即可
2. 安装esp8266支持包
① 点击下载支持包
下载速度非常慢,需要耐心等待…
② 下载完成后,解压并点击安装即可
3. 安装blinker库
② 将下载好的文件解压到 我的电脑>文档>Arduino>libraries
文件夹中
三、新建设备
① 使用手机,在应用商店搜索Blinker
并下载
② 注册并登录APP
③ 点击右上角的“+” 新建设备
④ 选择 “独立设备”
⑤ 选择 “网络接入”
⑥ 选择运营商,直接选择 “阿里云” 即可
⑦ 复制你的 Secert Key
,并点击 “返回我的设备”
⑧ 点击进入新创建的设备,并点击 “载入示例”
四、开始编程
① 打开 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
② 选择程序上传的速度
点击 工具 -> Upload Speed -> 921600
③ 将开发板通过 USB 线连接到电脑
④ 点击下载按钮,将程序下载到开发板
如果下载失败,可以将usb线拔出后重新插上,多试几次就可以了
⑤ 点击开发板上的 RST 按键,等待十几秒
⑥ 这时候,就可以通过APP控制开发板上的 LED 了
提示
- 如果忘记复制“secert key”,可以点击右上角的“…”,双击下列区域即可复制
- 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
② 使用手机连接目标 WIFI,输入密码,并点击开始配置
③ 按下开发板上的 RST 按键重启开发板,等待一会,开发板就可以连接上WIFI了
好了,文章到这里就结束了。
本篇文章只是简单的介绍了Blinker的使用,剩下的内容可以参考Blinker官方开发文档
更多推荐
所有评论(0)