4G模组软件指南 | 必读篇之模块信息(hmeta)
今天我讲解的这篇关于4G模组软件的模块信息属于必读篇,望珍惜!
1、模块信息概述
模块信息是每一个模块携带的信息,就像人的身份证一样,这些信息确定了模块的唯一性;
包含设备唯一id,硬件型号,模组的硬件版本号,固件版本号等;
模块远程升级需要上传模块信息,解决和分析某些问题的时候可能也会需要确认模块信息。
2、演示功能概述
使用Air780E核心板烧录底层固件(LuatOS-SoC_V1112_EC618_FULL.soc)和hmeta例程脚本学习有关模块信息的api函数.
3、硬件准备
3.1 Air780E核心板
使用Air780E核心板,
此核心板的详细使用说明参考:
https://docs.openluat.com/air780e/
Air780E产品手册中的《开发板Core_Air780E使用说明VX.X.X.pdf》,写这篇文章时最新版本的使用说明为:《开发板Core_Air780E使用说明V1.0.5.pdf》;核心板使用过程中遇到任何问题,可以直接参考这份使用说明pdf文档。
3.2 SIM卡
中国大陆环境下,可以上网的sim卡,一般来说,使用移动,电信,联通的物联网卡或者手机卡都行。
3.3 PC电脑
WINDOWS系统。
3.4 数据通信线
带TYPE-C口的USB数据线。
4、软件环境
4.1 Luatools工具
要想烧录LuatOS固件到4G模组中,需要用到的调试工具:Luatools;
详细使用说明参考:
Luatools工具使用说明:
https://docs.openluat.com/Luatools/
Luatools工具集具备以下几大核心功能:
一键获取最新固件:自动连接服务器,轻松下载最新的模组固件.
固件与脚本烧录:便捷地将固件及脚本文件烧录至目标模组中.
串口日志管理:实时查看模组通过串口输出的日志信息,并支持保存功能.
串口调试助手:提供简洁的串口调试界面,满足基本的串口通信测试需求.
Luatools下载之后,新建一个命名为"Luatools"的文件夹,将下载的Luatools_v3.exe拷贝或移动到新建的Luatools文件夹内,点击Luatools_v3.exe即可运行.
4.2 准备需要烧录的代码
首先要说明一点:脚本代码,要和固件的soc文件一起烧录.
4.2.1 烧录的底层固件文件
底层core下载地址:LuatOS固件版本下载地址

Air780E的底层固件在Luatools解压后目录的:
LuatOS-SoC_V1112_EC618_FULL.soc

4.2.2 烧录的脚本代码
首先,要下载Air780的LuatOS示例代码到一个合适的项目目录。
示例代码网站:
https://gitee.com/openLuat/LuatOS-Air780E
下载流程参考下图:


下载的文件解压,找到LuatOS-Air780E-master\demo\hmeta\main.lua,如图:

5、API说明
5.1 mcu.unique_id()
获取设备唯一id。
参数
无
返回值
返回值类型 解释
string
设备唯一id
例子

5.2 mobile.imei(index)
获取设备IMEI
参数
传入值类型 解释
int
编号,默认0.在支持双卡的模块上才会出现0或1的情况
返回值
返回值类型 解释
string
设备IMEI
例子

5.3 hmeta.model()
获取硬件型号
参数
无
返回值
返回值类型 解释
string
若能识别到,返回硬件型号,否则会是nil
例子

5.4 rtos.bsp()
获取硬件bsp型号
参数
无
返回值
返回值类型 解释
string
硬件bsp型号
例子

5.5 hmeta.hwver()
获取模组的硬件版本号
参数
无
返回值
返回值类型 解释
string
若能识别到,返回模组的硬件版本号,否则会是nil
例子

5.6 rtos.version()
获取固件版本号
参数
无
返回值
返回值类型 解释
string
固件版本号
例子

6、功能验证
6.1 烧录固件
6.1.1 正确连接电脑和4G模组电路板
使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线.
6.1.2 识别4G模组的boot引脚
在下载之前,要用模组的boot引脚触发下载,也就是说,要把4G模组的boot引脚拉到1.8v,或者直接把boot引脚和VDD_EXT引脚相连.我们要在按下BOOT按键时让模块开机,就可以进入下载模式了.
具体到Air780E开发板:
1、当我们模块没开机时,按着BOOT键然后长按POW开机。
2、当我们模块开机时,按着BOOT键然后点按重启键即可。

6.1.3 识别电脑的正确端口
判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备,会出现一个端口表示进入了boot下载模式,如下图所示:

6.1.4 用Luatools工具烧录
新建项目
首先,确保你的Luatools的版本,大于等于3.0.6版本的.
在Luatools的左上角上有版本显示的,如图所示:

Luatools版本没问题的话,就点击Luatools右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,可以新建一个项目,如下图:

开始烧录
选择Air780E板子对应的底层core和刚改的main.lua脚本文件.下载到板子中.

点击下载后,我们需要进入boot模式才能正常下载.
如果没进入boot模式会出现下图情况:

进入boot模式下载,如图:


6.2 例程

6.3 对应log

7、总结
通过本章学习,你可以学习到模块唯一ID,模块硬件型号,固件版本,硬件版本的获取方法.
8、常见问题
8.1 模块唯一ID文档
mobile.sn()获取SN,出厂未必有写SN;一般用途的唯一id,可以用mobile.imei()代替;如需要真正的唯一ID,使用mcu.unique_id()
8.2 通过IMEI查询模块生产记录
分享完毕
4G模组软件指南 | 必读篇之模块信息(hmeta)的更多相关文章
- 泰拉瑞亚EasyBuildMod便捷建造模组开发详细过程
pre { overflow-y: auto; max-height: 400px } img { max-width: 500px; max-height: 300px } github地址: ht ...
- 手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台
摘要:本期文章采用了4G LTE Cat.1模块,编程语言用的是lua,实现对华为云物联网平台的设备通信与控制 本文分享自华为云社区<基于luatos的4G(LTE Cat.1)模组接入华为云物 ...
- opencv实现camera模组的暗电流和lenshading补偿 .
目录(?)[-] 简介 基本原理 产生原因 校正补偿原理 具体实现 框架搭建 功能实现 暗电流 lenshading补偿 效果演示 图片处理 效果演示 简介 在接触过的qcom和mtk平台中,came ...
- 【转】Spark性能优化指南——基础篇
http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&sn=2f413828d1fdc6a ...
- 【转】android camera(一):camera模组CMM介绍
关键词:android camera CMM 模组 camera参数平台信息:内核:linux系统:android 平台:S5PV310(samsung exynos 4210) 作者:xubin ...
- Spark性能优化指南——基础篇(转载)
前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...
- Spark性能优化指南——基础篇
本文转自:http://tech.meituan.com/spark-tuning-basic.html 感谢原作者 前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一 ...
- Java工程师学习指南 完结篇
Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...
- android camera(一):camera模组CMM介绍【转】
转自:https://blog.csdn.net/kevinx_xu/article/details/8821818 androidcmm图像处理工作手机三星 关键词:android camera ...
- iPhone X 的原深感模组
物理与数字世界正走向融合,我们每天醒来的时间.睡眠时长.心率和步数等数据都会被分享.上传并转化为分析数据.无处不自的 AI.互联互通和软件平台将改变用户对现实的感知. 2018 年的 CES 展(国际 ...
随机推荐
- AutoMaper使用
使用 AutoMapper 进行赋值 一. 什么是 AutoMapper AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 二. Aut ...
- 【爬虫实战】——利用bs4和正则表达式,简单实现爬取数据
前言 好久没有写博客了,由于一直比较忙,感觉快荒废了学习的步伐,最近由于需要利用爬虫爬取数据,总结一下,以便以后查阅. 目录 一.bs4的安装 二.bs4解析器 三.定位查找标签 四.转换格式 五.提 ...
- 从cmake解决clion编译生成的可执行文件(.exe)不可执行的问题
我这里没有显示报错,是直接闪退的情况,但是网上搜索的时候大多数是有报错弹窗的,运行报错提示为无法链接动态库.如下图: ![原图来自CSDN@LJY_kt11 一句话说清楚 原因是使用CLion编译的程 ...
- Identity – user login, forgot & reset password, 2fa, external login, logout 实战篇
前言 之前写过一篇 Identity – User Login, Forgot Password, Reset Password, Logout, 当时写的比较简陋, 今天有机会就写多一篇实战版. 建 ...
- 二叉树的 Morris 中序遍历——O(1)空间复杂度
回顾 问题陈述: 给定一棵二叉树,实现中序遍历并返回包含其中序序列的数组 例如给定下列二叉树: 我们按照左.根.右的顺序递归遍历二叉树,得到以下遍历: 最终中序遍历结果可以输出为: [3, 1, 9, ...
- Nuxt Kit 中的上下文处理
title: Nuxt Kit 中的上下文处理 date: 2024/9/16 updated: 2024/9/16 author: cmdragon excerpt: Nuxt Kit 提供的上下文 ...
- 从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...
- PasteForm最佳CRUD实践,实际案例PasteTemplate详解(一)
本文将介绍soft.pastecode.cn出品的PasteForm,PasteForm是贴代码使用Dto思想实现的CRUD的一个组件,或者说输出一个思想! 为啥我觉得是最佳的CRUD呢?先结合你的实 ...
- Nuxt.js 应用中的 page:start 钩子详解
title: Nuxt.js 应用中的 page:start 钩子详解 date: 2024/10/8 updated: 2024/10/8 author: cmdragon excerpt: pag ...
- ARM SMMU 与 IOMMU 的区别
ARM SMMU (System Memory Management Unit) 和 IOMMU (Input-Output Memory Management Unit) 都是用于管理系统内存访问和 ...