Successfully reported this slideshow.
Your SlideShare is downloading. ×

ラズパイでネット対応 学習リモコンをつくろう!

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
FPGAでmrubyを動かす
FPGAでmrubyを動かす
Loading in …3
×

Check these out next

1 of 47 Ad
Advertisement

More Related Content

Similar to ラズパイでネット対応 学習リモコンをつくろう! (20)

Advertisement

More from Masayuki KaToH (20)

Recently uploaded (20)

Advertisement

ラズパイでネット対応 学習リモコンをつくろう!

  1. 1. ラズパイでネット対応 学習リモコンをつくろう ! Kanazawa.IoT勉強会 #2 - 1 2017/09/02 @マルツ金沢西インター
  2. 2. 本資料について • 本資料はオンラインで閲覧可能です。 • https://bit.ly/kziot2 • https://bit.ly/kziot2pdf
  3. 3. 主な対象者 • IoTって聞いたことはあるけど触ったことがない人 • ソフトウェアは分かるけどハードウェアはあまりわ からない人 • ハードウェアはわかるけどクラウドはあまりわから ない人
  4. 4. IoTとは モノのインターネット(Internet of Things、IoT)は 、様々な「物」がインターネットに接続され、情報交 換することにより相互に制御する仕組みである。 それによる社会の実現も指す。「物のインターネット 」とも呼ぶ。 Wikipediaより
  5. 5. モノ? • モノ = IoTデバイス • パソコン, スマホ, タブレット, raspberry pi,.. • 家電( TV, デジタルオーディオプレイヤー, HDDプレ イヤー,..) • 家の付帯設備 (鍵, インターフォン, 電球,..) • 電子工作( arduino, BLEデバイス,..)
  6. 6. IoTデバイスのI/O • 状態取得(Observe) • 環境情報: 温度湿度、気圧、照度、 • モーション情報: 振動、傾斜、移動、 • 位置情報: 存在位置、近接、通過、 • スイッチ状態: 玄関の施錠状態、ドアの開け閉め、 • 状態変更(Control) • 家電のOn/Off • 照明制御 • シャッター駆動 • 施錠/解錠
  7. 7. 多様多種なIoTデバイスの台頭によっ て • ぼくらが「プログラミング」という手段で介入でき る世界が拡張された。
  8. 8. 今日のコンセプト • 電子工作に対する世間一般のイメージ • 回路図読めない • はんだ付けむずかしそう • 抵抗読めない • 燃えそう • 爆発しないの? 今回は「できるだけはんだ付けをしない電子工作」 を目指します。
  9. 9. 今回の完成予想図
  10. 10. 具体的な登場人物
  11. 11. I2Cとは - 1 • ラズパイと液晶ディスプレイの通信はこれ • I2C(アイ・スクエアド・シー、アイ・アイ・シー )はフィリップス社で開発されたシリアルバスであ る。低速な周辺機器をマザーボードへ接続したり、 組み込みシステム、携帯電話などで使われている。 • from https://ja.wikipedia.org/wiki/I2C
  12. 12. I2Cとは - 2 • I2C で使われているのは、抵抗でプルアップされた双 方向のオープンコレクタ信号線が2本だけである。2本 の信号線は、シリアルデータ (SDA) とシリアルクロッ ク (SCL) からなる。 電圧は最高で +5V までで、よく 使われるのは +3.3V だが、他の電圧でも構わない。 • from https://ja.wikipedia.org/wiki/I2C • つまり2本つなげればOK!
  13. 13. GPIOとは - 1 • GPIOは、集積回路やコンピュータボード上の一般 的なピンであり、その動作(入力ピンであるか出力 ピンであるかを含む)は、実行時にユーザによって 制御可能である。GPIOは"General-purpose input/output”の略で、「汎用入出力」を意味する。 • from https://ja.wikipedia.org/wiki/GPIO
  14. 14. GPIOとは - 2 • つまり、ラズパイに入力 & 出力を生やすのに使い ます
  15. 15. LIRCとは • ラズパイのOS = Linux からリモコンの赤外線ビー ムを送る・受ける仕組み。 • オープンソースプロダクト。 • Linuxなので他のソフトウェアと組み合わせるのも 簡単・・・Linuxできれば。
  16. 16. 部品の確認
  17. 17. ラズパイの設定
  18. 18. IPアドレスの確認 & 接続 • みなさんディスプレイに接続してラズパイのIPアド レスを調べてください • お持ちのパソコンから ssh 接続してください • macOSな方は ssh pi@<ip-address>
  19. 19. プログラムコードを取得してお く $ cd $ sudo apt-get install git $ mkdir git $ cd git $ git clone https://github.com/KanazawaIoT/seminar.git
  20. 20. サービスのインストール - 1 $ sudo apt-get install lirc vim $ sudo vim /boot/config.txt
  21. 21. サービスのインストール - 2 • 50行目ぐらいに lirc に関する行が見えるのでそこに 以下を記述(最期はイコールで終わり) • 17番ピンを入力、18番ピンを出力という意味 dtoverlay=lirc-rpi:gpio_in_pin=17,gpio_out_pin=18 dtoverlay=
  22. 22. サービスのインストール - 3 $ reboot
  23. 23. lircの確認 $ ls -l /dev/lirc* crw-rw---- 1 root video 243, 0 May 13 03:48 /dev/lirc0
  24. 24. I2Cを有効にする • ssh で接続 $ sudo raspi-config • メニューより 5 Interface Options • 続けて PS I2C
  25. 25. 配線 - 受光部
  26. 26. ブレッドボードの基本
  27. 27. 受光部の作成 - 1
  28. 28. 受光部の作成 - 2
  29. 29. 受光部動作確認 リモコンを向けてボタンをおすとデータが表示されればOK pi@raspberrypi:~ $ sudo /etc/init.d/lirc stop pi@raspberrypi:~ $ mode2 -d /dev/lirc0 pulse 1594962 space 2028 ...
  30. 30. ビームの学習 - 1 • irrecord コマンドの指示通り進めればOK。(リモコ ンのボタンを押せ、と指示があるので、押すと . が 増える。それを一定回数繰り返す。続けよと言われ るので繰り返す。これを終えると、「ボタン名を入 力せよ」となるので例えば「ON」と入力して ENTER後、リモコンのONボタンを押す。「OFF」 と入力してENTER後、リモコンのOFFボタンを押 す。未入力でENTERを押すと終了。)
  31. 31. ビームの学習 - 2 pi@raspberrypi:~ $ irrecord -n -d /dev/lirc0 LIGHT # LIGHTというファイルができる pi@raspberrypi:~ $ sudo cp LIGHT /etc/lirc/lircd.conf
  32. 32. 配線 - 発信部
  33. 33. 発光部の作成 - 1
  34. 34. 発光部の作成 - 2
  35. 35. 配線 - LCD部
  36. 36. LCD部の作成 - 1
  37. 37. LCD部の作成 - 2
  38. 38. LCD部の確認 $ sudo gem install i2c $ cd $ cd git/seminar/remocon/ $ ruby ip.rb
  39. 39. ビーム発信 • 下記LIGHT 部分はirrecordコマンドでファイルを作 成したときにつけた名前、OFF、ONはビームの学 習のときに入れたボタン名を指定すること。 $ sudo lircd -d /dev/lirc0 $ irsend SEND_ONCE LIGHT OFF $ irsend SEND_ONCE LIGHT ON
  40. 40. MQTTとは - 1 • MQ Telemetry Transport(Message Queue Telemetry Transport 、略称 MQTT)は、メッセージ指向ミドルウェアのアプリケー ション層で使用される、TCP/IPによるPub/Sub型データ配信 モデルの軽量なメッセージキュープロトコルである • 非力なデバイスやネットワークが不安定な場所でも動作しやす い様にメッセージ通信電文が軽量に設計されている事が特徴。 • from https://ja.wikipedia.org/wiki/MQ_Telemetry_Transport
  41. 41. MQTTとは - 2 • ラズパイなどがインターネットから接続を待ち受け る場合、ルーターの設定やセキュリティの設定など 、とっても難しくなる • なのでMQTTを用いることで他サーバで機器同士の 待ち合わせ通信を行ったほうがよい • このサーバ(メッセージブローカ)をAWS IoT でかり ることができる
  42. 42. 証明書の取得 • AWS IoT にログインし、Thingsを登録すると、そ のThings用の証明書などが一式ダウンロードできる • 今回は @PharaohKJ が取得したものを配ります(数 日後には使えなくしてしまいます) • 8ドル/100万メッセージかかります
  43. 43. プログラムの作成 • MQTTメッセージブローカとメッセージを送受信。 受信したデータを液晶に表示。余裕があればさらに そこからビームもだす。 本日は事前に準備してある プログラムを使用します
  44. 44. 前回参加された方 • 最初の手順でコードを配置してから $ cd git/seminar/remocon/ $ ruby pub.rb
  45. 45. 今回の方 $ cd git/seminar/remocon/ $ ruby sub.rb
  46. 46. まとめ • I2Cで液晶表示できた • ビームを受信、学習できた • ビームを発信、操作できた • インターネット側からのメッセージに応じてビーム を発信できた • これで家の家電も操作できるはず!
  47. 47. • sudo shutdown -P now

×