在本指南中,我将说明如何使用Raspberry PI Zero W和Wireshare GSM hat接收SMS消息并将其转发到您的Telegram帐户。
Python将用于读取SMS消息并将其转发到Telegram Bot API。 Gammu SMS服务将监听消息,并在收到SMS消息时触发Python脚本。
首先,我们必须启用GSM hat和Raspberry PI Zero之间的通信,运行Raspberry Pi软件配置工具(raspi-config);
退出配置工具。现在我们需要在树莓派上启用UART。关闭并弹出SD卡以在另一台计算机上打开。打开/boot/config.txt文件,找到以下语句并取消注释以启用UART。您也可以直接将其附加在文件末尾。
现在,重新启动树莓派设备并打开控制台以安装Gammu SMS Deamon和Python PiP软件包安装程序。
注意:版本12.3.0是与Python 2.7兼容的最新版本,如果要与Python 3+版本一起使用,则可以安装最新的可用版本。
现在,您需要在Telegram中创建一个机器人并获取令牌。然后,在您的Telegram帐户中与该机器人开始聊天,并向您的机器人发送测试消息。这将帮助我们识别您的聊天ID。
使用Telegram Bot令牌打开以下URL,并在响应中复制聊天ID;
#!/ usr / bin / env pythonfrom __future__ import print_functionimport osimport sysimport telegramnumparts = int(os.environ [' DECODED_PARTS'])text =''#是否有任何解码部分? numparts == 0:text = os.environ [&SMS_1_TEXT']#获取所有文本partelse:对于范围(1,numparts + 1)中的i:varname =' DECODED_%d_TEXT' %i,如果os.environ中的varname:text = text + os.environ [varname]#Logprint(' Number%s已发送文本:%s'%(os.environ [' SMS_1_NUMBER&# 39;],text))Telegrambot = telegram.Bot(token =' [YOUR-BOT-TOKEN]')bot.send_message(chat_id = [YOUR CHAT ID],text = os。 environ [' SMS_1_NUMBER']。strip()+" |" +文本)
更新Gammu SMS Deamon的配置以使用GSM hat。 Waveshare使用/ dev / ttyS0进行通信。
在配置文件中找到以下几行,并使用正确的值进行更新,对我而言,这些值如下:
另外,我们需要指定Gammu运行的脚本路径,因此在[smsd]部分下面添加以下行;
就这样!现在,您应该可以将SMS消息发送到您的Telegram帐户。