SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Blueberry pi 
@kanayannet
今日話すこと 
1.Blueberry piって? 
2.何故やろうと思ったか? 
3.最適温度 
4.仕様 
5.実装方法 
6.まとめ
Blueberry pi って?
raspberry pi
raspberry pi
Blueberry
Blueberry pi って? 
raspberry pi と 
インターネット技術を 
ブルーベリー栽培に活かす。
何故やろうと思ったか? 
前回のLTで… 
記録のつけ忘れや水のやり忘れ を 
通知したい!
この季節は水やり必須!! 
7~9月の最高気温
何故やろうと思ったか? 
でも、雨の日 や 気温の低い日は 
それほど水やりの必要は無い…
何故やろうと思ったか? 
少なくとも…温度を検知する必要がある。
何故やろうと思ったか? 
出来れば大きさがコンパクトで 
開発が慣れてる環境(Linux)で
何故やろうと思ったか? 
¥ 4,479
何故やろうと思ったか? 
Raspbian is a free operating system based on Debian optimized 
for the Raspberry Pi hardware. 
ラズベリーパイのハードウェアに最適化された 
Debian base の オペレーティングシステム
何故やろうと思ったか? 
これだ!
最適温度
最適温度 
水やりには適さない
最適温度 
水やりには適さない 
植物は、日光を浴びて光合成を行う。 
光合成の原料になるのは水。 
また、温度調節のために、葉から水分を 
蒸散させる。
最適温度 
水やりには適さない 
炎天下で水を与えても蒸れてしまう。 
(野菜をゆがいているのと同じ状態) 
* 根腐れして枯れてしまう…orz
最適温度 
水やりには適さない 
なので、朝一番に水やりが基本。
そろそろヤバい!
WEBのネタ全然ない!
そろそろ出てきますよ
仕様 
1. 時間帯は朝(6:30) 
2. 気温が20度を超えていて 
3. 湿度が40%未満なら 
4. 検知メールを送る
実装方法 
まずはOSから 
1. RPi-sd card builder をMacに入れる 
2. 1 のツールを使い SDカード に 
OSイメージを書き出す
実装方法 
電源入れるまで 
1. SDカードを Raspberry pi に入れる 
2. ディスプレイはHDMI で出力 
3. キーボードは市販のもので動く(USB) 
4. USB電源を繋ぐと起動が始まる
実装方法 
電源入れるまで
実装方法 
初期起動 
1. change_timezone -> asia tokyo 
2. change_locale -> ja_JP.UTF-8 
3. configure_keyboard -> japanese
実装方法 
初期起動 
1. 再起動が始まる 
2. ID: pi 
3. pass: raspberry 
4. OS起動
実装方法 
温度を検知する 
1. strawberry-linux で購入(写真) 
2. USB接続 
3. ハードウェアを認識(dmesgで確認) 
4. driver をインストール(githubで公開)
実装方法 
温度を検知する 
1. コマンド実行(usbrh) 
2. 温度・湿度確認
実装方法 
無線LAN接続にする 
1. IEEE802.11n/g/b 規格の無線LAN 
2. USB で接続可能 なものを購入
実装方法 
無線LAN接続にする 
sudo vi /etc/network/interfaces 
auto lo 
iface lo inet loopback 
iface eth0 inet dhcp 
! 
allow-hotplug wlan0 
iface wlan0 inet dhcp 
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf 
iface default inet dhcp
実装方法 
無線LAN接続にする 
wpa_passphrase SSID名 パスフレーズ >> /etc/wpa_supplicant/ 
wpa_supplicant.conf 
! 
sudo reboot 
! 
ifconfig でIPが割り振られていれば成功
実装方法 
メールを流す 
1. Ruby を動かす(1.9.3 install済) 
2. gem install actionmailer
実装方法 
メールを流す 
require 'action_mailer' 
! 
ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.smtp_settings = { 
address: ‘SMTP server', 
port: 587, 
domain: ‘SMTP server domain', 
user_name: 'アカウント名', 
password: 'パスワード', 
authentication: ‘plain', 
enable_starttls_auto: true 
} 
! 
class TempSensor < ActionMailer::Base 
def sendmail(body) 
mail( 
to: '送信したいアドレス', 
from: '送信元アドレス', 
subject: '水やりアラーム', 
body: body.to_s 
) 
end 
def get_temp_humid() 
sensor_value = `usbrh` 
(temp,humid) = sensor_value.chomp.split(/ /) 
return {temp: temp.to_i,humid: humid.to_i} 
end 
end
実装方法 
メールを流す 
temp_sensor = TempSensor.new() 
ret = temp_sensor.get_temp_humid() 
if ret[:temp] >= 20 && ret[:humid] <= 40 
temp_sensor.sendmail(“現在の気温:#{ret[:temp]}n現在の温度:#{ret[:humid]}“).deliver 
end 
1. 毎日7時に起動する 
2. バッチ処理に仕掛ける(cron) 
3. 0 7 * * * プログラム名
実装方法 
完成画像
実装方法 
課題 
1. USB電源ケーブルが届くところでない 
と意味をなさない(電池切れる) 
2. 出来れば土植の植物の近くに置きたい 
(現在はベランダに温度センサーだけ 
出す) 
3. 防水仕様どうすっか… 
4. 出先で画像(様子)も見たい…
実装方法 
他の事例 
1. カメラを付けてペットの様子を出先で観察 
2. munin で温度をグラフ化
実装方法 
まとめ 
1. raspbian はLinux に慣れている人ならや 
りやすい。 
2. 外部(スマホ)から web api を使って連携さ 
せたくなる 
3. CPU や DISK IO を使うような処理は重く 
なりやすい。 
* rbenv で ruby を install すると2時間く 
らいかかります。
ご清聴ありがとうございました。

Más contenido relacionado

Destacado

Destacado (7)

J S Smartphone
J S SmartphoneJ S Smartphone
J S Smartphone
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
Fxos lt
Fxos ltFxos lt
Fxos lt
 
Ssl
SslSsl
Ssl
 
Smart phone gunma.web
Smart phone gunma.webSmart phone gunma.web
Smart phone gunma.web
 
2010 12gunmaweb
2010 12gunmaweb2010 12gunmaweb
2010 12gunmaweb
 
FileReader and canvas and server silde
FileReader and canvas and server sildeFileReader and canvas and server silde
FileReader and canvas and server silde
 

Similar a Blueberrypi

Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPihiro345
 
RasPiからSEILにL2TP/IPSec接続
RasPiからSEILにL2TP/IPSec接続RasPiからSEILにL2TP/IPSec接続
RasPiからSEILにL2TP/IPSec接続Michiya Tominaga
 
IoT Raspberry_pi sensor application plan for agriculture
IoT Raspberry_pi sensor application plan for agricultureIoT Raspberry_pi sensor application plan for agriculture
IoT Raspberry_pi sensor application plan for agricultureKaz Furukawa
 
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Diveほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep DiveYasuhiro Araki, Ph.D
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみようアシアル株式会社
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)catmoney
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Naoki Matsumoto
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews, Inc.
 
カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜Nobuhide Watanabe
 
日常業務にperlを使おう
 日常業務にperlを使おう 日常業務にperlを使おう
日常業務にperlを使おうturugina
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)Arata Fujimura
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideYoshifumi Hoda
 
Alexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るAlexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るJun Ichikawa
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 

Similar a Blueberrypi (20)

Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPi
 
RasPiからSEILにL2TP/IPSec接続
RasPiからSEILにL2TP/IPSec接続RasPiからSEILにL2TP/IPSec接続
RasPiからSEILにL2TP/IPSec接続
 
IoT Raspberry_pi sensor application plan for agriculture
IoT Raspberry_pi sensor application plan for agricultureIoT Raspberry_pi sensor application plan for agriculture
IoT Raspberry_pi sensor application plan for agriculture
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Diveほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
 
Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会Raspberry Pi勉強会(前編)-京大機械研究会
Raspberry Pi勉強会(前編)-京大機械研究会
 
Osc2013 tokyospring
Osc2013 tokyospringOsc2013 tokyospring
Osc2013 tokyospring
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
 
Yohes kitchen
Yohes kitchenYohes kitchen
Yohes kitchen
 
カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜カオスエンジニアリング入門〜ChaosBladeの紹介〜
カオスエンジニアリング入門〜ChaosBladeの紹介〜
 
日常業務にperlを使おう
 日常業務にperlを使おう 日常業務にperlを使おう
日常業務にperlを使おう
 
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
 
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slideNcstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
 
Alexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るAlexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作る
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 

Más de Net Kanayan

Más de Net Kanayan (20)

Osc16gm
Osc16gmOsc16gm
Osc16gm
 
Open source
Open sourceOpen source
Open source
 
Http2入門の入門
Http2入門の入門Http2入門の入門
Http2入門の入門
 
Es6 cognition
Es6 cognitionEs6 cognition
Es6 cognition
 
ES6 はじめました
ES6 はじめましたES6 はじめました
ES6 はじめました
 
Image convert
Image convertImage convert
Image convert
 
Browser push notifications
Browser push notificationsBrowser push notifications
Browser push notifications
 
Http
HttpHttp
Http
 
Basic vulnerability
Basic vulnerabilityBasic vulnerability
Basic vulnerability
 
Windows store app html
Windows store app htmlWindows store app html
Windows store app html
 
Js kusen
Js kusenJs kusen
Js kusen
 
Sass less
Sass lessSass less
Sass less
 
Web creed
Web creedWeb creed
Web creed
 
Js mvc
Js mvcJs mvc
Js mvc
 
Tdd&peapro
Tdd&peaproTdd&peapro
Tdd&peapro
 
Nseg jquery mobile
Nseg jquery mobileNseg jquery mobile
Nseg jquery mobile
 
Smart phone
Smart phoneSmart phone
Smart phone
 
Html5 css3 websocket
Html5 css3 websocketHtml5 css3 websocket
Html5 css3 websocket
 
Gunma ruby
Gunma rubyGunma ruby
Gunma ruby
 
Gunmaweb
GunmawebGunmaweb
Gunmaweb
 

Blueberrypi