准备工具:
1. ESP-01模块 首先就是ESP-01刷 机智云的固件,这一步很关键,网上说ESP-01刷不了机智云的固件,因为这个模块价格低所以就买来试试了。在失败了很多次后终于刷成功了,还是有些成就感的。 购买的是安信可的ESP-01,基于 esp8266的WIFI模块,价格十元以内就搞定了。下面是官网给的这个模块的参数:
接下来短接VCC和EN脚,也就是在上电后使能模块,如上实物图中的两个画红线的引脚短接。
2. 准备工具和固件 乐鑫官网下载刷固件工具: https://www.espressif.com/zh-hans/support/download/other-tools file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 机智云官网下载固件: https://download.gizwits.com/zh-cn/p/92/94 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png
3. 开始刷固件了(关键步骤) 首先准备好串口下载工具,如下图连接ESP-01,注意有的串口工具提供的电流无法满足模块的正常工作,这时需要外部3.3V电源供电了,使用外部电源时0V要接到一起。如下图两种接线方式的示意图(我没用外部电源也刷成功了): file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpg file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image013.jpg 如下图打开下载的乐鑫FLASH下载工具,选择ESP8266这一项。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png 下面按照图示的步骤选择: - 1 这一步选择固件,点击右边3个点按钮,选择上面下载的机智云固件,注意ESP-01选择8M的combine这个固件,然后勾选这一项前面的选框。
- 2填写固件下载的起始地址0
- 3这一步选择模式,这里我用的QIO,DIO和DOUT我也试了,但是没有成功。
- 4FLASH选择8M的
- 5这一项选择COM口,也就是串口下载工具插到电脑里会对应有一个COM口,不知道的可以BD一下。(我这里是COM1)
- 6波特率选择115200
- 7点击START开始下载固件
点击开始下载固件之前,确保硬件连接正确:ESP-01模块的IO0一定要接GND,下载完固件正常使用时断开。点击START开始下载,这时把模块的RST引脚接GND一下,也就是复位一下模块,之后会看到蓝色进度条开始前进了,直到绿色提示框提示FINISH完成即表示固件下载成功。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.pngfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png 我这里失败了几次的原因是点击START开始下载时没有把RST引脚接GND,这里只需要接地一下即可。还需要注意的是当刷完固件后断开IO0和GND,正常使用模块IO0不能接地。
4. 机智云创建产品 下面我就简单的描述下这个过程,不懂的可以看官方教程。首先进入机智云开发者中心,选择个人项目, file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png 点“创建新产品”,如下图填写产品名称等信息,这里选择WIFI/移动网络方案。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png 点击“保存”后,产品就创建成功了,点左侧边栏的“开发向导”,找到页面里面的“去添加数据点”。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png 如上图所示,可以自己新建数据点,也可以点“管理”使用里面的模板,这里为了节省时间,我选择了模板。关于什么是数据点可以参考官方教程: http://docs.gizwits.com/zh-cn/quickstart/datapoint_tutorial.html 选择模板后如图: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png 选择机智云插座,应用此模板。弹出提醒后,点击“添加”。之后就可以看到添加的数据点了。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png 对于用不到的可以删除,也可以自己再添加。 到此机智云产品就创建完成了。
机智云给我们提供了非常方便的代码生成功能,也就是说这部分程序机智云已经给我们生成好了,我们只需要关注产品功能就行了。下面我就利用机智云代码生成功能生成arduino程序。 点击左边栏的“进入MCU开发”,选择“MCU独立开发方案”,选择 硬件开发平台。 这里我用的是arduinouno R3,因此选择ArduinoUNOR3,对于其他版本的arduino也可以选择这个然后在IDE里面选择相应的arduino版本编译,例如arduino nano等。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png
产品的“Product Secret”在产品基本信息里面可以找到,点“显示完整密匙”,根据提示操作就可以了。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png 填写完成后点击“生成代码包”,很快代码就生成完成了。下载下来就好了。 解压后得到“Gizwits”文件夹,首先将这个文件夹复制到arduino IDE的安装目录下的“libraries”文件夹下,如下图所示: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.png 这样使用arduino IDE编译就不会出错了。 如何写程序呢?其实很简单,使用机智云生成的程序,稍作修改就可以使用了。 打开刚才解压出来的“Gizwits”文件夹,里面有个“examples”文件夹,打开后如下图两个文件夹,这里面就是我们要用到的程序了。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.png 打开arduino IDE新建一个程序文件并保存,可以任意命名,建议英文名称。 同时打开networkConfig.ino和simpleTry.ino这两个文件,将两个程序合一起,添加下图程序即可控制插座有电和断电,使用的是arduino uno的9脚。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image041.png 完整程序见附录,目前只实现了插座的开关功能,未添加定时等功能。
6. 机智云调试 如果熟悉Android 开发的可以直接使用APP代码生成工具进行APP的开发,我是Android 菜鸟,因此直接使用了机智云的产品调试APP进行调试开发。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image043.png
下载后安装到手机上,电脑端在个人项目中选择创建的产品点击“在线调试设备”。 然后选择“启动虚拟设备”。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.png file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image047.png 启动虚拟设备后选择“显示二维码”。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image049.png 手机端进入APP选择右上角的“扫码添加设备”扫描电脑端显示的二维码进行虚拟设备的绑定。如下图: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image051.png 绑定设备后就可以操作手机端APP进行插座的开关定时等操作,电脑端会同步更新了。 设备调试也可以参考官方教程:http://docs.gizwits.com/zh-cn/quickstart/README.html 教程里有详细的虚拟设备调试指导。
7. 硬件调试 硬件连接示意图如下,继电器模块采用高电平触发,继电器触点控制插座的火线接通可断开。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image053.jpg 给开发板上电,arduinouno的7脚接地大于3秒,此时模块进入配网模式,手机右上角选择“添加设备”搜索设备,选择模块要连接的WIFI名称并输入密码,手机会搜索设备并连接设备。设备联网成功后手机上既能看到这个设备了,点击进入即可对设备进行控制。如果手机一直无法搜索到设备,开发板7脚接地一下(不要一直接地,小于2秒),此时模块进入AP配网模式,也就是手机先连接到模块的WIFI,然后模块通过手机连接到联网WIFI。 总之,连接成功后手机即可对设备进行控制了,也可以查看设备的活跃状态。
终于写完了,等有空的话拍一段我改装的插座视频。
新手作品,大神勿喷!
附件源程序和教程文档。
|