今天我讲解的这篇关于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)的更多相关文章

  1. 泰拉瑞亚EasyBuildMod便捷建造模组开发详细过程

    pre { overflow-y: auto; max-height: 400px } img { max-width: 500px; max-height: 300px } github地址: ht ...

  2. 手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台

    摘要:本期文章采用了4G LTE Cat.1模块,编程语言用的是lua,实现对华为云物联网平台的设备通信与控制 本文分享自华为云社区<基于luatos的4G(LTE Cat.1)模组接入华为云物 ...

  3. opencv实现camera模组的暗电流和lenshading补偿 .

    目录(?)[-] 简介 基本原理 产生原因 校正补偿原理 具体实现 框架搭建 功能实现 暗电流 lenshading补偿 效果演示 图片处理 效果演示 简介 在接触过的qcom和mtk平台中,came ...

  4. 【转】Spark性能优化指南——基础篇

    http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&sn=2f413828d1fdc6a ...

  5. 【转】android camera(一):camera模组CMM介绍

    关键词:android  camera CMM 模组 camera参数平台信息:内核:linux系统:android 平台:S5PV310(samsung exynos 4210)  作者:xubin ...

  6. Spark性能优化指南——基础篇(转载)

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

  7. Spark性能优化指南——基础篇

    本文转自:http://tech.meituan.com/spark-tuning-basic.html 感谢原作者 前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一 ...

  8. Java工程师学习指南 完结篇

    Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...

  9. android camera(一):camera模组CMM介绍【转】

    转自:https://blog.csdn.net/kevinx_xu/article/details/8821818 androidcmm图像处理工作手机三星 关键词:android  camera ...

  10. iPhone X 的原深感模组

    物理与数字世界正走向融合,我们每天醒来的时间.睡眠时长.心率和步数等数据都会被分享.上传并转化为分析数据.无处不自的 AI.互联互通和软件平台将改变用户对现实的感知. 2018 年的 CES 展(国际 ...

随机推荐

  1. MessageBox弹出后无响应

    这几天学习了自定义模板对话框类,就是说不用系统定义的模板对话框类来创建对话框 消息处理就不用返回0了,可直接返回DefWindowProc HINSTANCE hInstance = ::GetMod ...

  2. 细说WebService

    细说WebService 简介 WebService 是一个应用于客户端.服务端,基于http协议的web应用程序,他有一个非常重要的特点,那就是可以跨语言.跨平台进行远程调用,可应用于分布式系统中的 ...

  3. 【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码

    问题现象 Oracle.Mysql数据库链接串,JDBC驱动连接串可以指定客户端的编码格式: jdbc:mysql://hostname:port/database_name?useUnicode=t ...

  4. Java 1.8 Stream流原理与用法总结

    一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心 ...

  5. Go runtime 调度器精讲(五):调度策略

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 在 第四讲 我们介绍了 main goroutine 是如何运行的.其中针对 main goroutine 介绍了调度函数 schedule 是 ...

  6. AI老照片修复神器,Anole下载介绍

    最近AI老照片修复上色,再一次火出圈,一些社交平台关于此话题内容流量满满,尤其是在小红书和抖音火的不得了,本期文章就来给大家分享下AI修复老照片的方式方法 本文主要介绍使用Anole修复老照片的方法, ...

  7. 开源项目dotnet/eshop 和 dotnet/eshopsupport

    dotnet/eshop[1] 和 dotnet/eshopsupport[2] 是两个与 .NET 相关的开源项目,分别用于展示电子商务应用的不同方面. dotnet/eshop: 功能与架构:do ...

  8. RabbitMQ——死信队列介绍和应用

    死信和死信队列的概念 什么是死信?简单来说就是无法被消费和处理的消息.一般生产者将消息投递到broker或者queue,消费者直接从中取出消息进行消费.但有时因为某些原因导致消息不能被消费,导致消息积 ...

  9. Android dtbo(3) 编译和验证

    您可以使用设备树编译器 (DTC) 编译设备树源文件.不过,在将叠加层 DT 应用于目标主 DT 之前,您还应该通过模拟 DTO 的行为来验证结果. 1. 通过DTC进行编译 构建主 DT .dts ...

  10. 深度学习卷积、全连接层、深度可分离层参数量和FLOPs计算公式

    来源 卷积: 输入尺寸  ,卷积核的大小为  * ,输出的尺寸大小为  参数量 (1)不考虑bias:(2)考虑bias: FLOPs (1)不考虑bias 解释:先计算输出的中一个元素需要的计算量, ...