Luat开源硬件

Luat实例教程:lbs基站定位

2018-03-23  本文已影响35人  Luat物联网通信模块

本示例实现的功能是:根据多基站获取经纬度的demo项目。

1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随便取名)

2.设置本文件被全体可见。也就意味着,一旦test被某一文件加载,则test在任何文件中均可被看见,即test中全局变量和函数均可被任何文件调用。

module(...,package.seeall)

3.test文件头需要 require "xxx" 模块。加载后,就可以调用xxx.lua库文件中的全局变量和函数了。

require"lbsloc"

4.定义print函数,调试用

local function print(...)
    _G.print("test",...)
end

使用基站获取经纬度的功能,必须按照以下步骤操作:
1、打开Luat物联云平台前端页面:https://iot.openluat.com/
2、如果没有用户名,注册用户
3、注册用户之后,如果没有对应的项目,创建一个新项目
4、进入对应的项目,点击左边的项目信息,右边会出现信息内容,找到ProductKey:把ProductKey的内容,赋值给PRODUCT_KEY变量

PRODUCT_KEY = "xxxxxxx"

6.编写查询GPS位置请求函数

local function qrygps()
    qryaddr = not qryaddr
    lbsloc.request(getgps,qryaddr)
end

7.编写获取经纬度后的回调函数

function getgps(result,lat,lng,addr,latdm,lngdm)
    print("getgps",result,lat,lng,addr,latdm,lngdm)
    --获取经纬度成功
    if result==0 then
    --失败
    else
    end
end

8.20秒后去查询经纬度,查询结果通过回调函数getgps返回

sys.timer_start(qrygps,20000)

9.在编辑工具中建立一个名为main.lua的文件。lua脚本的执行从main.lua开始,main.lua是入口文件(注意:main.lua只能有一个)。在main.lua中把test加载进去就好了。sys.init()是对系统初始化,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 = "LBS_LOC"
VERSION = "1.0.0"
require"sys"
require"test"
if MODULE_TYPE=="Air201" then
require"wdt"
end
sys.init(0,0)
sys.run()

!!!attention

一个工程只有一个main.lua

上一篇下一篇

猜你喜欢

热点阅读