[ 本文概述 ]
本案例为机智云平台入门级基础应用开发实例,开发者通过使用机智云AIoT自助开发平台和ESP8266,实现对传统灯泡的远程APP控制,本案例原理简单、制作成本低,适合所有具备嵌入式基础的开发者,尤其适合准备进入IoT的从业者、高校相关专业学生参考学习,掌握物联网设备基础开发逻辑。其他更多应用开发详见官方案例教程。
机智云物联网平台提供多种在线自动开发工具、多型号Gagent固件(Wi-Fi、GPRS、4G等主流联网方式的固件)、多型号MCU代码自动生成器(51、STM32、Arduino等)、开源跨平台APP SDK(iOS、Android、APiCloud)、开源案例和在线教程,以及社区及FAE支持,帮助开发者0成本、快速实现IoT设备远程控制、数据采集分析、设备及用户管理等应用开发,详见:www.gizwits.com机智云物联网平台的开发者中心,club.gizwits.com 物联网开发者社区。
[ 1、准备工作 ]
智能灯,是一个简单常见的智能产品,硬件电路简单,程序本身也不复杂;下面我们使用esp8266开发板和机智云云端,实现如何将一个传统的灯泡,改造成可以远程控制开关的智能灯。
1、准备工作
硬件:
(1)esp8266开发板
(2)usb线
软件:
(1)esp8266开发环境 eclipse IDE
(2)Vmwave 虚拟机 linux
[ 2、开始开发 ]
2.1 注册开发者账号
机智云开发者账号,用于产品接入、设备管理、OTA服务、MCU开发等的功能使用。
注册链接://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下添加代码
代码修改就完成了
还有一些细节如声明头文件就不发出来了,各位自行添加
因为电脑使用的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,如可看到版本号,表示当前交叉编译器安装成功
如图表示编译完成
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
登陆开发者账号
软件需要登陆的,就先前创建的账号
设备配网
如下面几个图操作
至此,实现了手机远程控制LED灯
刚开始会遇到各种各样的问题
比如手机连不上开发板,检查rgb灯是否变绿,家里wifi是否正常,注意:5G wifi是无法连接上esp8266的
还有ununtu修改了环境变量后重启显示空白桌面的情况,要重新安装gnome
等等等等。。
加油,共勉吧
相关推荐:
- 27个免费视频教你学安卓APP开发
- 连载六部曲:机智云Android开源之旅
- Android自定义View系列(时间轴、桌面空间、刮刮乐)
- ESP8266智能定时插座
扫一扫,开启您的IoT开发之旅
智能净水/ 智能照明/ 智慧家电互联互通/ 智慧烟感/ 冷链运输/ 智慧零售/ 工业互联
文章由 物联网平台 机智云 www.gizwits.com 整理发布