4-ESP8266学习笔记

1.简介

芯片介绍:8266片上集成wifi+MCU,使用的是一个M0的内核,成本低,因为片上有wifi和MCU,所以作为网络终端非常的方便,因为是wifi,所以功耗较高。

固件:esp8266也是一个单片机,上电还是从0地址开始跑,平时我们使用单片机,一般都是使用keil等软件编程,然后下载,软件很多事情已经帮我们做好了,我们的重心放在main函数之后就行了。所谓的固件,我们可以把它看做一个很大的程序,只不过人家帮我们写好了,上电就开始运行,然后一直等待我们给单片机发送指令,我们发送指令后就执行相应的操作。

ESP8266的固件有两种:

  • AT固件,芯片出厂的时候里边刷的就是AT固件,AT固件,用户主要通过串口使用AT指令跟8266交互,要控制8266。所以使用这种固件的时候还需要一个主机通过串口跟8266连接,这种使用方法,就单纯将8266当做一个网络传输芯片,串口转wifi。
  • Node-mcu固件,这个固件才能完全发挥8266的魅力。官方介绍是,这套固件能够让8266像Arduino一样操作硬件IO,而且让你能完全使用API接口进行开发,固件里边可操作的模块还很多,像gpio操作、json处理、file文件创建管理、网络连接等等。举个例子说明一个这个固件:这个固件就像是安卓手机的刷机包,刷机之后我们就可以通过图形界面进行各种操作,在安卓手机上运行各种应用程序,esp8266刷入nodemcu固件之后,也能在上边运行我们编写的应用程序。

ESP8266 可以用来做串口透传,PWM 调控,远程控制开关:控制插座、开关、电器等。该模块有三种工作模式

STA 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。

AP 模式:ESP8266 模块作为热点,手机或电脑直接与模块连接,实现局域网无线控制。

STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。

ESP8266有几种不同的使用方式

1、使用AT指令进行操作:这是最常见的方式,也是最简单是一种方式。无需编程,使用PC端的串口助手配合简单的指令就可以实现,也可以配合单片机发送指令使用。

2、LUA语言编程:这是一种单独8266编程的方式,可以不依靠单片机和串口调试软件,直接把程序编写到8266内部。

3、Arduino 开发环境编程:这个接触过Arduino的都会比较熟悉。可以直接在Arduino ide的环境下使用Arduino的开发方式进行开发。这种方式比较容易接受与理解。arduino相关资料也比较多。

Arduino编程

2.同类型的功能性产品 

esp32 cc3200 rtl8710 W600 BK7231 MT7697

3.如何搭建开发环境

摘自ESP8266使用入门教程

芯片出厂的时候是AT固件,要刷如nodemcu固件才能使用这种开发方式,所以先要刷固件。 
先连接8266,建议大家开始研究的时候使用开发板,这样能省下很多时候时间,后期再上核心板 。

这里写图片描述

1.首先打开刷固件工具ESP8266Flasher.exe,选择要刷入的固件 

这里写图片描述 
2.点击Flash开始烧写 
这里写图片描述 
3.等待一会烧写成功,如果不成功多试几次就行了 
这里写图片描述

接下来就可以开始写程序了,程序使用Lua语言编写的,至于为啥是Lua语言,因为这个固件里边包含一个Lua语言解释器,就好比安卓上使用java语言开发应用程序。 
开始写第一个程序,最简单的就是串口输出了 
程序编辑以及烧写,使用另外一个软件ESPlorer 
1.解压ESPlorer.zip文件,得到以下东西 
这里写图片描述 
2.打开 ESPlorer.bat 
这里写图片描述
3.开始写代码,我们让8266连接手机的wifi热点,当手机提示有新的终端接入的时候,就证明代码正确执行了


1.print("start.....")

2.wifi.setmode(wifi.STATION)

3.wifi.sta.config("SSID","password")

4.print(wifi.sta.getip())

 

这里写图片描述
看到串口这边有输出 “start…..”,证明代码已经执行,等一会手机的热点应该会提示有新的设备接入了。 
这里说明一下,8266复位的时候,默认是执行init.lua这个程序,所以我们要让程序一上电就开始运行,在保存文件的时候,就要就将文件的名称的改为init.lua,这样才能实现上电就运行。

4.程序编写

网址:https://nodemcu.readthedocs.io/en/master/en/modules/wifi/ 
这里写图片描述

2. 另一种

5.固件的编译

可以看到nodemcu里边包含的模块很多,但是8266的资源是有限制的,如果固件里边全部包含了这些模块,就很占用空间,这样我们可以写代码的地方就少了,而且有些模块并不是我们需要的,所以我们要能选择自己需要的模块,然后编译成自己定制的固件,然后再烧到芯片里边。 
这个nodemcu是开源的,下载源码,设置好交叉编译链,选择需要的模块,在linux下可以编译出自己的固件,但是这样太麻烦,需要linux环境。官方还提供了一种方法,就是在线编译,选择自己需要的模块,填写自己的电子邮箱,一会之后就会将编译好的固件发送到你填写的邮箱 
网址:https://nodemcu-build.com/ 
这里写图片描述

 

工具下载:https://pan.baidu.com/s/1nuDcgAX 
密码:i94p

另一种搭建开发环境的方法以及程序编写:

ESP8266 SDK 编程入门 01-基础篇

ESP8266 SDK 编程入门 02-开发工具篇

ESP8266 SDK 编程入门 03-程序篇

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ESP32的FreeRTOS使用上与传统的FreeRTOS有一些区别。在ESP32中,基本不需要单独配置FreeRTOSConfig.h文件,因为ESP-IDF中的menuconfig功能可以对所有涉及到的内容进行配置,使用起来更加直观和便利。主要的数据类型说明中,有一个重要的数据类型是TickType_t。 在ESP32的魔改版FreeRTOS中,很少使用正经的事件集,而是使用ESP-IDF提供的更方便的事件循环。这使得在ESP32中使用事件循环更加方便。 另外,ESP32的分区表是采用二进制格式而不是CSV文件。ESP-IDF提供了gen_esp32part.py工具来配置和构建分区表。默认情况下,使用的是默认分区表。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【ESP32+freeRTOS学习笔记-(一)freeRTOS介绍】](https://blog.csdn.net/weixin_45499326/article/details/128226443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ESPIDF开发ESP32学习笔记【ESP32上的FreeRTOS】](https://blog.csdn.net/qq_40500005/article/details/114794039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值