电路研究9.2——合宙Air780EP使用AT指令

        这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。

        软件的开发方式:

        AT:MCU 做主控,MCU AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑在 MCU 端实现;

        LuatOS :无需 MCU ,模组支持软件二次开发,业务逻辑直接在模组上实现,开发语 言为 Lua 脚本语言;
        用户可用 ROM 空间:脚本: 256KB ;文件系统: 128KB FSKV 分区: 64KB FOTA 分区:420KB
        用户可用 RAM 空间:内核系统 (SRAM) 250KB Lua 虚拟机 (SRAM) 256KB ; pSRAM: 2MB
        此处列举的用户可用 ROM RAM 空间为发布的系统固件默认配置数值或者上限数值;如果默认发布的系统固件功能满足不了需求,可以在云编译系统中自 定义编译系统固件,一般来说,自定义编译的系统固件功能越多,给用户可用 的剩余空间就越小;
        CSDK:无需 MCU,模组支持软件二次开发,业务逻辑直接在模组上实现,开发语言
C 语言;
        用户可用 ROM 空间:代码:1500KB;文件系统:128KB;FSKV 分区:64KB;FOTA 分区:420KB;
        用户可用 RAM 空间: SRAM 530KB pSRAM 2MB
        此处列举的用户可用 ROM 和 RAM 空间为发布的系统固件默认配置数值或者上 限数值;如果默认发布的系统固件功能满足不了需求,可以在云编译系统中自 定义编译系统固件,一般来说,自定义编译的系统固件功能越多,给用户可用 的剩余空间就越小;
        Linux/Android 应用:
        支持适配 Linux USB RNDIS 应用;
        支持适配 Android ril 应用;
这里我们先用AT指令模式,先研究一下如果不用STM32行不行,不行的话尝试连接STM32,之后再尝试 LuatOS,毕竟合宙推荐的是LuatOS模式。我们为了省空间使用的是模块本身,没添加MCU。后面那两种,不熟悉呢,特别是最后那种属于完全是上位机的,压根不行。
        
看着这个框图,模块用的cortex-M3,感觉跟STM32系列单片机有很大联系,所以可以尝试编程。
AT命令用法:
之前已经列举过了,这里就不再重复了。我只列举我之后需要用到的。
2.5 查询 SIM ICCID 号码: AT+CCID(/ICCID)
        
这个是奔着SIM卡来的,不过查了一下CCID是什么,不接触确实不知道呢。
ICCID:Integrate circuit card identity 集成电路卡识别码即 SIM卡卡号,相当于手机卡的 身份证。 ICCID为 IC卡的识别号码,共由20位字符组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXX。分别介绍如下: 前六位运营商代码: 中国移动的为:898600;898602;898604;898607 , 中国联通的为:898601、898606、898609, 中国电信898603、898611。
不过这个好像也没啥用,所以就是了解一下就好了。
        2.12 重启模块:AT+RESET:
        
2.13 重启模块并恢复出厂设置: AT+RSTSET
        
这个两个是必需的,使用的时候重启一下,运行试试设置的对不对,或者信息没有获取,重新获取一下。
2.14 查询开机原因值: AT*EXINFO?
         
这个指令一般是非正常关机时候查看信息用的。倒也了解一下就好了。
        3.2 保存用户当前的配置: AT&W
        

        这个命令我觉得比较常用吧,保存好的数据,再开机不会出现清除。而且后面很多都需要进行这种保存配置。

        3.11 实时时钟:AT+CCLK

        

        

        这个时钟可能是需要的呢,计时用或者定时用。比如累计设备的运行时间。

        3.12 设置 USB 模式:AT+SETUSB

        因为用到了USB端口,而且涉及到AT指令了,所以这里就添加一下吧。

        4.2关机:AT+CPOWD

        

        关机,这个可以了解一下,不过一直开机,没电了就关机也是一个情况。本来打算的就是这个。

        4.7设置 TE-TA 波特率:AT+IPR

        

        这个可以设置波特率,然后用AT&W保存住设置。

        4.8设置 TE-TA 帧格式:AT+ICF

        

        这个看着像波特率的校验位设置呢,所以也要添加上,

        4.9设置指令行换行字符:ATS4

        这里换行,便于发送指令时候每条1行使用。

        4.10 TE-TA 本地流量控制:AT+IFC

        流控简介

        对 模块与 DTE 之间可靠的通信而言,流控是很重要的。假使一次数据或传真呼叫中,发送端的发送 速度大于接收端的接收速度,当接收缓存接近满的时候,接收端应该有方法让发送端暂停发送,直到 它重新赶上。这就是流控。
一般来说,有两种方法来实现流控。它们是软件流控和硬件流控。在多路复用模式下,推荐采用硬件 流控。合宙模块对这两种流控方式都支持。
        软件流控:
        软件流控发送不同的字符去暂停(XOFF ,十进制 19) 和恢复 (XON ,十进制 17)数据流。它适用于仅 仅有三根线的串口通信。 合宙 LTE 模块如果使用软件流控,则需要通过命令: AT+IFC=1,1 来配置。 因为这个配置不保存,所以若希望重启后继续使用软件流控,需要通过 AT&W 保存到用户配置表中。
        注:当模块传送的是二进制/ 十六进制数据时,不适合软件流控方式,因为 TE可能会将二进制数据当成流控字符。
        硬件流控:
        硬件流控通过 RTS/CTS 信号来实现。当接收缓存快满的时候,模块把 CTS 信号设置为无效,数据 传输被暂停。当模块的接收缓存可以接收更多数据时, CTS 信号重新被设置为有效。 要实现硬件流控功能,请确保你的应用串口包含 RTS/CTS 线。

        

        这个流控因为涉及到了软件流控,之前也查过了流控相关,所以这里仅仅备注一下,而且我们以前使用的大部分都是软件流控,所以这里肯定用到了。

        4.14 通过 UART 口设置睡眠唤醒:AT+CSCLK

        

        通过串口使模块进入睡眠的先决条件是:不接 USB 口。这里开来串口跟USB口只能二选一了,当然串口跟USB口都能做AT指令通讯口,可以测试看看。

        4.16 超低功耗指令:AT+POWERMODE

        

        4.17 设置睡眠等待时间:AT+WAKETIM

        这个低功耗指令跟睡眠等待时间,需要设置,便于省电。

        4.23 打开/关闭网络灯:AT+CNETLIGHT

        本命令的设置命令是用来打开或关闭网络状态指示灯(NET_STATUS)。本命令的查询命令是用来查询网络状态指示灯是否已经打开。 Air780E 系列模块分别用如下管脚信号来指示网络的状态。如下表描述了管脚定义。

        

        网络状态指示灯,是需要的,可以查看是否连接网络。

        4.28 重新打开 USBAT+SYSNV=1,"ureboot",1

        5.5网络注册信息:AT+CREG

        

        5.6E-UTRAN EPS 网络注册状态:AT+CEREG

        设置命令打开或关闭+CEREGURC上报,URC上报内容如下: 设置<n>=1,当在E-UTRAN网的EPS注册状态发生变化时,主动上报+CEREG: <stat>设置<n>=2,当在E-UTRAN网的EPS注册状态或驻网小区发生变化时,主动上报+CEREG: <stat>[,<tac>,<ci>,<act>] 设置<n>=3,当在E-UTRAN网的EPS注册状态或驻网小区发生变化时,主动上报 +CEREG: <stat>[,<tac>,<ci>,<act>[,<cause_type>,<reject_cause>]]

        

        5.7设置网络模式:AT^SYSCONFIG

        本命令设置系统模式,GSM/WCDMA 接入顺序,漫游和业务域特征。
        
这个就是网络相关情况了。
5.10 自动时区更新: AT+CTZU
        
这个就是基本一些需求了。剩下的就是外设的了。暂时就是这些了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚博microros小车-原生ubuntu支持系列:1 键盘控制

背景&#xff1a;电脑配置不太行&#xff0c;我在ubuntu再运行vmware&#xff0c;里面运行亚博官方的虚拟机镜像ubuntu&#xff0c;系统很卡。基本上8G内存给打满了。还是想把亚博官方的代码迁移出来&#xff0c;之前售后就说除了官方镜像虚拟机&#xff0c;需要自己摸索迁移。…

Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况

服务器上编译glibc2.29版本导致命令不能用 Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion sym ! NULL failed!下面是造成不可用的原因 1.编译完gcc 2.29版本后&#xff0c;开始做映射&#xff0c;以达到能使用最新版…

C语言进程与线程编程实战:IPC机制与线程同步详解

系列文章目录 01-C语言从零到精通&#xff1a;常用运算符完全指南&#xff0c;掌握算术、逻辑与关系运算 02-C语言控制结构全解析&#xff1a;轻松掌握条件语句与循环语句 03-C语言函数参数传递深入解析&#xff1a;传值与传地址的区别与应用实例 04-C语言数组与字符串操作全解…

ubuntu k8s 1.31

ubuntu 系统 设置 更新源 apt-get upgradeapt upgradeapt update apt-get update释放root sudo passwd root密码su - 密码设置root可以登录 cd /etc/ssh/sshd_config.d && vi ssh.confPermitRootLogin yes PasswordAuthentication yes:wq 保存退出 systemctl resta…

第4章 神经网络【1】——损失函数

4.1.从数据中学习 实际的神经网络中&#xff0c;参数的数量成千上万&#xff0c;因此&#xff0c;需要由数据自动决定权重参数的值。 4.1.1.数据驱动 数据是机器学习的核心。 我们的目标是要提取出特征量&#xff0c;特征量指的是从输入数据/图像中提取出的本质的数 …

如何获取小程序的code在uniapp开发中

如何获取小程序的code在uniapp开发中&#xff0c;也就是本地环境&#xff0c;微信开发者工具中获取code&#xff0c;这里的操作是页面一进入就获取code登录&#xff0c;没有登录页面的交互&#xff0c;所以写在了APP.vue中&#xff0c;也就是小程序一打开就获取用户的code APP.…

Blazor-选择循环语句

今天我们来说说Blazor选择语句和循环语句。 下面我们以一个简单的例子来讲解相关的语法&#xff0c;我已经创建好了一个Student类&#xff0c;以此类来进行语法的运用 因为我们需要交互性所以我们将类创建在*.client目录下 if 我们做一个学生信息的显示&#xff0c;Gender为…

科家多功能美发梳:科技赋能,重塑秀发新生

在繁忙的都市生活中,头皮健康与秀发养护成为了现代人不可忽视的日常课题。近日,科家电动按摩梳以其卓越的性能和创新设计,赢得了广大消费者的青睐。这款集科技与美学于一身的美发梳,不仅搭载了2亿负离子、6000次/分钟的声波振动等前沿技术,更融入了650nm聚能环红光与415nm强劲蓝…

代码随想录day3

203:移除链表元素&#xff1a;注意虚拟头节点的使用 ListNode* removeElements(ListNode* head, int val) {ListNode* result new ListNode();result->next head;ListNode* current result;while(current ! nullptr && current->next ! nullptr){if(current-…

嵌入式硬件篇---ADC模拟-数字转换

文章目录 前言第一部分&#xff1a;STM32 ADC的主要特点1.分辨率2.多通道3.转换模式4.转换速度5.触发源6.数据对齐7.温度传感器和Vrefint通道 第二部分&#xff1a;STM32 ADC的工作流程&#xff1a;1.配置ADC2.启动ADC转换 第三部分&#xff1a;ADC转化1.抽样2.量化3.编码 第四…

14-6-2C++的list

(一&#xff09;list对象的带参数构造 1.list&#xff08;elem);//构造函数将n个elem拷贝给本身 #include <iostream> #include <list> using namespace std; int main() { list<int> lst(3,7); list<int>::iterator it; for(itlst.begi…

编译安装PaddleClas@openKylin(失败,安装好后报错缺scikit-learn)

编译安装 前置需求&#xff1a; 手工安装swig和faiss-cpu pip install swig pip install faiss-cpu 小技巧&#xff0c;pip编译安装的时候&#xff0c;可以加上--jobs64来多核编译。 注意先升级pip版本&#xff1a;pip install pip -U pip3 install faiss-cpu --config-s…

【GoLang】利用validator包实现服务端参数校验时自定义错误信息

在C/S架构下&#xff0c;服务端在校验请求参数时&#xff0c;若出现参数错误&#xff0c;要响应给客户端一个错误消息&#xff0c;通常我们会统一响应“参数错误”。 但是&#xff0c;如果只是一味的提示参数错误&#xff0c;我并不知道具体是哪个参数错了呀&#xff01;能不能…

Web 代理、爬行器和爬虫

目录 Web 在线网页代理服务器的使用方法Web 在线网页代理服务器使用流程详解注意事项 Web 请求和响应中的代理方式Web 开发中的请求方法借助代理进行文件下载的示例 Web 服务器请求代理方式代理、网关和隧道的概念参考文献说明 爬虫的工作原理及案例网络爬虫概述爬虫工作原理 W…

《智人之上:从石器时代到 AI 时代的信息网络简史》介绍

《智人之上&#xff1a;从石器时代到AI时代的信息网络简史》是尤瓦尔赫拉利于2024年推出的新作&#xff0c;以下是关于这本书的详细介绍&#xff1a; ### 作者简介 尤瓦尔赫拉利&#xff0c;1976年出生于以色列海法&#xff0c;成长于世俗犹太家庭。他3岁自学读书&#xff0c;…

在无法联网的Linux主机或者容器内远程连接主机部署或者容器版的postgresql数据库

最近做的项目遇到一个问题&#xff0c;需要在Linux主机或者容器内&#xff08;内网环境&#xff0c;无法联网下载postgresql资源&#xff09;&#xff0c;访问远程环境上主机或者容器部署的postgresql数据库&#xff0c;进行数据库数据备份和恢复。 我们知道&#xff0c;直接在…

C语言内存管理详解

C语言不像其他高级语言那样提供自动内存管理&#xff0c;它要求程序员手动进行内存的分配和释放。在C语言中&#xff0c;动态内存的管理主要依赖于 malloc、calloc、realloc 和 free 等函数。理解这些函数的用法、内存泄漏的原因及其防止方法&#xff0c;对于编写高效、可靠的C…

论文阅读的附录(七):Understanding Diffusion Models: A Unified Perspective(二):公式46的推导

Understanding Diffusion Models: A Unified Perspective&#xff08;二&#xff09;&#xff1a;公式46的推导 文章概括要推导的公式1. 条件概率的定义2. 联合分布的分解2.1 联合分布的定义2.2 为什么可以这样分解&#xff1f;2.3 具体意义 3. 分母的分解&#xff1a;边际化规…

Airflow:解码Airflow执行日期

执行日期是Apache Airflow&#xff08;用于编排复杂数据管道的开源平台&#xff09;的关键概念。掌握执行日期的概念及其对工作流的影响对于构建高效、可靠和可维护的数据管道至关重要。在本实用指南中&#xff0c;我们将深入研究执行日期在气流中的作用&#xff0c;它们的目的…