Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何接收Twilio短信以命令Raspberry Pi_Linux_Python 2.7_Raspberry Pi_Twilio - Fatal编程技术网

Linux 如何接收Twilio短信以命令Raspberry Pi

Linux 如何接收Twilio短信以命令Raspberry Pi,linux,python-2.7,raspberry-pi,twilio,Linux,Python 2.7,Raspberry Pi,Twilio,在Raspberry Pi上接收Twilio SMS命令 我注册了Twilio,得到了一个我想要的电话号码 可以用来发送来自树莓皮的短信,我也可以接收 我的树莓皮上的短信 我已经把一个脚本放在一起使用收到的短信命令 对覆盆子皮的作用。它的工作,但我想为您的建议 清理它 特别是,当我试图检索短信时,Twilio会转储整个文件 该帐户收到了很多邮件,我需要对它们进行筛选 只有最新的消息。如下所示,我已将“if”函数设置为 对照当前时间检查消息发送的时间(以秒为单位) 秒数少于“18009”,仅允许在

在Raspberry Pi上接收Twilio SMS命令

我注册了Twilio,得到了一个我想要的电话号码 可以用来发送来自树莓皮的短信,我也可以接收 我的树莓皮上的短信

我已经把一个脚本放在一起使用收到的短信命令 对覆盆子皮的作用。它的工作,但我想为您的建议 清理它

特别是,当我试图检索短信时,Twilio会转储整个文件 该帐户收到了很多邮件,我需要对它们进行筛选 只有最新的消息。如下所示,我已将“if”函数设置为 对照当前时间检查消息发送的时间(以秒为单位) 秒数少于“18009”,仅允许在最后几秒~8秒内发送 几秒钟后出现。这似乎太麻烦了——我想要一个更好的方法

谢谢

{


}Twilio可以监听传入的消息并调用托管在您的服务器上的RESTAPI/servlet/web服务等。因此,每当您收到关于twilio号码的消息时,就会调用此api,然后您就可以自动执行您想要执行的操作。因此,如果你在你的raspberry pi上有自己的web服务器,twilio可以在收到短信时转发消息,而不是向twilio服务器发送数据


希望我能回答你的问题。我已经将我的web应用程序与google app engine上的twilio集成。我很快就要买一个树莓皮2了,现在正在学习python。我偶然发现您的查询,并想分享我所知的一切。

我最后做的只是client.messages.list[0]以获取列表中的最新输入
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,