机智云连接ESP8266--远程控制点亮RGB灯
本帖最后由 小鹏鹏 于 2019-6-13 10:27 编辑机智云连接ESP8266--远程控制点亮RGB灯
智能灯,是一个简单常见的智能产品,硬件电路简单,程序本身也不复杂;下面我们使用esp8266开发板和机智云云端,实现如何将一个传统的灯泡,改造成可以远程控制开关的智能灯。本案例原理简单、制作成本低,适合所有具备嵌入式基础的开发者[ 1、准备工作]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/移动网络方案”方式接入,并完成产品创建。如下图:http://5b0988e595225.cdn.sohucs.com/images/20190612/b2347c5a36824b47a0c118941bb37d33.jpeg2.3 新建数据点本次的项目“LED灯”,它需要实现的功能是远程开灯和关灯,那我们只需在云端建立一个“布尔值”的数据点即可完成这件事,如下图:http://5b0988e595225.cdn.sohucs.com/images/20190612/e95b1f3516084ff2b97588dc6b45730c.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190612/c06c7bd23f334b3c9f73233f71851145.png添加数据点完成之后,点击“应用”,即可完成整个产品的数据点的新建工作。2.4 云端生成代码如图,左边菜单栏选择MCU开发,需要填写的Product Secret看下面http://5b0988e595225.cdn.sohucs.com/images/20190612/1281f10b222f4529991db5107152a342.jpeg如图,左边菜单栏选择基本信息,点击显示完整密钥就行了http://5b0988e595225.cdn.sohucs.com/images/20190612/157f16d27fcb411aaba607dcf7c9b5d5.jpeg下载代码包http://5b0988e595225.cdn.sohucs.com/images/20190612/e3d5c56e16074a5ca082bd15121970e4.png2.5 修改代码在如下目录导入rgb的.c和.h文件http://5b0988e595225.cdn.sohucs.com/images/20190612/0b96f2da14264c4a8ca7ce71969e5707.jpeg在主函数下初始化rgb灯http://5b0988e595225.cdn.sohucs.com/images/20190612/97c7e234bace4865bb79bc8afade3629.jpeg设置回调函数smartconfig 按键配网,长按和短按RGB颜色反馈http://5b0988e595225.cdn.sohucs.com/images/20190612/695b6532ff8a48c9bb29e3652aeeea90.jpeg修改app/Gizwits/gizwits_product.c 下的 gizwitsEventProcess在之前设置的数据点(EVENT_)对应的case下添加代码http://5b0988e595225.cdn.sohucs.com/images/20190612/e1e50ba823c44412a2a2575ebae1566b.jpeg代码修改就完成了还有一些细节如声明头文件就不发出来了,各位自行添加因为电脑使用的x86编译器生成的机器码是无法在esp8266上运行的,需要交叉编译工具链编译,所以要在虚拟机LINUX系统上进行具体操作参考机智云的开发平台搭建,这里就不再赘述http://docs.gizwits.com/zh-cn/deviceDev/WiFiSOC/GoKit3S%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91.html#GoKit3-S-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87注意事项:要使当前编译的环境变量生效,执行source /etc/environment,这样在当前命令行终端下该编辑的环境变量有效,换个命令行终端就无效了!当然更好的方式就是重启系统了检查编译器1、cd ~2、执行echo $PATH,查看当前环境变量,是否已经存在/opt/xtensa-lx106-elf/bin。3、在命令行终端执行xtensa-lx106-elf-gcc -v,如可看到版本号,表示当前交叉编译器安装成功如图表示编译完成http://5b0988e595225.cdn.sohucs.com/images/20190612/9ec2f7c572874da1a485340184d3f003.jpeg2.7 烧写固件下载烧写软件https://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.6.4.raresp_init_data_default.bin 0x3fc000blank.bin 0x3fe000boot_v1.6.bin 0x00000user1.4096.new.6.bin 0x01000开发板进入烧录方式如图,开关拨到下载位置,开发板关闭http://5b0988e595225.cdn.sohucs.com/images/20190612/e92011f2c9da471390d372a2b65dfbd0.jpeg点击烧录软件的开始按钮后,给开发板上电烧录完毕后记得将开关拨回运行bin 文件的烧录地址看下面http://5b0988e595225.cdn.sohucs.com/images/20190612/ba7cc060b26e43c0aada64ba45d9cb40.jpeg2.8设备开始连接云下载配网APP到这个网址去下载app用来给esp8266配网,ios还是安卓看个人手机https://download.gizwits.com/zh-cn/p/98/99登陆开发者账号软件需要登陆的,就先前创建的账号设备配网如下面几个图操作http://5b0988e595225.cdn.sohucs.com/images/20190612/54b6773d2999464aba003dff8811fcfb.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190612/5b7af2e44bfb4bfda6f4cce5d24a9293.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190612/7b8b5bba678f458e892cb13611733306.jpeg开发板调至待连接状态:长按smartconfig键,直到rgb灯变绿http://5b0988e595225.cdn.sohucs.com/images/20190612/ecb34f6d77884ddc83f540cfa84d99a8.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190612/157c89400a0443449aa8ab89cb61fe01.jpeg设备已连接http://5b0988e595225.cdn.sohucs.com/images/20190612/c4541606e520430aba131c7809440b5e.jpeg远程控制LED灯http://5b0988e595225.cdn.sohucs.com/images/20190612/941657916a7c420cb1c7ac4728466a27.jpeghttp://5b0988e595225.cdn.sohucs.com/images/20190612/ba5e93961a3d4018a7c0392b869ef38a.jpeg至此,实现了手机远程控制LED灯刚开始会遇到各种各样的问题比如手机连不上开发板,检查rgb灯是否变绿,家里wifi是否正常,注意:5G wifi是无法连接上esp8266的还有ununtu修改了环境变量后重启显示空白桌面的情况,要重新安装gnome等等等等。。加油,共勉吧
使用机智云要多少费用?
页:
[1]