ラズベリーパイで監視カメラ

#_Raspberry Pi_

##はじめに
最近世間でラズベリーパイというものが騒がれているので
それで監視カメラを作ることにした
##準備
ラズベリーパイ-----1
どこかのカメラ-----1
マウス、キーボード----1
マイクロUSBなど
_以上_
詳しいOSのセットアップはここをみています
http://deviceplus.jp/hobby/raspberrypi_entry_016/
円山ナカノさんの記事ですが
とても分かりやすくOSのセットアップ方法がかかれています
`でもosを入れるときNOOBSではなくRaspbianにはいってRaspbian Jessie
をえらんでください`
#機能概要
今回はslackを使ってします
当初はメールでする予定だったのですが
できないという見解になってしまいました（笑）
話が脱線しましたがslackに撮った画像を送ることにしたいです

#使うソフト
motion---画像を撮るソフトです
slacker---ラズベリー版slackのようです
以上
#motionのインストールand設定
まずmotionをインストールします

```コマンド
sudo apt-get install -y motion
```
インストールが終わったら次にslacker
をインストールします（もし失敗したらコマンドに是を打ってからインストールしてください）

```失敗したら
1.sudo apt-get update 
2.sudo apt-get upgrade
```

次に設定

```
sudo nano /etc/motion/motion.conf 
```

でとりあえず
```
daemon off
target_dir /tmp/motion
```
そして
ctrl+xをしてｙとうってからのenterで保存できます
そして次に
#slackerのインストール
まずwindwosマシンでアカウント登録をします
https://slack.com/,%22%5BSlack%E3%81%AE%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E7%99%BB%E9%8C%B2%5D%22
どうにかがんばってください（分からない場合はきいてください
下に掲示板があります）
##tokenを取る
このページを見てください
http://blog.bgbgbg.net/archives/3413
#インストール
これらが終わったら
slackerをインストールします

```
sudo pip install slacker
```
もしなんか聞いてきたらyで
#本番はここから
スクリプトを書きます

```
sudo nano /home/pi/slackbot.py
```

そしてその中に

```

# -*- coding: utf-8 -*- 


import sys 

 


from slacker import Slacker 


 


class Slack(object): 



 


    __slacker = None 



 


    def __init__(self, token): 


        self.__slacker = Slacker(token) 


         


    def get_channnel_list(self): 


        """ 


        Slackチーム内のチャンネルID、チャンネル名一覧を取得する。 


        """ 


        # bodyで取得することで、[{チャンネル1},{チャンネル2},...,]の形式で取得できる。 


        raw_data = self.__slacker.channels.list().body 



 


        channnels = [] 


        for data in raw_data["channels"]: 


            channnels.append(dict(channel_id=data["id"], channel_name=data["name"])) 


        return channnels 



 


    def post_to_file(self, file_path, channel): 


        result = self.__slacker.files.upload(file_path, channels=[channel]) 


        self.__slacker.pins.add(channel=channel, file_=result.body['file']['id']) 



 


if __name__ == "__main__": 



 


    param = sys.argv 


    file_path = param[1] 



 


    slack = Slack("xxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxx") 


    channnels = slack.get_channnel_list() 


    slack.post_to_file(file_path, channnels[0]["channel_id"]) 

```


xxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxxxxの所はそれを消して自分のtokenを入れてください

#連携

```
sudo nano /etc/motion/motion.conf 
```
その中の

```
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
; on_picture_save value
```
 ; on_picture_save valueの下に

```
on_picture_save python /home/pi/slackbot.py
```

と打ってください

全部打ったらこんなかんじ

```
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
#; on_picture_save value
on_picture_save python /home/pi/slackbot/slack_bot.py %f
```
そして

ctrl+xをしてｙとうってからのenterで保存できます

```
sudo motion
```
と打てば完了です
動体検知させてから
slackにsingしてみてください
画像がきているはずです
#参考
http://qiita.com/kinpira/items/bf1df2c1983ba79ba455#motion%E9%80%A3%E6%90%BA

http://raspberry.mirukome.com/raspberry-pi-camera/#outline

http://koiroha.blogspot.jp/2014/04/hedgehog-ir-camera-setup.html

http://blog.bgbgbg.net/archives/3413

http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230871/

http://qiita.com/KTaskn/items/b83c593eae5b6136f64b


http://www.limemo.net/blog/2013/09/%e3%83%a9%e3%82%ba%e3%83%99%e3%83%aa%e3%83%bc%e3%83%91%e3%82%a4raspbian%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b-5%e5%88%86%e3%81%a7%e3%83%a1%e3%83%bc%e3%83%ab%e3%82%92%e9%80%81.html#comment-224705


http://www60.atwiki.jp/esperna/pages/17.html

http://blog.g.marron.jp/2013/11/csvto.html


http://k-iwashita.hatenablog.com/entry/2014/10/17/121651

http://netbuffalo.doorblog.jp/archives/3942942.html


http://deviceplus.jp/hobby/raspberrypi_entry_015/


http://divide-et-impera.org/archives/1098

などです