API说明
flash 错误
注意:有些模块在烧写之后启动,串口输出 ERROR in flash_read: r=。。。这是因为模块原来的flash内部没有擦除。可使用blank512k.bin,内容为全0xFF,从0x00000开始烧入。烧入之后可以正常运行。
概述:
•快速、自动连接无线路由器
•基于Lua 5.1.4,使用者需了解最简单的Lua语法
•采用事件驱动的编程模型
•内置file, timer, pwm, i2c, net, gpio, wifi, uart, adc模块
•串口波特率:9600-8N1
•对模块的引脚进行编号;gpio,i2c,pwm等模块需要使用引脚编号进行索引
•目前的编号对应表格:
新Gpio索引 (20141219及以后的版本采用)
index pin
0 [*] GPIO16
1 GPIO4
2 GPIO5
3 GPIO0
4 GPIO2
5 GPIO14
6 GPIO12
7 GPIO13
8 GPIO15
9 GPIO3
10 GPIO1
11 GPIO9
12 GPIO10
[*] D0(GPIO16) 只能用作gpio读写,不支持中断,i2c/pwm/ow
node模块
start()描述
重新启动
语法
start()
参数
nil
返回值
nil
示例start();
node.dsleep()
描述 ,进入睡眠模式,计时时间之后唤醒
语法
node.dsleep(us)
-注意: 如需使用此功能,需要将esp8266的PIN32(RST)和PIN8(XPD_DCDC)短接。
参数
us: 睡眠时间,单位:us
返回值
nil
示例 node.dsleep(us);
node.chipid()
描述
返回芯片ID
语法
node.chipid()
参数
nil
返回值
number:芯片ID
示例
id = node.chipid();
node.heap()
描述
返回当前系统剩余内存大小,单位:字节
语法
node.heap()
参数
nil
返回值
number: 系统剩余内存字节数
示例
heap_size = node.heap();
node.key()
描述
定义按键的功能函数, 按键与GPIO16相连。
语法
node.key(type, function())
参数
type: type取字符串"long"或者"short". long:按下按键持续3s以上, short: 短按按键(时间短于3s)
function(): 用户自定义的按键回调函数。 如果为nil, 则取消用户定义的回调函数。
默认函数:long:改变LED闪烁频率,short:重新启动。
返回值
nil
####示例
  node.key("long", function(){print('hello world')})
node.led()
描述
设置LED的亮/暗时间, LED连接到GPIO16, 与node.key()复用。
语法
node.led(low, high)
参数
Low: LED关闭时间,如设置为0,则LED处于常亮状态。单位:毫秒,时间分辨率:80~100ms
High: LED打开时间,单位:毫秒,时间分辨率:80~100ms
返回值
nil
示例
    -- LED常亮.
node.led(0);
node.input()
描述
接收字符串并将字符串传入lua解释器。
功能同pcall(loadstring(str)),增加了支持多行输入的功能。
语法
node.input(str)
参数
str: Lua代码段
返回值
nil
示例
    -- 注意:该函数不支持在命令行中使用。
sk:on("receive", function(conn, payload) node.input(payload) end)
node.output()
描述
将lua解释器输出重定向于回调函数。
语法
node.output(function(str), serial_debug)
参数
function(str): 接收lua解释器输出的str作为输入,可以将该输出通过socket发送。
serial_debug: 1:将输出送至串口; 0:输出不送至串口
返回值
nil
示例
    function tonet(str)
      sk:send(str)
      -- print(str) 错误 千万不要在此函数中再使用print函数
      -- 因为这样会导致函数的嵌套调用!!
    end
node.ouput(tonet, 1)  -- serial also get the lua output.
file 模块
ve()
描述
删除文件。
语法
ve(filename)
参数
filename: 需要删除的文件。
返回值
nil
示例
  -- 删除foo.lua文件
ve("foo.lua")
具体可以参见file.open()
File.close()
file.open()
描述
打开文件。
语法
file.open(filename, mode)
参数
filename: 需要打开的文件,不支持文件夹。
mode:
"r": read mode (the default)
"w": write mode
"a": append mode
"r+": update mode, 文件内的数据保留
"w+": update mode, 文件内的数据清除
"a+": append update mode, 文件内的数据保留,要写入的数据仅能增加在文件最后。
返回值
nil: 文件打开失败,不存在
true: 文件打开成功
示例
  -- 打开'init.lua',并打印文件的第一行。
    file.open("init.lua", "r")
    adline())
    file.close()
file.close()
描述
关闭文件。
语法
file.close()
参数
nil
返回值
nil
示例
    -- 打开'init.lua',并打印文件的第一行,然后关闭文件。
    file.open("init.lua", "r")
    adline())
    file.close()
adline()
描述
读取文件的一行。
语法
adline()
参数
nil
返回值
逐行返回文件内容。返回值末尾包含EOL('\n')
如果读到EOF返回nil。
示例
    -- 打开'init.lua',读取并打印文件的第一行,然后关闭文件。
    file.open("init.lua", "r")
    adline())
file.close()
file.writeline()
描述
向文件写入一行,行末尾增加'\n'。
语法
file.writeline(string)
参数
string: 需要写入的字符串
返回值
true: 写入成功
nil: 写入失败
示例
    -- 以'a+'的模式打开'init.lua'
    file.open("init.lua", "a+")
    -- 将'foo bar'写到文件的末尾
    file.writeline('foo bar')
file.close()
file.write()
描述
向文件写入字符串。
语法
file.write(string)
参数
string: 需要写入的字符串
返回值
true: 写入成功
nil: 写入失败
示例
  -- 以'a+'的模式打开'init.lua'
    file.open("init.lua", "a+")
    -- 将'foo bar'写到文件的末尾
    file.writeline('foo bar')
file.close()
file.flush()
描述
清空缓存写入文件。
语法
file.flush()
参数
nil
返回值
nil
示例
    -- 以'a+'的模式打开'init.lua'
    file.open("init.lua", "a+")
    -- 将'foo bar'写到文件的末尾
    file.write('foo bar')
    file.flush()
file.close()
file.seek()
描述
设置或者读取文件的读写位置,位置等于whence加上offset的值。
语法
file.seek(whence, offset)
参数
whence:
"set": base is position 0 (beginning of the file);
"cur": base is current position;(default value)
"end": base is end of file;
offset: default 0
返回值write的返回值
成功: 返回当前的文件读写位置
失败: 返回nil
示例
  -- 以'a+'的模式打开'init.lua'
    file.open("init.lua", "a+")
    -- 将'foo bar'写到文件的末尾
    file.write('foo bar')
    file.flush()
    --将文件读写位置设置在文件开始
    file.seek("set")
    --读取并打印文件的第一行
    adline())
    file.close()
file.list()
描述
显示所有文件。
语法
file.list()
参数
nil
返回值
返回包含{文件名:文件大小}的lua table
示例
  l = file.list();
    for k,v in pairs(l) do
      print("name:"..k..", size:"..v)
End
wifi模块
常量
wifi.STATION, wifi.SOFTAP, wifi.STATIONAP

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。