首页
关于我
友链
小程序
舔狗日记
小黑屋
音乐解锁
阿狸和桃子
Search
1
使用ESP8266完成校园网WEB认证
269 阅读
2
windows11系统自带VPN连接不上群辉VPN服务器问题
237 阅读
3
数字振镜XY2-100协议
235 阅读
4
将校园卡复制到小米手环
150 阅读
5
zynq调试网口所遇到的问题记录
113 阅读
技术
生活
登录
Search
标签搜索
qt
mqtt
FreeRTOS
stm32
iar
VPN
光猫破解
esp8266
群晖
VideoStation
exti
c++
eclipse
bootloader
pixhawk
遥控器
失控保护
ARM
NAS
ENPASS
AMENG
累计撰写
79
篇文章
累计收到
24
条评论
首页
栏目
技术
生活
页面
关于我
友链
推荐
舔狗日记
小黑屋
音乐解锁
阿狸和桃子
搜索到
2
篇与
的结果
2021-03-26
通过Arduino将ESP8266接入MQTT服务器
之前已经成功在群晖的NAS上搭建了MQTT,接下来就是将ESP8266接入试试首先在arduino里安装PubSubClient库和ESP8266库
2021年03月26日
21 阅读
0 评论
0 点赞
2021-03-25
将ESP8266开发板接入blinker,并使用小爱同学控制
这还是当初在天喻上班时接触到了esp8266,于是买了块开发板打算自己玩试试,买回来后测试了下例程就放下了一直没动,主要是这套东西里面涉及的东西有点多,好多我还不会,比如APP的编写,服务器的搭建,还有开发大多是用的官方的SDK。最近无意在一个QQ群里看到Blinker支持小爱同学控制,就打算接入试试。百度搜点灯科技进入官网,https://www.diandeng.tech/,安装ArduinoIDE和下载Blinker的库文件注册手机APP,获取密钥(注意:经测试发现使用点灯的服务器无法使用小爱同学而使用阿里云的服务器就可以,具体原因不清楚)将密钥填入代码里面就可以了。[cpp]#define BLINKER_WIFI #define BLINKER_MIOT_LIGHT//小爱同学灯 //#define BLINKER_MIOT_SENSOR//小爱同学传感器 //#define BLINKER_MIOT_OUTLET//单孔插座 //#define BLINKER_MIOT_MULTI_OUTLET//多孔插座#include <Blinker.h> #include <rgb_led.h> #include <dht11.h> char auth[] = "*******"; //密钥 char ssid[] = ""; //WIFI账号 char pswd[] = ""; //WIFI密码// 新建组件对象 BlinkerButton LED("led"); BlinkerNumber TEMP("temp"); BlinkerNumber HUMI("humi"); BlinkerRGB RGB("rgb");dht11 DHT11; #define DHT11PIN 5 //DHT11数据引脚 #define SmartconfigPin 14 //一键配网引脚#define NUM_LEDS 1 //rgb灯的数量ChainableLED leds(15, 4, NUM_LEDS); //rgb灯引脚设置scl sda//一键配网函数 void smartConfig() { if(digitalRead(SmartconfigPin) == LOW){ digitalWrite(LED_BUILTIN, LOW); WiFi.mode(WIFI_STA);//使用wifi的STA模式 Serial.println("\r\nWait for Smartconfig...");//串口打印 WiFi.beginSmartConfig();//等待手机端发出的名称与密码 //死循环,等待获取到wifi名称和密码 while (1) { //等待过程中一秒打印一个. Serial.print("."); delay(1000); if (WiFi.smartConfigDone())//获取到之后退出等待 { Serial.println("SmartConfig Success"); //打印获取到的wifi名称和密码 Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str()); Serial.printf("PSW:%s\r\n", WiFi.psk().c_str()); break; } } Blinker.begin(auth, WiFi.SSID().c_str(), WiFi.psk().c_str());//运行blinker digitalWrite(LED_BUILTIN, HIGH); } }//小爱同学控制LED函数 void miotQueryLED(const String & state) { BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerMIOT.powerState("on"); LED.print("on"); LED.color("#9D9D9D"); BlinkerMIOT.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerMIOT.powerState("off"); LED.print("off"); LED.color("#1D70D1"); BlinkerMIOT.print(); } }//小爱同学查询温湿度 void miotQuerySensor(int32_t queryCode) { BLINKER_LOG("MIOT Query codes: ", queryCode); switch (queryCode) { //同时查询传感器数据 case BLINKER_CMD_QUERY_ALL_NUMBER : BLINKER_LOG("MIOT Query All"); BlinkerMIOT.temp((int32_t)DHT11.temperature); BlinkerMIOT.humi((int32_t)DHT11.humidity); BlinkerMIOT.print(); break; //查询湿度 case BLINKER_CMD_QUERY_HUMI_NUMBER : BLINKER_LOG("MIOT Query HUMI"); BlinkerMIOT.humi((int32_t)DHT11.humidity); BlinkerMIOT.print(); break; //查询温度 case BLINKER_CMD_QUERY_TEMP_NUMBER : BLINKER_LOG("MIOT Query TEMP"); BlinkerMIOT.temp((int32_t)DHT11.temperature); BlinkerMIOT.print(); break; default : BlinkerMIOT.temp((int32_t)DHT11.temperature); BlinkerMIOT.humi((int32_t)DHT11.humidity); BlinkerMIOT.print(); break; } }// 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state);if (state == "on") { digitalWrite(LED_BUILTIN, LOW); LED.print("on"); LED.color("#9D9D9D"); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); LED.print("off"); LED.color("#1D70D1"); } }//rgb灯控制函数 void colour1_callback(uint8_t r_value, uint8_t g_value,uint8_t b_value, uint8_t bright_value) { uint8_t r,g,b;r = ((float) r_value/255)*bright_value; g = ((float) g_value/255)*bright_value; b = ((float) b_value/255)*bright_value;BLINKER_LOG("R value: ", r); BLINKER_LOG("G value: ", g); BLINKER_LOG("B value: ", b); BLINKER_LOG("Rrightness value: ", bright_value);for(int i = 0; i < NUM_LEDS; i++){ leds.setColorRGB(i, r, g, b); } }//心跳包发送温度和湿度 void heartbeat() { TEMP.print(DHT11.temperature); //发送温度 HUMI.print(DHT11.humidity); //发送湿度 }//起始函数 void setup() { //初始化串口 Serial.begin(115200); BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll();//初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); LED.color("#1D70D1");//默认灯关闭pinMode(SmartconfigPin, INPUT); //key2引脚初始化leds.init(); //初始化RGB灯//判断是否进入配网模式 smartConfig();//初始化blinker Blinker.begin(auth, ssid, pswd);//心跳函数 Blinker.attachHeartbeat(heartbeat);//按键控制回调函数 LED.attach(button1_callback);//rgb灯控制回调函数 RGB.attach(colour1_callback);//小爱同学务必在回调函数中反馈该控制状态 BlinkerMIOT.attachPowerState(miotQueryLED);//LED灯 //BlinkerMIOT.attachQuery(miotQuerySensor); //温湿度}void loop() { DHT11.read(DHT11PIN);//获取温度和湿度 Blinker.run(); }[/cpp]要想小爱同学控制就得在代码里面加小爱同学控制的部分,小爱同学支持四种设备,灯,传感器,单孔插座,多孔插座(最多四孔)#define BLINKER_MIOT_LIGHT//小爱同学灯 //#define BLINKER_MIOT_SENSOR//小爱同学传感器 //#define BLINKER_MIOT_OUTLET//单孔插座 //#define BLINKER_MIOT_MULTI_OUTLET//多孔插座在米家其他平台里添加点灯科技,就自动同步设备了,接下来就可以用小爱同学控制了
2021年03月25日
28 阅读
0 评论
0 点赞