esp8266连接blinker进行控制

这篇具有很好参考价值的文章主要介绍了esp8266连接blinker进行控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

在前面已经将Arduino配置esp8266开发环境以及esp8266接入Blinker介绍了以后只是能在手机端看到在线。本文介绍如何给esp8266添加功能。


提示:本篇文章参考点灯科技官方文档进行应用 https://diandeng.tech/doc/arduino-support

一、按键控制

一切开始都要从点灯开始,接下来介绍如何用点灯科技APP远程控制一个灯

1.APP设置

要使用APP远程控制一个灯就要先在界面当中添加开关组件,如下图操作。
esp8266连接blinker进行控制
esp8266连接blinker进行控制
上图为按键编辑界面,图中组件名是需要添加到代码中,按键类型中普通按键就是相当于一个按钮,开关即是两种状态(on或者off),其他的都可以自己设置。

1.代码配置

完整代码如下:

#define BLINKER_WIFI//以WiFi方式接入blinker
#include <Blinker.h>
#include <Wire.h>
 
char auth[] = "*********";//设备密钥
char ssid[] = "*********";//WiFi名称
char pswd[] = "*********";//WiFi密码

// 新建组件对象
BlinkerButton Button1("btn-n40");

// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if (state=="on") {
        digitalWrite(LED_BUILTIN, LOW);
        // 反馈开关状态
        Button1.print("on");
    } else if(state=="off"){
        digitalWrite(LED_BUILTIN, HIGH);
        // 反馈开关状态
        Button1.print("off");
    }
}
 
void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, !LOW);
    Button1.attach(button1_callback);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
}
 
void loop() {
    //Blinker运行
    Blinker.run();
}

将在APP中添加的按键的组件键名添加到新建组件对象中

BlinkerButton Button1("btn-n40");

将代码烧录到板子上远行,就能通过按键控制esp8266自带的灯啦,同样需要改变按键功能也可以在按键函数中进行修改。

void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if (state=="on") {
        digitalWrite(LED_BUILTIN, LOW);
        // 反馈开关状态
        Button1.print("on");
    } else if(state=="off"){
        digitalWrite(LED_BUILTIN, HIGH);
        // 反馈开关状态
        Button1.print("off");
    }
}

其中反馈开关状态是反馈到APP端,因为我设置按键为开关按键,所以当状态改变时手机端也会跟着改变。

二、数据反馈

esp8266读取到的数据上传到点灯科技APP中进行显示。

1.APP配置

跟按键控制一样要使用APP远程显示esp8266数据就要先在界面当中添加数据组件,如下图操作。
esp8266连接blinker进行控制
esp8266连接blinker进行控制
上图为数据组件编辑界面,图中组件名是需要添加到代码中,其他的都可以自己设置。

2.代码配置

代码如下(示例):

#define BLINKER_WIFI//以WiFi方式接入blinker
#include <Blinker.h>
#include <Wire.h>
 
char auth[] = "*********";//设备密钥
char ssid[] = "*********";//WiFi名称
char pswd[] = "*********";//WiFi密码

// 新建组件对象
BlinkerNumber num("num-vks");

// 心跳包函数
void heartbeat()
{
    num.print(num_read);
    sl.print(sl_read);
}
 
void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    //心跳包函数
    Blinker.attachHeartbeat(heartbeat);
}
 
void loop() {
    Blinker.run();
    for(float i=100;i>=0;i=i-0.01)
    {
       float h = i;
       if (isnan(h))
      {
        BLINKER_LOG("Failed to read from DHT sensor!");
      }
      else
      {
        BLINKER_LOG("numdity: ", h, " %");
        num_read = h;
      }
      Blinker.delay(1000);
    }
}

代码中我并没有真正读取数据而是用循环函数来模拟电量变化的数据,将代码烧录到板子中,打开点灯科技就可以看到数据显示。


三、给微信发送消息

在点灯科技官方文档中有给微信发送消息的功能。

Blinker.wechat("Title: button", "State: pressed", "Message: hello blinker"); 

模板消息中依次为标题, 状态, 消息内容
注: 每个用户微信推送使用限制为 10条/天/人
*限制 1次/分钟
使用此功能需要提前绑定微信公众号,绑定流程如下:
1、关注 点灯物联 微信公众号
2、打开 点灯物联 微信公众号, 点击主页右下角 Blinker
3、输入账号密码完成绑定

示例

用此功能开发了一个火焰检测报警装置进行演示,代码如下:

#define BLINKER_WIFI//以WiFi方式接入blinker
#include <Blinker.h>
#include <Wire.h>

char auth[] = "*********";//设备密钥
char ssid[] = "*********";//WiFi名称
char pswd[] = "*********";//WiFi密码

#define hy 13

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    pinMode(hy,INPUT);
    digitalWrite(LED_BUILTIN, !LOW);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);  
}

void loop()
{
    Blinker.run();
    int dhy;
    dhy=digitalRead(hy);
    if(dhy==0)
    {
      Blinker.wechat("hello word", "明火警告", "发现明火,处理完成后请重启");
      while(1) 
      { 
        digitalWrite(LED_BUILTIN, LOW);
        Blinker.delay(1000);
        BLINKER_LOG("等待重启");
        digitalWrite(LED_BUILTIN, !LOW);
        Blinker.delay(1000);
      }  //等待重启
    }
    Blinker.delay(1000);  
}

当火焰传感器检测到明火后便会向微信发送一条消息,如下图所示:
esp8266连接blinker进行控制

总结

目前用esp8266结合Blinker实现远程控制、数据回传、微信提醒等功能基本满足目前远程控制需求。文章来源地址https://www.toymoban.com/news/detail-436201.html

到了这里,关于esp8266连接blinker进行控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • arduino UNO通过AT指令控制esp8266连接WiFi及onenet云平台

    写下这篇文章是为了记录我学习使用esp8266的过程。在本文中我们会使用AT指令通过MQTT协议连接onenet云平台 1)关于onenet MQTT设备创建 在设备连接onenet平台中,你又几个设备onenet就需要添加几个设备,就比如我有一个arduino端,一个QT端,还有一个测试端需要连接同一个onenet MQ

    2024年02月01日
    浏览(33)
  • WS2812+ESP32 diy拾音灯+各种灯效 通过Blinker控制

    软件版本:2.0.0 2023.02.08 修复软件开机自启动相关bug,具体为bat文件创建快捷方式时起始路径错误导致无法创建ip.bin 修复方式为快捷方式时起始路径向前一级 后续如有更新会更新博客。 ESP32开发板一个 ws2812灯带一条(我买的60灯珠) 杜邦线几根(公对母,主要用于灯带和开

    2023年04月18日
    浏览(32)
  • 使用小度音箱+Blinker控制ESP01S Relay继电器模块

    一. 使用ESP01S模块,PIN脚定义如下: 管脚功能如下: ESP01S模块原理图: ESP01S模块比ESP01模块做了以下优化: LED灯的管脚发生变化,由ESP01的TXD0变成ESP01s的GPIO2引脚; ESP01s模块的IO0、RST、EN引脚上加了上拉电阻,也就是说在连接了3v3引脚后这三个引脚也自动连接上高电平,无需

    2024年02月01日
    浏览(60)
  • STM32+esp8266,让你的STM32开发板连接网络-----esp8266

    分享一下,STM32开发板连接网络的第一种方法:连接esp8266。 esp8266与STM32利用串口通信连接,esp8266连接网络,把收到的数据通过串口的方式传输给STM32,之后STM32接收到消息做出对应的反应。 使用到的开发板如图:esp-12和正点原子stm32f103zet6. 首先,我们先掌握一下什么事串口通

    2024年02月02日
    浏览(36)
  • ESP8266连接阿里云

    1:基础环境 MQTT透传AT固件:下载 MQTT指令说明:下载 见蓝牙模块_无线模块_物联网模块_WiFi模块【安信可官网】 2:烧录固件 向ESP8266烧录MQTT的固件   3:在阿里云上创建产品    4.创建设备和功能定义,设备指的是产品下的某一个机器,功能指的是这类产品具备的功能,比如

    2024年02月02日
    浏览(28)
  • ESP8266、ESP32实现小爱语音控制灯

    项目说明: 通过ESP8266、ESP32实现小爱语音控制灯,通过巴法云实现米家-小爱控制ESP32模块。通过网络搜索资料随多但没找到完整项目说明,为了节约大家学习时间,特此整理,跟着步骤可以实现以上功能。 技术无止境,项目由于是C、C++库实现,需要学习的知识还有很多,能

    2024年02月14日
    浏览(68)
  • STM32+ESP8266水墨屏天气时钟:ESP8266连接心知天气获取数据

    利用STM32F103C8T6和ESP8266模块进行通信,获取心知天气的数据。 硬件设计为串口1(PA9和PA10)连接ESP8266. 串口2打印 ESP8266模块可以通过AT指令控制搭配使用源代码API函数开发,总体开发速度快,难度较低。 说明:下面仅列举一些最常用的AT指令及用法,指令的详细参数及使用说明请

    2024年04月12日
    浏览(27)
  • 使用ESP8266/ESP32 实现智能语音控制电脑开关机

    最近买了个台机放客厅里接电视玩游戏,另外还有跑程序计算的需求所以通过笔记本电脑使用RDP或Parsec来远程控制,当然瘾犯了也能云游戏。路由器在另一个房间所以是无线网卡链接,用的最好的AX210+10db天线。   后来折腾来折腾去发现个痛点:每次都得跑到客厅去开机,麻

    2024年02月16日
    浏览(62)
  • ESP8266动态网页设置网络连接

    1、样例1 样例2 样例2

    2024年02月11日
    浏览(23)
  • ESP8266连接OneNet服务器

    配置ESP8266为客户端,连接公网,连接上OneNet服务器,通过MQTT协议与服务器进行交互。 一 准备工作 OneNet平台上创建自己的产品设备信息。 对MQTT协议进行一定了解。 准备一块ESP8266,通过串口进行ESP8266的配置。 二 配置ESP8266 1.AT 验证硬件是否正常 硬件正常返回:AT OK 2.AT+RS

    2024年02月01日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包