【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台

一、介绍

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

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

NodeMCU 在淘宝上仅10元左右
在这里插入图片描述

二、搭建开发环境

1. 安装Arduino IDE

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

② 选择适合电脑的版本(这里选择的是windows版本)
在这里插入图片描述
③ 点击 “Just Download”
在这里插入图片描述
④ 下载完成后,安装即可

2. 安装esp8266支持包

点击下载支持包

下载速度非常慢,需要耐心等待…
请添加图片描述

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

3. 安装blinker库

点击下载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 了

在这里插入图片描述

提示

  1. 如果忘记复制“secert key”,可以点击右上角的“…”,双击下列区域即可复制
    在这里插入图片描述
  2. 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官方开发文档

ESP8266是一种很流行的微型无线芯片,常用于智能家居、物联网等应用,它采用了简单的AT指令,使用方便,而且价格也非常便宜。Blinker是一款APP,它可以方便地控制各种设备,实现物联网的控制。在Blinker中,我们可以使用esp8266 blinker配网程序,完成esp8266的配网功能。这个程序的原理是,ESP8266通过WiFi连接手动输入的的路由器的名称和密码,从而获取网络连接。Blinker APP会预先配置好所有的设备信息,当ESP8266连接到网络后,APP会自动查找所有与它相关的设备。 具体实现过程如下: 1.为ESP8266设置COM口、波特率、数据位、停止位等参数,以便与路由器进行连接。 2.使用AT指令对ESP8266进行初始化,确保ESP8266能够正确的连接到路由器。 3.ESP8266与路由器连接成功后,就可以向Blinker发送数据。 4.请确保在硬件接口之前首先给ESP8266设置软件基本参数:SSID、PASSWORD、KEY和TOKEN。KEY是设备唯一的标识符,而TOKEN被用来调用云函数。 5.在接下来的步骤中,我们需要将ESP8266Blinker进行正式配对。ESP8266发送请求到Blinker,获取所有当前活动的设备列表。 6.ESP8266将收到来自Blinker的反馈,并进行匹配。如果当前设备已经与Blinker配对,ESP8266会跳过该设备,并开始处理其它设备。 7.当ESP8266找到一个没有与Blinker配对的设备时,它会构建一个“配对请求”,并发送到Blinker。 8.Blinker将配对请求转发到设备的逻辑处理程序中。该程序根据解析来自ESP8266的数据,并返回其设备的状态。 9.ESP8266最后将该设备的状态更新到Blinker上。 10.ESP8266在完成所有的设备配对后,将返回一个信息,并且等待后续的操作。 配对程序完成后,ESP8266就可以读取和发送所有的设备状态信息了。 总之,使用esp8266 blinker配网程序非常容易,通过Blinker APP可以轻松控制各种设备,实现智能家居、物联网的愿望。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值