linux系统读sim卡信息,在Linux下使用串口读取SIM卡上的SMS消息使用C
试图通过linux中的串口读取sms消息,从一张安装在华为3g USB调制解调器内的SIM卡读取。我必须在屏幕上显示一些短信之前执行脚本。有时它显示不寻常的字符。我想要做的就是使用AT命令,c和串行端口从SIM卡中读取短信。以下是我正在使用的代码。在Linux下使用串口读取SIM卡上的SMS消息使用C
int main(){
int fd;
struct termios options;
/* open the port */
fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1)
{ /* Could not open the port */
fprintf(stderr, "open_port: Unable to open /dev/ttyS1 - %s\n",strerror(errno));
}else{
printf("port opened\n");
}
fcntl(fd, F_SETFL, 0);
/* get the current options */
tcgetattr(fd, &options);
/* set raw input, 1 second timeout */
options.c_cflag |= (CLOCAL | CREAD);
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
options.c_oflag &= ~OPOST;
options.c_cc[VMIN] = 0;
options.c_cc[VTIME] = 10;
/* set the options */
tcsetattr(fd, TCSANOW, &options);
char buffer[400]; /* Input buffer */
char *bufptr; /* Current char in buffer */
int nbytes; /* Number of bytes read */
int tries; /* Number of tries so far */
for (tries = 0; tries < 1; tries ++)
{
/* send an AT command*/
if (write(fd, "AT+CMGL=\"ALL\"\r", strlen("AT+CMGL=\"ALL\"\r")) < 3){
printf("command sent\n");
continue;
}
/* read characters into our string buffer*/
bufptr = buffer;
nbytes = read(fd, bufptr, buffer + sizeof(buffer) - bufptr - 1);
printf("%s\n",bufptr);
char *p;
p = strstr(buffer, "tin");
printf("%s",p);
p = strstr(buffer, "server");
if(p == NULL) printf("not from server\n");
*bufptr = '\0';
}
return 0;
}
linux系统读sim卡信息,在Linux下使用串口读取SIM卡上的SMS消息使用C相关推荐
- linux系统查看机器硬件信息,linux系统查看硬件信息的方法
用过Linux系统的人都知道这么一个情况,那就是Linux大部分操作是通过命令实现的,并不像Windows那么直观.linux查看硬件信息也是需要通过命令查询才可以看得到硬件的信息,那linux系统如 ...
- linux的pci文件是哪个,Linux系统查看PCI设备信息
Linux系统查看PCI设备信息,基本是使用lspci命令,如果找不到该命令,那么需要先安装pciutils软件包. 列出系统的PCI设备: [root@os2 ~]# lspci00:00.0 Ho ...
- linux网卡没有显示link,以下显示是一个Linux系统的网络配置信息:eth0 Link encap:..._考试资料网...
单项选择题以下显示是一个Linux系统的网络配置信息: eth0 Link encap:Ethernet HWaddr 00:0C:29:F5:B4:79 inet addr:192.168.2.38 ...
- linux系统发送信号的系统调用是,linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction...
信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...
- 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...
- linux系统6.5详解,linux6.5下 简单配置 MINI 系统实现详解(1)
一.linux系统启动流程介绍 我们来了解下linux系统的启动流程: 首先linux要通过POST自检过程(BIOS)-->如果想要做多块启动盘的话,还需要在bios中选择启动磁盘--> ...
- linux 系统业务迁移,记录一次linux系统迁移过程
就在最近,终于为自己的电脑加装了固态.在装完固态之后,首先面临的问题就是如何将原先安装在机械硬盘上的linux系统迁移到固态上.还要考虑后续配置的问题. 本文主要讲述在迁移Linux系统到新的固态硬盘 ...
- linux系统组成之小型RedHat little linux制作二
本篇是在上篇"linux系统组成之小型RedHat little linux制作一"的基础上对微型小系统进一步完善,使其实现关机.重启等功能 ⑴.通过脚本使其微型系统实现关机.重启 ...
- 路由器 刷 linux系统版本,一个小型的无线路由器 Linux 系统OpenWRT[转]
一个小型的无线路由器 Linux 系统OpenWRT分类:电脑技术 » linux应用 出处:网络 OpenWRT - (http://www.openwrt.org) 开发板: 十几种市面 ...
最新文章
- kafka 重复消费和数据丢失_刨根问底,Kafka消息中间件到底会不会丢消息
- java 全局变量_Javascript中的局部变量、全局变量的详解与var、let的使用区别
- KVM 安装windows 虚拟机
- 一篇文章对Python匿名函数配合容器函数的使用理解
- C++右值引用的参考
- Tomcat Firewall JMX RMI
- Java命令行界面(第4部分):命令行
- Android 基础 —— 活动的启动模式
- 【小程序】一个提醒休息的小程序,供大家娱乐
- 一位挪威博士的PolarDB资深架构师之路
- 不疯魔不成活,还是偏执狂?
- 常见高清视频“扩展名”、视频标准
- 利用Python画直方图
- Playwright之初体验
- 2007年世界顶级防火墙排名(附下载地址)
- 采用CCG和kkt条件编制两阶段鲁棒优化程序,以储能、发电、风电和光伏容量作为第一阶段变量
- MySQL数据库查询(实验四)
- 用服务器的id做网站,用服务器做网站空间
- MATLAB数据类型——浮点数
- 直通车在第一次做应该如何出价呢?如何出价更合理?
热门文章
- 开涛的springMVC教程读书笔记
- 常见职位的英文简称_职场中常见的英文缩写是什么意思?4P是哪4P?各个岗位和部门的英文缩写是什么?...
- 抖音seo账号矩阵新玩法?应该如何借助新的接口技术开发
- 华硕笔记本 换键盘 电池不供电 问题
- python爬虫电影资源_【Python爬虫】第十六次 xpath整站抓取阳光电影网电影资源
- Python自学02
- 微信输入法语音转文字测试设计点
- 使用Adove illustrate 去背景
- 2021-07-23 Week1 基于截图的钓鱼网站检测、中小微企业安全现状调查
- 小游戏《塔防》开发(三)