Slide 1

Slide 1 text

Raspberry  Piでつくる   温度計の見せ方あれこれ あっきぃ  (  id:Akkieso2  )    2015/09/05    OSC2015  Niigata  

Slide 2

Slide 2 text

自己紹介 •  あっきぃ です(27歳)   •  北海道根室市出身   •  渋谷で仮想化エンジニアしてます   •  Ejectコマンドユーザー会セラピスト   •  Japanese  Raspberry  Pi  Users  Groupとしても   活動中   •  Rubyで書かれたOSSのTwiKerクライアント 「mikuKer」ヘビーユーザー  

Slide 3

Slide 3 text

今日は   Ejectの話では   なかった!!

Slide 4

Slide 4 text

みんな大好き   Raspberry  Piの   話

Slide 5

Slide 5 text

Raspberry  Pi   持て余してる人?

Slide 6

Slide 6 text

Raspberry  Pi×温度計と言う提案 •  Raspberry  Piで何をしたらいいかわからない?   •  PCとして使ってもいいし、電子工作もできる   •  でもPCってみんないいスペックのマシン持っ てるからいらないよね   •  じゃあ何しよう?サーバー?   •  そんな時は、とりあえず温度センサーを   つなごう(唐突)  

Slide 7

Slide 7 text

温度センサーは簡単 •  DS18B20という温度センサーを使おう   •  1-­‐Wireと言う規格で、簡単につながる   •  秋月電子で350円くらいで買えるし、製作も抵 抗1個とケーブルだけで簡単   •  面倒だったらdx.comで買おう   – hKp://www.dx.com/s/ds18b20   – 組み立て済みが400円くらい(2週間かかるけど送 料無料〜1.7ドル)  

Slide 8

Slide 8 text

組み立て •  4.7kΩの抵抗を3VとDATAの間につなぐ   •  ピンヘッダケーブルをつなぐ  

Slide 9

Slide 9 text

接続 •  VCCをRPiの3.3Vにつなぐ   •  DATAをGPIO4につなぐ   – 設定を書き換えると違うところにも挿せるョ   •  GNDをGNDにつなぐ   •  簡単ですね

Slide 10

Slide 10 text

設定と読み取り •  2015/02以降のRaspbianでやろう   •  /boot/config.txtにこれを追記   – dtoverlay=w1-­‐gpio   •  簡単ですね  

Slide 11

Slide 11 text

読み取り •  26625→26.625℃   •  簡単ですね $  cat  /sys/bus/w1/devices/28-­‐000003daa2d8/w1_slave   aa  01  4b  46  7f  ff  06  10  84  :  crc=84  YES   aa  01  4b  46  7f  ff  06  10  84  t=26625

Slide 12

Slide 12 text

で、 •  これをどう面白く見せるか?   •  データを記録し続けてビッグデータ化   •  ディスプレイして見た目にわかりやすくする   •  室温に応じてエアコンを操作   •  色々できる   •  広がる可能性!

Slide 13

Slide 13 text

室温を記録し続ける •  オープンソースのサーバー監視ツールZabbix を利用して、室温を記録し続ける   •  グラフ表示すると室温の変動を見られる   •  部屋が暑くなりすぎたら(寒過ぎたら)   アラートを出すとかできる

Slide 14

Slide 14 text

Zabbixで記録した室温 •  1月〜今日までのグラフ   •  左半分の緑の線は取得エラー   (途中で改善した)  

Slide 15

Slide 15 text

記録の仕方 •  Zabbix  ServerとZabbix  Agentのインストールと 設定は割愛   •  RPiのapt-­‐getで入るZabbix  Agentは1.8だけど 2.4のServerにデータを投げても大丈夫っぽい   •  スクリプトをcrontabで1分おきに実行しよう   •  スクリプトのgist  URL   – hKps://gist.github.com/Akkieso2/ 8ecb75a73c14bbd79167

Slide 16

Slide 16 text

スクリプト #!/bin/bash   for  i  in  `seq  3`   do      TEMP=`cat  /sys/bus/w1/devices/<温度センサーの番号>/w1_slave`      TEMP=`echo  $TEMP  |  awk  '{print  substr($0,  index($0,  "t=")  +  2)}'`      TEMP_CHK=`echo  $TEMP  |  sed  -­‐e  's/\(.\{2\}\)\(.\{3\}\)/\1/'`      if  test  $TEMP_CHK  -­‐gt  0  -­‐o  $TEMP_CHK  -­‐lt  60;  then          break      fi   done   TEMP=`echo  $TEMP  |  sed  -­‐e  's/\(.\{2\}\)\(.\{3\}\)/\1.\2/'`   echo  "-­‐  room_temp  $TEMP"  |  zabbix_sender  -­‐z    \          -­‐s    -­‐i  -­‐  >  /dev/null

Slide 17

Slide 17 text

_人人人人_
 >  次  <
  ̄^Y^Y^Y^ ̄

Slide 18

Slide 18 text

おもしろくディスプレイする •  dx.comで売られているLCDモジュールを使っ て、室温を表示してみる   – hKp://www.dx.com/s/raspberry+pi+PCD8544   •  モジュールはPythonでいろいろできる   •  室温と一緒に画像を出して、暑かったら画像 を差し替える   •  スクリプトはgistで配布   – hKps://gist.github.com/Akkieso2/ 519ab12aa71ac0cfa8c0

Slide 19

Slide 19 text

ファッキンホット温度計

Slide 20

Slide 20 text

ファッキンホット温度計

Slide 21

Slide 21 text

なんなのこれは •  会社で使用するために作った   •  室温を2つ表示   – 社内のサーバールームに温度計を置いてZabbix に投げたものを、Zabbix  APIで取得した値   – その場の室温   •  どっちかの室温が30度を超えたらファッキン ホット(と言うネタの)画像を表示する  

Slide 22

Slide 22 text

ファッキンホット温度計

Slide 23

Slide 23 text

よいところ •  たいへんわかりやすい   •  OSCでデモ映えする   •  その他のイベントでデモ映えする   •  わりとウケる   •  俺得  

Slide 24

Slide 24 text

_人人人人_
 >  次  <
  ̄^Y^Y^Y^ ̄

Slide 25

Slide 25 text

エアコンのリモート操作と   組み合わせる •  「エアぴっぴ」   hKps://github.com/Akkieso2/airpippi   •  エアコンをリモートから操作するためのソフト ウェアプロジェクト   •  ハード部分は「Raspberry  Pi  [実用]入門」 AppendixBを参考にして作ってね  

Slide 26

Slide 26 text

Raspberry  Pi  [実用]入門 AppendixB •  完全に不穏な章   •  ですが、Ejectなしで実装できます

Slide 27

Slide 27 text

ハード •  市販のエアコン向け汎用リモコン(500円)の 電源ボタンの回路をハックして、RPiで操作で きるようにしたもの   •  赤外線学習させるコストゼロ。メーカーコード 設定だけでおわる  

Slide 28

Slide 28 text

エアぴっぴスクリーンショット

Slide 29

Slide 29 text

TwiKer連携 ・メンションを投げて 操作できるようになる

Slide 30

Slide 30 text

人といきものにやさしい •  人間にとって便利であり、自宅でペットを飼っ ている人にはペットにやさしい   •  室温を確認してエアコン操作   •  エアコンを消し忘れて   外出したら消す   •  帰る直前に電源ON

Slide 31

Slide 31 text

まとめ •  Raspberry  Piで何するか迷ったらとりあえず   温度センサー   •  温度が取れるようになったら、色々やってみ たいものが見えてくる、はず   •  はじめのうちはオリジナルは目指さず、他人 のアイデアをパク……参考にしよう☝(  ՞ਊ  ՞)☝   •  まずはZabbixで記録してみませんか?

Slide 32

Slide 32 text

はいRPiポチポチしましょうね^〜

Slide 33

Slide 33 text

はいdx.comでポチりましょうね^〜

Slide 34

Slide 34 text

.  ☝           ՞    _人人人人人_  > (     ) <  ☞     ̄Y^Y^YY^Y^Y ̄  ՞         ਊ   ͓ΘΓ