安卓设备adb执行AT指令控制电话卡

文章目录

  • AT指令
    • 起源与发展:
    • 基本格式:
    • 常见应用领域及功能:
    • 不同设备中的应用:
  • 安卓获取modem设备输入符入口
  • 安卓设备输入AT指令

AT指令

AT 指令是 Attention 的缩写,是一种用于控制调制解调器等通信设备的指令集。

起源与发展:

AT 指令集最初由 Dale Heatherington 和 Dennis Hayes 在 1981 年为 Hayes SmartModem 300 波特调制解调器开发。起初只包含早期 300 比特 / 秒调制解调器支持的操作指令,后来随着技术发展,各厂商为控制高速调制解调器的新功能,推出了带有各种扩展的指令版本,逐渐形成了现在丰富的 AT 指令集。

基本格式:

AT 指令通常以 “AT” 作为开头,后面跟着具体的指令参数,以回车换行符(\r\n)结尾。设备接收到 AT 指令后,会返回相应的响应信息,以指示指令是否执行成功。例如,发送 “AT” 指令后,如果设备正常响应,会返回 “OK”。
指令类型:

  1. 测试指令:格式为 “AT+< 指令名称>=?”,用于查询指令的内部参数及其取值范围。
  2. 查询指令:格式为 “AT+< 指令名称>?”,返回参数的当前值。
  3. 设置指令:格式为 “AT+< 指令名称>=<…>”,用于设置用户自定义的参数值并执行相关命令。
  4. 执行指令:格式为 “AT+< 指令名称>”,执行没有用户自定义参数的命令。不过,并非所有的 AT 指令都支持这四种类型。

常见应用领域及功能:

  1. 呼叫控制:包括拨号(如 “ATD + 电话号码”)、挂机(“ATH”)、接听电话(“ATA”)等操作,还可以查询通话相关的信息,如扩展错误报告(“AT+CEER”)等。
  2. 短信服务:可选择消息服务类型(“AT+CSMS”)、发送短信(“AT+CMGS”)、读取短信(“AT+CMGR”)、删除短信(“AT+CMGD”)等,以及设置短信服务中心地址(“AT+C SCA”)等相关参数。
  3. 网络服务:能够查询信号质量(“AT+CSQ”)、选择网络服务商(“AT+COPS”)、查看网络注册状态(“AT+CREG”)等,以便设备进行网络连接和通信。让单张SIM卡进飞行模式("AT+CFUN=0)
  4. 设备信息查询:可以获取模块厂商的标识(“AT+CGMI”)、模块标识(“AT+CGMM”)、软件版本(“AT+CGMR”)、国际移动设备标识(“AT+CGSN”)、国际移动签署者标识(“AT+CIMI”)等设备相关信息。
  5. 电话簿管理:支持选择电话簿记忆存储(“AT+CPBS”)、读取电话簿表目(“AT+CPBR”)、查找电话簿表目(“AT+CPBF”)、写电话簿表目(“AT+CPBW”)等操作,方便用户对电话簿进行管理。

不同设备中的应用:

在 GSM 模块中,AT 指令集被广泛用于与 GSM 网络进行交互,实现各种通信功能。
在 Wi-Fi 模块、蓝牙模块等其他通信模块中,也有相应的 AT 指令集来控制其功能,如 ESP32 模块的 AT 指令集可用于配置 Wi-Fi 连接、蓝牙连接等。

安卓获取modem设备输入符入口

  1. 通过开发产商提供获取
  2. 通过分析日志获取
    通过查看系统ap日志,得到AT指令输入入口在/dev/下,名称为stty_lte0
    ,如果有双卡,那么stty_lte1就是SIM卡2的控制入口。
    在这里插入图片描述

安卓设备输入AT指令

首先设备得有root,调用adb shell进入设备

adb root
adb shell

监听SIM卡1的AT指令回馈信息:

cat /dev/stty_lte0

再开另一个终端adb shell后,输入AT指令查询SIM卡1的信号强度

echo -e "AT+CSQ\r" > /dev/stty_lte0

cat端得到输出,0,99前面数字就是信号,0代表没信号,一般是没插卡
在这里插入图片描述
作者:帅得不敢出门

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

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

相关文章

uniapp项目 存储数据到手机本地

打开manifest.json&#xff0c;在App权限配置中&#xff0c;添加读取和写入的权限 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/&g…

在 VS Code 中规范化 Git 提交消息并自动生成 CHANGELOG.md

1. 使用 Commitizen 规范化 Git 提交消息 首先&#xff0c;安装 Commitizen 和适用于 Angular 提交规范的适配器&#xff1a; npm install -g commitizen commitizen init cz-conventional-changelog --save-dev --save-exact这样&#xff0c;提交信息将遵循 Angular 规范&am…

c++模板入门

c系列模板入门 文章目录 c系列模板入门一、模板概念引入二、函数模板2.1、函数模板的概念2.2、函数模板的定义格式2.3、函数模板的使用 三、类模板1.1、什么是类模板1.2、类模板的定义格式1.3、类模板于函数模板的区别 一、模板概念引入 在程序设计中我们经常需要对两个数据进…

MyBatis-Plus中AbstractJsonTypeHandler使用小结

在 MyBatis-Plus 中&#xff0c; AbstractJsonTypeHandler 是一个用于处理 JSON 数据类型的抽象类。 一、作用 1. 数据库与 Java 对象之间的 JSON 数据转换 当数据库中的字段类型为可以存储 JSON 格式数据的类型&#xff08;如 MySQL 的 JSON 类型、Oracle 的 CLOB 等可存储…

谷粒商城のsentinelzipkin

文章目录 前言一、Sentinel1、什么是Sentinel2、项目配置3、使用案例3.1、流控3.2、降级3.3、黑白名单设置 二、Zipkin1、什么是Zipkin2、项目配置3、整合案例 前言 本篇介绍Spring Cloud Ali的sentinel组件&#xff0c;用于对微服务的熔断降级&#xff0c;以及链路追踪zipkin的…

Freertos学习日志(1)-基础知识

目录 1.什么是Freertos&#xff1f; 2.为什么要学习RTOS&#xff1f; 3.Freertos多任务处理的原理 1.什么是Freertos&#xff1f; RTOS&#xff0c;即&#xff08;Real Time Operating System 实时操作系统&#xff09;&#xff0c;是一种体积小巧、确定性强的计算机操作系统…

富格林:拆穿欺诈套路平稳出金

富格林认为&#xff0c;投资者产生的欺诈亏损多半是由于被出金骗局的花言巧语所迷惑&#xff0c;以为真的躺着就可以轻轻松松赚大钱&#xff0c;结果最后发现连本金都追不回来。事实上&#xff0c;投资市场并不像大家想得那么简单&#xff0c;要想拆穿欺诈套路实现平稳出金&…

2. Flink快速上手

文章目录 1. 环境准备1.1 系统环境1.2 安装配置Java 8和Scala 2.121.3 使用集成开发环境IntelliJ IDEA1.4 安装插件2. 创建项目2.1 创建工程2.1.1 创建Maven项目2.1.2 设置项目基本信息2.1.3 生成项目基本框架2.2 添加项目依赖2.2.1 添加Flink相关依赖2.2.2 添加slf4j-nop依赖2…

TIA 中用 GSD 方式组态 ET200SP 安全模块时如何用 S7-FCT 分配安全目标地址

1 概述 用 GSD 方式组态的 ET200SP 的分布式从站上&#xff0c;现在可以使用安全模块&#xff08;早期 是无法支持&#xff09;&#xff0c;这种用法对 ET200SP 接口模块的版本和编程软件的版本都有要求。 ET200SP 故障安全模块可通过 GSD 文件用于以下接口模块&#xff1a; …

0,国产FPGA(紫光同创)-新建PDS工程

国产FPGA正在蓬勃发展&#xff0c;紫光同创FPGA是大家竞赛时经常遇到的一款国产FPGA&#xff0c;本专栏从IP核开始一直到后续图像处理等。 开发板&#xff1a;盘古50K标准板 1&#xff0c;新建PDS工程 点击File&#xff08;1&#xff09;&#xff0c;然后是New Projects&#…

【已解决】群晖docker无法删除容器 “Error response from daemon: container” 终极解决办法

【已解决】群晖docker无法删除容器终极解决办法 问题描述 DSM7.2无法通过docker rm -f删除无法通过Container Manager界面删除删除容器会报错&#xff1a;Error response from daemon: container 01eb61e74e80d49ae6273a8ca0ced196bb4be5513acce708701fe4c69cabf86e: driver…

视频Qoe测量学习笔记(一)

目录 流媒体协议详解 RTSP&#xff1a;实时流式协议 RTCP&#xff1a;实时运输控制协议 RTP&#xff1a;实时运输协议 H.264 流媒体协议详解 RTSP&#xff1a;实时流式协议 由IETF MMusic小组开发&#xff0c;已成为互联网建议标准[RFC 2326]。RTSP本身并不传送数据&…

计算机视觉常用数据集Foggy Cityscapes的介绍、下载、转为YOLO格式进行训练

我在寻找Foggy Cityscapes数据集的时候花了一番功夫&#xff0c;因为官网下载需要用公司或学校邮箱邮箱注册账号&#xff0c;等待审核通过后才能进行下载数据集。并且一开始我也并不了解Foggy Cityscapes的格式和内容是什么样的&#xff0c;现在我弄明白后写下这篇文章&#xf…

单向函数、单向陷门函数、困难问题

1、单向函数 设函数 yf(x) &#xff0c; 对于给定的x&#xff0c;计算出y很容易&#xff1b;对于给定的y&#xff0c;计算出x很难。 2、单向陷门函数 设函数 yf(x) &#xff0c;且f有陷门&#xff0c; 对于给定的x&#xff0c;计算出y很容易&#xff1b;对于给定的y&#…

前端将网页转换为pdf并支持下载与上传

1.pdf下载 handleExport() {const fixedH document.getElementById("fixed-h");const pageOne document.getElementById("mix-print-box-one");const pageTwo document.getElementById("mix-print-box-two");fixedH.style.height 30vh;pageO…

js 获取当前时间与前一个月时间

// 获取当前时间的毫秒数 var currentTimeMillis new Date().getTime();// 获取前一个月的Date对象 var dateLastMonth new Date(); dateLastMonth.setMonth(dateLastMonth.getMonth() - 1);// 获取前一个月的毫秒数 var timeMillisLastMonth dateLastMonth.getTime();conso…

Linux_02 Linux常用软件——vi、vim

vi编辑器有三种主要模式&#xff0c;每种模式的功能和用途不同&#xff1a; 一、命令模式 (Command Mode)&#xff1a; - 启动 vi 时默认进入此模式。 - 你可以在此模式下移动光标&#xff0c;输入各种命令&#xff08;如删除、复制、粘贴等&#xff09;。 yy&#xff1a;…

C++设计模式结构型模式———装饰模式

文章目录 一、引言二、装饰器模式三、总结 一、引言 装饰模式是一种结构型设计模式&#xff0c; 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 该模式展现出了运行时的一种扩展能力&#xff0c;以及比继承更强大和灵活的设计视角和设计能力&#x…

「iOS」——知乎日报一二周总结

知乎日报仿写 前言效果Manager封装网络请求线程冲突问题下拉刷新添加网络请求的图片通过时间戳和日期格式化获取时间 总结 前言 前两周内容的仿写&#xff0c;主要完成了首页的仿写&#xff0c;进度稍慢。 效果 Manager封装网络请求 知乎日报的仿写需要频繁的申请网络请求&am…

Profinet、Ethernet/IP 工业以太网无线通信解决方案

在工业现场&#xff0c;我们常常会面临这样的困扰&#xff1a;两个PLC之间、PLC 跟远程IO之间或者PLC 跟伺服之间由于种种原因不方便布线&#xff0c;严重影响了通讯效率和生产进程。为了解决这一难题&#xff0c;三格电子设计了一款工业以太网无线网桥&#xff0c;这款无线网桥…