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) 开发板: 十几种市面 ...
最新文章
- 一个简单的 Python-kivy 小程序
- Spring的@Transactional注解踩坑
- 双11万亿流量下的分布式缓存
- c语言教程for,C语言菜鸟基础教程之for循环
- 【华为云技术分享】如何度量前端项目研发效率与质量(上)
- 使用计算机计算一个多边形,多边形面积计算器
- 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法...
- QTTabBar 使用教程:用浏览器的方式管理 Windows 资源管理器
- 5.1索引压缩-词项的统计特性(Heaps定律、Zipf定律)
- c语言三种结构化程序设计方法,C语言中用于结构化程序设计的三种基本结构是什么...
- X86、X64和X86_64区别
- word硕士毕业论文不同章节设置不同页眉
- php linux重新写路由器,通过php脚本重启路由器
- 聊聊MySQL的10大经典错误
- 零基础都能看懂的 STL map 详解
- Information and Influence Propagation in Social Networks学习笔记
- 一些值得关注的云计算资源
- 多IMU车载GNSS/INS数据集及介绍
- 【20180808】集训题d3
- 关于淘宝与Amazon的首页比较
热门文章
- LeetCode:118(Python)—— 杨辉三角(简单)
- AI+教育”想做好有多难?网易有道CEO、学霸君CEO等4位大佬“掏心窝”
- python答案中国铁道出版社官网_VB课后习题答案(中国铁道部出版社出版)
- 函授计算机怎么找工作,找工作函授学历可以吗
- 计算摄氏温度(10 分)
- 蚂蚁金服架构调整:胡晓明任总裁 向井贤栋汇报
- it生活的第一年总结
- 图扑数字孪生空冷机组,助推智慧电厂拥抱“双碳”
- 【IF=10.812 Molecular Plant】HDA9和WRKY53共同在植物胁迫中起拮抗调节作用
- Commom(十)—— ConfigReader