忍者ブログ

設備のマニアどっとこむ

IoT開発、設備・DIYのブログ!

slackにRaspberry piから画像を自動投稿する方法

最近出張が多くて家を開ける機会が多いです。出張先で家の様子をラズパイで確認する方法を考えました。



↓OpenCVで撮影してslackで画像を投稿するプログラムを組んでます。
import RPi.GPIO as GPIO
import sys
import cv2
import time
import requests
TOKEN = 'xoxp-******'
CHANNEL = '*******'
GPIO.setmode(GPIO.BCM)  
GPIO.setup(27,GPIO.OUT) 
GPIO.setup(17,GPIO.IN)  
while True:
    if GPIO.input(17) == GPIO.HIGH:
        
        cc = cv2.VideoCapture(0)
        rr, img = cc.read()
        time.sleep(8)
        cv2.imwrite('pic.jpg', img)
        files = {'file': open("/home/pi/pic.jpg", 'rb')}
        param = {
          'token':TOKEN,
          'channels':CHANNEL,
          'filename':"filename",
          'initial_comment': "initial_comment",
          'title': "title"
        }
        requests.post(url="https://slack.com/api/files.upload",params=param, files=files)
        
    else:
        GPIO.output(27,GPIO.LOW)
        
GPIO.cleanup() 

OpenCVのインストールはこちらを参考にしてください。
実はこのままでは自動では撮影しません。17ピンの入力がHIGHの条件つきとなります。

Blinkで17ピンを遠隔操作すればシャッターのタイミングを操作できます。詳しくはここ撮りっぱなしでよければ if GPIO.input(17) == GPIO.LOW: にしておけばいいと思います。


応用すれば自走式カメラを遠隔で操作できる・・・かも。













拍手[0回]

PR

コメント

翻訳(Translate)

プロフィール

HN:
佐々木 雅史
性別:
男性
自己紹介:
2021年 ラズパイ、M5stackを用いたIoT開発を専門で受注するアルティメンテを設立。代表を務める。
・2020年ラズパイコンテスト優良賞受賞
・設備系資格多数(電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトなど)

AD

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30