上一次我们的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服务器,可以用手机或者电脑直接和模组通讯了,需要用到网络调试助手软件

  1. 在同一个局域网内直接输入IP和端口就可以通讯了,这样对我们需要远程控制肯定是不够的
  2. 如果需要远程通讯,还需要在入口路由器设置端口转发和和DDNS绑定,完成后就可以通过域名和端口进行通讯了
  3. 由于后面我们成品不采用这个方案,这里就不具体讲怎么做转发和DDNS了,我们以局域网通讯内做示例

    完成这一切后就可以使用手机APP和模组进行通讯了,注意通讯地址是DDNS的域名+对外端口
    如果是局域网内可以使用模组IP+模组端口,用这个命令查询设备IP




    可以看到模组显示1个连接,并收到了手机发过来的信息,这样就实现了手机和设备的通讯,设备收到了手机的信息,就可以按照信息作出相应的反应了
    下面我们进行第三部分的内容,初步认识一下安信可的编程环境和SDK,并让设备输出hello world
    我们回到安信可官网,下载一体化开发环境


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

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

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

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

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

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

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

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

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

    然后保存,编译项目

    等待编译成功

    然后按照说明烧录

    等待烧录成功

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

    可以看到模组成功输出了我们写的一行星号和helloword。
    到这里我们完成了设备的初步调试,透传,和程序员的第一步输出了helloword。
    到这里我们可以修改程序接收到远程的透传指令时,执行一个动作就可以实现远程控制了。
    但是仍然存在几个问题
    1.手机远程控制界面仍然不太美观和方便。
    2.如果想要方便就需要专门定制APP,需要大量的编程工作。
    3.远程需要设置端口转发和DDNS绑定。
    4.模组上也需要完成大量的编码工作。
    对于我们只是需要一个远程控制功能的需求,进行专门的大量开发工作有点太麻烦了。
    那么有没有简单,代码少,又控制方便的方法呢?
    当然是有的,我们最终需要的是一个美观好用的APP和少量的代码即可完成的一个小项目,又不需要太多的设定 ,也不需要做转发和DDNS绑定。
    在下一次我们就开始利用一个开源项目的平台来实现我们最终的目的。
    在这里我们先透露一下最终的APP什么样子


手把手带你制作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. esp8266 蓝牙耳机_走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二)...

    走进物联网智能家居-手把手带你制作wifi智能开关-ESP8266学习笔记(二) 2020-05-09 13:44:11 9点赞 72收藏 6评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标 ...

  6. Django网站实战——手把手带大家制作一个经典的网站

    一.前言 今天小编带大家制作一个经典的网站的案例,功能包括登录.注册.注销.改密.免密登录.忘记密码,那么下面就让我们开始吧. 二.创建项目并创建子应用 首先创建项目,然后在项目根目录下创建子应用,如 ...

  7. 哥们哥们,人机大战晓得吧玩家对战晓得吧,简易三子棋,呕心沥血500行代码手把手带你制作第一个小游戏,可以保存收藏以后接着看哟,最后有源码哦

    目录 前言 一.游戏想要有意思,函数不可少,整活的函数 二.三子棋的游戏界面 三.三子棋的功能步骤分析      1.菜单     2.三子棋实现的总体框架     3.棋盘创建     4.棋盘初始 ...

  8. MATLAB 手把手带你制作第一个APP designer程序(电子词典)

    注:左上角图标的添加方式(老版本和新版本俩种方法)放在文章最后 注此方法针对的为2019版本及之前的版本,比较新版本以增添该功能,直接设置uifigure的Icon属性即可,使用压缩包内文件可将sta ...

  9. 手把手教你制作easyUI+bootstrap工作站,主要学习tabs方法

    demo下载地址:http://download.csdn.net/detail/cometwo/9466657 登陆页 <!DOCTYPE html> <html><h ...

最新文章

  1. Redis总结(五)缓存雪崩和缓存穿透等问题
  2. 【2008】奥运门票4月15日开始预定 四种购买方式供选
  3. 定义一个结构体指针需要分配存储空间
  4. Tensorflow[实战篇]——Face Recognition
  5. python编程的常用工具_小白学Python(2)——常用Python编程工具,Python IDE
  6. learn python app v3_‎App Store 上的“Learn Python and Scratch”
  7. Log 日志的使用与重要性
  8. c语言switch caseh(op),switch语句求教
  9. c语言规定 程序中用到的变量一定要,C语言为什么要规定对所用到的变量要“先定义,后使用”...
  10. 学习OpenCV思维导图
  11. ASP.NET DROPDOWNLIST无刷新联动(中文URL参数处理)
  12. java 随机生成姓名_java生成随机姓氏中文人名
  13. Java并发编程|第二篇:线程生命周期
  14. 黑马程序员——集合框架
  15. 红楼梦人物出场顺序统计
  16. 阿里云搭建MQTT服务器并进行本地和服务器端联通测试
  17. android商城demo,3 分钟快速 Demo(Android)
  18. Linux 系统指令
  19. 思维模型 DISC色彩性格
  20. Python爬虫数据入库

热门文章

  1. 计算机版兰花草音乐,兰花草儿歌mp3
  2. c 语言boll型变量,My语言几种常见指标编写与跨指标模型的案例分析
  3. 玩树莓派于是做了一个扩展板12V供电转5V外加风扇及外设
  4. 图的存储——邻接表法
  5. Maven仓库配置163源
  6. react + nodejs 在线五子棋对战平台
  7. IOS 图片绘制过程中的剪切之后没有原图清晰的问题解决方法
  8. 关于scanf(%s, a) 和 scanf(%c, a)标准输入的不同
  9. 庞巴迪TCMS学习笔记之一(IEC 61131-3函数)
  10. 铁氧体磁珠相关知识总结