電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

2023-06-12 | zip | 0.53 MB | 次下載 | 免費

資料介紹

描述

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

配置你的云盾

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

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

打開您的 Arduino IDE 并轉到example -> Bridge -> YunFirstConfig

如果您使用的是 YunShield,請務必選擇它所連接的板的名稱,而不是 Yun 板!

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

?
poYBAGSBsfGABQU-AABFEuU3qFY203.png
?

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

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

在開始之前確保你的 yun-shield 處于訪問模式。在您的計算機上的可用 WiFi 網絡中檢查云的名稱。它應該是這樣的

Arduino Yun-90A2DAF200DI

連接到該網絡并在瀏覽器中鍵入地址

192.168.240.1

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

注意默認密碼是arduino

?
pYYBAGSBsfSABWVFAABqag4iI-8604.png
配置頁面
?

完畢!現(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,我們不會將它們用于此項目。

?
poYBAGSBsfaAWtraAACAg0uMSE4070.png
注冊您的應用程序
?

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

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

轉到Tumblr API 控制臺并使用您已有的令牌對您的應用程序進行身份驗證,然后在右上角按顯示密鑰按鈕。你應該看到類似的東西:?

?
pYYBAGSBsfqAOwk_AADbYRXcnEA895.png
您的憑據
?

現(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

?
poYBAGSBsfyAAWf_AABmLQu9rm4889.png
標題(可選)
?

現(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 號作為回復。

?
pYYBAGSBsf-ACI_SAAAicbnbLrU000.png
?

接線

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

請注意,有時電線顏色可能會因傳感器而異!

?
poYBAGSBsgKAdz0DAALhZJpDa8Q584.png
?

上傳云盾草圖

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

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

工具/板/Arduino Leonardo


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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