ESP8266 快速对接小爱同学 语音控制
ESP8266快速对接小爱同学一、环境资料二、安装配置三、下载Blinker手机APP,并更改符合小米小爱协议的代码四、米家绑定Blinker点灯一、环境资料1.硬件:ESP8266NodeMCU开发板点击查阅硬件开发文档
2.点击参考blinker官方开发文档
3.开发工具下载链接,里面包含了本次开发所需的工具:https://pan.baidu.com/s/1Zc0BsXgfPfbXw7UCn1sD_Q提取码:vgvr
二、安装配置1.在上面百度云网盘下载“串口驱动”并安装之后,会在装置管理员看到serialport:2.安装ArduinoIDE开发环境将网盘中的“arduino-nightly-windows.zip”下载到电脑,解压至当前文件夹,双击直接运行。
3.安装完之后,打开ArduinoIDE,为了让ArduinoIDE找到ESP8266的设定档,先到“File”->“Preferences”并在AdditionalBoardsManagerURLs填入:
https://arduino.esp8266.com/stable/package_esp8266com_index.json填完之后按OK,接着准备选板子,到“Tools”->“Board”->“BoardsManager”在“BoardsManager”里,它需要约十几秒钟整理所有硬体,所以我们等一会儿之后,将卷轴往下拉找到“esp8266”,点右边的Install,这时候ArduinoIDE就根据ESP8266的设定档开始下载ESP8266所需要的硬件,我这里已经安装好了选择对应的硬件就行了4.安装第三方库将下载好的blinker库解压到我的电脑>文档>Arduino>libraries文件夹中打开Arduino.exe,选择File->Examples->Blinker->Blinker_Hello->Hello_wifi示例代码:
#defineBLINKER_WIFI#includecharauth[]="YourDeviceSecretKey";charssid[]="YourWiFinetworkSSIDorname";charpswd[]="YourWiFinetworkWPApasswordorWEPkey";//新建组件对象BlinkerButtonButton1("btn-abc");BlinkerNumberNumber1("num-abc");intcounter=0;//按下按键即会执行该函数voidbutton1_callback(constString&state){BLINKER_LOG("getbuttonstate:",state);digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));}//如果未绑定的组件被触发,则会执行其中内容voiddataRead(constString&data){BLINKER_LOG("BlinkerreadString:",data);counter++;Number1.print(counter);}voidsetup(){//初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);//初始化有LED的IOpinMode(LED_BUILTIN,OUTPUT);digitalWrite(LED_BUILTIN,HIGH);//初始化blinkerBlinker.begin(auth,ssid,pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);}voidloop(){Blinker.run();}三、下载Blinker手机APP,并更改符合小米小爱协议的代码具体可以参靠Blinker小爱同学语音对接
#defineBLINKER_WIFI#defineBLINKER_MIOT_LIGHT#includecharauth[]="填写自己手机APP创建的key";charssid[]="wifi名称";charpswd[]="wifi密码";//新建组件对象BlinkerButtonButton1("ledkey");BlinkerNumberNumber1("num-abc");intcounter=0;//按下按键即会执行该函数voidbutton1_callback(constString&state){BLINKER_LOG("getbuttonstate:",state);digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));}voidmiotPowerState(constString&state){BLINKER_LOG("needsetpowerstate:",state);if(state==BLINKER_CMD_ON){digitalWrite(LED_BUILTIN,LOW);BlinkerMIOT.powerState("off");BlinkerMIOT.print();}elseif(state==BLINKER_CMD_OFF){digitalWrite(LED_BUILTIN,HIGH);BlinkerMIOT.powerState("on");BlinkerMIOT.print();}}//如果未绑定的组件被触发,则会执行其中内容voiddataRead(constString&data){BLINKER_LOG("BlinkerreadString:",data);counter++;Number1.print(counter);}voidsetup(){//初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);//初始化有LED的IOpinMode(LED_BUILTIN,OUTPUT);digitalWrite(LED_BUILTIN,HIGH);//初始化blinkerBlinker.begin(auth,ssid,pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);BlinkerMIOT.attachPowerState(miotPowerState);}voidloop(){Blinker.run();}四、米家绑定Blinker点灯打开米家->我的->其他平台设备->添加->Blinker点灯科技编译上传代码,对小爱同学说一句开灯试下吧。