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
de(pin,gpio.OUTPUT)
4 gpio.write(pin,gpio.HIGH)
de(pin,gpio.INPUT)
6 ad(pin))
7
8 --连接wifi
9 wifi.setmode(wifi.STATION)
10 fig("SSID","password")
11 print(ip())
代码基本上不⽤注释,⼀看名称知道是做啥的
下⾯开始讲如何搭建开发环境
就像上⽂说的,芯⽚出⼚的时候是AT固件,要刷如nodemcu固件才能使⽤这种开发⽅式,说以先要刷固件,当初我开始看的时候,⽹上⼀⼤堆各种各样的各种版本的固件,不是说只有两种固件吗?现在先不⽤管这个,按照步骤来,后边慢慢说。
1.⾸先打开刷固件⼯具,选择要刷⼊的固件
2.点击Flash开始烧写
3.等待⼀会烧写成功,如果不成功多试⼏次就⾏了
接下来就可以开始写程序了,程序使⽤Lua语⾔编写的,⾄于为啥是Lua语⾔,因为这个固件⾥边包含⼀个Lua语⾔解释器,就好⽐安卓上使⽤java语⾔开发应⽤程序。
开始写第⼀个程序,最简单的就是串⼝输出了
程序编辑以及烧写,使⽤另外⼀个软件ESPlorer
1.解压ESPlorer.zip⽂件,得到以下东西
2.打开 ESPlorer.bat
3.开始写代码,我们让8266连接⼿机的wifi热点,当⼿机提⽰有新的终端接⼊的时候,就证明代码正确执⾏了
print("")
wifi.setmode(wifi.STATION)
fig("SSID","password")
print(ip())
看到串⼝这边有输出 “start…..”,证明代码已经执⾏,等⼀会⼿机的热点应该会提⽰有新的设备接⼊了。
这⾥说明⼀下,8266复位的时候,默认是执⾏init.lua这个程序,所以我们要让程序⼀上电就开始运⾏,在保存⽂件的时候,就要就将⽂件的名称的改为init.lua,这样才能实现上电就运⾏
程序怎么写?
安卓开发教程 pdf固件的编译
按照步骤来就⾏了,这就不细说了