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

Weitere ähnliche Inhalte

Was ist angesagt?

20130119 さいたま勉強会
20130119 さいたま勉強会20130119 さいたま勉強会
20130119 さいたま勉強会
大介 束田
 

Was ist angesagt? (16)

禁断のESP32対決!NefryBT vs obniz
禁断のESP32対決!NefryBT vs obniz禁断のESP32対決!NefryBT vs obniz
禁断のESP32対決!NefryBT vs obniz
 
ハードウェアで遊ぼうよ
ハードウェアで遊ぼうよハードウェアで遊ぼうよ
ハードウェアで遊ぼうよ
 
Pine64で遊んでみた
Pine64で遊んでみたPine64で遊んでみた
Pine64で遊んでみた
 
トラ技オフ
トラ技オフトラ技オフ
トラ技オフ
 
ESP8266を便利にするモジュールを つくってみた!
ESP8266を便利にするモジュールを つくってみた!ESP8266を便利にするモジュールを つくってみた!
ESP8266を便利にするモジュールを つくってみた!
 
音ゲーマーの憂鬱
音ゲーマーの憂鬱音ゲーマーの憂鬱
音ゲーマーの憂鬱
 
ハードウエアとつなぐ
ハードウエアとつなぐハードウエアとつなぐ
ハードウエアとつなぐ
 
打ち上がれ、俺の花火!
打ち上がれ、俺の花火!打ち上がれ、俺の花火!
打ち上がれ、俺の花火!
 
Android@Home
Android@HomeAndroid@Home
Android@Home
 
LeapMotionとpythonで遊ぶ
LeapMotionとpythonで遊ぶLeapMotionとpythonで遊ぶ
LeapMotionとpythonで遊ぶ
 
ESP8266モジュールを遊び倒す!
ESP8266モジュールを遊び倒す!ESP8266モジュールを遊び倒す!
ESP8266モジュールを遊び倒す!
 
事業部発表用
事業部発表用事業部発表用
事業部発表用
 
楽しく使おう・始めよう!Raspberry Pi入門〜基礎編~
楽しく使おう・始めよう!Raspberry Pi入門〜基礎編~楽しく使おう・始めよう!Raspberry Pi入門〜基礎編~
楽しく使おう・始めよう!Raspberry Pi入門〜基礎編~
 
mpld3でInteractiveデータ可視化
mpld3でInteractiveデータ可視化mpld3でInteractiveデータ可視化
mpld3でInteractiveデータ可視化
 
5分で分かるRaspberry Piでハイレゾオーディオ再生
5分で分かるRaspberry Piでハイレゾオーディオ再生5分で分かるRaspberry Piでハイレゾオーディオ再生
5分で分かるRaspberry Piでハイレゾオーディオ再生
 
20130119 さいたま勉強会
20130119 さいたま勉強会20130119 さいたま勉強会
20130119 さいたま勉強会
 

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

今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduino
funa3
 
Gadget1プレゼン
Gadget1プレゼンGadget1プレゼン
Gadget1プレゼン
guest97f9f9
 

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

Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
 
Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets Great journey of koress project. A new hope : Japanese modern net gadgets
Great journey of koress project. A new hope : Japanese modern net gadgets
 
Netduino
NetduinoNetduino
Netduino
 
RとIoT
RとIoTRとIoT
RとIoT
 
ワンコインでIot入門
ワンコインでIot入門 ワンコインでIot入門
ワンコインでIot入門
 
みんなのブログ紹介
みんなのブログ紹介みんなのブログ紹介
みんなのブログ紹介
 
今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduino
 
Gadget1プレゼン
Gadget1プレゼンGadget1プレゼン
Gadget1プレゼン
 
WWCT ラズパイ Bluemix 講習資料
WWCT ラズパイ Bluemix 講習資料WWCT ラズパイ Bluemix 講習資料
WWCT ラズパイ Bluemix 講習資料
 
おかえりセンサ
おかえりセンサおかえりセンサ
おかえりセンサ
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
Tihngsboardについて
TihngsboardについてTihngsboardについて
Tihngsboardについて
 
はじめてのWeb of Things
はじめてのWeb of ThingsはじめてのWeb of Things
はじめてのWeb of Things
 
Raspberry Pi and WebIOPi
Raspberry Pi and WebIOPiRaspberry Pi and WebIOPi
Raspberry Pi and WebIOPi
 
Slides AXIS WS2
Slides AXIS WS2Slides AXIS WS2
Slides AXIS WS2
 
いまさら聞けないRaspberry Pi ~ センサーとクラウド編
 いまさら聞けないRaspberry Pi ~ センサーとクラウド編 いまさら聞けないRaspberry Pi ~ センサーとクラウド編
いまさら聞けないRaspberry Pi ~ センサーとクラウド編
 
ae-15. 人工知能による合成の演習
ae-15. 人工知能による合成の演習ae-15. 人工知能による合成の演習
ae-15. 人工知能による合成の演習
 
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
 
IoTハンズオン資料(おうちハック)配布用
IoTハンズオン資料(おうちハック)配布用IoTハンズオン資料(おうちハック)配布用
IoTハンズオン資料(おうちハック)配布用
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた
 

Mehr von Masayuki KaToH

Mehr von Masayuki KaToH (20)

APAC Community Summit DevOps Breakout 部屋.pptx
APAC Community Summit DevOps Breakout 部屋.pptxAPAC Community Summit DevOps Breakout 部屋.pptx
APAC Community Summit DevOps Breakout 部屋.pptx
 
LINE × AWSの可能性や事例について語り合う夕べ
LINE × AWSの可能性や事例について語り合う夕べLINE × AWSの可能性や事例について語り合う夕べ
LINE × AWSの可能性や事例について語り合う夕べ
 
俺と Active Storage + CloudFront
俺と Active Storage + CloudFront俺と Active Storage + CloudFront
俺と Active Storage + CloudFront
 
俺とオープンデータ
俺とオープンデータ俺とオープンデータ
俺とオープンデータ
 
Capacitor
CapacitorCapacitor
Capacitor
 
俺と最近のクラウドAI系サービス
俺と最近のクラウドAI系サービス俺と最近のクラウドAI系サービス
俺と最近のクラウドAI系サービス
 
俺と超高速リアルタイム検索APIをたぶん支えているAWS
俺と超高速リアルタイム検索APIをたぶん支えているAWS俺と超高速リアルタイム検索APIをたぶん支えているAWS
俺と超高速リアルタイム検索APIをたぶん支えているAWS
 
俺と AWS Summit 2019 振り返り
俺と AWS Summit 2019 振り返り俺と AWS Summit 2019 振り返り
俺と AWS Summit 2019 振り返り
 
俺と ha4go と Civic Tech Application & Open Data Catalog
俺と ha4go と Civic Tech Application & Open Data Catalog俺と ha4go と Civic Tech Application & Open Data Catalog
俺と ha4go と Civic Tech Application & Open Data Catalog
 
俺 と JAWS DAYS 2019
俺 と JAWS DAYS 2019俺 と JAWS DAYS 2019
俺 と JAWS DAYS 2019
 
俺と otoya
俺と otoya俺と otoya
俺と otoya
 
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
俺とPrivate Forkと炭の選び方とC++からRubyへのブレイクスルーとポモドーロテクニックとコミュニティ貢献と浪人アカウントと糖尿病
 
クラウドを用いるIoT開発における実費レポート
クラウドを用いるIoT開発における実費レポートクラウドを用いるIoT開発における実費レポート
クラウドを用いるIoT開発における実費レポート
 
俺と 2017 Code for Kanazawa Civic Hack Night運営
俺と 2017 Code for Kanazawa  Civic Hack Night運営俺と 2017 Code for Kanazawa  Civic Hack Night運営
俺と 2017 Code for Kanazawa Civic Hack Night運営
 
俺とキーボード
俺とキーボード俺とキーボード
俺とキーボード
 
俺とディスプレイ
俺とディスプレイ俺とディスプレイ
俺とディスプレイ
 
俺と通知
俺と通知俺と通知
俺と通知
 
JAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフしたJAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフした
 
JAWS DAYS 2018 行ってきた & スタッフした
JAWS DAYS 2018  行ってきた & スタッフしたJAWS DAYS 2018  行ってきた & スタッフした
JAWS DAYS 2018 行ってきた & スタッフした
 
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

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