233_RasPiで監視カメラの動体検知で電話通知・・NG

Raspberry Piで監視カメラの動体検知時に電話通知
http://qiita.com/hasudon7171/items/c7e408545b2c4b37af01
やってみる!
仕様
motionを利用して動体検知を行う
動体検知時に撮影してSlackへ自動投稿
Slackへ投稿するついでに指定番号に電話をかけて知らせる
Slackに着信ON/OFFとなる投稿。電話で通知してほしい時に着信させる
用途としては・・
ベランダに鳥が来た!!を動体検知して電話着信。

「お?電話がきた」。Slackで鳥の姿を確認

着信OFFをSlackに投稿して動体検知しても着信させない
motionの設定
motionをインストールします
# apt-get install -y motion
motion.confを変更します
# vi /etc/motion/motion.conf
motion.conf
# Threshold for number of changed pixels in an image that
# triggers motion detection (default: 1500)
#threshold 1500
threshold 8000   #写真を撮影するトリガとなるしきい値を上げます
# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /tmp/motion #撮影した画像の保存先を設定します
#撮影時にmotion.pyファイルを実行します。パラメータの%fは撮影したファイルPATH
#on_picture_save python /home/hasuo/motion/motion.py %f を参考にして、、、、
on_picture_save python /home/pi/motion/motion.py %f
とした。
motionを実行して、カメラが動体検知して/home/tmp/に画像ファイルが生成されていれば成功です
Terminal
motion -c /etc/motion/motion.conf
なんか、/tmp/motionにじゃがじゃが保存しているみたいだけど。。。。OKか??
Slackの設定
Slackでアカウントを発行します。
SlackのAPIを利用して投稿するため、トークンとチャンネルIDを確認します。
https://api.slack.com/methods/channels.list/test
URL
https://slack.com/api/channels.list?token=xoxp-169850188932-170503111255-169851330916-e8dfbff8d7561bf686f4fc656083ed2f&pretty=1
channels.list実行結果
{
“ok”: true,
“channels”: [
{
“id”: “<チャンネルID>”,
“name”: “general”,
“is_channel”: true,
:
ーーーーーここから実際結果ーーーーーーー
{
“ok”: true,
“channels”: [
{
“id”: “C50ET3AGP”,
“name”: “general”,
“is_channel”: true,
“created”: 1492320797,
“creator”: “U50ET397H”,
“is_archived”: false,
“is_general”: true,
“name_normalized”: “general”,
“is_shared”: false,
“is_org_shared”: false,
“is_member”: true,
“members”: [
“U50ET397H”
],
“topic”: {
“value”: “Company-wide announcements and work-based matters”,
“creator”: “”,
“last_set”: 0
},
“purpose”: {
“value”: “This channel is for team-wide communication and announcements. All team members are in this channel.”,
“creator”: “”,
“last_set”: 0
},
“previous_names”: [],
“num_members”: 1
},
{
“id”: “C50EEK970”,
“name”: “random”,
“is_channel”: true,
“created”: 1492320797,
“creator”: “U50ET397H”,
“is_archived”: false,
“is_general”: false,
“name_normalized”: “random”,
“is_shared”: false,
“is_org_shared”: false,
“is_member”: true,
“members”: [
“U50ET397H”
],
“topic”: {
“value”: “Non-work banter and water cooler conversation”,
“creator”: “”,
“last_set”: 0
},
“purpose”: {
“value”: “A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you’d prefer to keep out of more focused work-related channels.”,
“creator”: “”,
“last_set”: 0
},
“previous_names”: [],
“num_members”: 1
}
]
}
ーーーーーここまで実際結果ーーーーーーー
★★ここまでやった。。。。4/18 21:50
画像のアップロード
SlackのAPIを利用して動体検知時にSlackへ自動的に画像投稿します。
まずはSlackへ投稿する箇所をつくります。
motion.py
TOKEN      = ‘<トークン>’
CHANNEL    = ‘<チャンネルID>’
# slack API : files.upload
# 参考:https://api.slack.com/methods/files.upload
####
def upload_file(file_path, channel):
    with open(file_path,’rb’) as f:
param = {‘token’:TOKEN, ‘channels’:CHANNEL,}
r = requests.post(“https://slack.com/api/files.upload”, params=param,files={‘file’:f})
if __name__ == “__main__”:
    arg     = sys.argv
file_path = arg[1]
    upload_file(file_path, CHANNEL)

(・・・未成功・・・まだ続く・・・・)