走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二)

2020-05-09 13:44:11

9点赞

72收藏

6评论

小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击查看活动详情

上一次我们的8266模组已经可以上电正常工作了。

这次我们要做的是

1.更新设备固件:

2.初步验证设备远程控制的方式:

3.认识SDK和开发环境,实现我们的第一个程序,惯例输出 HELLO WORD:

在这次我们还要接触到一个词《透传》

因为我们的模组出厂时间不同,可能FW都不一样,为了方便调试和学习烧录FW,我们统一先给模组更新为官方最新AT固件,首先我们去安信可官网下载固件和烧录工具。

我们开始第一步:更新设备固件:

进入安信可官网,打开第一篇日记中的那个产品中心,进入12F的文档中心

打开红色表示的几个地方

在2的打开页面内下载出厂默认AT固件,如下图

在3的打开页面内下载烧录固件工具,如下图

在1的打开页面看下面两个地方

按照说明,在下载模式和工作模式时,GPIO0状态是不同的,在第一篇日记里我们也在这个位置接了一个接地开关

接着往下看如何确认是否进入下载模式

现在我们按照官方说明,把GPIO0接地,上电看一下,串口显示什么,注意波特率要设定为74880

可以看到已经显示为1了,说明已经进入下载模式

下面我们看看下载的AT固件解压后

由于我们使用的12F模组是32Mbit的模组,我们直接进入32Mbit的文件夹,打开里面的PDF文件

可以看到里面有一些烧录需要的信息,然后我们打开烧录软件

烧录选项信息

按照说明选择好相应的选项,在第一行里选择32M的固件,后面填0X00000,打钩,可以看到下面显示等待,按下下面的start,此时要关闭串口助手,不关闭串口助手可能会提示串口打开失败,然后短接GPIO0和地,给芯片上电,正常应该会显示如下信息

等到显示完成,模组断电,断开GPIO0和地的连接

关闭烧录软件,打开串口调试软件,点击打开串口

显示如下信息,和文档对比一致说明烧录成功了

到这里我们第一步的工作完成,成功给模组更新了固件,下面我们开始今天的第二项工作,初步验证设备远程控制的方式,这里用到一个概念–透传,我们不用管专业的解释,通俗的理解就是透过网络传输数据的意思。下面我们看看怎么透过网络和8266模组传输数据,只要能传输数据,就能控制

我们再去安信可官网,打开文档中心,找到AT指令集下载

下面我们需要AT指令集中几个指令

设置工作模式为SoftAP+Station 模式

设置WIFI

建立TCP服务器

设置多连接

打开TCP服务器

这里所用的几个指令在指令集里有详细说明,我们就不一一说明了。到这里已经成建立了TCP服务器,可以用手机或者电脑直接和模组通讯了,需要用到网络调试助手软件

1. 在同一个局域网内直接输入IP和端口就可以通讯了,这样对我们需要远程控制肯定是不够的

2. 如果需要远程通讯,还需要在入口路由器设置端口转发和和DDNS绑定,完成后就可以通过域名和端口进行通讯了

3. 由于后面我们成品不采用这个方案,这里就不具体讲怎么做转发和DDNS了,我们以局域网通讯内做示例

透传示意图

完成这一切后就可以使用手机APP和模组进行通讯了,注意通讯地址是DDNS的域名+对外端口

如果是局域网内可以使用模组IP+模组端口,用这个命令查询设备IP

查询设备IP

手机连接设备

给设备发消息

设备收到的消息

可以看到模组显示1个连接,并收到了手机发过来的信息,这样就实现了手机和设备的通讯,设备收到了手机的信息,就可以按照信息作出相应的反应了

下面我们进行第三部分的内容,初步认识一下安信可的编程环境和SDK,并让设备输出hello world

我们回到安信可官网,下载一体化开发环境

下载开发工具

查看使用说明

下载完成后按照操作说明进行安装,安装完成后,我们再去下一个SDK,我们首先去安信可的文档中心找到如何使用开发环境

找到后打开下载SDK的连接,打开连接后目前最新的版本为ESP8266_NONOS_SDK-3.0.3

下载SDK

按照这个页面的使用的示例一说明一步一步操作

按照官方说明进行

直到最后一步开发环境输出这个界面

编译成功

下面我们去乐鑫的官网找到这个SDK的开发文档并下载

查看官方SDK

下载后找到这两个地方第一个说明了在哪里写我们的程序 user_main.c

第二个说明怎么输出我们的内容

好了,了解了这两个地方,我们再去开发环境中写一行输出hello word试试

然后编译前注意一个地方,在项目右键属性上修改map=4

然后保存,编译项目

等待编译成功

然后按照说明烧录

烧录成功后,断开GPIO0和地,打开调试助手,波特率选择74880,打开串口,给模组上电

可以看到模组成功输出了我们写的一行星号和helloword。

到这里我们完成了设备的初步调试,透传,和程序员的第一步输出了helloword。

到这里我们可以修改程序接收到远程的透传指令时,执行一个动作就可以实现远程控制了。

但是仍然存在几个问题

1.手机远程控制界面仍然不太美观和方便。

2.如果想要方便就需要专门定制APP,需要大量的编程工作。

3.远程需要设置端口转发和DDNS绑定。

4.模组上也需要完成大量的编码工作。

对于我们只是需要一个远程控制功能的需求,进行专门的大量开发工作有点太麻烦了。

那么有没有简单,代码少,又控制方便的方法呢?

当然是有的,我们最终需要的是一个美观好用的APP和少量的代码即可完成的一个小项目,又不需要太多的设定,也不需要做转发和DDNS绑定。

在下一次我们就开始利用一个开源项目的平台来实现我们最终的目的。

在这里我们先透露一下最终的APP什么样子

登陆界面

控制界面

esp8266 蓝牙耳机_走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二)...相关推荐

  1. esp8266 蓝牙耳机_手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三)...

    手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三) 2020-05-11 19:43:10 12点赞 137收藏 10评论 上一次我们初步认识了SDK编程和透传,给模组更新FW. ...

  2. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(一)

    最初的目的是为了远程控制家里的一台NAS的开机,最终变成了一个小小的物联网项目,在折腾过程中踩了一个又一个的坑,作为记录,下面我来带大家解开一个小小的物联网项目神秘面纱.如果有一点电路和编程基础最好, ...

  3. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(三)

    上一次我们初步认识了SDK编程和透传,给模组更新FW. 这一次我们直接用一个开源平台实现我们最终的目的,用一个APP远程控制模组开关. 我们使用的平台是机智云提供的开发平台. 开始之前我们先把硬件搭建 ...

  4. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(四)

    今天我们将利用机智云的开源APP来生成我们独家定制的手机APP 首先我们打开机智云开发者中心 第一步,我们使用机智云生成APP代码,选择应用配置,填写你想要的APP名字.平台选择Android,添加 ...

  5. 手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记(二)

    上一次我们的8266模组已经可以上电正常工作了.这次我们要做的是 1.更新设备固件: 2.初步验证设备远程控制的方式: 3.认识SDK和开发环境,实现我们的第一个程序,惯例输出 HELLO WORD: ...

  6. WiFi模组无线技术,物联网智能家居互联互通,无线WiFi技术连接设备

    WiFi发展至今已有20多年的历史,WiFi模组就已经不是一个新兴概念.随着国内市场上智能硬件的成长,WiFi迎来了"爆发式"增长,这也意味着WiFi模组找到了春天. 无线通信模块 ...

  7. Webpack - 从基础到实战 手把手带你掌握新版Webpack4.0 - 学习笔记

    边学习边唠叨才好啊 2022.05.19 Thu: 收藏从未停止,想法从未开始,咋办呢,不想了呗,还能咋办呀=,=~ 2022.05.20 Fri: 都5.20了,what are u doing? ...

  8. ESP8266开发、ESP8266连接阿里云物联网、天猫精灵控制esp8266、esp8266一键配网、智能家居

    ESP8266开发.ESP8266连接阿里云物联网.天猫精灵控制esp8266.esp8266一键配网.智能家居 项目介绍 最近会 将arduino IDE开发ESP8266中一些值得记录得部分写下来 ...

  9. 1.1机器学习和深度学习综述(百度架构师手把手带你零基础实践深度学习原版笔记系列)

    人工智能.机器学习.深度学习的关系 近些年人工智能.机器学习和深度学习的概念十分火热,但很多从业者却很难说清它们之间的关系,外行人更是雾里看花.在研究深度学习之前,我们先从三个概念的正本清源开始. 概 ...

最新文章

  1. 谷歌Chrome浏览器发布
  2. tesseract3.01的训练和使用
  3. php 设定字符串编码格式,php设置字符串编码格式
  4. 成功解决RuntimeError: filter weights array has incorrect shape.
  5. android Fragments详解
  6. 我的图床设置PicGo
  7. awx文件解析_Android so(ELF)文件解析
  8. el-input输入金额,保留两位小数
  9. 具有Overlord的WildFly 8.1中的API管理
  10. $.ajax注册表单
  11. JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
  12. LCA问题的RMQ解法解析
  13. spring事务管理几种方式(转)
  14. 基于深度学习的银行卡号识别 卡号识别和分割
  15. 晶体管放大电路基础——共射放大电路分析
  16. 阿里数据科学家一次讲透数据中台,15页PPT精华,速转走!
  17. C++ friend和protected
  18. 前端踩坑(八)前端使用Moment 时间格式化错误
  19. 端午节将至,吃粽子有讲究哦
  20. JavaScript弹出框、对话框、提示框、弹窗总结

热门文章

  1. 迎接开学!多地制定错峰返校预案
  2. java大小端转换工具类
  3. nlp——机器学习(2)
  4. 「微信群合影2.4.0」- 微信网页版账号不能登录问题解决办法
  5. oracle无效列的删除,无效的列类型: 1111(oracle数据库)
  6. 财付通构建网络支付反欺诈实时监控系统
  7. P2-vue插值操作
  8. 截取mat文件一部分数据
  9. C++Static 静态函数调用非静态函数
  10. 四川子苗电商:抖音如何赚钱视频?