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

2023-05-16

一、介绍

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官方开发文档


致正在学习嵌入式的小伙伴们:
嵌入式的学习是要基础知识 + 动手实践同步进行的,在这里给大家推荐一个可以系统学习嵌入式和刷题的网站:牛客网(传送门:牛客网)。

在这里插入图片描述

牛客网原本是一个刷 IT 题库的网站,经过多年的发展,已经成为了一个集 课程+刷题+面经+求职+讨论区分享 的一站式求职学习网站,最最最重要的里面的资源全部免费, 而最近他们正打算将这套模式推广到嵌入式行业,专门为嵌入式工程师开设了相应的板块,正在学习嵌入式、寻找嵌入式专项题库、想要找嵌入式相关工作但又缺乏经验的小伙伴们,千万不要错过(链接在下面哦)!

  • 牛客网 - 嵌入式专项题库
  • 牛客网 - 嵌入式学习专区
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【物联网 · 嵌入式】使用 ESP8266 接入 Blinker 物联网平台 的相关文章

随机推荐