资料介绍
描述
使用 PIR 传感器作为触发器拍摄照片并将其上传到 tumblr。
配置你的云盾
有两种配置 Yùn 的方法。
第一个是上传示例 YunFirstConfig
并设置所需的参数。
打开您的 Arduino IDE 并转到example -> Bridge -> YunFirstConfig
如果您使用的是 YunShield,请务必选择它所连接的板的名称,而不是 Yun 板!
上传草图并打开串行监视器。您将在下面的屏幕截图中看到一条消息。
按照几个简单的步骤为您的开发板设置名称、密码和网络。现在您可以将 Yùn 连接到互联网了!
配置开发板的第二种方法是通过浏览器进行。
在开始之前确保你的 yun-shield 处于访问模式。在您的计算机上的可用 WiFi 网络中检查云的名称。它应该是这样的
Arduino Yun-90A2DAF200DI
连接到该网络并在浏览器中键入地址
192.168.240.1
现在你应该被重定向到 yun 的配置页面,你可以在这里设置名称、密码和你想要连接的 WiFi 网络。
注意默认密码是arduino
完毕!现在您的云盾有了名字和密码,并且可以上网了!
拍照
对于这个项目,我们使用了 quickcam communicate stx 。这是一个廉价且兼容 linux 的网络摄像头,我们可以通过 USB 连接到我们的 yun-shield。
在进行这项工作之前,我们需要下载一些驱动程序:
打开你的终端并通过 ssh 连接到 yun-shield(确保你的计算机连接到 yun-shield 的同一网络)并下载所需的包
ssh root@name_of_your_yun.local
opkg update
opkg install kmod-video-gspca-zc3xx
opkg install python-openssl
opkg install fswebcam
opkg install mjpg-streamer
请注意,许多网络摄像头都适用于 UVC 驱动程序。在这种情况下使用命令:
opkg install kmod-video-uvc libwebcam libuvc
现在我们可以使用此命令拍照并存储它们
fswebcam test.png
图片将保存为.png 并命名为test。
为了让事情更有条理,我们可以创建一个文件夹来保存照片,只需在终端(通过 ssh 连接到 yun-shield)输入命令:
mkdir photos
现在要将照片保存在该文件夹中,请使用命令
fswebcam -r 640x480 photos/my_photo.jpg
我们刚刚拍了一张 640x480 分辨率的照片,将其命名为 my_photo.jpg并将其保存在文件夹photos 中。
将照片上传到 tumblr
在上传任何照片之前,我们首先需要创建一个连接到我们博客的 tumblr 应用程序。为此,请访问 https://www.tumblr.com/oauth/apps 并注册一个新应用程序。我们需要此应用程序来获取向 tumblr 发出 http POST 请求所需的所有令牌。
在表格中填写应用程序名称、描述和电子邮件联系方式。您可以使用您想要的任何链接填充其余字段,例如默认回调 URL,我们不会将它们用于此项目。
现在您应该可以访问您的 OAuth Consumer Key和 OAuth Consumer Secret。将这些标记保存在文本文件中,我们将在接下来的步骤中需要它们。
现在我们还想获得OAuth Token和OAuth Token Secret
转到Tumblr API 控制台并使用您已有的令牌对您的应用程序进行身份验证,然后在右上角按显示密钥按钮。你应该看到类似的东西:
现在我们有了令牌,我们可以写下将完成所有工作的 python 代码。您可以复制并粘贴下面的代码或从本教程的软件部分下载它。
请记住用您的凭据填写空白字段。
import glob
import json
import os
import time
import urllib2
import urlparse
import oauth2
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
class APIError(StandardError):
def __init__(self, msg, response=None):
StandardError.__init__(self, msg)
class TumblrAPIv2:
def __init__(self, consumer_key, consumer_secret, oauth_token, oauth_token_secret):
self.consumer = oauth2.Consumer(consumer_key, consumer_secret)
self.token = oauth2.Token(oauth_token, oauth_token_secret)
self.url = "http://api.tumblr.com"
def parse_response(self, result):
content = json.loads(result)
if 400 <= int(content["meta"]["status"]) <= 600:
raise APIError(content["meta"]["msg"], result)
return content["response"]
def createPhotoPost(self, id, post):
url = self.url + "/v2/blog/%s/post" %id
img_file = post['data']
del(post['data'])
req = oauth2.Request.from_consumer_and_token(self.consumer,
token=self.token,
http_method="POST",
http_url=url,
parameters=post)
req.sign_request(oauth2.SignatureMethod_HMAC_SHA1(), self.consumer, self.token)
compiled_postdata = req.to_postdata()
all_upload_params = urlparse.parse_qs(compiled_postdata, keep_blank_values=True)
for key, val in all_upload_params.iteritems():
all_upload_params[key] = val[0]
all_upload_params['data'] = open(img_file, 'rb')
datagen, headers = multipart_encode(all_upload_params)
request = urllib2.Request(url, datagen, headers)
try:
respdata = urllib2.urlopen(request).read()
except urllib2.HTTPError, ex:
return 'Received error code: ', ex.code
return self.parse_response(respdata)
register_openers()
#Insert here your tokens
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
OAUTH_TOKEN = '****'
OAUTH_TOKEN_SECRET = '****'
DIR = 'photos/'
FILE_MASK = '*.jpg'
BLOG = '****' # put here the name of your blog i.e. arduino.tumblr.com
api = TumblrAPIv2(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
for img in glob.glob( os.path.join(DIR, FILE_MASK) ):
date = time.gmtime(os.path.getmtime(img))
post = {
'type' : 'photo',
'date' : time.strftime ("%Y-%m-%d %H:%M:%S", date),
'data' : img,
'tags' : "I am a tag",
'caption' : "I am a caption"
}
try:
response = api.createPhotoPost(BLOG,post)
if 'id' in response:
print response['id']
else:
print response
break
except APIError:
print "Error"
break
print "Done!"
为了在 Yun_Shield 上上传这个脚本,我们首先需要知道我们开发板的 IP 地址。通过 ssh 和数字连接:
ifconfig
现在我们有了 IP,我们可以继续上传脚本了。您可以使用此命令将your_path替换为文件夹的路径以访问 python 脚本。
scp /your_path/YunTumblr.py root@
your_ip_address
:
请记住还要上传您可以在软件部分找到的 auth.py 文件:
scp /your_path/auth.py root@
your_ip_address
:
最后一步是下载 python 库。通过 ssh 连接到 yun shield 并使用这些命令
ssh root@name_of_your_yun.local
opkg update
opkg install python-pip
pip install oauth2
pip install poster
我们完了!!!
要测试它,你可以数字:
fswebcam -r 640x480 photos/my_photo.jpg
python YunTumblr.py
将它们上传到 tumblr 可能需要几分钟时间,但如果一切正常,您应该会收到照片的 ID 号作为回复。
接线
通常所有 PIR 传感器都带有三根电线。黑色的用于接地,红色的用于 5V,彩色的用于数据。
请注意,有时电线颜色可能会因传感器而异!
上传云盾草图
Yun Shield 可以插入每个 Arduino/Genuino 开发板。
插入扩展板后,您必须从 Arduino IDE 中选择扩展板连接到的板,而不是 Arduino Yun 。例如,如果将 Yun Shield 插入 Arduino Leonardo,则必须在 IDE 中选择
工具/板/Arduino Leonardo
- 带霍尔效应传感器的游戏触发器
- 如何使用PIR传感器和蜂鸣器模块
- WIFI PIR传感器开源分享
- 如何将LM35温度传感器上传到云端
- 基于PIR传感器的运动检测报警系统 1次下载
- 运动传感器的详细介绍包括:加速度计PIR振动传感器等 47次下载
- 锁存器和触发器原理 0次下载
- 钟控同步RS触发器教材
- 触发器基础知识 0次下载
- 施密特触发器 (ppt教案) 0次下载
- 触发器逻辑功能测试实验
- D触发器/J-K触发器的功能测试及其应用 0次下载
- 触发器及其应用
- 触发器PPT 0次下载
- 基本RS触发器 0次下载
- 基于PIR传感器的电路图 带Arduino的PIR传感器设计 930次阅读
- 如何判断需要几个触发器 如何判断触发器能否自启动 1327次阅读
- 触发器的触发顺序是什么 896次阅读
- 触发器的原理:RS触发器和T触发器 1669次阅读
- rs触发器电路图与rs触发器内部电路图 2.8w次阅读
- RS触发器是什么?解读rs触发器的作用和数字电路中的rs触发器的作用 9918次阅读
- rs触发器的真值表、触发器以及功能表 10.6w次阅读
- 电子触发器的作用_电子触发器接线 1.1w次阅读
- JK触发器逻辑符号_jk触发器的特性方程 9.1w次阅读
- 触发器及触发器的作用 2.4w次阅读
- 单稳态触发器有哪些_单稳态触发器工作原理介绍 4w次阅读
- 触发器的作用_触发器的特点介绍 2.1w次阅读
- 什么是单稳态触发器_单稳态触发器特点以及构成 7.5w次阅读
- 什么是边沿触发器_边沿D触发器介绍 7.1w次阅读
- sql触发器的优缺点 5400次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多