Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Big Raspberry JAM TOKYO 2013 Hardware

4,416 views

Published on

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Big Raspberry JAM TOKYO 2013 Hardware

  1. 1. 1Big Raspberry JAM TOKYO 2013HardwareRaspberry Pi と GPIOお手軽 Physical Computing~ LED チカチカと温度センサー ~Japanese Raspberry Pi Users Groupあおしま ひでき (Hideki AOSHIMA)      Sponsored by
  2. 2. 2自己紹介● 某中小企業で何でも屋のエンジニア● Raspberry Pi は販売初期に入手– 現在は結局5台所有( Model A x1, Model B x4 )● こういうアイコンで出没→● twitter: @azarashi55● OSC(Open Source Conference) で講演など* http://www.ospn.jp/
  3. 3. 3Agenda● Raspberry Pi の紹介● Raspberry Pi の GPIO– 質疑応答、ディスカッションなど● LED チカチカ(俗にいう L チカ)– 質疑応答、ディスカッションなど・休憩● 温度センサーを接続して温度測定– 質疑応答、ディスカッションなど
  4. 4. 4Raspberry Pi の紹介 -1-● 超小型で超安価な ARM コンピューター– The Raspberry Pi Foundation が開発● 代表は Eben Upton 氏( Broadcom 社 Director )– コンピューター教育用途として開発– Model A( 約 $25) 、 Model B( 約 $35)– ちなみに小中高生( K12 )のお小遣いで買える価格を目指したそうです– 大きさはちょうどクレジットカードサイズ
  5. 5. 5Raspberry Pi の紹介 -2-● なぜ” Raspberry Pi” ?– ” コンピューター会社の名前にはフルーツの名前をつけるのが一般的” by Eben 氏– Pi は Python に由来● 本セミナーではシェルスクリプトと Python を使用● もちろん他の言語も使えます
  6. 6. 6Raspberry Pi の紹介 -3-● Raspberry Pi の主な仕様– SoC: Broadcom BCM2835● CPU: ARM1176JZF-S(ARM11)● GPU: Broadcom VideoCore IV– OpenGL ES2 がかなり高速で動く– I/O: USB2.0 、 Audio 、 HDMI 、 RCA Video 、 GPIO– Storage: SD カード– 電源 : 基本的に microUSB から入力( 5V )
  7. 7. 7Raspberry Pi の紹介 -4-● Model A と Model B– Model A (より低消費電力な廉価版)● LAN ポート無し、 USB x 1 、 256MB メモリ– Model B (こちらが主流)● LAN ポート有り、 USB x 2 、現在は 512MB メモリ● Rev.1 と Rev.2(256MB メモリ ) 、Rev.2(512MB メモリ ) が存在します
  8. 8. 8Raspberry Pi の紹介 -5-● cat /proc/cpuinfo– Revision: の欄を見る● Model B Rev.1 : 0002● Model B Rev.2(RAM 256MB):0004,0005,0006● Model B Rev.2(RAM 512MB):000d,000e,000f● Model A : 0007,0008,0009* http://elinux.org/RPi_HardwareHistory
  9. 9. 9Raspberry Pi を使う上での Tips● 電源は大事– スマートフォン用充電器などが使えますが、供給可能電流が 1A 以上あると動作が安定します(特に Wi-Fi ドングル使用時)● SD カード– そこそこのブランドの SDHC カード class 10 、容量 4GB以上がオススメ
  10. 10. 10Raspberry Pi の購入● 発売当初は世界的に供給不足だったが今は供給が安定● RS コンポーネンツ– 日本で唯一の公式 Reseller– http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi– Blue Raspberry Pi のキャンペーン中
  11. 11. 11Raspberry Pi のセットアップ -1-● 最低限必要なもの( Model B の場合)– 電源(スマートフォン用充電器など)– SD カード( SDHC カードがオススメ)、 SD カードリーダー / ライター– LAN ケーブル● Model A や接続形態によって必要なもの– USB キーボード、 USB マウス、ディスプレイ– USB- シリアル変換ケーブル or アダプター( Model A の場合)– Wi-Fi ドングル(多くの製品が Raspbian で使用可能)* http://elinux.org/RPi_VerifiedPeripherals
  12. 12. 12Raspberry Pi のセットアップ -2-● SD カードに OS イメージファイルを書き込む– 本セミナーでは Raspbian ”Wheezy” 2013/2/9 版を使用● 起動して初期設定● 必要に応じてユーザー追加・パスワード変更など● 詳細は Interface 12 月号・同誌増刊号などをご参照下さい– 基本的に Debian GNU/Linux “Wheezy” です* Interface 12 月号 P.50 ~、増刊号 P.22 ~* http://www.raspberrypi.org/downloads
  13. 13. 13Raspberry Pi の GPIO -1- *● 百聞は一見にしかずGPIO
  14. 14. 14Raspberry Pi の GPIO -2-● GPIO とは?– General Purpose Input/Output (汎用入出力)の略語– Raspberry Pi の場合  13 ピン2列の 26 ピン● GPIO で何ができるか?– 単純な入出力機能だけでも LED チカチカ、ボタン押下検出など– I2C 、 SPI 、 UART などで様々な外部デバイスを接続可能– I2C については後ほど温度センサーでご説明します– UART は USB シリアル変換で使います
  15. 15. 15Raspberry Pi の GPIO を扱う上での注意点● GPIO ピンは SoC に直結されています– 静電気、過電圧、過電流により Raspberry Pi 本体に損傷を与える可能性があります– 特に静電気(着衣、空気の乾燥など)、過電圧には注意しましょう● 入出力電圧は 3.3V です– 5V を入出力できません( Arduino とは異なります)– 接続するデバイスも 3.3V で動作するものを選ぶ
  16. 16. 16Raspberry Pi の GPIO -3-● Raspberry Pi の GPIO ピン配列 (Model B Rev.2 、 Model A)– 3.3V と 5V とGND が隣接しているので要注意– Model B Rev.1 は一部 GPIO ピンアサインが異なっているので注意して下さい* http://www.orsx.net/blog/archives/4126I2C で使いますRev.1 では GPIO21
  17. 17. 17Raspberry Pi の GPIO -4-● Raspberry Leaf* http://www.doctormonk.com/2013/02/raspberry-pi-and-breadboard-raspberry.html
  18. 18. 18質疑応答・ディスカッション・休憩
  19. 19. 19LED チカチカ -1-● LED チカチカ(俗に L チカ)の利点– 回路が簡単– 動作結果が目で見てわかる– ブレッドボード(次にご説明します)を使えばハンダ付け不要でお手軽– パーツが超安価
  20. 20. 20LED チカチカ -2- *ブレッドボード● ブレッドボードとは?– ブレッドボードの一例(色んな種類があります)* http://akizukidenshi.com/catalog/g/gP-00315/
  21. 21. 21LED チカチカ -3- *ブレッドボードの内部配線● ブレッドボードの内部配線溝の部分で絶縁されています
  22. 22. 22LED チカチカ -4- *  LED の基礎知識● LED (発光ダイオード)– ダイオードなので極性有り● 足の長さや切欠きで区別– Vf (順方向降下電圧)が3.3V 以下のものを選ぶ– 電流制限抵抗を入れて LEDに過電流が流れないようにする
  23. 23. 23LED チカチカ -5- 配線図・回路図● 配線図・回路図(みんな大好き Fritzing )* http://fritzing.org/電流制限抵抗
  24. 24. 24LED チカチカ -6- * 実際の配線● 実際の配線– 静電気に注意– 電源は抜いておく– 配線ミスに注意– LED には極性があります
  25. 25. 25LED チカチカ -7- * シェルスクリプト● Raspbian の場合すごく簡単( root ユーザーで実行)– GPIO7 の使用開始echo “7” > /sys/class/gpio/export– GPIO7 を出力に設定echo “out” > /sys/class/gpio/gpio7/direction– GPIO7 に 3.3V を出力echo “1” > /sys/class/gpio/gpio7/value– GPIO7 への出力を止めるecho “0” > /sys/class/gpio/gpio7/value– GPIO7 の使用終了echo “7” > /sys/class/gpio/unexport* Interface 誌 P.70 ~ 72 、 Interface 誌増刊号 P.48 ~ 50
  26. 26. 26LED チカチカ質疑応答・ディスカッション・休憩
  27. 27. 27I2C 接続の温度計 -1-● なぜ温度計か?– 使用する I2C 接続の温度センサー( TMP102 )が比較的安価– Raspberry Pi の GPIO ヘッダーに I2C (後でご説明します)専用の端子がある– I2C なのでデジタル入出力で結線数が少ない– 温度計が GPS とかより身近* http://www.switch-science.com/catalog/258/ など
  28. 28. 28I2C 接続の温度計 -2-  I2C について● I2C とは– 1980 年代初頭に開発されたプロトコル● その後改訂されて現在に至る– シリアルデータ( SDA )とシリアルクロック( SCL )の 2 本の信号線によるシリアル通信● 電源ラインを含めてもたった 4 本の結線で使用可能– Raspbian のデフォルトのカーネルで I2C が使える– 「アイ・スクエアド・シー」が正しい読み方– ただ「アイ・ツー・シー」とも呼ばれる
  29. 29. 29I2C 接続の温度計 -3-  I2C でのデバイスの接続● I2C でのデバイス接続方法– 一つのマスターデバイス(今回は Raspberry Pi )にスレーブデバイス( 2 つ以上でも OK )を接続– スレーブデバイスは I2C アドレス(大抵 7bit )を持ち、識別されます
  30. 30. 30I2C 接続の温度計 -4-  TMP102● TMP102 の特徴– I2C 接続で結線数が少ない(電源ライン込みで 4 本)– 3.3V で動作し、消費電力が少ない– 比較的安価– 精度が 0.5℃(分解能は 0.0625℃ )– 使用例が多く WEB 上に情報が多い
  31. 31. 31I2C 接続の温度計 -5- *  TMP102● TMP102 にピンヘッダーをハンダ付け– ブレッドボードに仮固定するとうまくできます
  32. 32. 32I2C 接続の温度計 -6- 配線の確認● 事前に Fritzing で配線の確認
  33. 33. 33I2C 接続の温度計 -7- * 実際に配線● I2C 用ピンヘッダーの配置上、配線が1ヶ所に集中します
  34. 34. 34I2C 接続の温度計 -8-  Raspbian の準備● I2C モジュールの有効化(コメントアウトするだけ)$ sudo nano /etc/modprobe.d/raspi-blacklist.conf* Interface 誌増刊号 P.95 ~ 97
  35. 35. 35I2C 接続の温度計 -9-  Raspbian の準備● i2c-dev モジュールを起動時に読み込ませる$ sudo nano /etc/modules
  36. 36. 36I2C 接続の温度計 -10-  Raspbian の準備● 一旦 Raspberry Pi を再起動してログを確認$ dmesg | grep i2cで以下の 3 行が出力されていることを確認 (lsmod コマンドでもOK)[ 4.686775] bcm2708_i2c bcm2708_i2c.0: BSC0     Controller at 0x20205000 (irq 79) (baudrate 100k)[ 4.897084] bcm2708_i2c bcm2708_i2c.1: BSC1     Controller at 0x20804000 (irq 79) (baudrate 100k)[ 14.220329] i2c /dev entries driver
  37. 37. 37I2C 接続の温度計 -11-  I2C 関連のパッケージをインストール●I2Cデバイスを操作するのに必要なパッケージをインストール$ sudo apt-get install i2c-tools python-smbus●今回使用している温度センサーTMP102はさきほどのように配線すると、I2Cアドレスが0x49となります●ちなみに、TMP102はI2Cアドレスを変えれば複数個接続出来ます– ADD0端子の接続先を変更するとI2Cアドレスが変わります
  38. 38. 38I2C 接続の温度計 -12- *  TMP102 の動作確認● i2cdetect で確認– 0x49 のところに 49 と表示されれば正常に通信できています– なお、 Raspberry Pi Model B Rev.1 とそれ以外で i2cdetect の引数が異なります
  39. 39. 39I2C 接続の温度計 -13-● 今回は I2C 操作に SMBus モジュールを使います– ただし、ドキュメントが極端に少ないです– Python3 系列が必須ですが quick2wire-python-api というものもあります● スライドの関係上クラス等は作りませんでした* https://github.com/quick2wire/quick2wire-python-api
  40. 40. 40I2C 接続の温度計 -14-  Python スクリプト#!/usr/bin/env pythonimport smbus# TMP102のI2Cアドレスは0x49addr = 0x49# SMBusの引数はModel B Rev.1の場合0、Model B Rev.2、Model Aの場合1i2c = smbus.SMBus(1)# TMP102から2バイト読み込みますtemp = i2c.read_i2c_block_data( addr, 0 ,2)# 最後に、TMP102のデータシート通りに温度を計算して、画面表示しますprint temp[0] + (temp[1] >> 4) * 0.0625
  41. 41. 41I2C 接続の温度計 -15- *● GPIO へのアクセスは root 権限が必要なので sudo コマンドを使います
  42. 42. 42I2C 接続の応用● I2C 接続をマスターすると・・・– 様々なセンサー類をつなぐことができる● 温度、湿度、大気圧、 GPS 、加速度など– センサーの他にもいろいろつながります● LCD 、 A/D コンバータ、 RTC(Real Time Clock) など– ぜひ TMP102 以外にもトライしてみて下さい
  43. 43. 43質疑応答・ディスカッション
  44. 44. 44ありがとうございました『 Big Raspberry JAM TOKYO 2013Hardware 』主催: Japanese Raspberry PI Users Group (http://www.RasPi.jp/)後援:アールエスコンポーネンツ株式会社 (http://rs-components.jp/)   株式会社 KDDI ウェブコミュニケーションズ (http://www.cloudcore.jp/)

×