当前位置: 首页 > article >正文

LuatOS扩展库API——【airlbs 】airlbs 定位服务

LuatOS 是物联网终端开发的常用工具为轻量级嵌入式 Lua 脚本运行框架兼实时系统基于 Lua 5.3 深度优化适配 4G-Cat.1、MCU 等物联网终端硬件。其以 Lua 脚本开发采用协程多任务架构配套完善开发资源含 70 余个核心库、20 余个扩展库及 1000 余个应用 demo可覆盖物联网开发各类基础场景。一、概述airlbs 扩展库是专为高精度需求设计的收费定位服务其特点在于更高定位精度或额外功能但需申请授权。免费替代方案为 lbsloc2定位精度不高。为了更清晰地了解这两个库的特点下表对比了它们的主要特性区别项airlbs付费版lbsloc2免费版定位原理多基站/Wi-Fi混合定位上报多个基站或Wi-Fi信息通过三角定位法计算坐标单基站定位上报单一基站信息服务器根据存储的基站经纬度直接返回位置定位精度10-300米城市环境郊区/农村可能更低但显著优于单基站定位1.5公里内误差较大适用于粗略区域定位请求频率限制可选择2分钟最多1次超过频次会返回定位失败功能特性支持多基站和Wi-Fi混合定位定位精度高适用于对精度要求较高的场景仅支持单基站定位无Wi-Fi定位功能适用于对精度要求不高的场景相较于 lbsloc2airlbs 的优势在于更高的定位精度更高的请求频率。基于此在进行项目开发的时候可以根据定位精度以及项目费用预算自行选择。合宙 lbsloc、lbsloc2、airlbs 三个库介绍-- lbsloc 是异步回调接口-- lbsloc2 是是同步接口。-- lbsloc比lbsloc2多了一个请求地址文本的功能。-- lbsloc 和 lbsloc2 都是免费LBS定位的实现方式-- airlbs 扩展库是收费 LBS 的实现方式。二、核心示例1、核心示例是指使用本库文件提供的核心 API开发的基础业务逻辑的演示代码2、核心示例的作用是帮助开发者快速理解如何使用本库所以核心示例的逻辑都比较简单3、更加完整和详细的 demo请参考 LuatOS 仓库 中各个产品目录下的 demo/airlbslocalfunctionairlbs_multi_cells_task_func()whiletruedolocalresult,dataairlbs.request({project_idairlbs_project_id,--项目ID需根据实际修改project_keyairlbs_project_key,--项目密钥需根据实际修改timeout10000,--可自由设定超时时间adapternil--选填网络适配器若不填则默认是平台自带的网络协议栈})ifresultthenlog.info(airlbs多基站定位返回的经纬度数据为,json.encode(data))endelselog.warn(请检查project_id和project_key)endsys.wait(20000)-- 循环20S一次多基站定位endendsys.taskInit(airlbs_multi_cells_task_func)----日志输出内容示例--airlbs多基站定位返回的经纬度数据为 {lat:31.1354542,lng:121.5423279}三、常量详解airlbs 扩展库没有常量。四、函数详解airlbs.request(param)功能多基站 wifi 混合定位获取定位数据参数param参数含义请求airlbs定位的项目id项目秘钥超时时间以及网络适配器选择。{参数含义项目id在https://iot.openluat.com/lbs/project-list中获取数据类型string取值范围无特别限制是否必选必须传入此参数注意事项暂无参数示例lblKo3参数名称 param.project\_id参数含义项目秘钥。数据类型string取值范围无特别限制是否必选可选传入此参数注意事项暂无参数示例DKqM6sHJkHV23WCzgzTbk7QW7HYGCJxp参数名称 param.project\_key参数含义表示从发送请求到读取到服务器响应整个过程的超时时间数据类型number/nil取值范围无特别限制是否必选可选传入此参数注意事项暂无参数示例15000参数名称 param.timeout参数含义上网使用的网卡ID数据类型number或者nil取值范围number类型时取值范围参考socket api中的常量详解是否必选可选传入此参数注意事项如果没有传入此参数内核固件会自动选择当前时间点其他功能模块设置的默认网卡除非你airlbs请求时一定要使用某一种网卡才设置此参数如果没什么特别要求不要设置此参数使用系统中设置的默认网卡即可 一般来说LuatOS的网络应用demo中都会有netdrv\_device功能模块设置默认网卡所以建议不要设置此参数直接使用netdrv\_device设置的默认网卡就行参数示例socket.LWIP\_GP表示使用4G网卡参数名称 param.adapter参数含义WiFi网络信息列表用于WiFi定位数据类型table或者nil取值范围无特别限制是否必选可选传入此参数注意事项暂无参数示例\[24:32:AE:04:E1:67,-86\]参数名称 param.wifi\_info}数据类型table取值范围无特别限制是否必选暂无注意事项暂无参数示例{project\_idlblKo3,project\_keyDKqM6sHJkHV23WCzgzTbk7QW7HYGCJxptimeout15000,adapternilwifi\_info{{bssid24:32:AE:04:E1:67,rssi-86},{bssidAA:BB:CC:DD:EE:FF,rssi-65},{bssid11:22:33:44:55:66,rssi-70}}}返回值local result,data airlbs.request(param)有两个返回值 result,dataresult含义说明成功返回true,失败会返回false 数据类型boolean 取值范围true或者false 注意事项暂无 返回示例truedata含义说明表示返回的经纬度数据 数据类型table或者nil 取值范围如果result为true返回的是table类型如果result为false返回的是nil类型 注意事项暂无 返回示例airlbs多基站定位返回的经纬度数据为{lat:31.1354542,lng:121.5423279}示例localresult,dataairlbs.request({project_idairlbs_project_id,project_keyairlbs_project_key,timeout10000,adapternil,wifi_info{{bssid24:32:AE:04:E1:67,rssi-86},{bssidAA:BB:CC:DD:EE:FF,rssi-65},{bssid11:22:33:44:55:66,rssi-70}}})ifresultthenlog.info(airlbs多基站定位返回的经纬度数据为,json.encode(data))end----日志输出内容示例--airlbs多基站定位返回的经纬度数据为 {lat:31.1354542,lng:121.5423279}五、模组支持说明目前除 8101 系列外其他支持 LuatOS 开发的模组均支持 airlbs 扩展库今天就分享到这里啦~

相关文章:

LuatOS扩展库API——【airlbs 】airlbs 定位服务

LuatOS 是物联网终端开发的常用工具,为轻量级嵌入式 Lua 脚本运行框架兼实时系统,基于 Lua 5.3 深度优化,适配 4G-Cat.1、MCU 等物联网终端硬件。其以 Lua 脚本开发,采用协程多任务架构,配套完善开发资源,含…...

别再拍脑袋立项了!手把手教你用华为IPD的Charter任务书,搞定产品从0到1的商业论证

从直觉到论证:中小企业如何用轻量级Charter打造产品商业闭环 深夜的创业咖啡馆里,几个技术出身的创始人正为下一个产品方向争论不休。"这个功能绝对能引爆市场!"CTO激动地敲着桌子,"我见过三家竞品都没做好这个点。…...

OpenClaw备份方案:GLM-4.7-Flash自动化任务配置保存与恢复

OpenClaw备份方案:GLM-4.7-Flash自动化任务配置保存与恢复 1. 为什么需要备份OpenClaw配置 上周我的开发机突然遭遇硬盘故障,导致所有OpenClaw配置丢失。当时正在运行的三个自动化流程全部中断,包括每天凌晨自动执行的日报生成和每周五的代…...

单片机Shell开发避坑指南:从Putty特殊字符处理到内存安全的7个实战经验

单片机Shell开发避坑指南:从Putty特殊字符处理到内存安全的7个实战经验 当你在深夜调试单片机Shell时,突然发现退格键会导致整个系统崩溃,或者用户输入超长字符串后设备莫名其妙重启——这些看似简单的交互问题,往往成为项目交付前…...

XZ1851输入电压6-40V 输出电流2.5A 输出电压ADJ(小于39V)

产品概述 XZ1851 是一款内置功率 MOSFET的单片降压型开关模式转换器。 XZ1851在 6-40V 宽输入电源范围内实现2.5 A最大输出电流,并且具有出色的线电压和负载调整率。 XZ1851 采用 PWM 电流模工作模式,环路易于稳定并提供快速的瞬态响应。 XZ1851 外部提供…...

CCS12.3.0保姆级教程:手把手教你为AWR6843AOP毫米波雷达新建工程(附完整配置参数)

CCS12.3.0零基础实战指南:AWR6843AOP毫米波雷达工程搭建全解析 第一次打开Code Composer Studio 12.3.0时,满屏的选项和参数确实容易让人望而生畏。特别是当你要为TI的AWR6843AOP毫米波雷达创建新工程时,那些关于Cortex R、DSP C67XX、mss/ds…...

AXI非对齐访问实战指南:从WSTRB信号到DMA数据搬运的避坑细节

AXI非对齐访问实战指南:从WSTRB信号到DMA数据搬运的避坑细节 在FPGA与ASIC设计中,AXI总线作为AMBA协议族的核心成员,其非对齐访问特性常被开发者视为"双刃剑"。当处理摄像头YUV数据、音频采样流或网络封包等非规整数据时&#xff0…...

TikTok爆火:C语言代码让电脑无硬件发无线电,靠谱吗?

一、刷爆TikTok的技术神操作,无硬件也能发无线电? 在2026年3月17日这天,有一条C语言创意短视频火爆了TikTok,在当日,它获得了10万以上的播放量,还有5万以上个点赞之举,成功登上了当日C语言创意应…...

C语言文件操作实战:用fread和fwrite处理二进制数据的5个常见场景

C语言文件操作实战:用fread和fwrite处理二进制数据的5个常见场景 在嵌入式系统开发、游戏编程和工业控制等领域,二进制文件操作往往是数据持久化的核心手段。与文本文件相比,二进制格式能更精确地保存内存数据布局,避免字符编码转…...

开源STK插件模块大全:提升你的空天地一体化仿真效率

开源STK插件模块大全:提升空天地一体化仿真效率的实战指南 如果你已经熟悉STK的基础操作,却还在为复杂的星座仿真流程和有限的分析功能而头疼,那么开源插件模块将成为你的效率倍增器。本文将带你深入探索那些被专业用户私藏的工具箱&#xff…...

从像素到对象:如何用HANet和SNUNet搞定遥感影像中的‘小目标’与‘不平衡’难题?

从像素到对象:HANet与SNUNet在遥感影像小目标检测中的实战解析 当洪水退去后的灾损评估卫星图上,那些被冲毁的农舍屋顶往往只占据几个像素;在城市违建监测中,新增的违章建筑可能只是高分辨率影像中的微小色块。这些"小目标&q…...

自动驾驶轨迹预测新思路:VectorNet如何用矢量编码替代传统栅格化方法?

自动驾驶轨迹预测的矢量革命:VectorNet如何重构环境编码范式 在自动驾驶系统的决策闭环中,轨迹预测模块犹如驾驶员的预判能力,其准确性直接关系到行车安全与舒适性。传统基于卷积神经网络(CNN)的预测方法存在一个根本性…...

当服务器内存足够大时:为什么我建议你在CentOS 8上彻底禁用Swap?

大内存时代:CentOS 8禁用Swap的云原生性能优化实践 在云计算与容器化技术席卷全球的今天,服务器硬件配置正经历着革命性变化。128GB、256GB甚至TB级内存已成为现代服务器的标配,而传统Linux内存管理机制中的Swap分区在这种新硬件环境下是否还…...

PostgreSQL开机启动踩坑实录:从‘服务不存在’到‘权限拒绝’的完整排错指南

PostgreSQL开机启动故障排查实战指南:从日志分析到权限修复 当你满怀期待地在服务器上执行systemctl start postgresql命令,却看到刺眼的红色报错信息时,那种挫败感我深有体会。作为一款强大的开源数据库,PostgreSQL在Linux系统上…...

ADRV9009+ZCU102实战:从HDL工程构建到no-OS移植的5个关键步骤

ADRV9009ZCU102全流程开发指南:从HDL工程构建到no-OS移植的深度实践 在射频系统开发领域,ADRV9009作为一款高性能射频收发器,与Xilinx ZCU102开发板的组合已成为许多硬件工程师的首选方案。本文将深入剖析五个关键环节的技术细节,…...

TWS耳机充电仓硬件设计全解析:从Type-C接口到NTC保护的7大核心模块

TWS耳机充电仓硬件设计全解析:从Type-C接口到NTC保护的7大核心模块 当你在咖啡馆掏出AirPods时,可能不会想到那个小巧的充电仓里藏着多少精密电路。作为硬件工程师,我们眼中的充电仓不是简单的塑料盒子,而是一个由七大核心模块组成…...

DeerFlow资源优化实践:控制Python执行环境内存占用方法

DeerFlow资源优化实践:控制Python执行环境内存占用方法 1. 认识DeerFlow:您的智能研究助手 DeerFlow是一个基于LangStack技术框架开发的深度研究开源项目,它就像是您的个人研究团队,能够帮您完成各种复杂的调研任务。这个工具整…...

LeetCode 3548. 等和矩阵分割2 详细题解(前缀和+二分+连通性分析)

LeetCode 3548. 等和矩阵分割2 详细题解(前缀和二分连通性分析) 🏷️ 标签:前缀和、二分查找、连通性、哈希表、矩阵、周赛难题 📊 难度:中等 | 📝 题目编号:3548 | 🗂️…...

Windows系统下安装与配置FreeSWITCH完整指南

本文提供在 Windows 系统上安装 FreeSWITCH 的完整步骤,涵盖下载、安装、配置、启动测试,以及可能遇到问题的解决方案,帮助你顺利完成开发环境的搭建。 一、环境准备与下载 1.1 系统要求 项目要求操作系统Windows 7/8/10/11,Wi…...

2026最权威AI论文平台榜单:这些被高校和导师悄悄推荐的工具你还没用?

AI论文平台正成为学术研究的重要助力工具,其在提升写作效率、确保内容合规性方面展现出显著价值。依托权威检测机构、高校实测数据及用户真实反馈,2026年最值得信赖的AI论文平台已逐渐浮出水面,它们不仅功能全面,更深度适配中文论…...

CST、Sspp与色散曲线的关联

CST cst Sspp 色散曲线在电磁仿真领域摸爬滚打过的工程师,对色散曲线这个磨人的小妖精应该都不陌生。今天咱们就来聊聊怎么用CST Studio Suite里的本征模求解器(Eigenmode Solver)提取波导结构的色散曲线,手把手带你从懵逼到上手…...

从抓包到反编译:wx小程序逆向实战全记录(含云函数分析)

从抓包到反编译:小程序逆向工程深度解析与技术实践 在移动互联网时代,小程序以其轻量化和便捷性迅速占领市场,而作为开发者,理解小程序背后的运行机制不仅能提升开发能力,更能帮助进行安全审计和性能优化。本文将带您深…...

如何高效使用英雄联盟智能助手:5分钟快速上手指南

如何高效使用英雄联盟智能助手:5分钟快速上手指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否经常因为错过…...

探索视频采集技术:OBS Studio实现高效直播录制的创新方法

探索视频采集技术:OBS Studio实现高效直播录制的创新方法 【免费下载链接】obs-studio OBS Studio - 用于直播和屏幕录制的免费开源软件。 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio 在当今内容创作领域,视频采集技术是直播与…...

SenseVoice-small保姆级教程:Mac/Windows本地快速启动WebUI步骤

SenseVoice-small保姆级教程:Mac/Windows本地快速启动WebUI步骤 你是不是也遇到过这样的场景?开完会想整理录音,发现要上传到云端才能转文字,担心隐私泄露;或者想给视频加字幕,但手动打字太费时间&#xf…...

OpenClaw版本升级:GLM-4.7-Flash环境无缝迁移指南

OpenClaw版本升级:GLM-4.7-Flash环境无缝迁移指南 1. 为什么需要升级? 上周我在本地开发环境遇到一个棘手问题:OpenClaw的旧版本无法正确解析GLM-4.7-Flash模型返回的JSON响应。经过排查发现是框架对数组嵌套结构的处理存在兼容性问题。这促…...

OpenClaw + 搜索与资讯:让 AI 帮你「刷」信息,告别信息焦虑

你每天花多少时间刷信息流?30分钟?1小时?今天这篇文章,帮你把这段时间降为零。 01 信息过载是现代人的标配焦虑 早上醒来第一件事是什么?很多人已经条件反射地拿起手机,打开微信公众号、知乎、微博、Twitt…...

深度解析:Umi-OCR Rapid版本HTTP服务参数配置的3个关键步骤

深度解析:Umi-OCR Rapid版本HTTP服务参数配置的3个关键步骤 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com…...

AudioLDM-S移动开发:Android音频API集成指南

AudioLDM-S移动开发:Android音频API集成指南 1. 引言 想在Android应用中实现"一句话生成专属音效"的酷炫功能吗?AudioLDM-S让这变得可能。这个强大的AI模型可以将文本描述直接转换为高质量的音效,从雨滴声到科幻音效都能轻松生成…...

LeRobot终极指南:用开源框架零门槛构建智能协作机械臂

LeRobot终极指南:用开源框架零门槛构建智能协作机械臂 【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot 副标题&#xf…...