机智云连接ESP8266--远程控制点亮RGB灯
概述
智能灯,是一个简单常见的智能产品,硬件电路简单,程序本身也不复杂;下面我们使用esp8266开发板和机智云云端,实现如何将一个传统的灯泡,改造成可以远程控制开关的智能灯。
1、准备工作
硬件:
(1)esp8266开发板
(2)usb线
软件:
(1)esp8266开发环境 eclipse IDE
(2)Vmwave 虚拟机 linux
2、开始开发
2.1 注册开发者账号
机智云开发者账号,用于产品接入、设备管理、OTA服务、MCU开发等的功能使用。
注册链接:http://dev.gizwits.com/zh-cn/developer/
2.2新建产品
注册完成后,登陆至机智云开发者中心后台后,点击开发者中心后台右上角的“创建新产品”菜单,在跳转页面新建一个名为“LED灯”的产品,选择“Wi-Fi/移动网络方案”方式接入,并完成产品创建。如下图:
2.3 新建数据点
本次的项目“LED灯”,它需要实现的功能是远程开灯和关灯,那我们只需在云端建立一个“布尔值”的数据点即可完成这件事,如下图:
添加数据点完成之后,点击“应用”,即可完成整个产品的数据点的新建工作。
2.4 云端生成代码
如图,左边菜单栏选择MCU开发,需要填写的Product Secret看下面
如图,左边菜单栏选择基本信息,点击显示完整密钥就行了
下载代码包
2.5 修改代码
在如下目录导入rgb的.c和.h文件
在主函数下初始化rgb灯
设置回调函数
smartconfig 按键配网,长按和短按RGB颜色反馈
修改app/Gizwits/gizwits_product.c 下的 gizwitsEventProcess
在之前设置的数据点(EVENT_)对应的case下添加代码
代码修改就完成了
还有一些细节如声明头文件就不发出来了,各位自行添加
2.6 编译
因为电脑使用的x86编译器生成的机器码是无法在esp8266上运行的,需要交叉编译工具链编译,所以要在虚拟机LINUX系统上进行
具体操作参考机智云的开发平台搭建,这里就不再赘述
注意事项:
要使当前编译的环境变量生效,执行source /etc/environment,这样在当前命令行终端下该编辑的环境变量有效,换个命令行终端就无效了!当然更好的方式就是重启系统了
检查编译器
1、cd ~
2、执行echo $PATH,查看当前环境变量,是否已经存在/opt/xtensa-lx106-elf/bin。
3、在命令行终端执行xtensa-lx106-elf-gcc -v,如可看到版本号,表示当前交叉编译器安装成功
如图表示编译完成
2.7 烧写固件
下载烧写软件
https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.4.rar
esp_init_data_default.bin 0x3fc000
blank.bin 0x3fe000
boot_v1.6.bin 0x00000
user1.4096.new.6.bin 0x01000
开发板进入烧录方式
如图,开关拨到下载位置,开发板关闭
点击烧录软件的开始按钮后,给开发板上电
烧录完毕后记得将开关拨回运行
bin 文件的烧录地址看下面
2.8设备开始连接云
下载配网APP
到这个网址去下载app用来给esp8266配网,ios还是安卓看个人手机
https://download.gizwits.com/zh-cn/p/98/99
登陆开发者账号
软件需要登陆的,就先前创建的账号
设备配网
如下面几个图操作
开发板调至待连接状态:长按smartconfig键,直到rgb灯变绿
设备已连接
远程控制LED灯
至此,实现了手机远程控制LED灯
刚开始会遇到各种各样的问题
比如手机连不上开发板,检查rgb灯是否变绿,家里wifi是否正常,注意:5G wifi是无法连接上esp8266的
还有ununtu修改了环境变量后重启显示空白桌面的情况,要重新安装gnome
等等等等。。
加油,共勉吧
机智云连接ESP8266--远程控制点亮RGB灯的更多相关文章
- 机智云连接esp8266--远程控制风扇转速
概述 下面我们使用esp8266开发板和机智云云端,实现如何将一个USB风扇,改造成可以远程控制转速的智能风扇. 1.准备工作 硬件: (1)esp8266开发板 (2)USB线 (3)USB风扇 软 ...
- 15-(基础入门篇)GPRS(Air202)GPIO控制点亮一个灯
https://www.cnblogs.com/yangfengwu/p/9967027.html 现在点亮它,说一下哈,都过去好久了,不知道大家都在用哪个版本的库 http://www.openlu ...
- esp8266烧写机智云固件方法
转:http://blog.csdn.net/k7arm/article/details/51925941 =====================以下为我转载的文章================ ...
- 智能家居esp8266对接机智云
依然存在稳定性问题 机智云官网--机智云 一个比较详细的教程--esp8266 一开始采用的是esp12f 可是他太不稳定,总是掉线,机智云的固件我也是刷了无数遍,哎太难了. 我比较懒,走过了太多 ...
- 为智能硬件提供一站式解决方案——机智云GoKit评测
为智能硬件提供一站式解决方案——机智云GoKit评测 2014年12月24日 作者: ladouyu 3 17,414+ 4 EMW3162GoKit开发板STM32F103智能硬件机智云2.0 从物 ...
- 国内物联网平台(5):机智云IoT物联网云服务平台及智能硬件自助开发平台
国内物联网平台(5)——机智云IoT物联网云服务平台及智能硬件自助开发平台 马智 平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运 ...
- 国内物联网平台初探(五) ——机智云IoT物联网云服务平台及智能硬件自助开发平台
平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运营管理等覆盖智能硬件接入到运营管理全生命周期服务的能力. 机智云平台为开发者提供了 ...
- Android开发SDK接入机智云,智能家居实现APP远程控制多设备
代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...
- 用机智云做PWM占空比控制电机,物联网智能家居应用
因为是新申请的博客,所以申请了总想往里面加点东西,所以把我之前在机智云写的帖子复制了过来 (各位抱歉,由于之前上传的文件可能有错误,之前上传的文件PWM不能用,那么我又重新上传了一个文件,这个文件 ...
随机推荐
- 从 Spring Cloud 看一个微服务框架的「五脏六腑」(转)
Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件. 本文将从 Spring Cloud 出发,分两小节讲述微服务框架的「五脏六腑」: ...
- Redisson实现Redis分布式锁的N种姿势(转)
Redis几种架构 Redis发展到现在,几种常见的部署架构有: 单机模式: 主从模式: 哨兵模式: 集群模式: 我们首先基于这些架构讲解Redisson普通分布式锁实现,需要注意的是,只有充分了解普 ...
- windows server安装oracle
倒腾windows server的时候一定要先整net framework然后再安装oracle不然连不上或者装一下client 也能连上但是为了不安装client一定要先装framework!
- DIV+CSS常见问题的14条原因分析
当你在一个浏览器里面做好,在其他浏览器里面却完全不是那么回事情. 很多时候,我们就只是去修补下,或者利用各个浏览器对代码支持的不一致,进行针对各个浏览器进行不同的定义. 其实浏览器的不兼容,我们往 ...
- ABAP 动态内标排序
动态内表怎样排序动态内表怎样排序 动态内表要排序时,因为不知道内表中的字段名字,所以不能直接用SORT table BY field1 field2... 可以使用下面的方法来实现:SORT tab ...
- SQL 关联操作
- 3个CCIE考官对一个高级工程师的面试题
3个CCIE考官对一个高级工程师的面试题 转载 时间:2015-7-10 原文转载: 1.现在的6509及7609,SUP720交换带宽去到720G,是不是可以说7609/6509 可以取代一部分GS ...
- extjs grid renderer参数用法
今天在导出EXT的二维时老是报错,追进去看是renderer : function(value)的参数不对,经过一番研究,未免以后遇到再次浪费时间,记录一下. var cm = new Ext.gri ...
- git使用笔记(四)错误报告 Git push rejected error: fatal: refusing to merge unrelated histories
Reason: The reason is because I created repo in Github with initiated README.md file, and I tried to ...
- Codeforces Round #401 (Div. 2) D Cloud of Hashtags —— 字符串
题目链接:http://codeforces.com/contest/777/problem/D 题解: 题意:给出n行字符串,对其进行字典序剪辑.我自己的想法是正向剪辑的,即先对第一第二个字符串进行 ...