電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用PIR傳感器作為觸發(fā)器拍攝照片并將其上傳到tumblr

使用PIR傳感器作為觸發(fā)器拍攝照片并將其上傳到tumblr

2023-06-12 | zip | 0.53 MB | 次下載 | 免費(fèi)

資料介紹

描述

使用 PIR 傳感器作為觸發(fā)器拍攝照片并將其上傳到 tumblr。

配置你的云盾

有兩種配置 Yùn 的方法。

第一個(gè)是上傳示例?YunFirstConfig并設(shè)置所需的參數(shù)

打開您的 Arduino IDE 并轉(zhuǎn)到example -> Bridge -> YunFirstConfig

如果您使用的是 YunShield,請(qǐng)務(wù)必選擇它所連接的板的名稱,而不是 Yun 板!

上傳草圖并打開串行監(jiān)視器。您將在下面的屏幕截圖中看到一條消息。

?
poYBAGSBsfGABQU-AABFEuU3qFY203.png
?

按照幾個(gè)簡(jiǎn)單的步驟為您的開發(fā)板設(shè)置名稱、密碼和網(wǎng)絡(luò)。現(xiàn)在您可以將 Yùn 連接到互聯(lián)網(wǎng)了!

配置開發(fā)板的第二種方法是通過(guò)瀏覽器進(jìn)行。

在開始之前確保你的 yun-shield 處于訪問(wèn)模式。在您的計(jì)算機(jī)上的可用 WiFi 網(wǎng)絡(luò)中檢查云的名稱。它應(yīng)該是這樣的

Arduino Yun-90A2DAF200DI

連接到該網(wǎng)絡(luò)并在瀏覽器中鍵入地址

192.168.240.1

現(xiàn)在你應(yīng)該被重定向到 yun 的配置頁(yè)面,你可以在這里設(shè)置名稱、密碼和你想要連接的 WiFi 網(wǎng)絡(luò)。

注意默認(rèn)密碼是arduino

?
pYYBAGSBsfSABWVFAABqag4iI-8604.png
配置頁(yè)面
?

完畢!現(xiàn)在您的云盾有了名字和密碼,并且可以上網(wǎng)了!

拍照

對(duì)于這個(gè)項(xiàng)目,我們使用了?quickcam communicate stx 這是一個(gè)廉價(jià)且兼容 linux 的網(wǎng)絡(luò)攝像頭,我們可以通過(guò) USB 連接到我們的 yun-shield。

在進(jìn)行這項(xiàng)工作之前,我們需要下載一些驅(qū)動(dòng)程序:

打開你的終端并通過(guò) ssh 連接到 yun-shield(確保你的計(jì)算機(jī)連接到 yun-shield 的同一網(wǎng)絡(luò))并下載所需的包

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

請(qǐng)注意,許多網(wǎng)絡(luò)攝像頭都適用于 UVC 驅(qū)動(dòng)程序。在這種情況下使用命令:

opkg install kmod-video-uvc libwebcam libuvc

現(xiàn)在我們可以使用此命令拍照并存儲(chǔ)它們

fswebcam test.png

圖片將保存為.png 并命名為test。

為了讓事情更有條理,我們可以創(chuàng)建一個(gè)文件夾來(lái)保存照片,只需在終端(通過(guò) ssh 連接到 yun-shield)輸入命令:

mkdir photos

現(xiàn)在要將照片保存在該文件夾中,請(qǐng)使用命令

fswebcam -r 640x480 photos/my_photo.jpg

我們剛剛拍了一張 640x480 分辨率的照片,將其命名為?my_photo.jpg并將其保存在文件夾photos 中。

將照片上傳到 tumblr

在上傳任何照片之前,我們首先需要?jiǎng)?chuàng)建一個(gè)連接到我們博客的 tumblr 應(yīng)用程序。為此,請(qǐng)?jiān)L問(wèn)?https://www.tumblr.com/oauth/apps?并注冊(cè)一個(gè)新應(yīng)用程序。我們需要此應(yīng)用程序來(lái)獲取向 tumblr 發(fā)出 http POST 請(qǐng)求所需的所有令牌。

在表格中填寫應(yīng)用程序名稱、描述和電子郵件聯(lián)系方式。您可以使用您想要的任何鏈接填充其余字段,例如默認(rèn)回調(diào) URL,我們不會(huì)將它們用于此項(xiàng)目。

?
poYBAGSBsfaAWtraAACAg0uMSE4070.png
注冊(cè)您的應(yīng)用程序
?

現(xiàn)在您應(yīng)該可以訪問(wèn)您的?OAuth Consumer Key和?OAuth Consumer Secret。將這些標(biāo)記保存在文本文件中,我們將在接下來(lái)的步驟中需要它們。?

現(xiàn)在我們還想獲得OAuth TokenOAuth Token Secret

轉(zhuǎn)到Tumblr API 控制臺(tái)并使用您已有的令牌對(duì)您的應(yīng)用程序進(jìn)行身份驗(yàn)證,然后在右上角按顯示密鑰按鈕。你應(yīng)該看到類似的東西:?

?
pYYBAGSBsfqAOwk_AADbYRXcnEA895.png
您的憑據(jù)
?

現(xiàn)在我們有了令牌,我們可以寫下將完成所有工作的 python 代碼。您可以復(fù)制并粘貼下面的代碼或從本教程的軟件部分下載它。

請(qǐng)記住用您的憑據(jù)填寫空白字段。

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 上上傳這個(gè)腳本,我們首先需要知道我們開發(fā)板的 IP 地址。通過(guò) ssh 和數(shù)字連接:

ifconfig

?
poYBAGSBsfyAAWf_AABmLQu9rm4889.png
標(biāo)題(可選)
?

現(xiàn)在我們有了 IP,我們可以繼續(xù)上傳腳本了。您可以使用此命令將your_path替換為文件夾的路徑以訪問(wèn) python 腳本。

scp /your_path/YunTumblr.py root@your_ip_address:

請(qǐng)記住還要上傳您可以在軟件部分找到的 auth.py 文件:?

scp /your_path/auth.py root@your_ip_address:

最后一步是下載 python 庫(kù)。通過(guò) ssh 連接到 yun shield 并使用這些命令

ssh root@name_of_your_yun.local
opkg update
opkg install python-pip
pip install oauth2
pip install poster

我們完了?。?!

要測(cè)試它,你可以數(shù)字:

fswebcam -r 640x480 photos/my_photo.jpg
python YunTumblr.py

將它們上傳到 tumblr 可能需要幾分鐘時(shí)間,但如果一切正常,您應(yīng)該會(huì)收到照片的 ID 號(hào)作為回復(fù)。

?
pYYBAGSBsf-ACI_SAAAicbnbLrU000.png
?

接線

通常所有 PIR 傳感器都帶有三根電線。黑色的用于接地,紅色的用于 5V,彩色的用于數(shù)據(jù)。

請(qǐng)注意,有時(shí)電線顏色可能會(huì)因傳感器而異!

?
poYBAGSBsgKAdz0DAALhZJpDa8Q584.png
?

上傳云盾草圖

Yun Shield 可以插入每個(gè) Arduino/Genuino 開發(fā)板。

插入擴(kuò)展板后,您必須從 Arduino IDE 中選擇擴(kuò)展板連接到的板,而不是 Arduino Yun 例如,如果將 Yun Shield 插入 Arduino Leonardo,則必須在 IDE 中選擇?

工具/板/Arduino Leonardo


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)