本示例实现的功能是:短信发送以及读取demo
!!!attention
测试短信功能,Air模块或开发板必须使用联通或移动SIM卡(4G卡,2G卡皆可,不可以使用中国电信卡,也不可以使用纯流量卡),而且卡里必须有钱。否则会导致收发短信失败。
1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随便取名)
2.设置本文件被全体可见。也就意味着,一旦test被某一文件加载,则test在任何文件中均可被看见,即test中全局变量和函数均可被任何文件调用。
module(...,package.seeall)
3.test文件头需要 require "sms" 模块。加载后,就可以调用sms.lua库文件中的全局变量和函数了,调用形式为sms.变量 以及sms.函数。
require"sms"
4.定义print函数,调试用
local function print(...)
_G.print("test",...)
end
5.注册短信接收的处理函数,注册短信接收处理函数是调用的sms中的regnewsmscb()函数
local function procnewsms(num,data,datetime)
print("procnewsms",num,data,datetime)
end
6.短信发送,同样简单,也是调用一个函数sms.send即可:
local function sendtest1(result,num,data)
print("sendtest1",result,num,data)
end
local function sendtest2(result,num,data)
print("sendtest2",result,num,data)
end
local function sendtest3(result,num,data)
print("sendtest3",result,num,data)
end
local function sendtest4(result,num,data)
print("sendtest4",result,num,data)
end
7.编写测试函数入口
local function test()
sms.send("10086","111111",sendtest1)
sms.send("10086","第2条短信",sendtest2)
end
sys.timer_start(test,5000)
8.在编辑工具中建立一个名为main.lua的文件。lua脚本的执行从main.lua开始,main.lua是入口文件,在main.lua中把test加载进去就好了。sys.ini是对系统初始化,sys.run()是系统主程序。这两句必须有
--重要提醒:必须在这个位置定义MODULE_TYPE、PROJECT和VERSION变量
--MODULE_TYPE:模块型号,目前仅支持Air201、Air202、Air800
--PROJECT:ascii string类型,可以随便定义,只要不使用,就行
--VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
MODULE_TYPE = "Air202"
PROJECT = "SMS"
VERSION = "1.0.0"
require"sys"
require"test"
if MODULE_TYPE=="Air201" then
require"wdt"
end
sys.init(0,0)
sys.run()
- 完整代码见下链接
- Air202-Air800-Air201 sms短信