nodemcu-firmware/README_cn.md

293 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

nodeMcu API说明
=======
version 0.1 2014-10-11
<a id="upupup"> up </a>
flash 错误
----
注意:有些模块在烧写之后启动,串口输出 ERROR in flash_read: r=。。。
这是因为模块原来的flash内部没有擦除。
可使用blank.bin(4k)
重复烧入起始地址0x47000, 0x48000, 0x49000, 0x4a000扇区.
或者生成一个512k大小的blank512k.bin, 内容为全0xFF从0x00000开始烧入。
烧入之后可以正常运行。
概述
------
支持一键配置
基于Lua 5.1.4使用者需了解最简单的Lua语法。
采用事件驱动的编程模型。
内置 timerpwmi2cnetgpiowifi module。
对模块的引脚进行编号gpioi2cpwm等模块需要使用引脚编号进行索引。
###目前的编号对应表格:
IO索引编号 ESP8266实际IO IO索引编号 ESP8266实际IO
0 GPIO12 8 GPIO0
1 GPIO13 9 GPIO2
2 GPIO14 10 GPIO4
3 GPIO15 11 GPIO5
4 GPIO3
5 GPIO1
6 GPIO9
7 GPIO10
###串口波特率
9600
###固件烧写地址:
eagle.app.v6.flash.bin0x00000
eagle.app.v6.irom0text.bin0x10000
esp_init_data_default.bin0x7c000
blank.bin0x7e000
第一次使用建议将blank512k.bin烧写在地址0x00000
node module
------
node.restart()
描述:重新启动
node.dsleep( us )
描述:深度睡眠 us 微秒,时间到之后将重新启动
us时间单位微秒
node.chipid()
描述返回芯片id
返回number
node.heap()
描述:返回可用内存 in bytes
返回系统heap剩余
node.format()
描述格式化用户flash区
node.startlog( filename, noparse)
描述:开始记录输入
filenamelog所保存的文件名不支持目录
noparse1表示lua虚拟机不对输入进行解析0表示lua虚拟机对输入进行解析
node.stoplog()
描述结束log
例子录制log到init.lua文件可以在系统启动之后自动调用该文件。
node.format()
node.startlog("init.lua", 1)
print("hello world")
node.stoplog()
此时文件init.lua内部将含有内容重启之后系统执行print("hello world")
node.readlog( filename)
描述:读取文件
filenamelog文件名不支持目录
返回:读取的内容,字符串形式
node.list()
描述:返回所有文件
返回:一个包含 <文件名文件大小> pair 的map
wifi module
-----------
[up](#upupup)
常量wifi.STATION, wifi.SOFTAP, wifi.STATIONAP
wifi.setmode(mode)
描述设置wifi的工作模式
mode取值wifi.STATION, wifi.SOFTAP或wifi.STATIONAP
返回设置之后的当前mode
wifi.getmode()
描述获取wifi的工作模式
返回wifi.STATION, wifi.SOFTAP或wifi.STATIONAP
wifi.startconfig( channel, function succeed_callback )
描述开始智能配置若成功自动设置ssid和pwd并退出
channel1~13起始搜索信道。若不指定默认为6每个信道搜索20秒
succeed_callback配置成功后的回调函数将在获取密码正确并连接上ap之后调用
wifi.stopconfig()
描述:中断智能配置
wifi.station module
-----------------
wifi.station.setconfig(ssid, password)
描述设置station模式下的ssid和password
ssid字符串形式长度小于32
password字符串形式长度小于64
wifi.station.connect()
描述station模式下连接至ap
wifi.station.disconnect()
描述station模式下断开与ap的连接
wifi.station.autoconnect(auto)
描述station模式下设置自动连接至ap
auto0表示设置为不自动连1表示设置为自动连接
wifi.station.getip()
描述station模式下获取ip
返回字符串形式的ip如"192.168.0.2"
wifi.station.getmac()
描述station模式下获取mac
返回字符串形式的mac如"18-33-44-FE-55-BB"
wifi.ap module
---------------
wifi.ap.setconfig(cfg)
描述设置station模式下的ssid和password
cfg设置需要的map
例子:
cfg={}
cfg.ssid="myssid"
cfg.pwd="mypwd"
wifi.ap.setconfig(cfg)
wifi.ap.getip()
描述ap模式下获取ip
返回字符串形式的ip如"192.168.0.2"
wifi.ap.getmac()
描述ap模式下获取mac
返回字符串形式的mac如"1A-33-44-FE-55-BB"
gpio module
-----------
常量gpio.OUTPUT, gpio.INPUT, gpio.HIGH, gpio.LOW
gpio.mode( pin, mode)
描述设置对应pin的输入输出模式将该pin初始化为gpio模式。
pin0~11IO索引编号
modegpio.OUTPUT或者gpio.INPUT
gpio.read(pin)
描述读取对应pin的值
pin0~11IO索引编号
返回0表示低1表示高
gpio.write(pin, level)
描述设置对应pin的值
pin0~11IO索引编号
levelgpio.HIGH或者gpio.LOW
例子:
pin=1
gpio.mode(pin, gpio.OUTPUT)
gpio.write(pin, gpio.HIGH)
将索引1的pin设置为GPIO模式并设置为高电平。
net module
---------------
常量net.TCP, net.UDP
net.createServer(type)
描述:建立一个服务器
typenet.TCP或 net.UDP
返回net.server子模块
net.createConnection(type)
描述:建立一个客户端
typenet.TCP或 net.UDP
返回net.socket子模块
net.server module
-------------
listen(port,[ip],function(net.socket))
描述:监听某端口
port端口号
ip可忽略ip字符串
function(net.socket): 回调函数,当有连接建立的时候,作为参数传给回调函数。
例子:
sv=net.createServer(net.TCP, false)
sv:listen(80,function(c)
c:on("receive", function(sck, pl) print(pl) end)
c:send("hello world")
end)
close()
描述:关闭服务器
net.socket module
-------
connect(port, ip)
描述连接到某ip和端口
port端口号
ipip字符串
send( string, function(sent) )
描述:向连接发送数据
string需要发送的数据字符串
on(event, function cb())
描述:注册事件的回调函数
event字符串
可为:"connection","reconnection","disconnection","receive","sent"
function cb(net.socket, [string])回调函数。第一个参数为socket连接。
若event为"receive" 第二个参数为接收到数据,字符串形式。
例子:
sk=net.createConnection(net.TCP, false)
sk:on("receive", function(sck, pl) print(pl) end )
sk:connect(80,"115.239.210.27")
sk:send("GET / HTTP/1.1\r\nHost: 115.239.210.27\r\n
Connection: keep-alive\r\nAccept: */*\r\n\r\n")
close()
描述关闭socket
dns(domain, function cb(net.socket, ip) )
描述获取domain的ip
domain字符串
function cb(net.socket, ip):回调函数。
第一个参数为socket连接本身 第二个为获取的ip, 字符串形式。