LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
nbiot.isReady()#
网络是否就绪
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 已联网返回true,否则返回false |
例子
-- 判断是否已经联网
if nbiot.isReady() then log.info("nbiot", "net is ready")
end
nbiot.imsi()
读取IMSI
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 返回IMSI值,如果不存在就返回nil |
例子
--读取imsi
log.info("nbiot", "imsi", nbiot.imsi())
nbiot.iccid()
读取ICCID
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 返回ICCID值,如果不存在就返回nil |
例子
-- 读取iccid
log.info("nbiot", "iccid", nbiot.iccid())
nbiot.imei(val)
读取或设置IMEI
参数
| 传入值类型 | 解释 |
|---|---|
| string | 传入需要设置的imei值,不传就是读取 |
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 返回imei值,如果不存在就返回nil |
例子
-- 读取imei
log.info("nbiot", "imei", nbiot.imei())
@usage
-- 设置imei
log.info("nbiot", "imei", nbiot.imei("898989898989899898"))
nbiot.rssi()
读取RSSI
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回rssi值 |
例子
-- 读取rssi
log.info("nbiot", "rssi", nbiot.rssi())
nbiot.apn()
读取APN
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 返回apn值 |
例子
-- 读取APN
log.info("nbiot", "apn", nbiot.apn())
nbiot.userApn(apn,Auth_User_Name,Auth_Password,PDN_TYPE)
读取设置用户APN
参数
| 传入值类型 | 解释 |
|---|---|
| return | 读取返回PDN_TYPE,Auth_User_Name,Auth_Password,设置返回bool |
返回值
无
例子
-- 读取APN
log.info("nbiot", "apn", nbiot.userApn())
nbiot.tac()
读取TAC
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回TAC值 |
例子
-- 读取TAC
log.info("nbiot", "tac", nbiot.tac())
nbiot.tauTime()
读取Tau Time
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回Tau Time值 |
例子
-- 读取Tau Time
log.info("nbiot", "tau time", nbiot.tauTime())
nbiot.activeTime()
读取Active Time
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回Active Time值 |
例子
-- 读取Active Time
log.info("nbiot", "Active Time", nbiot.activeTime())
nbiot.cellID()
读取CellID
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回CellID值 |
例子
-- 读取CellID
log.info("nbiot", "CellID", nbiot.cellID())
nbiot.snr()
读取SNR
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回SNR值 |
例子
-- 读取SNR
log.info("nbiot", "SNR", nbiot.snr())
nbiot.csq()
读取CSQ, 并不完全等价于GSM的CSQ
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回csq值 |
例子
-- 读取csq
log.info("nbiot", "csq", nbiot.csq())
nbiot.ceLevel()
读取CE Level
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回CE Level值 |
例子
-- 读取CE Level
log.info("nbiot", "CE Level", nbiot.ceLevel())
nbiot.sn(val)
读取或设置SN,普通刷机(刷底层/刷脚本)不会清除
参数
| 传入值类型 | 解释 |
|---|---|
| string | 需要设置的SN值(只能是可见字符),不传值则为读取 |
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 返回SN值 |
例子
-- 读取SN
log.info("nbiot", "SN", nbiot.sn())
@usage
-- 设置SN
log.info("nbiot", "SN", nbiot.sn("My Custom SN"))
nbiot.updateCellInfo()
刷新网络信息,可通过定时任务刷新,最小间隔5秒
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 成功启动刷新线程返回true,否则返回false. |
例子
-- 刷新网络信息
nbiot.updateCellInfo()
sys.waitUntil("CELL_INFO_IND", 3000)
log.info("nbiot", "cell", json.encode(nbiot.getCellInfo()))
nbiot.mcc()
读取MCC值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商MCC值 |
例子
-- 读取MCC
log.info("nbiot", "mcc", nbiot.mcc())
nbiot.mnc()
读取MNC值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商MNC值 |
例子
-- 读取MNC
log.info("nbiot", "mnc", nbiot.mnc())
nbiot.earfcn()
读取earfcn值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商earfcn值 |
例子
-- 读取earfcn
log.info("nbiot", "earfcn", nbiot.earfcn())
nbiot.phyCellId()
读取phyCellId值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商phyCellId值 |
例子
-- 读取phyCellId
log.info("nbiot", "phyCellId", nbiot.phyCellId())
nbiot.rsrq()
读取rsrq值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商ersrq值 |
例子
-- 读取rsrq
log.info("nbiot", "rsrq", nbiot.rsrq())
nbiot.rsrp()
读取rsrp值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商rsrp值 |
例子
-- 读取rsrp
log.info("nbiot", "rsrp", nbiot.rsrp())
nbiot.powerLevel()
读取PowerLevel值,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 运营商PowerLevel值 |
例子
-- 读取PowerLevel
log.info("nbiot", "PowerLevel", nbiot.powerLevel())
nbiot.getCellInfo()
获取网络基站详情,注册网络后可用,通过nbiot.updateCellInfo()刷新
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| table | 网络基站详情 |
例子
-- 读取基站信息
log.info("nbiot", "cell info", json.encode(nbiot.getCellInfo()))
nbiot.setCFUN(val)
进入或退出飞行模式
参数
| 传入值类型 | 解释 |
|---|---|
| int | 0飞行模式,1普通联网模式 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 设置成功返回true,否则返回false |
例子
-- 进入飞行模式 nbiot.setCFUN(0)
nbiot.setBootCFUN(val)
设置设备上电启动时,是否进入飞行模式
参数
| 传入值类型 | 解释 |
|---|---|
| int | 0飞行模式,1普通联网模式 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 设置成功返回true,否则返回false |
例子
-- 设置为上电进入飞行模式 nbiot.setBootCFUN(0)
nbiot.getBootCFUN(val)
获取设备上电启动时,是否进入飞行模式
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 开机就进入飞行模式返回0,进入普通模式返回1 |
例子
-- 获取上电模式 nbiot.getBootCFUN()
nbiot.setPSM(psmMode,tauTimeS,activeTimeS)
设置PSM参数
参数
| 传入值类型 | 解释 |
|---|---|
| int | psm模式, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2) |
| int | TAU time(unit: S)—related to T3412 |
| int | active time(unit: S)—related to T3324 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 设置成功返回true,否则返回false |
例子
-- 设置PSM nbiot.setPSM(1, 60, 120)
nbiot.setEDRX(modeVal,actType,reqEdrxValueMs)
设置EDRX参数
参数
| 传入值类型 | 解释 |
|---|---|
| int | 模式,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3 |
| int | 可选值, 0或者5. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5 |
| int | edrx值,4个字节长度二进制字符串 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 设置成功返回true,否则返回false |
例子
-- 设置EDRX nbiot.setPSM(1, 5, "0101")
nbiot.getPSM()
获取PSM参数
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | psm模式, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2) |
| int | TAU time(unit: S)—related to T3412 |
| int | active time(unit: S)—related to T3324 |
例子
-- 获取PSM
log.info("psm", nbiot.getPSM())
nbiot.getEDRX()
获取EDRX参数
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 模式,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3 |
| int | 可选值, 0或者5. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5 |
| int | edrx值,单位毫秒 |
例子
-- 获取EDRX
log.info("edrx", nbiot.getEDRX())
nbiot.setTZ(tz, auto)
设置时区参数
参数
| 传入值类型 | 解释 |
|---|---|
| int | 时区参数,可选, 单位是1/4时区, 默认为 东8区, 对应的值为32 |
| boolean | 是否自动设置时区,可选, 默认为true |
返回值
无
例子
-- 设置为东8区,禁用自动更新时区功能 nbiot.setTZ(32, false) @usage -- 启用自动更新时区功能 nbiot.setTZ(nil, true)
nbiot.getTZ()
获取时区参数
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 时区参数,单位1/4时区, 默认东8区, 值为32 |
| boolean | 自动设置时区,默认为true |
例子
-- 获取时区参数
log.info("timezone", nbiot.getTZ())
nbiot.setBands(modes)
设置Band模式(暂不可用)
参数
| 传入值类型 | 解释 |
|---|---|
| any | 模式,需要是一个table形式的数组,必须传入 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 设置结果 |
例子
-- 仅搜索band 8
log.info("band", nbiot.setBands({8}))
nbiot.getBands()
获取当前使用的Band模式(暂不可用)
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| table | 所设置的band的数组 |
例子
-- 仅搜索band 8
log.info("band", json.encode(nbiot.getBands()))
nbiot.setEDRXPtw(val)
设置EDRX PTW参数
参数
| 传入值类型 | 解释 |
|---|---|
| int | 需要设置的值 |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 成功返回true,否则返回false |
例子
-- 设置PTW值为X nbiot.setEDRXPtw(val) -- 可选值 reqPtwValue: NB-S1 mode The field contains the PTW value in seconds for NB-S1 mode.The PTW value is used as specified in 3GPP TS 23.682 [133a].The PTW value is derived as follows: bitPaging Time Window length 0 0 0 0 2,56 seconds 0 0 0 1 5,12 seconds 0 0 1 0 7,68 seconds 0 0 1 1 10,24 seconds 0 1 0 0 12,8 seconds 0 1 0 1 15,36 seconds 0 1 1 0 17,92 seconds 0 1 1 1 20,48 seconds 1 0 0 0 23,04 seconds 1 0 0 1 25,6 seconds 1 0 1 0 28,16 seconds 1 0 1 1 30,72 seconds 1 1 0 0 33,28 seconds 1 1 0 1 35,84 seconds 1 1 1 0 38,4 seconds 1 1 1 1 40,96 seconds
nbiot.getEDRXPtw()
获取EDRX PTW参数
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | ptw值 |
例子
-- 打印PTW值
log.info("ptw", nbiot.getEDRXPtw())
nbiot.ticks()
获取tick计数
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| int | tick计数 |
例子
-- 打印PTW值
log.info("tick", nbiot.ticks())
相关文章:
LuatOS-SOC接口文档(air780E)--nbiot - NB-IOT操作库
nbiot.isReady()# 网络是否就绪 参数 无 返回值 返回值类型 解释 boolean 已联网返回true,否则返回false 例子 -- 判断是否已经联网 if nbiot.isReady() then log.info("nbiot", "net is ready") endnbiot.imsi() 读取IMSI 参数 无 返回值 …...
大数据之LibrA数据库系统告警处理(ALM-12017 磁盘容量不足)
告警解释 系统每30秒周期性检测磁盘使用率,并把磁盘使用率和阈值相比较。磁盘使用率有一个默认阈值,当检测到磁盘使用率超过阈值时产生该告警。 平滑次数为1,主机磁盘某一分区使用率小于或等于阈值时,告警恢复;平滑次…...
Python算法例4 求平方根
1. 问题描述 实现int sqrt(int x)函数,计算并返回x的平方根。 2. 问题示例 sqrt(3)1;sqrt(4)2;sqrt(5)2;sqrt(17&#…...
LVGL_多界面切换
LVGL_多界面切换 1、创建多个界面(create_page1();) 2、加载一个界面显示(lv_scr_load(page1);) 3、切换不同界面显示(lv_scr_load_anim(page2, LV_SCR_LOAD_ANIM_OVER_LEFT, 300, 0, false);) static lv_…...
C/C++输出字符菱形 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
目录 C/C输出字符菱形 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C输出字符菱形 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定一个字符,用它构造一个对角线长…...
DI93a HESG440355R3 通过其Achilles级认证提供网络安全
DI93a HESG440355R3 通过其Achilles级认证提供网络安全 施耐德电气宣布推出Modicon M580以太网PAC (ePAC)自动化控制器,该控制器采用开放式以太网标准,通过其Achilles级认证提供网络安全。M580 ePAC使工厂操作员能够设计、实施和运行一个积极利用开放网…...
Go中Panic and Recover
什么是Panic? 在 Go 程序中处理异常情况的惯用方法是使用errors.。errors足以应对程序中出现的大多数异常情况。 **但有些情况下,程序在出现异常情况后无法继续执行。在这种情况下,我们使用panic提前终止程序。当函数遇到恐慌时,…...
webpack 与 grunt、gulp 的不同?
结论先行: Webpack、Grunt 和 Gulp 都是前端开发中常用的构建工具,但是 Webpack 是基于模块化打包的工具,并支持模块化开发。而 Grunt 和 Gulp 都是基于任务的构建工具,自动执行指定的任务,但不支持模块化开发。 1、相…...
园区网真实详细配置大全案例
实现要求: 1、只允许行政部电脑对全网telnet管理 2、所有dhcp都在核心 3、wifi用户只能上外网,不能访问局域网其它电脑 4、所有接入交换机上bpdu保护 5、只允许vlan 10-40上网 5、所有接入交换机开dhcp snoop 6、所有的交换机指定核心交换机为ntp时间服务…...
小程序video标签在底部出现1px无法去除的黑色线
问题描述 参见社区问题详情 此问题只会在ios手机真机中出现,视频底部出现1px无法去除的黑色线 解决方法 1.尝试过video各种配置,以为是设置参数导致 2.尝试过父元素设置height:200px;overflow:hidden;vi…...
渗透工具使用及思路总结(持续更新)
扫描类 nmap 快速扫描开放端口 nmap --min-rate 10000 -p- 10.129.252.63扫描详细全服务 nmap -sV -A -p 22,80 10.129.252.63 nmap -sV -A -p- 10.129.252.63-l:显示正在监听的 TCP 和 UDP 端口; -a:显示所有活动的 TCP 连接; -A <网络类型>或 - <网络类型&g…...
速卖通新卖家有必要测评吗?
大家都知道通过测评可以提升产品的转化率,提升产品的销量,那么做速卖通的卖家有必要测评吗? 测评就是类似于国内电商的补单,而一个类目里面竞争很大很卷的话,不去补销量来提升产品的权重,凭借着平台给的自…...
从lc114. 二叉树展开为链表到lc-LCR 155二叉搜索树转化为排序的双向链表
1 lc114. 二叉树展开为链表 1.1 描述 进阶:你可以使用原地算法(O(1) 额外空间)展开这棵树吗? 1.2 解法一: 先序遍历这棵树并且将节点加入到一个list中,随后按顺序将list中的每一个元素的left指针置换为…...
做读书笔记时的一个高效小技巧
你好,我是 EarlGrey,一名双语学习者,会一点编程,目前已翻译出版《Python 无师自通》、《Python 并行编程手册》等书籍。 在这里,我会持续和大家分享好书、好工具和高效生活、工作技巧,欢迎大家一起提升认知…...
Redis7.x 高级篇
Redis7.x 高级篇 Redis版本发行时间Redis单线程说的是什么东西 Redis版本发行时间 Redis单线程说的是什么东西...
2023辽宁省数学建模B题数据驱动的水下导航适配区分类预测完整原创论文分享(python求解)
大家好呀,从发布赛题一直到现在,总算完成了辽宁省数学建模B题完整的成品论文。 本论文可以保证原创,保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 B用Python+SPSSPRO求解&…...
向量数据库的崛起与多元化场景创新
向量数据库的崛起与多元化场景创新 前言: 在当今数字化时代,数据被认为是黄金,对于企业、科学家和决策者而言都具有巨大的价值。然而,随着数据规模的不断增长,有效地管理、存储和检索数据变得愈发复杂。这就引入了向量…...
面试10000次依然会问的【ReentrantLock】,你还不会?
引言 在并发编程的世界中,ReentrantLock扮演着至关重要的角色。它是一个实现了重入特性的互斥锁,提供了比synchronized关键字更加灵活的锁定机制。ReentrantLock属于java.util.concurrent.locks包,是Java并发API的一部分。 与传统的synchro…...
Bat批量处理
一:创建文件夹 excel创建文件 复制出来新建文本文件 另存为bat 双击bat 二:批量移动文件 A列:获取的文件名列表 dir /b/o:n> original.txt B列:填充序号 C列公式:每隔9行增加1 INT((ROW(B1)-1)/9)1 D列公式&am…...
【一、http】go的http基本请求方法
1、http的基本请求 package mainimport ("bytes""fmt""io""net/http""net/url" )func post(){r, err : http.Post("http://httpbin.org/post", "", nil)if err ! nil {fmt.Println("ss")}de…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
