600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用USB 3G上网卡+树莓派搭建接受短信自动转发邮箱的服务

使用USB 3G上网卡+树莓派搭建接受短信自动转发邮箱的服务

时间:2019-02-22 16:04:34

相关推荐

使用USB 3G上网卡+树莓派搭建接受短信自动转发邮箱的服务

背景:人在国外刚下飞机咳咳,人在国外,国内很多网络,电话服务都需要短信验证,一直以来都用的双卡手机来解决这个问题。最近换了单卡手机,琢磨着3g上网卡应该可以接受短信,再配合7D24H运行的树莓派,做一个短信中转服务,应该不难原理:3G上网卡插国内已经开通漫游服务的卡,将接受的短信保存后,自动转发到自己常用的邮箱里。适用人群:国外党,单卡手机双卡党,双卡手机三卡党。。。我的硬件:树莓派3B,Aliexpress上淘的华为3G上网卡e1750 3G上网卡的选择 建议找那种写了unlock的,否则可能挑运营商网上找找别人用的啥就卖啥,买回来识别不了就折腾了虽然上网卡一般都可以收发短信,接打电话,甚至数据上网,但本文只需要接收短信的功能

1. 调试3G上网卡

插上3G上网卡

root@raspberrypi:/var/spool/gammu/inbox# lsusbBus 001 Device 012: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless AdapterBus 001 Device 014: ID 12d1:140c Huawei Technologies Co., Ltd. E180vBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet AdapterBus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 HubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

可以看到014就是上网卡(不知道型号为啥有点不一样)

root@raspberrypi:/var/spool/gammu/inbox# ls /dev/ttyUSB*/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB3root@raspberrypi:/var/spool/gammu/inbox#

然后找挂载的名字,一般来说最后插上的序号就最大,我的是ttyUSB3

一个更好的方法是使用ID,因为挂载点会变来变去 参考这里General Gammu FAQ — Gammu 1.42.0 documentation

如果这里你没发现自己的设备,可能你需要换其他的卡或者自行寻找驱动了。。

接下来配置gammu

sudo apt-get install gammu #安装gammugammu-config#填一下刚才记下的挂载名#port我用的默认at,可能不同卡需要调试其他的选择gammu identify #这里可以看到gammu识别了你的上网卡,电话卡信息

接下来配置gammu的短信daemon 代码里#汉字最好去掉,有时候会bug

sudo apt-get install gammu-smsdsudo vim /etc/gammu-smsdrc# Configuration file for Gammu SMS Daemon# Gammu library configuration, see gammurc(5)[gammu]# Please configure this!port = /dev/ttyUSB3 #改自己的connection = at# Debugging#logformat = textall# SMSD configuration, see gammu-smsdrc(5)[smsd]#RunOnReceive = /var/spool/gammu/auto_send_mail.sh #接收到短信便执行此scriptservice = fileslogfile = syslog# Increase for debugging informationdebuglevel = 0# Paths where messages are storedinboxpath = /var/spool/gammu/inbox/ #接收到的短信在这outboxpath = /var/spool/gammu/outbox/sentsmspath = /var/spool/gammu/sent/errorsmspath = /var/spool/gammu/error/

先不管自动执行的插件,我们先测试能否正常接收短信

systemctl start gammu-smsd.servicesystemctl enable gammu-smsd.service

执行后给此电话发个短信,inbox里应该会出现发送的短信,以txt形式来存储

root@raspberrypi:/var/spool/gammu/inbox# lsIN0930_101810_00_95378_00.txt IN1108_14_00_10655089321279372975_00.txtIN0930_110414_00_10690486_00.txt IN1108_142255_00_10655089321279372975_01.txtIN0930_110518_00_106980005858_00.txt IN1108_160925_00_95395_00.txtIN0930_111147_00_106980005858_00.txt IN1108_01_00_1069149187561439_00.txtIN0930_140453_00_95395_00.txt IN1108_01_00_1069149187561439_01.txtIN0930_144549_00_95511_00.txt IN1109_102158_00_95188_00.txtIN1107_231609_00_95188_00.txt IN1109_102731_00_95188_00.txtIN1107_232754_00_95188_00.txt IN1109_160608_00_10655025160989757920_00.txtIN1108_122718_00_10655025995188_00.txt IN1109_160608_00_10655025160989757920_01.txtIN1108_124816_00_10010_00.txt IN1109_204012_00_106550002800077575_00.txtIN1108_124816_00_10010_01.txt IN1109_204350_00_106901336930_00.txtIN1108_124816_00_10010_02.txt IN1109_204619_00_95188_00.txtIN1108_140653_00_95395_00.txt IN1109_204635_00_95188_00.txtIN1108_141001_00_95395_00.txt IN1109_205336_00_95188_00.txt

2.调试邮件发送服务

请参考这篇文章、同时注意文章内所有代码需在root下进行(因为服务是以root权限运行的,所以需要将各配置文件建立在/root里)/zhuyanjun0818/article/details/102992252

3.通过script连接1,2实现短信自动转发邮箱

现在开始配置自动转发服务

在1中我们看到gammu是支持收到短信后直接执行自定义任务的

具体的文档在https://wammu.eu/docs/manual/smsd/run.html#

其中有各种全局局部变量,包括短信的内容也有,所以我们想直接使用它

注意一句话:. You can use it together with NULL service 所以得先将服务类型改为null 才能使用变量

sudo vim /etc/gammu-smsdrc。。。。。[smsd]RunOnReceive = /var/spool/gammu/auto_send_mail.sh #接收到短信便执行此script#service = filesservice = null。。。。

配置后记得重启下

systemctl restart gammu-smsd.servicesystemctl enable gammu-smsd.service

接下来书写自动转发的script

#!/bin/shfor i in `seq $SMS_MESSAGES` ; doecho "\n \***************** \n \$SMS_1_TEXT \n \***************** \n \" |mutt -s "SMS send by $SMS_1_NUMBER" xxx@done

关于开机自启:

gammu identify和 systemctl restart gammu-smsd.service这个必须每次启动后延时(2分钟)执行一次,否则后面的短信daemon似乎会报错。我就把它放local.rc了。

(sleep 120gammu identifysystemctl restart gammu-smsd.service)&

最后的效果图,还不错吧哈哈

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。