开发者如何在自己的Lua脚本中直接发AT命令来控制模块?

请先 登录 后评论

1 个回答

秦鹏 - Luat菜鸟

在开源代码中,常用的AT命令都已经被封装在各个lib文件中。

以这个cc.lua 这个打电话的库文件为例:

Q23

dial是拨出电话,hangup是挂断电话,accept是接听电话。都是用AT命令实现的。

如果用户想直接发AT,处理AT命令,也可以,就仿照我们的框架中直接扩展就好了。

比如用户可以在自己的脚本中,req来发AT命令,例如:

local ril = require "ril"
local req = ril.request
req("AT"

用户还要编写自己对AT命令或URC的处理程序,并用regrsp函数来注册 AT命令的返回处理程序,regurc来注册URC的处理程序。

不过,用户连用regrsp和regurc来注册这一步甚至都可以省略。比如,用户自己发CALL相关的AT,可以在cc.lua之ccrsp()和ccurc()中直接扩展代码。

用户自己发phonebook相关的AT,可以在pb.lua之pbrsp()中直接扩展代码。

用户自己发网络状态相关的AT,可以在net.lua之rsp()和neturc()中直接扩展代码。

用户自己发SMS相关的AT,可以在sms.lua之rsp()和urc()中直接扩展代码。

请先 登录 后评论
  • 1 关注
  • 0 收藏,3166 浏览
  • qin0036 提出于 2018-08-24 06:42

相似问题