之前想做几个arduino的物联网来参加比赛,但是大部分都太难了,而且编辑起来相当麻烦,再加上水平有限,所以最后看到,arduino中文开发者平台上的,blinker,最后决定尝试做一下,先是用了wifiduino板子,实现了按键,等一系列基本功能,后来受到引脚太少的限制,决定用mega2560+ESP8266,做一个穿透模块,这样就加更多的传感器了.
你要实现用UNO/MEGA+Blinker+ESP 8266+Blinker+物联网你需要准备以下材料
链接: https://pan.baidu.com/s/1iIMgWuyEoUBQ1nlKJ1Xrzw .
提取码:6uvw
// blinker AT固件代码
#define BLINKER_AT_MQTT
#include
void setup()
{
Blinker.begin();
}
void loop()
{
Blinker.run();
}
注:很多小伙伴在这烧录不成功,建议更换更高版本的IED,或者换一个烧录器
复制好你的KEY 然后返回设备
点击载入式例
到了这个界面我们就回到IED准备链接
1.如果烧录成功打开串口 上电之后会显示 BLINKER-WIFI(如果没显示按一下复位键
2.在串口处输入指令AT+BLINKER_WIFI=0,“API key”,“wifi名”,“wifi密码”
3.例:AT+BLINKER_WIFI=0,3f8b2d5b6cf0,ch,66666666
返回一大堆数字表明穿透成功
打开app已经显示在线
通过串口向app发送信息
可以看到穿透信息
好的你以为这就结束了吗,这才刚刚开始,我们仅仅完成了穿透,但是通过单片机还是不能控制到BLINKER,具体与单片机怎么交互,我看官网好久才看出来(大佬勿喷)
这是更改过后 hello blinker 的官方代码
#define BLINKER_WIFI
#include
char auth[] = "********"; //自己的API KEY
char ssid[] = "*****"; //自己的wifi 名
char pswd[] = "************"; //自己的WIFI密码
// 新建组件对象
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);
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd,15,14);
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
}
重点是这一句
Blinker.begin(auth, ssid, pswd,15,14); 15是RX 14是TX
里面的后两个数字是你单片机要链接的串口引脚号码
注:我用的是mega 2560 的Serial3 UNO的话 最后两个数字改成 0,1(建议使用软串口)
下面第一个是对应的开发者文档官方的
第二个是我初学的一个大佬的文章
第三个是Ardunio 开发者社区
物联网模块可以从最基础学习一下BLINKER
Blinker开发者文档.
https://blog.csdn.net/crossni/article/details/104627768?utm_source=app.
https://www.arduino.cn/.