blinker(esp8266)+天猫精灵怎样语音控制8路设备-Arduino中文社区 - Powered by Discuz! Archiver

rgbjeiu 发表于 2019-11-25 15:38

blinker(esp8266)+天猫精灵怎样语音控制8路设备

刚测试了一下Blinker+天猫精灵,用的是Arduino IDE加Blinker库,用BLINKER_ALIGENIE_MULTI_OUTLET类型定义设备,成功连接后在天猫精灵APP中只能看到4设备+1本体,现在想尝试语音控制更多设备而不增加WIFI模块的数量,不知道要从哪里下手

奈何col 发表于 2019-11-26 01:14

有更高需求的可以花钱定制

Da脑许 发表于 2019-12-2 19:42

现在现在我也在探索人如何在不增加Wifi模块的前提下,使用天猫精灵控制多个程序进程

weiding 发表于 2020-2-16 11:01

兄弟有代码吗,我的代码用不了

Cp0204 发表于 2020-6-10 13:49

Da脑许 发表于 2019-12-2 19:42
现在现在我也在探索人如何在不增加Wifi模块的前提下,使用天猫精灵控制多个程序进程
...

我有个思路,把设备设置成灯,切换不同颜色/色温/模式中写入你的控制代码,就是只能自己用,凭记忆识别。
也可以通过天猫精灵自定义命令来转换。

howlet 发表于 2020-6-11 16:59

本帖最后由 howlet 于 2020-6-11 17:06 编辑

用寄存器芯片轻松控制超过100个设备,通过自定义指令控制亮度来实现对数组的值操作,然后在根据数组值来控制寄存器芯片为高低电平,不过更新3.0后亮度最多只能是100,超过会报错,以前可以设置亮度1万以上,意味着可以控制5000的设备:lol

void aligenieBright(const String & bright){
//BLINKER_LOG("接受调节: ", bright);
//数组0表示通电 1表示断电
byte j=0;
int i= bright.toInt();   //接收亮度设置为MAX min转换为数值后会变成0
if(i!=0){
    if(i%2==0){//i为偶数则为关闭
      j=i/2-1;
      pin=1;
      //BLINKER_LOG("数组J的值: ", j);

   
    }else{   //i为奇数则打开
      j=(i-1)/2;
      pin=0;
      //BLINKER_LOG("数组J的值: ", j);
    }
    //BLINKER_LOG("返回天猫精灵: ", i);
   BlinkerAliGenie.brightness(i);
   BlinkerAliGenie.print();
   SHIFT();
}

/* 原理
亮度设置1/2为操作开关1对应数组是pin
亮度设置3/4为操作为开关2对应数组是pin

求出对应数组方法:接收亮度值为偶数求出对应数组
2/2=1-1=0 数组
4/2=2-1=1
6/2=3-1=2
8/2=4-1=3
10/2=5-1=4
12/2=6-1=5
14/2=7-1=6
16/2=8-1=7

接收亮度值为寄数求出对应数组
1-1=0/2=0
3-1=2/2=1
5-1=4/2=2
7-1=6/2=3
9-1=8/2=4
11-1=10/2=5
13-1=12/2=6
15-1=14/2=7
*/

cao57508 发表于 2020-6-25 04:15

改程序吧,控制4个io和8个io区别不大,点灯APP上也容易设置,但是这个不是一两句话就能解决的,把点灯科技的示例插座程序调出来看和改,再测试,IO4,IO5,IO11,IO12,IO13,IO14,IO15,IO16八个IO都可以利用起来。

gjx1584 发表于 2020-7-12 17:10

howlet 发表于 2020-6-11 16:59
用寄存器芯片轻松控制超过100个设备,通过自定义指令控制亮度来实现对数组的值操作,然后在根据数组值来控 ...

按你这么说用颜色控制可以吗
页: [1]
查看完整版本: blinker(esp8266)+天猫精灵怎样语音控制8路设备