![6bc972838494e55abb5b2277f36dd964.png](https://i-blog.csdnimg.cn/blog_migrate/7ab90d071ecd8eae509d2c422693cbb8.jpeg)
前言:
本文我们学习使用ESP8266连接腾讯云,使用乐鑫官方ESP8266_RTOS_SDK,并移植腾讯云SDK,连接云端创建的LED灯项目,最后使用腾讯推出的IOT领域小程序“腾讯连连”控制设备。
一、背景知识
1.腾讯云IOT Explorer开发平台
腾讯云IOT Explorer开发平台是基于腾讯云物联网通信套件,融合小程序、打通腾讯云基础产品和AI能力的一站式开发平台,用户可使用开发平台提供的官方小程序,也可使用开发平台的应用端 API 服务进行自有品牌小程序应用开发。
二、云端创建产品
云端创建一个LED灯项目
![1cd7fc0e845e3dcb2aacc4ab77ddb928.png](https://i-blog.csdnimg.cn/blog_migrate/0fc2c50f6031e9dd8c216ed5b9b3f0c9.jpeg)
保存后会多一个LED灯产品
![0bcb1a96df486e7898cd58334f1232b4.png](https://i-blog.csdnimg.cn/blog_migrate/3f0ba8eb29dc1e2e3e4d1e96f99bbed8.jpeg)
使用标准功能,点击下一步即可
![79d9d1e156a8685286f31ab6c34078cf.png](https://i-blog.csdnimg.cn/blog_migrate/c416716029b196cd475fbad3a02d93fd.jpeg)
点击“基于模组开发”
![175f53b063c614bcf40a44fbdb03fe03.png](https://i-blog.csdnimg.cn/blog_migrate/b0a37652bc075cc9c78ec0a5b4bf071b.jpeg)
选择模组为ESP8266,然后点击下一步
![61f63077ecf3c6bb6020e44c421704e9.png](https://i-blog.csdnimg.cn/blog_migrate/3e5b10218f9e0d26a9bc1f06d9557fd4.jpeg)
使能使用官方小程序控制产品,点击面板配置按钮
![8cd9f0a665ba3daf4e41531316e92462.png](https://i-blog.csdnimg.cn/blog_migrate/33224574fe1f395c979e75f7508d9596.jpeg)
设置导航栏显示,开启后会在屏幕底部显示导航栏。
![fd5807d2eec7e3038b15bbd05f511fed.png](https://i-blog.csdnimg.cn/blog_migrate/9bffd346615da436998f101ce775edc6.jpeg)
返回上一个页面,进行配网引导设置,图片可以不设置,设置配网引导文字,设置好后点击保存按钮。
![67227b16029a747aed13c0521c95105e.png](https://i-blog.csdnimg.cn/blog_migrate/709e77a625759b78c5cc99ea655b9cc8.jpeg)
返回上一页面,设置快捷入口,我这里配置电灯开关为快捷入口,所谓快捷入口就是说可以在产品展示页直接控制LED,而不需要进入设备页面控制。
![5628d21ce82f517cc1d9c7c54b634d48.png](https://i-blog.csdnimg.cn/blog_migrate/8dcc8d80c70836387f6561f1ab2d67f1.jpeg)
完成上述设置后,点击下一步,进入设备调试页面。
![e5fc2f1f5ba997c7a64e7fe49138ac11.png](https://i-blog.csdnimg.cn/blog_migrate/8bb02b659429476d3a8a59a3a03619cb.jpeg)
点击新建设备,输入设备名字device1
![208bbceec40e23dd5c9736eda3b26492.png](https://i-blog.csdnimg.cn/blog_migrate/bc4e7895221b139c507e6fbc1f4b151f.jpeg)
点击保存后,页面如下
![fe9b48fb089a10ba2220a6cdd15d9082.png](https://i-blog.csdnimg.cn/blog_migrate/718207b4ce8c0dbb53f3dcb324d27ceb.jpeg)
三、移植腾讯云SDK
1.SDK地址
腾讯云维护的SDK:https://github.com/tencentyun/qcloud-iot-esp-wifi
![15332c9af3872415dc490fbe6099de3b.png](https://i-blog.csdnimg.cn/blog_migrate/4e30cdd1aaf24dbda12aaecd08be848f.jpeg)
乐鑫维护的接入腾通讯云SDK:https://github.com/espressif/esp-qcloud
![ef016ed7c54c678b6c3159259772aab4.png](https://i-blog.csdnimg.cn/blog_migrate/0a803c5b26b1439989d684f800854160.jpeg)
目前腾讯云在更新中,从上图可见,腾讯云官方更新SDK的速度要比乐鑫更新的快多了,为防止由于平台更新导致的问题,本文选用腾讯云团队维护的SDK。
2.参考腾讯云官方设备接入资料
参考官方智能灯接入指引:https://cloud.tencent.com/document/product/1081/41155
3.整合腾讯SDK到ESP8266_RTOS_SDK
下载腾讯元SDK,我们使用qcloud-iot-esp-wifi文件夹下面的代码。
![8a50fafe86d7fda1a00ec10509bfc6ad.png](https://i-blog.csdnimg.cn/blog_migrate/18820ad2146ccc769326f180ce57e796.jpeg)
腾讯云使用的代码结构如下,SDK和ESP8266_RTOS_SDK、main并列。
![0397123f02183aa599b22be1d52f8db8.png](https://i-blog.csdnimg.cn/blog_migrate/baefadc6e46b4f49831358088fbe6610.jpeg)
我做了一些调整如下所示,将腾讯SDK和应用入口文件放到ESP8266_RTOS_SDK下
![8a5211da607251be286aa48f3378fa8b.png](https://i-blog.csdnimg.cn/blog_migrate/570208a14d36ab483d0c41dd563f0198.jpeg)
如果大家环境搭建是参考了我之前文章,建议此处和我保持一致。
![308d518b635e034c5e036e051001a48c.png](https://i-blog.csdnimg.cn/blog_migrate/9f6453fdb5c55a2a6ad28b726ffc1c62.jpeg)
4.修改参数
打开qcloud_iot_c_sdk/platform/HAL_Deice_freertos.c文件,修改为自己设备信息
![4096689e36dd75bf52951d4c0e13a839.png](https://i-blog.csdnimg.cn/blog_migrate/b55a32e4e75db48a05d8bcbd9e31617c.jpeg)
打开iot_explorer_demo/main/main.c文件,修改路由器信息为自己的
![7d275403cc0c102454189caf1d358926.png](https://i-blog.csdnimg.cn/blog_migrate/0e7e74367fdc668ee4e7d2d199459499.jpeg)
5.修改配置
打开mingw32.exe进入iot_explorer_demo路径
![e08643a2eff349dbb7cd41831ccd9f69.png](https://i-blog.csdnimg.cn/blog_migrate/647fb1b003ec3fedf58fdd8d3f26cf43.jpeg)
输入make menuconfig
![3dae5e465226e38f61716c310b795c3d.png](https://i-blog.csdnimg.cn/blog_migrate/2b08913f862257976616e332158c0cd1.jpeg)
进入Serial flasher config --->, 配置信息如下
![7068ed5fe9adc7ad5766c9062cf5938c.png](https://i-blog.csdnimg.cn/blog_migrate/e752ed7bbe1c0bdb24ced724e6c0491e.jpeg)
四、下载运行
上述配置完成,保存退出后,输入make flash,会先编译再下载
![eebf1268f54a4d65af4e31473d424711.png](https://i-blog.csdnimg.cn/blog_migrate/648a2c1ce1848d183b65d28f776ac359.jpeg)
下载完成界面如下
![368e678f6a6b6ab6c2c0eb7133b102a1.png](https://i-blog.csdnimg.cn/blog_migrate/24d562b954f02bef3715e4d99d41a87b.jpeg)
打开串口工具
![4fa8ea7e3a40659d42a852bbca259293.png](https://i-blog.csdnimg.cn/blog_migrate/b1a4dd3c23d38481f9fa258e6ec65c7f.jpeg)
打开后台,看到设备在线
![438e0552150fbbabd654890bf53226c7.png](https://i-blog.csdnimg.cn/blog_migrate/4f2db24b1a44f1e6cdc3cd8a41ed6b15.jpeg)
点击调试,进入web调试页面
![e335ea2e2e35c2e2221dd761917aa5f8.png](https://i-blog.csdnimg.cn/blog_migrate/252d8f487ecb0c103f2cf75398c24277.png)
使能开关,点击发送按钮
![1fc41cea25cfc822ea46514e269f1022.png](https://i-blog.csdnimg.cn/blog_migrate/9ff61f35b00d3ba266e1463972691c8c.jpeg)
从设备Log可知,云端下发数据成功。