内容介绍
内容介绍
项目描述:
使用 Blinker 基于ESP32-S2及Arduino平台 实现的物联网解决方案 :
硬件介绍:
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实现对家具电器设备的控制,本实例中实现了对灯的简单开关控制。
实物图片:
项目搭建:
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://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 设定及使用:
在设备管理菜单中 选中该设备 ;点下图中的小眼睛可以显示出 设备密钥。
在新建后的设备界面中,点击编辑按钮可以添加开关按钮。
开发板上电连线服务器后可以看到设备处于在线状态。
附件下载
AliGenie_ESP32-S2.ino
团队介绍
Harmon - 本人 / 自由职业者
团队成员
Harmon
评论
0 / 100
查看更多
猜你喜欢
制作FPGA电子琴1. 存储一段音乐,并可以进行音乐播放,
2. 可以自己通过板上的按键进行弹奏,支持两个按键同时按下(和弦)并且声音不能失真,板上的按键只有13个,可以通过有上方的“上“、”下”两个按键对音程进行扩展
john
1471
ESP32—s2通过IO扩展板上的按键和旋转编码器控制并实现菜单功能ESP32-S2MCU通过ADC检测R-2R电路输出电压的变化,进而判断是某种方式引起的变化(按键,旋转编码器),通过确定某种按键以及编码器变化,再根据他们不同的组合,再结合LCD屏幕进而生成二级菜单;
siu
2780
2024年寒假练 - 基于xiao ESP32S3 Sense的自动化HA鱼缸设计该项目使用了Seeed xiao ESP32S3 Sense,实现了自动化HA鱼缸的设计,它的主要功能为:视频监控,自动化喂鱼,小爱同学自动播报。
2345vor
1785