arduino接入阿里云_天猫精灵_云智能APP_RGB灯

鉴于很多平台的物联网设备数量都受到限制,比如说blinker,免费的只有5个,使用了物联网里的老大哥阿里云,性能稳定,生态完善,响应速度快。

首先感谢Esp8266接入阿里云_天猫精灵_云智能APP_控制LED_插座的详细教程以及各位大佬的点评,个人做了整理便于小白多多明白
水平有限,仅供参考

关于平台注意:
阿里云物联网平台
阿里云生活物联网平台
注意:这两个是不同的平台,阿里云物联网平台里面的设备包含了阿里云旗下所有的物联网平台设备,也就是说生活物联网平台是阿里云物联网平台的一个分支。
**注意:**两个平台一定要使用同一个账号(支付宝)

关于产品注册流程:
两个平台同时登陆,且同一账号;

创建项目

注意名字和类型

注意莫名字和连网方式

添加RGB对应的功能

注意选中公版APP,从现在开始,每完成一步必须保存一下

自定义面板

注意:RGB颜色


注意保存

重新选择刚刚的面板,确认

语言栏切勿存在空白

此时会自动开启天猫精灵

注意选择的模块型号

重新建设备

去程序里面修改你的密钥

先发布产品再下载APP进行扫码,
进入APP的更多服务里面绑定天猫精灵
注意:建议都用同一个手机号


配网,扫码

此时烧录完程序就可以去阿里云物联网平台 查看设备,不是同一账号不会自动同步的

完成以上步骤就可以呼叫天猫精灵了,也可以APP上操作

先到我的博客下载并添加库文件
下面代码,大佬请绕路。

// An highlighted block
#include <ESP8266WiFi.h> //安装esp8266arduino开发环境
#include <RGBConverterLib.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <CustomWiFiManager.h>
#include <ArduinoJson.h>#include <AliyunIoTSDK.h> //引入阿里云 IoT SDK,需要安装crypto库、PubSubClient库
AliyunIoTSDK iot;
static WiFiClient espClient;
static RGBConverter espRGB;//设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "xxxxx"                        //替换自己的PRODUCT_KEY
#define DEVICE_NAME "xxxxx"                               //替换自己的DEVICE_NAME
#define DEVICE_SECRET "xxxxx" //替换自己的DEVICE_SECRET
#define REGION_ID "cn-shanghai"                          //默认cn-shanghaiunsigned long lastMsMain = 0; //定时的时基
#define RGB_red 15     //对应引脚
#define RGB_green 12
#define RGB_blue 13
int RGB_bool = 0;  //LED的开关状态
int RGBlan = 80;   //LED的亮度 80%
int led_red = 127; //LED的默认颜色和亮度
int led_green = 255;
int led_blue = 212;// web配网页面自定义我的图标请随便使用一个图片转base64工具转换https://tool.css-js.com/base64.html, 64*64
const char Icon[] PROGMEM = "data:image/png;base64,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";// 开关
void powerstate(JsonVariant L) //固定格式,修改参数l
{int powerstate = L["powerstate"]; //参数lif (powerstate == 1)              //板载led默认高电平,此时灯灭{//根据输入值调节各LED亮度analogWrite(RGB_red, led_red);analogWrite(RGB_green, led_green);analogWrite(RGB_blue, led_blue);RGB_bool = 1;}else{digitalWrite(RGB_red, LOW);digitalWrite(RGB_green, LOW);digitalWrite(RGB_blue, LOW);RGB_bool = 0;}Serial.printf("收到的powerstate是:");Serial.println(powerstate);AliyunIoTSDK::send("powerstate", RGB_bool);
}
// 亮度
void brightness(JsonVariant L) //固定格式,修改参数2
{RGBlan = L["brightness"]; //参数2Serial.printf("收到的brightness是:");Serial.println(RGBlan);analogWrite(RGB_red, map(RGBlan, 0, 100, 0, led_red));analogWrite(RGB_green, map(RGBlan, 0, 100, 0, led_green));analogWrite(RGB_blue, map(RGBlan, 0, 100, 0, led_blue));AliyunIoTSDK::send("brightness", RGBlan);
}
// 修改颜色
void RGBColor(JsonVariant L) //固定格式,修改参数2
{led_red = L["RGBColor"]["Red"];     //参数1led_blue = L["RGBColor"]["Blue"];   //参数2led_green = L["RGBColor"]["Green"]; //参数3String led_hex = "";int RGB_color = 0;char ch[20];/*Serial.print("Red:");Serial.println(led_red);Serial.print("Blue:");Serial.println(led_blue);Serial.print("Green:");Serial.println(led_green);*///根据输入值调节各LED亮度analogWrite(RGB_red, led_red);analogWrite(RGB_green, led_green);analogWrite(RGB_blue, led_blue);RGB_bool = 1;//RGB的三值得十六进制的值,再转十进制进行上报颜色espRGB.RgbToHex(led_red, led_green, led_blue, led_hex);strcpy(ch, led_hex.c_str());sscanf(ch, "%x", &RGB_color);Serial.println(RGB_color);AliyunIoTSDK::send("color", RGB_color); //上报数据
}void setup()
{Serial.begin(115200);pinMode(RGB_red, OUTPUT);digitalWrite(RGB_red, LOW);pinMode(RGB_green, OUTPUT);digitalWrite(RGB_green, LOW);pinMode(RGB_blue, OUTPUT);digitalWrite(RGB_blue, LOW);//开始连接WiFiWiFiManager wifiManager;                                  //实例化WiFiManagerwifiManager.setHeadImgBase64(FPSTR(Icon));                //设置图标wifiManager.setPageTitle("欢迎来到冷月满天的WiFi配置页"); //设置页标题wifiManager.autoConnect("TP561-IoT-ESP");                 // AP模式,可以修改成你的ESP8266WiFi热点名称Serial.println("connected...恭喜!一切就绪。");//初始化 iot,需传入 wifi 的 client,和设备产品信息AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);//绑定一个设备属性回调,当远程修改此属性,会触发powerstate函数;天猫精灵控制的就是powerstate的高低电平(高 = 1,低 = 0)AliyunIoTSDK::bindData("powerstate", powerstate);AliyunIoTSDK::bindData("brightness", brightness);AliyunIoTSDK::bindData("RGBColor", RGBColor);delay(100);//初始化开关和亮度AliyunIoTSDK::send("powerstate", 0);AliyunIoTSDK::send("brightness", RGBlan);
}void loop()
{//发送数据的间隔,2秒发送一次,“云智能APP”上电源按钮的UI实时显示会有2秒延时。if (millis() - lastMsMain >= 2000){AliyunIoTSDK::loop(); //心跳机制lastMsMain = millis();//发送电源状态到云平台(高电平:1;低电平:0)AliyunIoTSDK::send("powerstate", RGB_bool);}
}

Esp8266天猫精灵_RGB灯_非点灯平台相关推荐

  1. 天猫精灵 python 控制_(二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战...

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  2. 天猫精灵python开发_天猫精灵X1智能音箱使用感想

    11.22音箱到手,等了刚好一个月. 一.测评语音交互功能 测试条件:正宗普通话. 1)问天气.气温:表现良好. 2)找手机功能:试了多次,每次都说手机号码格式不对.有那时间我自己找了. 3)小孩听故 ...

  3. ESP8266天猫精灵接入流程

    Blinker天猫精灵接入流程 设备上线 设置接入的设备类型 设置接入设备的auth Key 设置SSID/PSWD 或者选择 ESPTOUCH等配网方式 下载代码等待设备接入上线成功 authKey ...

  4. 树莓派 天猫精灵智能灯泡_智能灯泡即使在关闭时也会用完电吗?

    树莓派 天猫精灵智能灯泡 Smart bulbs are super convenient, and can save you money compared to traditional bulbs. ...

  5. 天猫精灵 python 控制_一个让小白也能让HomeAssistant接到天猫精灵的组件

    [简介] 通过使用此组件可以实现用语音让天猫精灵控制家里已经连上HA的硬件. 本组件不会上传用户所绑定天猫精灵的手机号和密码到服务器上, 而是将其通过SHA1哈希算法生成token来与阿里平台交互, ...

  6. 天猫精灵 python 控制_天猫精灵的高阶玩法-控制我的电脑

    用天猫精灵关闭我的电脑: 1.https://open.aligenie.com 创建一个开发者账户,然后创建一个应用 2.https://github.com/ychongsaytc/inhost ...

  7. 基于Arduino IDE平台开发ESP8266天猫精灵控制LED灯

    Arduino教程传送门

  8. 天猫精灵 python 控制_树莓派4B小爱同学、天猫精灵、智能音箱、百度语音极速版、百度语音标准版、语音识别、语音合成终极方案...

    来源:树莓派创客空间 https:/r-pi.cn,里面更多教程 第一句话,python2版本的代码,python3你改改就完事了 第一句话,python2版本的代码,python3你改改就完事了 流 ...

  9. (含代码)ESP8266+舵机 制作wifi灯控开关(arduino,点灯科技,小爱同学/天猫精灵实现)

    目录 项目涉及的主代码 前言 一.环境搭建 二.开发步骤 1.注册点灯科技平台 2.在点灯科技平台注册设备,获取Secret Key 3.在Arduino IDE中编写代码,写入ESP8266 4.编 ...

最新文章

  1. Jquery对象的文档处理,CSS和事件
  2. 【总结】只需5步,给所有想入行人工智能/深度学习的新手们准备的资料
  3. 事件触发控制_前端性能优化:事件的节流throttle与防抖debounce
  4. 阻塞与非阻塞个人小结
  5. hadoop单机配置(非分布式)
  6. 李楠谈小米MIX Alpha:卖19999元还是不赚钱
  7. python基本代码教程-Python入门教程丨1300多行代码,让你轻松掌握基础知识点
  8. krpano音量控制(我们已经转移到krpano中国网站 krpano360.com)
  9. python将对象放入列表_将所有python-rom对象放入列表
  10. 初一计算机第6单元,青岛出版社初中信息技术 七年级下册第二单元 第6课 海报设计 教学设计...
  11. 盘点:2012中国互联网大会十大亮点
  12. 华硕K40IN关闭触摸板
  13. 软件经验|GDAL空间数据开源库开发介绍
  14. k8s(四)—service服务(暴露方式:ClusterIP、NodePort、LoadBalancer、ExternalName、ingress)
  15. CISSP AIO7 学习笔记 - 第二章 资产安全 2.1-2.8小节 附送脑图
  16. FPGA实现JPEG-LS图像压缩,有损无损可配置,提供工程源码和技术支持
  17. chmod +x 与chmod 777的区别
  18. 递归方式实现打印一个整数的每一位
  19. android简单音乐播放器(二)
  20. 反编译微信小程序错误: $gwx is not defined和__vd_version_info__ is not defined 已解决

热门文章

  1. php人物走动,pygame制作游戏人物精灵的行走及二段跳实现方法
  2. 家用设备搭建VMWARE超融合 NSX HORIZON 及CISCO测试环境
  3. 计算机文化基础008,2013 中国成人教育 翻转课堂在高校计算机文化基础课中的应用研究_刘桂花...
  4. 【ROM定制】官改教程:super.img解打包!
  5. 看完后想10秒钟,你会改变自己!
  6. APP测试面试题汇总
  7. 2020 深圳 Gopher Meetup 上线啦!
  8. linux收发包内核进程名称,Linux内核IP Queue机制的分析(一)——用户态接收数据包...
  9. 解决Ubuntu16.04软件商店无法加载
  10. 【已解决】Https请求报错:unable to find valid certification path to requested target