gpt4 book ai didi

linux - 如何接收 Twilio 短信来命令树莓派

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:25 24 4
gpt4 key购买 nike

在树莓派上接收 Twilio 短信命令

我注册了 Twilio https://www.twilio.com得到一个电话号码,我可以用来从 Raspberry Pi 发送短信,我也可以接收在我的 Raspberry Pi 上发送短信。

我已经编写了一个脚本,用于使用收到的 SMS 消息进行命令Raspberry Pi 上的一个 Action 。它有效,但我想提出建议清理它。

特别是 - 当我尝试检索 SMS 消息时,Twilio 会转储整个该帐户曾经收到过很多消息,我需要将它们过滤到只有最近的消息。见下文,我设置了一个“if”函数根据当前时间检查消息发送时间(以秒为单位)(以秒为单位)减去“18009”,它只允许最近发送的那些(~8)秒出现。这似乎太笨拙了 - 我想要一个更好的方法。

谢谢,

{

import datetime
import time
import os
from twilio.rest import TwilioRestClient
import email.utils

twilio_account_sid = "GetSIDFromTwilioAccount"
twilio_auth_token = "GetTokenFromTwilioAccount"
sTwilioNumber = "+TwilioPhone#"
client = TwilioRestClient(twilio_account_sid, twilio_auth_token)

while (True):
for message in client.messages.list():

# select only messages where time now less time sent
if (time.mktime(datetime.datetime.utcnow().timetuple())-18009) \
< email.utils.mktime_tz(email.utils.parsedate_tz(message.date_sent)):

# if message from my phone
if message.from_ == "+MyPhone#":

if message.body == 'command1':
os.system('Command1.sh')
time.sleep(7)

if message.body == 'command2':
os.system('command2.sh')
time.sleep(7)

etc,
etc,

最佳答案

Twilio 可以监听传入的消息并调用托管在您的服务器上的 rest api/servlet/web 服务等。因此,每次您在 twilio 号码上收到消息时,都会调用此 api,然后您可以自动执行您想做的事情。因此,如果您在您的树莓派上拥有自己的 Web 服务器,那么您不必向 twilio 服务器发送请求,twilio 可以在收到短信时转发消息。

希望我能回答你的问题。我已经将我的网络应用程序与谷歌应用引擎上的 twilio 集成在一起。我很快就会买一个树莓派 2,现在正在学习 python。我偶然发现了你的问题,并想分享我所知道的一点点。

关于linux - 如何接收 Twilio 短信来命令树莓派,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com