diff --git a/README.md b/README.md index e69de29b..551ba55b 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,239 @@ +nodeMcu API说明 +======= +version 0.1 2014-10-11 + +概述 +------ +nodeMcu 基于Lua 5.1.4,使用者需了解最简单的Lua语法。 + +nodeMcu 尽量采用事件驱动的编程模型。 + +nodeMcu 内置 timer,pwm,i2c,net,gpio,wifi module。 + +nodeMcu对模块的引脚进行编号,gpio,i2c,pwm等模块需要使用引脚编号进行索引。 + +目前的编号对应表格: + +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 + +串口波特率74880 + +###固件烧写地址: + +eagle.app.v6.flash.bin:0x00000 +eagle.app.v6.irom0text.bin:0x10000 +esp_init_data_default.bin:0x7c000 +blank.bin:0x7e000 + + +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) +描述:开始记录输入 +filename:log所保存的文件名,不支持目录 +noparse:1表示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) +描述:读取文件 +filename:log文件名,不支持目录 +返回:读取的内容,字符串形式 + +node.list() +描述:返回所有文件 +返回:一个包含 <文件名:文件大小> pair 的map + +wifi module + +常量: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并退出 +channel:1~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 +auto:0表示设置为不自动连,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 +常量:gpio.OUTPUT, gpio.INPUT, gpio.HIGH, gpio.LOW + +gpio.mode( pin, mode) +描述:设置对应pin的输入输出模式,将该pin初始化为gpio模式。 +pin:0~11,IO索引编号 +mode:gpio.OUTPUT或者gpio.INPUT + +gpio.read(pin) +描述:读取对应pin的值 +pin:0~11,IO索引编号 +返回:0表示低,1表示高 + +gpio.write(pin, level) +描述:设置对应pin的值 +pin:0~11,IO索引编号 +level:gpio.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, secure) +描述:建立一个服务器 +type:net.TCP或 net.UDP +secure:true 或者 false,表示是否为安全连接 +返回:net.server子模块 + +net.createConnection(type, secure) +描述:建立一个客户端 +type:net.TCP或 net.UDP +secure:true 或者 false,表示是否为安全连接 +返回:net. socket子模块 + +net.server module +listen(port,[ip]) +描述:监听某端口 +port:端口号 +ip:可忽略,ip字符串 + +例子: +sv=net.createServer(net.TCP, false) +sv:listen(80) + +send( string, function(sent) ) +描述:向连接的客户端发送数据 +string:需要发送的数据字符串 + +on(event, function cb()) +描述:注册事件的回调函数 +event:字符串,可为:"connection","reconnection","disconnection","receive","sent" +function cb(net.server sv, [string]):回调函数。第一个参数为服务器本身。 +若event为”receive”, 第二个参数为接收到数据,字符串形式。 + +例子: +sv=net.createServer(net.TCP, false) +sv:listen(80) +sv:on("receive", function(s,c) s:send("

Hello, world.

") print(c) end ) + +close() +描述:关闭服务器 + +net.socket module +connect(port, ip) +描述:连接到某ip和端口 +port:端口号 +ip:ip字符串 + +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, c) print(c) end ) +sk:connect(80,"192.168.0.66") +sk:send("GET / HTTP/1.1\r\nHost: 192.168.0.66\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") + +close() +描述:关闭socket +