ESP-01+arduino+机智云的WIFI插座(新手作品,大神勿喷!)
准备工具:1. ESP-01模块首先就是ESP-01刷机智云的固件,这一步很关键,网上说ESP-01刷不了机智云的固件,因为这个模块价格低所以就买来试试了。在失败了很多次后终于刷成功了,还是有些成就感的。购买的是安信可的ESP-01,基于ESP8266的WIFI模块,价格十元以内就搞定了。下面是官网给的这个模块的参数:
接下来短接VCC和EN脚,也就是在上电后使能模块,如上实物图中的两个画红线的引脚短接。
2. 准备工具和固件乐鑫官网下载刷固件工具:https://www.espressif.com/zh-hans/support/download/other-toolsfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg机智云官网下载固件:https://download.gizwits.com/zh-cn/p/92/94file:///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.jpgfile:///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. 机智云创建产品这里有官方详细的MCU方案教程:http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html下面我就简单的描述下这个过程,不懂的可以看官方教程。首先进入机智云开发者中心,选择个人项目,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.pngfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png点击“保存”后,产品就创建成功了,点左侧边栏的“开发向导”,找到页面里面的“去添加数据点”。file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.pngfile:///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.pngfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.png对于用不到的可以删除,也可以自己再添加。到此机智云产品就创建完成了。
5. Arduino程序生成机智云给我们提供了非常方便的代码生成功能,也就是说这部分程序机智云已经给我们生成好了,我们只需要关注产品功能就行了。下面我就利用机智云代码生成功能生成arduino程序。点击左边栏的“进入MCU开发”,选择“MCU独立开发方案”,选择硬件开发平台。这里我用的是arduinouno R3,因此选择ArduinoUNOR3,对于其他版本的arduino也可以选择这个然后在IDE里面选择相应的arduino版本编译,例如arduino nano等。file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.pngfile:///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进行调试开发。APP下载地址:https://download.gizwits.com/zh-cn/p/98/99file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image043.png
下载后安装到手机上,电脑端在个人项目中选择创建的产品点击“在线调试设备”。然后选择“启动虚拟设备”。file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.pngfile:///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。总之,连接成功后手机即可对设备进行控制了,也可以查看设备的活跃状态。
终于写完了,等有空的话拍一段我改装的插座视频。
新手作品,大神勿喷!
附件源程序和教程文档。
准备工具:
[*]串口下载工具USB转TTL
[*]arduino UNO R3开发板
[*]继电器模块(高低电平触发均可)
[*]带改装的插座或者网购成品插座
[*]ESP-01(安信可基于ESP8266的WIFI模块,成本低)
[*]arduino IDE
[*]ESP8266 FLASH固件下载工具
[*]机智云固件
[*]机智云调试APP
[*]9V/5V电源或者AC220转9V/5V电源
楼主的Socket.ino编译下面一堆错啊 机智Boy 发表于 2018-6-12 22:44
楼主的Socket.ino编译下面一堆错啊
1.确认生成的Gizwits文件夹有没有放到arduino的libraries文件夹下。
2.我用的是arduino-1.8.6 caikan 发表于 2018-6-13 09:05
1.确认生成的Gizwits文件夹有没有放到arduino的libraries文件夹下。
2.我用的是arduino-1.8.6 ...
我中午回去再试试 caikan 发表于 2018-5-26 19:37
准备工具:
[*]串口下载工具USB转TTL
请问必须要用机智云的开发板吗?我现在就差把和arduino连接的esp8266配置入网了,不知道怎么告诉8266路由器的密码和名称啊 楼主烧固件一直停在等待上电这里,RST也接地了,怎么解决 hahahhadadgey 发表于 2019-2-28 21:01
请问必须要用机智云的开发板吗?我现在就差把和arduino连接的esp8266配置入网了,不知道怎么告诉8266路由 ...
你调好没,我也不知道怎么配网 如果手机一直无法搜索到设备,开发板7脚接地一下(不要一直接地,小于2秒),此时模块进入AP配网模式,也就是手机先连接到模块的WIFI,然后模块通过手机连接到联网WIFI。 请问这句是什么意思?我的也是不成功,但是没有这个操作,请问7号端口在哪里设置的?
页:
[1]