資料介紹
描述
使用 PIR 傳感器作為觸發(fā)器拍攝照片并將其上傳到 tumblr。
配置你的云盾
有兩種配置 Yùn 的方法。
第一個是上傳示例?YunFirstConfig
并設置所需的參數(shù)。
打開您的 Arduino IDE 并轉到example -> Bridge -> YunFirstConfig
如果您使用的是 YunShield,請務必選擇它所連接的板的名稱,而不是 Yun 板!
上傳草圖并打開串行監(jiān)視器。您將在下面的屏幕截圖中看到一條消息。
按照幾個簡單的步驟為您的開發(fā)板設置名稱、密碼和網絡。現(xiàn)在您可以將 Yùn 連接到互聯(lián)網了!
配置開發(fā)板的第二種方法是通過瀏覽器進行。
在開始之前確保你的 yun-shield 處于訪問模式。在您的計算機上的可用 WiFi 網絡中檢查云的名稱。它應該是這樣的
Arduino Yun-90A2DAF200DI
連接到該網絡并在瀏覽器中鍵入地址
192.168.240.1
現(xiàn)在你應該被重定向到 yun 的配置頁面,你可以在這里設置名稱、密碼和你想要連接的 WiFi 網絡。
注意默認密碼是arduino
完畢!現(xiàn)在您的云盾有了名字和密碼,并且可以上網了!
拍照
對于這個項目,我們使用了?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
現(xiàn)在我們可以使用此命令拍照并存儲它們
fswebcam test.png
圖片將保存為.png 并命名為test。
為了讓事情更有條理,我們可以創(chuàng)建一個文件夾來保存照片,只需在終端(通過 ssh 連接到 yun-shield)輸入命令:
mkdir photos
現(xiàn)在要將照片保存在該文件夾中,請使用命令
fswebcam -r 640x480 photos/my_photo.jpg
我們剛剛拍了一張 640x480 分辨率的照片,將其命名為?my_photo.jpg并將其保存在文件夾photos 中。
將照片上傳到 tumblr
在上傳任何照片之前,我們首先需要創(chuàng)建一個連接到我們博客的 tumblr 應用程序。為此,請訪問?https://www.tumblr.com/oauth/apps?并注冊一個新應用程序。我們需要此應用程序來獲取向 tumblr 發(fā)出 http POST 請求所需的所有令牌。
在表格中填寫應用程序名稱、描述和電子郵件聯(lián)系方式。您可以使用您想要的任何鏈接填充其余字段,例如默認回調 URL,我們不會將它們用于此項目。
現(xiàn)在您應該可以訪問您的?OAuth Consumer Key和?OAuth Consumer Secret。將這些標記保存在文本文件中,我們將在接下來的步驟中需要它們。?
現(xiàn)在我們還想獲得OAuth Token和OAuth Token Secret
轉到Tumblr API 控制臺并使用您已有的令牌對您的應用程序進行身份驗證,然后在右上角按顯示密鑰按鈕。你應該看到類似的東西:?
現(xiàn)在我們有了令牌,我們可以寫下將完成所有工作的 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 上上傳這個腳本,我們首先需要知道我們開發(fā)板的 IP 地址。通過 ssh 和數(shù)字連接:
ifconfig
現(xiàn)在我們有了 IP,我們可以繼續(xù)上傳腳本了。您可以使用此命令將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
我們完了!??!
要測試它,你可以數(shù)字:
fswebcam -r 640x480 photos/my_photo.jpg
python YunTumblr.py
將它們上傳到 tumblr 可能需要幾分鐘時間,但如果一切正常,您應該會收到照片的 ID 號作為回復。
接線
通常所有 PIR 傳感器都帶有三根電線。黑色的用于接地,紅色的用于 5V,彩色的用于數(shù)據。
請注意,有時電線顏色可能會因傳感器而異!
上傳云盾草圖
Yun Shield 可以插入每個 Arduino/Genuino 開發(fā)板。
插入擴展板后,您必須從 Arduino IDE 中選擇擴展板連接到的板,而不是 Arduino Yun 。例如,如果將 Yun Shield 插入 Arduino Leonardo,則必須在 IDE 中選擇?
工具/板/Arduino Leonardo
- 帶霍爾效應傳感器的游戲觸發(fā)器
- 如何使用PIR傳感器和蜂鳴器模塊
- WIFI PIR傳感器開源分享
- 如何將LM35溫度傳感器上傳到云端
- 基于PIR傳感器的運動檢測報警系統(tǒng) 1次下載
- 運動傳感器的詳細介紹包括:加速度計PIR振動傳感器等 47次下載
- 鎖存器和觸發(fā)器原理 0次下載
- 鐘控同步RS觸發(fā)器教材
- 觸發(fā)器基礎知識 0次下載
- 施密特觸發(fā)器 (ppt教案) 0次下載
- 觸發(fā)器邏輯功能測試實驗
- D觸發(fā)器/J-K觸發(fā)器的功能測試及其應用 0次下載
- 觸發(fā)器及其應用
- 觸發(fā)器PPT 0次下載
- 基本RS觸發(fā)器 0次下載
- 基于PIR傳感器的電路圖 帶Arduino的PIR傳感器設計 930次閱讀
- 如何判斷需要幾個觸發(fā)器 如何判斷觸發(fā)器能否自啟動 1327次閱讀
- 觸發(fā)器的觸發(fā)順序是什么 896次閱讀
- 觸發(fā)器的原理:RS觸發(fā)器和T觸發(fā)器 1669次閱讀
- rs觸發(fā)器電路圖與rs觸發(fā)器內部電路圖 2.8w次閱讀
- RS觸發(fā)器是什么?解讀rs觸發(fā)器的作用和數(shù)字電路中的rs觸發(fā)器的作用 9918次閱讀
- rs觸發(fā)器的真值表、觸發(fā)器以及功能表 10.6w次閱讀
- 電子觸發(fā)器的作用_電子觸發(fā)器接線 1.1w次閱讀
- JK觸發(fā)器邏輯符號_jk觸發(fā)器的特性方程 9.1w次閱讀
- 觸發(fā)器及觸發(fā)器的作用 2.4w次閱讀
- 單穩(wěn)態(tài)觸發(fā)器有哪些_單穩(wěn)態(tài)觸發(fā)器工作原理介紹 4w次閱讀
- 觸發(fā)器的作用_觸發(fā)器的特點介紹 2.1w次閱讀
- 什么是單穩(wěn)態(tài)觸發(fā)器_單穩(wěn)態(tài)觸發(fā)器特點以及構成 7.5w次閱讀
- 什么是邊沿觸發(fā)器_邊沿D觸發(fā)器介紹 7.1w次閱讀
- sql觸發(fā)器的優(yōu)缺點 5400次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據手冊
- 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開發(fā)指南
- 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數(shù)字電路基礎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次下載 | 免費
評論
查看更多