最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

twitterpi运动警报发送图片到推特从推特发送命令到PI(2)

时间:2017-05-24 21:01来源:未知 作者:admin 点击:
步骤11:功能sendreply 在我们找到一个鸣叫我们的标签从一个授权用户,拍摄了一张照片,我们将使用这个函数来发送我们的鸣叫与照片回复我们了。 DEF sendreply(user_name): pathtofile = workDir +/执行。JPG鸣

步骤11:功能sendreply

twitterpi运动警报发送图片到推特从推特发送命令到PI

在我们找到一个鸣叫我们的标签从一个授权用户,拍摄了一张照片,我们将使用这个函数来发送我们的鸣叫与照片回复我们了。

DEF sendreply(user_name):
 pathtofile = workDir +“/执行。JPG”
鸣叫=“@”+“”+ + user_name STR(时间。strftime(“%”))
状态= API。update_with_media(pathtofile,

步骤12:功能sendstatus

twitterpi运动警报发送图片到推特从推特发送命令到PI

不时,我们可以找到该程序的当前状态是什么。这个函数发送一个答复与当前设置闪烁LED超级用户,无论是摄像机的角度是正常的或翻转,表明报警系统线程仍在运行,最后如果运动检测是积极的。

DEF sendstatus(user_name):
如果blinkled = = 1:
眨眼=“true”
别的:
眨眼=“假”
如果运动= = 1:
 MD =“”
别的:
 MD =“关闭”
鸣叫=“@”+“”+ str(user_name +时间。strftime(“%”))\ 
 +“nflip =”+ STR(相机。vFLIP)\”\ nblink 
 + LED =”+眨眼\ 
 +“nthread运行=”+ threadrunning \ 
 +“nmotion检测=”+ MD 
状态= update_status API。

步骤13:功能updateusers

不时,我们可能想让新用户可以请求被发送通过推特图片。使用此功能,当用户发送一个命令,将新用户添加到我们的名单。我们把当前文件,然后添加所有用户在随着超级用户给新用户。

DEF updateusers(新手):
 pathtofile = workDir +“/授权。txt”
授权。追加(新手)
文件打开(pathtofile,“W”)
文件。写(“”)
文件。关闭
文件打开(pathtofile,“A”)
你授权:
文件编写(U +”

步骤14:功能camflip

根据你的相机的位置是什么,你可能需要把相机垂直。因为我们不想如果我们移动相机这个功能修改脚本将翻转相机通过推特命令。

DEF camflip():
 camera.vflip = =真的:如果
 camera.vflip =假
别的:

步骤15:功能checkforcommands

这个功能是我们检查我们的标签,通过接收到的命令。它可能看起来像“命令:命令:额外的# yourhashtag”。由于我们使用这个函数来修改从功能之外的一些变量,我们需要确定在函数的开始,那些“全球”的变量。这个版本有以下命令,但更多的命令可以被添加到列表的脚本。


加利福尼亚:adduser:twitterid添加用户授权列表。
加利福尼亚:触发器捕获的图像的垂直。
加利福尼亚:blinkoff禁用LED闪烁
加利福尼亚:blinkon使LED闪烁。
加利福尼亚:艾顿打开运动检测
加利福尼亚:alertoff禁用运动检测。
加利福尼亚:现状发推的超级用户状态
命令:启动会重启你的皮
命令:关机PI
命令:停止终止程序


如果该命令将返回一个1,然后程序执行命令,然后将拍照并上传到推特。如果它返回一个0,然后执行命令,但没有鸣叫将发送。如果没有命令在鸣叫,那么函数会返回一个1和一个拍摄和推送请求。

DEF checkforcommands(commandstring,user_name):
全球blinkled 
全球运动
全球stopthreads 
 tmplist = commandstring。分裂(“”)
 cmdstring = tmplist [ 0 ] 
 cmdlist = cmdstring。分裂(“:”)
如果“cmd”cmdlist:
如果“adduser”cmdlist:
 updateusers(cmdlist [ 2 ])
返回0 
 elif“翻转”cmdlist:
 camflip() 
返回1 
 elif”blinkoff”cmdlist:
 blinkled = 0 
返回0 
 elif”blinkon”cmdlist:
 blinkled = 1 
返回0 
 elif”艾顿”cmdlist:
 blinkled = 0 
运动= 1 
 sendstatus(user_name)
返回0 
 elif”alertoff”cmdlist:
 blinkled = 1 = 0 
运动
 sendstatus(user_name)
返回0 
 elif”地位的“cmdlist:
 sendstatus(user_name操作系统。系统(“重新启动”)
 elif“关机”cmdlist:
 GPIO。cleanup() 
 OS系统(“关机”)
 elif“停”在cmdlist:
 stopthreads = 1 
 GPIO。cleanup() 
 exit() 
别的:
返回0

步骤16:功能monitortweets

twitterpi运动警报发送图片到推特从推特发送命令到PI

的monitortweets函数是程序的主要功能。它运行在一个连续的while循环。寻找新的Twitter的标签在search_text变量识别你。一旦新的鸣叫被发现,保存新的微博ID号然后推特用户ID是在授权表验证。如果用户不在授权列表然后,忽略。如果这是授权用户,然后我们想看看这是一个超级用户查看我们是否需要检查命令(CMD)的鸣叫。如果不是超级用户,那么我们就拍一张照片,它的鸣叫在授权用户。如果这是一个超级用户,然后我们会将信息传递给checkforcommands功能。我们也闪烁LED睡眠节期间。我们只检查新的tweets每分钟一次,以确保我们不会超过推特API相互作用在15分钟内的最大数量。

DEF monitortweets():
全球id_string 
而真实:
 search_text =“# yourhashtag”
 search_result = API。搜索(search_text,RPP = 1,since_id = id_string)
我在search_result:
 id_string = i.id_str 
 savenewstringid(id_string)
鸣叫= API。get_status(id_string)
 user_name =用户鸣叫。如果user_name。screen_name 
授权:
如果user_name超级用户:
检查=(checkforcommands(i.text,user_name))
别的:
检查= 1 = = 1 
如果检查:
 takepicture() 
 sendreply(user_name)
 blinkled(1,0)#闪烁然后
睡眠时间(30)。

步骤17:功能securityalert利用运动检测器(PIR)

twitterpi运动警报发送图片到推特从推特发送命令到PI

这是函数读取运动检测器时,”艾顿”命令已收到。因为我们不想仅仅一分钟检查运动,我们需要在程序中其他地方的一个单独的线程中运行。一旦运动检测是积极的,我们要不断注意运动。一旦我们运动,我们将等待一秒让主体靠近再拍一张照片。照片后附推送到推特用户ID在功能鉴定。

DEF securityalert():
全球threadrunning 
而真实:
尝试:
如果stopthreads = = 1:
 exit() 
如果运动= = 1:
如果GPIO输入(PIR):
时间。睡眠(1)
 takepicture() 
 sendreply(超级用户[ 0 ])
时间睡眠(60)
除外。:
 threadrunning =没有

步骤18:设置推特API

完成的功能,现在我们建立推特API允许tweepy访问推特。这是一节你会用你的信息,收集当你设定你的推特API在推特网站。一旦信息已定,tweepy变量是用来完成设置访问tweepy配置。

consumer_key =你的消费重点去
 consumer_secret =你的消费秘密去
 access_key =你的访问键去
 access_secret =你访问秘密去
 
 auth = tweepy。OAuthHandler(consumer_key,consumer_secret)
认证。set_access_token(access_key,access_secret)
 API = tweepy API(。

步骤19:设置相机的位置

现在我们要设置picamera模块。我的PI和相机的正常位置要求我把相机所以我要把我的camera.vflip真实。根据你的picamera正常位置,你可能想将此值设置为false。用命令的鸣叫可以翻转的相机如果在程序的启动和运行都需要。

相机= picamera() 
 camera.vflip =真

步骤20:把最后一条微博ID号与我们合作

当程序第一次启动时,我们需要确定最后的tweet的ID号,我们发现最后一次程序运行。本节将在数从getstringid功能。

id_string = getstringid()

步骤21:让我们看看谁的授权要求的图片

我们不想与推特帐户都给要求图片所以我们要建立一个清单,推特用户名,可以请求一个图片被通过推特送给他们的能力。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片