查看: 1706|回复: 1

[讨论交流] 阿里云IoT套件测试4:智能LED灯

[复制链接]
本帖最后由 szjuliet 于 2019-5-30 10:55 编辑

智能LED灯


阿里云IoT套件测试1:开箱、软件安装及示例测试
阿里云IoT套件测试2:IoT平台注册、创建产品及设备
阿里云IoT套件测试3:创建物联网移动应用开发
阿里云IoT套件测试4:智能LED灯
阿里云IoT套件测试5:管理多个设备(单个ESP32)


依据Starter Kit for Aliyun IoT 教程测试:链接地址


注:阿里云更新比较频繁,所以本帖中部分内容与DFROBOT提供的教程有不同

演示视频:



本项目测试与前贴相关

测试目标:
通过手机 App 监测 LED 灯的工作状态并控制其开关。

所需元件:
  • 红色食人鱼 LED 发光模块 x1
  • FireBettle Board-ESP32 x1
  • FireBettle Gravity 扩展板 x1
  • 智能手机 x1

一、准备工作

library.png

arduino_library.png

  • DFRobot_Aliyun 文件夹下的examples文件夹中存放了9个应用的程序例程
截图201905020118575038.png

  • 每一个示例文件中都有相同的内容需要我们根据实际情况填写,如本例中用到的SmartLight.ino文件。我们需要修改程序其中的某些内容即可编译上传代码至 ESP32。这些内容如下:

[C++] 纯文本查看 复制代码
/*配置WIFI名和密码*/
const char * WIFI_SSID = "WIFI_SSID";
const char * WIFI_PASSWORD = "WIFI_PASSWORD";

/*配置设备证书信息*/
String ProductKey = "you Product Key";
String ClientId = "12345";/*自定义ID*/
String DeviceName = "you Device Name";
String DeviceSecret = "you Device Secret";

/*配置域名和端口号*/
String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com";
uint16_t PORT = 1883;

/*需要操作的产品标识符*/
String Identifier = "you Identifier";

/*需要发布和订阅的两个TOPIC*/
const char * subTopic = "you sub Topic";//****set
const char * pubTopic = "you pub Topic";//******post


这些配置信息中,除了 WiFi 名和密码需要用户连接自己的 WiFi,其他的配置信息都需要从阿里云 IoT平台上获取。
注:WiFi名和密码要特别留意大小写。

二、项目制作

1. 在IoT平台上创建产品、添加设备
(见前贴

2. 获取设备证书:
  • 在“智能家居”下,点击 设备管理-->设备,可以看到当前设备是未激活状态。点击“激活凭证”,在弹开的窗口中点击“一键复制”可以将ProductKey、DeviceName和ProductSecret一起复制下来,将复制的内容妥善保存到文件中备用。
active_product.png

3. 获取设备的TOPIC

  • 在“智能家居”下,点击 设备管理-->设备,点击上图中右下角的“查看”,在打开的窗口中点击“TOPIC列表”,将有“/event/property/”和“/service/property”这两个属性的TOPIC内容整行复制

ali_iot46.png


4. 获取产品标识符
  • 点击“功能定义”,在“自定义功能”中可以看到产品的标识符

ali_iot47.png


5. 修改Arduino程序
  • 运行Arduino IDE,点击 文件-->示例-->DfRobot_Aliyun-->SmartLight,将智能灯光的工程文件打开
example_smartlight.png




  • 将2~4步获取的信息填写到程序中

ali_iot48.png

6. 设备连接


  • 把 FireBettle Gravity 扩展板直插在 FireBettle Board-ESP32 主板上,注意方向不要插反

  • 把红色 LED 模块接在扩展板的 D2 数字引脚上,确保电源引脚、接地引脚和信号引脚都连接正确

  • 元件连接好后,使用 USB 线连接 FireBettle Board-ESP32 主板和电脑
LED_connect.png

7.  烧录程序

  • 点击向右的箭头向程序上传到主控板中,稍等片刻出现“上传成功”说明已经成功上传程序

upload_sketch.png


8. 构建App

具体步骤前贴。构建成功后手机扫码将app安装到手机上

9. 在线调试
在产品详情下点击“在线调试”,选择“调试真实设备”
功能:灯的状态
方法为“获取”时获取灯当前的状态,方法为“设置”时设置灯是开或关。
ali_iot52.png

10. 手机测试
运行app,输入手机号和密码登录,进入“智能灯光”页面,点击按钮控制灯的开关,同时app上灯的指示灯状态也会发生变化。
我们也可以在IoT平台进行在线调试,当发送相应的命令时,灯会产生相应的操作,同时app上的开关状态及灯的指示灯状态也会产生相应的变化。
测试视频如下:


冬歌  见习技师

发表于 2020-3-9 15:06:13

请问Arduino上程序编译上传成功,但是在线调试时阿里云平台上依旧显示真实设备处于未激活或者离线状态怎么解决
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail