簡単に楽しくはじめよう!raspberry pi入門

73
おはようございます 朝早くからお越しいただき ありがとうございます ( ◠‿◠ )

Upload: akira-ouchi

Post on 24-May-2015

43.635 views

Category:

Technology


3 download

DESCRIPTION

OSC2013 Hokkaidoにて発表.

TRANSCRIPT

Page 1: 簡単に楽しくはじめよう!Raspberry Pi入門

おはようございます

朝早くからお越しいただき ありがとうございます  

(  ◠‿◠  )

Page 2: 簡単に楽しくはじめよう!Raspberry Pi入門

ねんのため

Page 3: 簡単に楽しくはじめよう!Raspberry Pi入門

Ejectのセミナーでは ありません

Page 4: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piの セミナーです

Page 5: 簡単に楽しくはじめよう!Raspberry Pi入門

EjectはLTまで おたのしみ

Page 6: 簡単に楽しくはじめよう!Raspberry Pi入門

この・・・あとで・・・つk  

(☝  ՞ਊ  ՞)☝  

Page 7: 簡単に楽しくはじめよう!Raspberry Pi入門

  ☝          ՞   _人人人人人_ > (     ) <  ☞    ̄Y^Y^YY^Y^Y ̄

 ՞        ਊ

Page 8: 簡単に楽しくはじめよう!Raspberry Pi入門

簡単に楽しくはじめよう!Raspberry Pi入門 Japanese Raspberry Pi Users Group あっきぃ

2013/09/14 OSC2013 Hokkaido

Page 9: 簡単に楽しくはじめよう!Raspberry Pi入門

自己紹介 •  あっきぃ(25歳のおにいさん) •  北海道根室市出身 •  OSC2005 Hokkaidoに17歳で参加したのがきっかけでびぎねっとに就職して今に至る

•  Ejectコマンドユーザー会主宰 今日も展示ブースはEjectメイン

Page 10: 簡単に楽しくはじめよう!Raspberry Pi入門

今日のアジェンダ •  Raspberry Piってなに? •  Japanese Raspberry Pi Users Groupに ついて

•  Raspberry Piを使ってみよう •  Raspberry Piをサーバーにしよう •  Raspberry Piで電子工作に挑戦してみよう •  Raspberry Pi Camera Moduleであそぼう •  まとめ

Page 11: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piってなに?

Page 12: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piとは •  英国のラズベリーパイ財団が開発した ARMプロセッサ搭載の小型コンピュータ

•  各種ARM Linuxが動く •  電子工作用のポートが搭載されている •  25ドルor35ドルと、安価に購入できる •  現在、大きいお友達などを中心にブーム

Page 13: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Pi

Page 14: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piでできることの例

•  簡易デスクトップ機 – Webとかワープロとかができるレベル – マイクラのサブセット版とかもまあ動く

•  Linuxでちょっとしたサーバーの運用 – もしくはサーバー構築の練習

•  電子工作と組み合わせたシステムづくり – センサー類を搭載してデータ収集 – ロボットに組み込んでLinuxで制御

Page 15: 簡単に楽しくはじめよう!Raspberry Pi入門

スペック •  SoC: Broadcom BCM2835 – CPU: ARM1176JZF-S 700MHz – GPU: Broadcom VideoCore IV (30fps FullHD H.264サポート)

– メモリ: 512MB (ModelAは256MB) •  Model B: USB2.0ポート×2+有線LAN •  Model A: USB2.0ポート×1 •  サイズ: 8.5cm×5.4cm≒クレジットカード

Page 16: 簡単に楽しくはじめよう!Raspberry Pi入門

スペックをざっくり言うと •  BCM2835→コストが重視されたスマホとか組み込み向けのチップ

•  スマホの部品でARMパソコン作りました みたいな感じ

Page 17: 簡単に楽しくはじめよう!Raspberry Pi入門

なぜRaspberry Piができたのか

•  子供や学生がコンピュータやプログラミングを学習するための教育用に作られた

•  環境がリッチになり、子供 たちがプログラミングに触 れる機会が減ってしまった

•  HTMLとかJSとかではなく、 もっとちゃんとしたプログ ラミングを学んでほしい

RasPi作者のEben氏(右)と  奥さんのLiz氏(左)

Page 18: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piのこだわり •  Raspberry Pi本体 – 小さくて頑丈なもの – 子どもたちがカバンに入れて持ち運びできる – とにかく安価にして教材として採用できるように考慮

•  Raspberry Pi本体以外 – できるだけたくさんの言語でプログラミングができることを目標に環境を整備

Page 19: 簡単に楽しくはじめよう!Raspberry Pi入門

ハードだけではない     Raspberry Pi

•  プログラミングを学習してもらうためのソフトウェア環境も考慮されている

•  推奨OSのRaspbianにバンドルされている物 – Pythonスクリプトのサンプル – GUIでプログラミングできるScratch

•  Minecraft Pi Edition – Mojangが開発しているゲーム – マップ内をプログラムで動的にハックできる特別仕様になっている

Page 20: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piの名前の由来 •  果物の名前を社名に採り入れている(Appleなど)に敬意を表してRaspberryにした

•  PiはPythonからとった

→Raspberry Piになって、パイ(Pie)っぽくなった(?)

Page 21: 簡単に楽しくはじめよう!Raspberry Pi入門

Japanese Raspberry Pi Users Groupについて

Page 22: 簡単に楽しくはじめよう!Raspberry Pi入門

Japanese Raspberry Pi Users Group

•  OSC2012 Tokyo/FallでRaspberry Piを持ち込んでいたユーザーを中心にユルく結成

•  Google Groups(ML)を開設し、情報交換を開始

•  Raspberry Pi公式フォーラムに日本語フォーラム開設を働きかけ

•  2013年5月のBig Raspberry JAM TOKYO 2013を主催

Page 23: 簡単に楽しくはじめよう!Raspberry Pi入門

活動内容 •  2ヶ月に1回くらいをめどに、Raspberry JAM(オフラインミーティング)を東京都内で開催中 – RasPiを使って作ったものなどを自慢する – 情報交換 –  (本物の)ラズベリーパイをたべる

Page 24: 簡単に楽しくはじめよう!Raspberry Pi入門

書籍執筆 •  初期メンバーを中心に技術評論社より 「Raspberry Pi [実用] 入門」を刊行

•  それぞれ自分が活用している分野についての紹介や、その作り方を紹介

•  ソフトからハードまで手広く カバー

•  私も参加(そしてEject!) •  ブースで試し読みできます

Page 25: 簡単に楽しくはじめよう!Raspberry Pi入門

ユーザー会の情報 •  raspi.jp を参照 •  Google Groupsに参加して情報を交換しよう – RasPiのこと、OSのこと、電子工作のこと、RasPiケースのこと……

•  公式サイトの日本語フォーラムももちろん可

Page 26: 簡単に楽しくはじめよう!Raspberry Pi入門

私とRaspberry Pi

Page 27: 簡単に楽しくはじめよう!Raspberry Pi入門

私とRaspberry Pi •  はじめて見た瞬間「Ejectサーバーに使える」と直感する – バッテリー駆動が可能なのでモバイル化の可能性を感じた→続きはEJectの展示・LTで

•  はじめはLinuxサーバーとして使用 •  今は少しずつ電子工作も絡めて、いろいろと遊んでいるところ

Page 28: 簡単に楽しくはじめよう!Raspberry Pi入門

今日の展示(1) •  エアコンリモート操作 •  1-Wire温度センサーを使用してWebで室内温度を確認

•  Webからの操作に 加えてボタンでの 手動操作もできる

•  Ejectソリュー ションの進化系

Page 29: 簡単に楽しくはじめよう!Raspberry Pi入門

今日の展示(2) •  キャラクタLCDとPaSoRiを組み合わせた交通系ICカードの残高表示

•  『Raspberry Pi[実用]入門』で紹介されているLCDを使用 (特に難しくない)

Page 30: 簡単に楽しくはじめよう!Raspberry Pi入門

私のらずぱい経歴 •  2012年3月にEngadgetJapaneseで知る •  8月に1号機を入手、Ejectサーバーにする •  OSC2013東京秋で持ち込みドヤリング •  冬から半年かけて書籍執筆 •  5月に東京で大規模なイベント開催、Eben氏とLiz氏にEjectがウケる

•  RasPi公式サイトに載る←イマココ!

Page 31: 簡単に楽しくはじめよう!Raspberry Pi入門

(☝ ՞ਊ ՞)☝ウイーン

Page 32: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piを使ってみよう

Page 33: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piをはじめるには •  Raspberry Piを買う – RS Online( jp.rs-online.com ): 国内発送ですぐ届く

– ModMyPi(modmypi.com): 海外からケース付きで

•  周辺機器をそろえる – USBキーボード・マウス – HDMI出力対応モニターかテレビ、HDMIケーブル

– LANケーブル – 電源ケーブル(MicroUSB)

Page 34: 簡単に楽しくはじめよう!Raspberry Pi入門

周辺機器を接続する •  USBデバイスなどは電源を入れる前に接続 – 稼働中に抜き差しするとシステムがクラッシュすることがある

•  HDMIが無い時の画面出力 – HDMIからDVIやVGAに変換するアダプタの利用 – RCA端子で車載用ディスプレイなどにつなぐ

•  USB無線LANドングルも使える – 国内の安いドングルはだいたいそのまま動く

Page 35: 簡単に楽しくはじめよう!Raspberry Pi入門

OSの用意 •  ストレージはSDカードを使用 •  NOOBSの場合 – 公式サイトからNOOBSのzipファイルを取得 – フォーマット済のSDカードにファイルコピー

•  ディスクイメージの場合 – 公式サイトからOSのイメージファイルを取得 – SDカードにDDコマンドなどで書き込み

Page 36: 簡単に楽しくはじめよう!Raspberry Pi入門

OSインストールの使い分け •  NOOBSを利用すると良いケース – 色んなOSを試したいとき – 頻繁にOSを再インストールするとき

•  ディスクイメージを利用すると良いケース – 用途が決まっていてOS入れ替えがないとき – SDカードの容量が小さいとき

Page 37: 簡単に楽しくはじめよう!Raspberry Pi入門

起動と停止 •  電源ボタンは、ない

•  起動は電源ケーブルをさした瞬間に稼動 •  停止はOSからシャットダウンした後電源ケーブルを抜く

•  リセットボタンはボードにパターンがあるので自分でつけられる

Page 38: 簡単に楽しくはじめよう!Raspberry Pi入門

接続してみた様子

Page 39: 簡単に楽しくはじめよう!Raspberry Pi入門

OSのインストール •  NOOBSをSDカードに用意して起動すると、次のような画面が表示される

•  好みのOSを選ぶとインストールが始まる •  簡単!! ✌(‘ω’)✌

Page 40: 簡単に楽しくはじめよう!Raspberry Pi入門

初期設定 •  初回起動時もしくはraspi-configコマンドを実行すると、セットアップ画面が表示される

•  デスクトップの有効化、キーボード・ロケール設定、パスワード変更などが手軽に実行できる

•  設定が終わって、必要に応じて再起動を実行したら完了

Page 41: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piを デスクトップにしよう

Page 42: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piの    デスクトップ環境

•  推奨OSのRaspbianや、FedoraベースのPidoraにはデスクトップ環境が用意されている

•  RaspbanであればLXDE •  Pidoraであればxfce

Page 43: 簡単に楽しくはじめよう!Raspberry Pi入門

デスクトップのようす(Raspbian)

Page 44: 簡単に楽しくはじめよう!Raspberry Pi入門

デスクトップのようす(Pidora)

Page 45: 簡単に楽しくはじめよう!Raspberry Pi入門

どのくらい使えるの? •  CPUとメモリがそれほど強くはないので快適に使えるかと言えば、正直No – 使う人の寛容さに左右される(??)

•  画面描画がもたつく

•  日本語入力関係はデフォルトでは入ってないため、自分でインストールする

Page 46: 簡単に楽しくはじめよう!Raspberry Pi入門

WaylandとRaspberry Pi •  新しいデスクトップ環境としてWaylandがある

•  Raspberry Pi向けのテスト版が用意されている

•  描画にGPUを使用するため、GPUが強いRaspberry Piでは快適に動作する – http://youtu.be/0UkUal_hHx8

•  ただし、開発版なので動作はまだ不安定

Page 47: 簡単に楽しくはじめよう!Raspberry Pi入門

GPUについて •  VideoCore IVと言うGPUを搭載している •  フルHD動画の再生も余裕 •  後で紹介するカメラもGPUを利用

•  GPUプログラミングとかはこのへん参照 – http://elinux.org/Raspberry_Pi_VideoCore_APIs

Page 48: 簡単に楽しくはじめよう!Raspberry Pi入門

Waylandを試す方法 •  /etc/apt/sources.listに以下の行を追加 – deb http://raspberrypi.collabora.com wheezy rpi

•  apt-getでインストール – $ sudo apt-get update; sudo apt-get install weston

•  起動 – $ weston-launch

•  ( http://wayland.freedesktop.org/raspberrypi.html を参考)

Page 49: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piを サーバーにしよう

Page 50: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piでサーバー •  OSがLinuxなので、Raspberry Piのスペックの範囲内で大抵のサーバーは動かせられる

•  Webサーバー(Apache, Nginxなど) •  DHCPサーバー(dhcpd, dnsmasqなど) •  DNSサーバー(bind, dnsmasqなど) •  VPNサーバー(OpenVPNなど) •  NTPサーバー(ntpd) •  Ejectサーバー(!?)

Page 51: 簡単に楽しくはじめよう!Raspberry Pi入門

インストールも簡単 •  推奨OSのRaspbianはDebianベース •  インストールはapt-get •  DebianとかUbuntuとかを触ったことがある人なら、なんてことはない

•  詳しいサーバーの作り方などは割愛

Page 52: 簡単に楽しくはじめよう!Raspberry Pi入門

複数台構成が試しやすい •  通常のPC・サーバーでは、価格やスペースや電力などの問題で出来なかった複数台構成の実験もできる – (仮想マシンでいいじゃん、とか言わない!><)

•  Raspberry Piなら安くてコンパクトで省電力なので、手軽に実験できる

•  こんなのはいかが? – クラスタリング – 複数台構成のOpenStack(パッケージはある)

Page 53: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piで 電子工作に挑戦しよう

Page 54: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Piと電子工作 •  Raspberry PiにはGPIOやI2Cと呼ばれるIO入出力機能が付いている

•  これを利用して電子工作が学習できる •  OSとの連携もLinuxなのでかんたん – 専用のOSとかアセンブラは不要 – シェルスクリプトやLightweight Languageで開発できる

•  入門にはうってつけ

Page 55: 簡単に楽しくはじめよう!Raspberry Pi入門

用意するといいもの •  ブレッドボード – 電子部品をボードに差して接続できるボード

•  ジャンパーピン – Raspberry Piとブレッドボードと部品とを つなぐ線

•  購入場所 – 近くの電子工作屋さん – 通販 – dx.com(海外の通販。2週間かかるけど送料無料)

Page 56: 簡単に楽しくはじめよう!Raspberry Pi入門

LEDチカチカをしてみる •  LEDをLinuxから点灯させてみよう – 通称Lチカ。某コンビニのフライドチキンっぽい呼び方だな?

•  使うもの – LED(3.3Vのもの) – 270Ω~330Ωくらいの抵抗(ない時はもう少し値が大きくても良い。470Ωとか) • ※値が小さいとLEDが壊れるけれど、それもまた学習(?)

Page 57: 簡単に楽しくはじめよう!Raspberry Pi入門

回路図 •  今回はGPIO4に接続(ピン番号では7)

※GNDはPin6が正しい  (FritzingのRaspberry  Piのデータが間違っている模様)

Page 58: 簡単に楽しくはじめよう!Raspberry Pi入門

接続してみたようす

Page 59: 簡単に楽しくはじめよう!Raspberry Pi入門

チカチカさせる •  Rubyでチカチカさせてみよう •  wiringpiを使用する (sudo gem install wiringpi)

•  GPIOは7(ピン番号)を 指定

•  ルート権限で実行 •  (sudo ruby light.rb)

require  'wiringpi'  

gpio  =  7  io  =  WiringPi::GPIO.new  io.mode(gpio,  OUTPUT)  

io.write(gpio,  1)  sleep  3  io.write(gpio,  0)

light.rb

Page 60: 簡単に楽しくはじめよう!Raspberry Pi入門

光った!!

Page 61: 簡単に楽しくはじめよう!Raspberry Pi入門

他の例 •  LEDチカチカに限らずいろんなことができる

•  モーターの制御 •  温度センサーをつないで室温の計測 •  家電のリモート操作(ホームオートメーション)

Page 62: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Pi Camera Moduleであそぼう

Page 63: 簡単に楽しくはじめよう!Raspberry Pi入門

Raspberry Pi Camera Module

•  2013年5月頃に発売 – これも供給安定までに数ヶ月かかった(^^;

•  Raspberry Piに接続して使うことができる

•  簡単なコマンドで写真や動画の撮影ができる

•  $25(¥2,400)で販売中

Page 64: 簡単に楽しくはじめよう!Raspberry Pi入門

特徴 •  安価 •  性能がいい – 5メガピクセル(500万画素) – フルHD動画を30fpsで出力 •  RasPiのGPU性能が良いため

– H.264サポート •  やはり元々はケータイ向けの部品

Page 65: 簡単に楽しくはじめよう!Raspberry Pi入門

接続したようす •  リボンケーブルをCSIポートに差し込む – Camera Serial Interfaceの略

•  違う長さのリボンケーブルや、固定用アクセサリは通販で買える – shop.pimoroni.com – modmypi.com

Page 66: 簡単に楽しくはじめよう!Raspberry Pi入門

使えるようになるまでの手順 •  最新のNOOBS(1.2.1)でRaspbianを用意 •  カメラを接続して起動 •  初回起動時もしくはraspi-configコマンドでカメラサポートを有効にする

•  再起動する

Page 67: 簡単に楽しくはじめよう!Raspberry Pi入門

写真を撮影してみる •  raspistill ‒o test.jpg

•  意外とキレイに写る

Page 68: 簡単に楽しくはじめよう!Raspberry Pi入門

動画を撮影してみる •  raspivid ‒o test.x264 ‒t 15000 –  -tは撮影時間(上記は15秒) – 指定しない場合は5秒 – デフォルトではフルHD(1920x1080)で出力されるので、適宜-x,-yでサイズ変更可能

•  mp4に変換するには、MP4Boxコマンドを使用(gpacパッケージをインストール) – MP4Box -fps 30 -add test.h264 test.mp4

Page 69: 簡単に楽しくはじめよう!Raspberry Pi入門

ストリーミング •  VLCを使った例 •  vlcパッケージをインストールして、以下のコマンドを実行

•  リモートのマシンの VLCからネットワーク 接続

$  raspivid  -­‐o  -­‐  -­‐t  9999999  -­‐w  320  -­‐h  240  |  cvlc  -­‐vvv  stream:///dev/stdin  -­‐-­‐sout  '#standard{access=h\p,mux=ts,dst=:8080}'  :demux=h264

Page 70: 簡単に楽しくはじめよう!Raspberry Pi入門

他になにができる? •  マクロレンズをつけてマクロ撮影 •  OpenCVと組み合わせて顔認識など – http://youtu.be/CxFW7X_d9IM

•  気球につけて飛ばして空を撮る (先日Eben氏らがやっていた^^;) – http://www.raspberrypi.org/archives/4733

Page 71: 簡単に楽しくはじめよう!Raspberry Pi入門

いろんなプロジェクト •  RaPiRo: RasPiを搭載して操作できるロボット。カメラも搭載できる

•  Pi-Pan: カメラをケースに固定して、RasPiからアングルを操作するツール

Page 72: 簡単に楽しくはじめよう!Raspberry Pi入門

まとめ •  Raspberry Piは安く買えるけれどなんでも遊べるし奥深い

•  Linux機にしてもいいし、バリバリ工作してもいい

•  買ったけど寝かせている人も、実用性は無視して、他の人の例を参考に色んなものにチャレンジしてみて!

Page 73: 簡単に楽しくはじめよう!Raspberry Pi入門

おしまい •  質問とかあればぜひどうぞ •  セミナー後はEjectコマンドユーザー会ブースにいます