您的当前位置:首页正文

ESP8266使用入门教程

2023-10-22 来源:易榕旅网
ESP8266使⽤⼊门教程

芯⽚介绍:8266⽚上集成wifi+MCU,使⽤的是⼀个M0的内核,⽽且成本很低,因为⽚上有wifi和MCU,所以作为⽹络终端⾮常的⽅便,当然,因为是wifi,所以低功耗⽅⾯就别想了,低功耗+联⽹,NB-IOT更加合适。

固件:下⾯先介绍⼀下芯⽚固件的概念,说⽩了,esp8266也是⼀个单⽚机,上电还是得从0地址开始跑,平时我们使⽤单⽚机,⼀般都是使⽤keil等软件编程,然后下载,软件很多事情已经帮我们做好了,我们的重⼼放在main函数之后就⾏了。所谓的固件,我们可以把它看做⼀个很⼤的程序,只不过⼈家帮我们写好了,上电就开始运⾏,然后⼀直等待我们给单⽚机发送指令,我们发送指令后就执⾏相应的操作。esp8266的固件有两种

AT固件,芯⽚出⼚的时候⾥边刷的就是AT固件,AT固件,⽤户主要通过串⼝使⽤AT指令跟8266交互,要控制8266。所以使⽤这种固件的时候还需要⼀个主机通过串⼝跟8266连接,这种使⽤⽅法,就单纯将8266当做⼀个⽹络传输芯⽚,串⼝转wifi,本⽂不讨论AT固件。

Node-mcu固件,重点来了,因为这个固件才能完全发挥8266的魅⼒,先说⼀下这个固件的魅⼒,官⽅介绍是,这套固件,可以让8266像Arduino⼀样操作硬件IO,⽽且让你能完全使⽤API接⼝进⾏开发,更要命的是,固件⾥边可操作的模块还很多,像gpio操作、json处理、file⽂件创建管理、⽹络连接等等。举个例⼦说明⼀个这个固件:这个固件就像是安卓⼿机的刷机包,刷机之后我们就可以通过图形界⾯进⾏各种操作,在安卓⼿机上运⾏各种应⽤程序,esp8266刷⼊nodemcu固件之后,也能在上边运⾏我们编写的应⽤程序。

下⾯放⼏段操作8266的代码

1 --操作GPIO 2 pin = 1

3 gpio.mode(pin,gpio.OUTPUT) 4 gpio.write(pin,gpio.HIGH) 5 gpio.mode(pin,gpio.INPUT) 6 print(gpio.read(pin)) 7

8 --连接wifi

9 wifi.setmode(wifi.STATION)

10 wifi.sta.config(\"SSID\",\"password\")11 print(wifi.sta.getip())

代码基本上不⽤注释,⼀看名称知道是做啥的

下⾯开始讲如何搭建开发环境

就像上⽂说的,芯⽚出⼚的时候是AT固件,要刷如nodemcu固件才能使⽤这种开发⽅式,说以先要刷固件,当初我开始看的时候,⽹上⼀⼤堆各种各样的各种版本的固件,不是说只有两种固件吗?现在先不⽤管这个,按照步骤来,后边慢慢说。 1.⾸先打开刷固件⼯具ESP8266Flasher.exe,选择要刷⼊的固件 2.点击Flash开始烧写

3.等待⼀会烧写成功,如果不成功多试⼏次就⾏了

接下来就可以开始写程序了,程序使⽤Lua语⾔编写的,⾄于为啥是Lua语⾔,因为这个固件⾥边包含⼀个Lua语⾔解释器,就好⽐安卓上使⽤java语⾔开发应⽤程序。

开始写第⼀个程序,最简单的就是串⼝输出了 程序编辑以及烧写,使⽤另外⼀个软件ESPlorer 1.解压ESPlorer.zip⽂件,得到以下东西 2.打开 ESPlorer.bat

3.开始写代码,我们让8266连接⼿机的wifi热点,当⼿机提⽰有新的终端接⼊的时候,就证明代码正确执⾏了

print(\"start.....\")

wifi.setmode(wifi.STATION)

wifi.sta.config(\"SSID\print(wifi.sta.getip())

看到串⼝这边有输出 “start…..”,证明代码已经执⾏,等⼀会⼿机的热点应该会提⽰有新的设备接⼊了。

这⾥说明⼀下,8266复位的时候,默认是执⾏init.lua这个程序,所以我们要让程序⼀上电就开始运⾏,在保存⽂件的时候,就要就将⽂件的名称的改为init.lua,这样才能实现上电就运⾏

程序怎么写?固件的编译

按照步骤来就⾏了,这就不细说了

因篇幅问题不能全部显示,请点此查看更多更全内容