数码之家

 找回密码
 立即注册
搜索
查看: 1215|回复: 8

[Arduino] Luat 简单的搞个gps 定位器

[复制链接]
发表于 2024-7-5 23:21:04 | 显示全部楼层 |阅读模式
本帖最后由 zipcord 于 2024-7-6 11:28 编辑

23年的时候关注合宙的公众号,经常见里面发什么39.9的cc电流表,19.9的air780E 做无线远程之类的,当时觉得不会luat语法,就没整。
悔不该应该薅羊毛啊,现在一个电流表1199,真是惊掉下巴。


说起这个定位器不得不说我的车上有个定位器,续费60一年,又在网上看了一圈,都是小100多,而且评价都不长久。碰巧搜到了度云air780eg 这个带4g和gps,最主要是带5年流量,才66,也不用注册直接用。手痒就想试试水。
下手了。就是这个小东西,还挺小巧的。



买回来后默认是带定位系统的。自带小程序



按理说应该可以用,不知道为啥这个定位特别慢而且延迟比较大。试了一天觉得不好用。
于是手又抽抽了,问了客服,可以刷合宙的固件。网上简单学了一下刷固件,就干了。
客服说 刷完就刷不回最初的定位固件了。 罢了,就当学习投资了。 果断学习了几天luat。
找了个demo 就上手试了。能用。期间各种坑。 最后吭哧的搞的能用了,发上来和大家分享一下。
找了个air780eg_gnss 这个demo 改吧改吧。现在可以用了。
定位是网页和小程序,这个有个缺点是没有轨迹。但是定位是够用的。目前测试定位1分钟,休眠5分钟,测了7个小时用了40ma
这个功耗应该还能降,可惜合宙资料比较少。群里也是没技术支持。慢慢摸索吧。
电脑定位是这个界面 。手机小程序不能搜了,需要扫二维码才行。



有兴趣的的朋友可以一起交流尝试。



        



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 发表于 2024-7-5 23:23:27 | 显示全部楼层
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "gnsstest"
VERSION = "1.0.1"
PRODUCT_KEY = "" -- 基站定位需要用到

--[[
本demo需要很多流量!!!
注意: 室内无信号!! 无法定位!!!
]]

-- sys库是标配
_G.sys = require("sys")
require("sysplus")

mobile.simid(1)  --用SIM1 内置卡

_G.lat,_G.lng="0","0"

_G.gps_uart_id = 2

-- LED和ADC初始化
LED_GNSS = 27
gpio.setup(LED_GNSS, 0) -- GNSS定位成功灯




-- Air780E的AT固件默认会为开机键防抖, 导致部分用户刷机很麻烦
if rtos.bsp() == "EC618" and pm and pm.PWK_MODE then
    pm.power(pm.PWK_MODE, false)
end


-- 启动时对rtc进行判断和初始化
local reason, slp_state = pm.lastReson()
log.info("wakeup state", pm.lastReson())
if reason > 0 then
    pm.request(pm.IDLE)
        mobile.flymode(0, false)
        mobile.flymode(1, false)
    log.info("已经从深度休眠唤醒")
   
end

-- 演示GNSS定位, 含AGPS
require "testGnss"

-- 本TCP演示是连接到 gps.nutz.cn 19002 端口, irtu的自定义包格式
-- 网页是 https://gps.nutz.cn/ 输入IMEI号可参考当前位置
-- 微信小程序是 irtu寻物, 点击IMEI号, 扫描模块的二维码可查看当前位置和历史轨迹
-- 服务器源码地址: https://gitee.com/wendal/irtu-gps
require "testTcp"

sys.taskInit(function()
    for i=1,3 do
      gpio.set(LED_GNSS, 1)
      sys.wait(200)
      gpio.set(LED_GNSS, 0)
      sys.wait(200)
    end
   
        log.info("工作60秒后进入深度休眠")
        sys.wait(60*1000)
        mobile.simid(0)  --用SIM0 否则无法休眠
        mobile.flymode(0, true)
        log.info("深度休眠300s,用DTIMER来唤醒")
    for i=1,2 do
      gpio.set(LED_GNSS, 1)
      sys.wait(500)
      gpio.set(LED_GNSS, 0)
      sys.wait(500)
    end
        sys.wait(100)
        pm.power(pm.USB, false) -- 如果是插着USB测试,需要关闭USB
        pm.force(pm.HIB)
        pm.dtimerStart(0, 300*1000)
        sys.wait(5000)
    log.info("pm_usb on")
        pm.power(pm.USB, true) -- 如果是插着USB测试,需要关闭USB

end)


-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!
回复 支持 反对

使用道具 举报

发表于 2024-7-6 09:53:33 | 显示全部楼层
学习了 很实用的东西
回复 支持 反对

使用道具 举报

发表于 2024-7-6 10:21:12 来自手机浏览器 | 显示全部楼层
你这还带码的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-7-6 11:29:22 | 显示全部楼层

哈哈哈,忘了p 了
回复 支持 反对

使用道具 举报

发表于 2024-7-6 20:48:24 | 显示全部楼层
西安的坛友
回复 支持 反对

使用道具 举报

发表于 2024-7-8 17:37:28 | 显示全部楼层
谢谢,这么简单!
回复 支持 反对

使用道具 举报

发表于 2024-11-4 00:41:18 | 显示全部楼层
大佬  我也是入手的这个,官方不给luat的支持,也是在摸索
-- 演示GNSS定位, 含AGPS
require "testGnss"  这个脚本可以给一下么
回复 支持 反对

使用道具 举报

发表于 2024-11-4 01:17:34 | 显示全部楼层
testGnss和demo里的uc6228有改动么
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-12 09:52 , Processed in 0.218401 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表