2022寒假在家练 - 用ESP32-S2开发板 WiFi 及MINI1模块的串口 基于Blinker实现电力设备控制(智能家居演示)
该项目使用Blinker 手机APP 实现的物联网解决方案 使用Blinker设备端代码库,调用 ESP32/Arduino 支持包 实现手机控制ESP32 下发控制命令 通过电力线通信 控制电灯
标签
嵌入式系统
智能家居
ESP32-S2
Blinker
Harmon
更新2022-03-03
德州学院
934

 

 项目描述

 

      使用 Blinker  基于ESP32-S2及Arduino平台 实现的物联网解决方案  :

 

Fv3j_-roX2JqJzqlmM1DBG8_CKzq

 

硬件介绍:

   ESP32-S2

ESP32-S2 是一款高度集成、高性价比、低功耗、主打安全的单核 Wi-Fi SoC,具备强大的功能和丰富的 IO 接口。ESP32-S2 集成了丰富的外围设备,有 43 个可编程 GPIO,可以灵活配置为 USB OTG、LCD 接口、摄像头接口、SPI、I2S、UART、ADC、DAC 等常用功能。ESP32-S2 具有 LCD 接口和 14 个可配置的电容触摸 GPIO,可为基于触摸屏和触摸板的设备提供良好的 HMI 解决方案。极端温度下良好的 Wi-Fi 性能 ESP32-S2 的工作温度是 -40 °C~125 °C,适用于各类工业、消费和照明应用。
 

功能介绍: 

     在手机端使用blinker APP实现对家具电器设备的控制,本实例中实现了对灯的简单开关控制。

实物图片:

 

 

FqpqYigcFGxrUzeRr9SEzhyqIes0Fr1LfcRnc63BcLF6MdqnhylkaKBX

 

 

项目搭建:

 

Blinker 库下载地址:

 https://github.com/blinker-iot/blinker-library/archive/master.zip


   Blinker 是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、数据监测等领域,可以帮助用户更好更快地搭建物联网项目。


  使用 ESP32-S2 接入 Blinker,首先安装 ESP32/Arduino 支持包。

https://github.com/espressif/arduino-esp32/tree/esp32s2

 

Blinker 参考文档:

https://doc.blinker.app/

 https://github.com/blinker-iot/blinker-doc/wiki

 

Blinker 库中找到ESP32 物联网开发例程;  AliGenie_LIGHT

进行以下关键代码改动:

char auth[]  // Blinker APP 所建立设备的密钥
char ssid[]   // WiFi 名称
char pswd[] // WiFi 密码

BLINKER_LOG("*", state);// 串口输出控制灯开关的关键字符串信息 *

     设备端的电力通信模块 通过监听该关键字  实现 电力设备的各类自定义控制,该实例实现了电灯的开关控制。

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_LIGHT
#include <Blinker.h>
char auth[] = "***********";
char ssid[] = "CU_NTtt";
char pswd[] = "******"; 
#include <Adafruit_NeoPixel.h>
 
..................
..................
 
void aligeniePowerState(const String & state)
{
    BLINKER_LOG("Light_Power:", state);
    if (state == BLINKER_CMD_ON) {
        
        BlinkerAliGenie.powerState("on");
        BlinkerAliGenie.print();
        wsState = true;
        if (colorW == 0) colorW = 255;
    }
    else if (state == BLINKER_CMD_OFF) {
         
        BlinkerAliGenie.powerState("off");
        BlinkerAliGenie.print();
        wsState = false;
    }
    pixelShow();
}
 
 
编译代码: 
 
在Ardunio中选择:
工具>开发板> ESP32S2 DEV Module
工具>端口> 选择开发板连接电脑后对应的串口
点击 验证 上传  进行编译
编译完成 使用 BOOT RESET 按键进入 Flash upload模式 更新固件
 
 
运行代码:
 
程序串口打印: (在成功连接WiFi和MQTT后;分别执行一次开灯和关灯命令)
 
 
 __       __                __
/\ \     /\ \    __        /\ \              v0.3.4
\ \ \___ \ \ \  /\_\    ___\ \ \/'\      __   _ __   
 \ \ '__`\\ \ \ \/\ \ /' _ `\ \ , <    /'__`\/\`'__\ 
  \ \ \L\ \\ \ \_\ \ \/\ \/\ \ \ \\`\ /\  __
/\ \ \./ 
   \ \_,__/ \ \__\\ \_\ \_\ \_\ \_\ \_\ \____\\ \_\  
    \/___/   \/__/ \/_/\/_/\/_/\/_/\/_/\/____/ \/_/  
    To better use blinker with your IoT project!
    Download latest blinker library here!
    => https://github.com/blinker-iot/blinker-library
[1637] Connecting to CU_NTtt
[1893] ESP32_MQTT initialized...
[1904] 
===========================================================
================== Blinker Timer loaded! ==================
Warning!EEPROM address 1536-2431 is used for Blinker Timer!
============= DON'T USE THESE EEPROM ADDRESS! =============
===========================================================
[3227] WiFi Connected.
[3295] IP Address: 
[3383] 192.168.1.9
[4483] Freeheap: 165576
[4487] mDNS responder started
[4490] webSocket_MQTT server started
[4490] ws://13A2EE92OG64426HW8B3598I.local:81
[8629] Connecting to MQTT... 
[10064] MQTT Connected!
[10064] Freeheap: 163544
[10065] =======================================================
[10065] =========== Blinker Auto Control mode init! ===========
[10287] Warning!EEPROM address 0-1279 is used for Auto Control!
[10558] =========== DON'T USE THESE EEPROM ADDRESS! ===========
[10829] =======================================================
[40083] MQTT Ping!
[70972] MQTT Ping!
[101549] MQTT Ping!
[132371] MQTT Ping!
[31916] Blinker readString: {"Light_Power:on":"tap"}
[35025] Blinker readString: {"Light_Power:off":"tap"}
 
 
 
Blinker APP 设定及使用:   
 
在设备管理菜单中  选中该设备 ;点下图中的小眼睛可以显示出 设备密钥。
在新建后的设备界面中,点击编辑按钮可以添加开关按钮。
开发板上电连线服务器后可以看到设备处于在线状态。
 
 
FsRP_n91UwTMsNkE5b0iXKpNVzai
 
FsZNMcH_M_spX-wd9Ekckz7akaGt
 
 
 
Fi32fCTo19jubbTNpi6KlpPvZ4On
 
 
 
 
 
附件下载
AliGenie_ESP32-S2.ino
团队介绍
Harmon - 本人 / 自由职业者
团队成员
Harmon
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号