IoT入門するときに思い浮かべるものとして、Raspberry Piを挙げる人も多いのではないでしょうか?
このセッションでは、ラズペリーパイ4を改めて使ってみて、最近のラズパイの進化、クラウドとの接続方法、遊び方、テンション上がる利用方法などをご紹介します。
今あらためて⾒直してみるラズパイの真価1濱⽥孝治(ハマコー)
View Slide
2自己紹介濱⽥孝治(ハマコー)• 2017年9⽉⼊社• CX事業本部 Delivery部 VPoE• JAWS-UG container• AWS APM Ambassador 2020• 好きな⾔葉「わっしょい」「どすこい」• @hamako9999
3自己紹介濱⽥孝治(ハマコー)• 2017年9⽉⼊社• CX事業本部 Delivery部 VPoE• JAWS-UG container• AWS APM Ambassador 2020• 好きな⾔葉「わっしょい」「どすこい」• @hamako9999IoT経験一切なし!!
4最初になぜRaspberry Piで喋ろうと思ったのか︖
5安直に考えたIoTと⾔えばとりあえずえーっとラズパイでしょ︖
6今⽇の主旨Raspberry Pi ど初⼼者が試⾏錯誤の過程を共有することでIoTとRaspberry Piの魅⼒に改めて気づいてもらう
7ハマコーからの質問タイム
8質問①Raspberry Pi興味あるが触ったことがないひと︕
9質問②Raspberry Pi触ったことがあるひと︕
10質問③Raspberry Piを使ってなにかしら⼯作したことがあるひと︕
11Agenda• Raspberry Pi とはなにか︖• Raspberry Pi 4の始め⽅(開封の儀を添えて)• Raspberry Pi 4でやってみると⾯⽩そうなこと• まとめ
12Raspberry Pi とはなにか︖
13Raspberry Pi とはなにか︖まじかよこれ!
14Raspberry Pi とは︖https://www.raspberrypi.org/
15Raspberry Pi とは︖Our VisionOur vision is that every young person develops
16Raspberry Pi とは︖イギリスのRaspberry PiFouncationが製造元のシングルボードコンピュータ• ARMプロセッサ• コンピュータ教育で利⽤されることを想定• Raspberry(ラズベリー)の由来は、昔のコンピュータの名前によく果物が利⽤されていた事から• Piは”Python interpreter”• GPIO搭載により、様々なデバイスとの接続が可能
17Raspberry Pi の進化の歴史Raspberry Pi1(2012)• CPU: Broadcom BCM2835 SoCを採⽤700MHzのARM1176JZF-Sコア• RAM: Model Aでは256MB RAMModel Bでは512MB RAM• ストレージ: SDカードにOSやデータを保存• 接続性: Model BはEthernetポートと2つのUSB2.0ポート。Model AはUSBが1つだけ• 注⽬点: 初のRaspberry Pi。初めての導⼊で⼤きな話題となり、低価格でアクセス可能なコンピュータとして注⽬を集めた
18Raspberry Pi の進化の歴史Raspberry Pi2(2015)• CPU: Broadcom BCM2836を採⽤900MHzのARM Cortex-A7クアッドコア• RAM: 1GB• ストレージ: Micro SDカードに変更• 接続性: 4つのUSB 2.0ポートとEthernet• 注⽬点: 1世代⽬より⼤幅な性能向上Windows 10 IoT Coreなど、より多くのOSがサポートされるように
19Raspberry Pi の進化の歴史Raspberry Pi3(2016)• CPU: Broadcom BCM2837 SoC1.2GHzのARM Cortex-A53クアッドコア• RAM: 1GB• 接続性: 4つのUSB 2.0ポート、Ethernet、および初めてのWi-Fi 802.11nとBluetooth 4.2 BLEを搭載• 注⽬点: 無線接続機能の追加により、さまざまなIoTプロジェクトや無線接続が必要なアプリケーションに適している
20Raspberry Pi の進化の歴史Raspberry Pi4(2019)• CPU: Broadcom BCM2711 SoCを採⽤。1.5GHzのARM Cortex-A72クアッドコア• RAM: 3つのバージョンで2GB, 4GB, 8GB RAMを提供• ストレージ: Micro SDカードを継続• 接続性: 2つのUSB 2.0ポート、2つのUSB 3.0ポート、Gigabit Ethernet、Wi-Fi 802.11ac、Bluetooth 5.0、2つのmicro HDMIポートでデュアルディスプレイをサポート• 注⽬点: Raspberry Piシリーズで最もパワフルUSB 3.0やGigabit Ethernetによる⾼速なデータ転送、⼤容量RAMモデルの追加など、デスクトップPCに近い性能と機能を持つ
21Raspberry Pi 4の始め⽅(開封の儀を添えて)
22右も左もわからないハマコーが買ったやつ
23Raspberry Pi 始める時に必要なもの必須? 必須︖ セットにある︖ 備考Pi 4 マザーボード ◯ ◯ メモリは1,2,4,8から選択。8GBもいらないかも?だけれど、多くて困らないと思ったので8GBにしてみた。マイクロSDカード ◯ ◯ ⾃前のPCでOSイメージを書き込んでおいて、ラズパイ本体に差し込んで起動するために必要ヒートシンク ✗ ◯ CPU、メモリなどの冷却⽤。ボード単体でも動作はするっぽいが、あったほうが安定する。実際ヒートシンクCPU触ったらかなり熱かった⾵冷ファン ✗ ◯ ↑Pi 4 Model B専⽤ケース ✗ ◯ 安定して運⽤するならケースは、まぁあったほうが良いよねディスプレイ(HDMI接続) △ ✗ 事前に設定済みのイメージであれば不要っぽい(SSHやVNCなどでの接続)が、恐らくないと最初はわけわからなくなるマイクロHDMI⇔HDMIケーブル(4K出⼒対応)△ ◯ ↑マウス・キーボード(USB接続)△ ✗ なにかしらあったほうが初期設定はやりやすいイーサネットケーブル ✗ ✗ ボードにBluetooth 5.0もWiFi(2.4G/5G)もあるので、必須ではないUSB Type-C電源とケーブル(スイッチ付き)◯ ◯ 公式推奨の5V/3Aの満たすものが必要。⾃前であればよし。ケーブルにスイッチは必須ではないが、スイッチついている⽅が便利ではある。あんまり他になさそうなので、セット品が良さそう。
24開封の儀
25開封の儀
26開封の儀
27開封の儀
28開封の儀電源用USB Type-C電源用AC アダプタ32GBマイクロSDカードHDMI ⇔ マイクロHDMI ケーブル✕2ヒートシンク冷却ファン
29開封の儀
30開封の儀
31開封の儀
32開封の儀画面が出て感動!!
33開封の儀泣きそうなほどめんどくさかったやつ
34開封の儀
35インターフェース整理ギガビットイーサネットUSB 3.0 ✕2USB 2.0 ✕2電源用 USB Type-CマイクロHDMI✕2GPIO
36なんとか⼀通りのセットアップはできた
37ここで疑問購⼊したセットは初⼼者として良いものだったのか︖
38ふと我に帰ってみると振り返ってみてもよござんすだった感じがします
セット購⼊⾦額 ¥18,480• Raspberry Pi4 Model B/8GB 本体• それっぽいケース、冷却ファン• ヒートシンク(ボード本体には恐らくついていない)• マイクロHDMI ⇔ HDMIケーブル✕2• マイクロSDカード 32GB、SDカードアダプタ• 仕様に準拠した給電⽤USB Type-Cケーブル、ACアダプタ39総じて悪くなかったので現時点ではオススメボード本体がこの値段ってことを考えると、まとめて必要なもの買えるし悪くないセットな気がする(ケースの説明書がないのでそこは苦労した)
40Raspberry Pi 4やってみると⾯⽩そうなこと
41Raspberry Pi4でやってみると⾯⽩そうなこと• GPIO(General Purpose Input/Output)• ホームサーバー• クラウド連携• エッジAI
42GPIO(General Purpose Input/Output)汎⽤I/Oポートで、電⼦⼯作に⼊⾨してみる• 汎⽤的に使える⼊⼒/出⼒⽤インターフェース• マザーボードに最初から付属• コマンド制御が即可能• Raspberry Piといえばまずはこれを思い浮かべる⼈が多数
43GPIO(General Purpose Input/Output)• LEDの点滅制御• GPIOの基本中の基本を学ぶもの。基本を学んだ後はトラフィックライトのシミュレーションなどで応⽤• 温度・湿度センサーのデータ読み取り• DHT11やDHT22といった温度・湿度センサーをGPIOピンに接続し、現在の室温や湿度をリアルタイムでモニタリング。Webインターフェースやクラウド接続で、状況を可視化• ホームオートメーション• リレー、モーター、センサーなどの部品をGPIOピンに接続し、家の照明や扇⾵機、窓の開閉などの動作を⾃動化
44GPIO(General Purpose Input/Output)利⽤可能なセンサーは⾮常に豊富。気になるものから試してみよう︕• DHT11 / DHT22: 温度・湿度センサー• DS18B20: ワイヤレス温度センサー• HC-SR04: 超⾳波距離センサー• PIR: ⼈感センサー(動きの検出)• BMP180 / BMP280: ⼤気圧・温度センサー• MCP3008: アナログ-デジタル変換器。Raspberry Piのようなデジタル⼊⼒しか受け付けないデバイスでアナログセンサーを読むために使⽤• LDR (Light Dependent Resistor): 光センサー(明るさの検出)• MQ-2 / MQ-3: ガスセンサー(例: MQ-2は煙やLPGを検出、MQ-3はアルコール蒸気を検出)• GY-521 (MPU-6050): ジャイロスコープ・加速度センサー• BME680: 温度、湿度、⼤気圧、VOCガスセンサーの組み合わせ• TCS3200: ⾊センサー• LM35: 温度センサー• ADS1115: 16ビット⾼精度アナログ-デジタル変換器• MAX6675 / MAX31855: K型熱電対⽤の温度センサーインターフェース• VL53L0X: レーザー距離測定センサー• SI1145: UVインデックス・可視光・IRセンサー• INA219: ⾼精度電流・電圧モニタリングセンサー• RFID-RC522: RFIDリーダー/ライターモジュール• DS3231: ⾼精度リアルタイムクロック• BH1750: 照度センサーこのあたりは「センサーキット」でググるとセット販売されているものがいろいろ出てきます
45GPIO(General Purpose Input/Output)GPIOで遊ぶならGPIO拡張ボードは必須• ボード本体に差して、別の場所にGPIOを拡張• 配列がプリントされていて扱いやすい• なにするにしても最初に買っておきましょう︕
46ホームサーバー(軽量ホームサーバー)⽤途 関連OSS 備考メディアサーバー Plex, Kodi Raspberry Piを中⼼に、家庭内の映像や⾳楽コンテンツをストリーミングできるメディアサーバーを構築ファイル共有/クラウドストレージNextcloud, ownCloud,Samba家庭内のデバイス間でファイルを共有したり、外出先からもアクセスできるクラウドストレージを構築ホームオートメーション Home Assistant,openHAB家の照明、エアコン、カメラなどのスマートホームデバイスを中⼼に制御するシステムの構築VPNサーバー OpenVPN, WireGuard 家庭のネットワークに安全にリモートアクセスするためのVPNサーバーをセットアップ広告ブロッカー Pi-hole 家庭内のネットワークに接続する全デバイスのWebトラフィックから広告をブロックするシステムを構築ダウンロードステーション Transmission,qBittorrentトレントやダウンロードタスクを中央で管理・実⾏するステーションとしてのセットアップウェブサーバー/ブログホスティングApache, Nginx,WordPress個⼈のブログやウェブサイトを⾃宅からホスティングメールサーバー Postfix, Dovecot 個⼈のメールアドレスを持ち、⾃宅でメールサービスを運営監視カメラシステム Motion, ZoneMinder Raspberry PiカメラモジュールやUSBカメラを使って、家の監視システムを構築プリントサーバー CUPS (Common UNIXPrinting System)家庭内の複数のデバイスから、中央のプリンタへの印刷を管理・実⾏するサーバーをセットアップ家庭内ITインフラ強化の⽤途としてサーバーアプリケーションを実⾏
47クラウド連携(AWS / Google Cloud / Azure)今ならやっぱりクラウド連携してあれこれ試してみたい• 家庭内の環境モニター:• 概要: Raspberry Piに温度や湿度センサーを取り付けて、データを定期的にAWS IoT Coreを経由してAmazon DynamoDBに保存します。• 拡張: AWS Lambdaと連携して、異常値を検知した際にAmazon SNSを使って通知を受け取るよう設定します。• 声制御されるスマートホーム:• 概要: Raspberry PiとAmazon Alexaのスキルキットを使⽤して、家の照明や他のデバイスを⾳声で操作します。• 拡張: AWS Lambdaを利⽤して、カスタムアクションや複雑な制御を実現します。• 家庭⽤Webカメラ:• 概要: Raspberry Piとカメラモジュールを使⽤して、家庭内の映像をストリーミングし、Amazon Kinesis Video Streamsで映像をクラウド上に保存します。• 拡張: AWS Rekognitionを使⽤して、映像内の物体や⼈物を⾃動検出します。
48クラウド連携(AWS / Google Cloud / Azure)上級編ユースケース• スマートホームデータ解析:• 概要: Raspberry Piで収集した家の各種センサーデータをAWSに送信し、Amazon Redshiftを使⽤して⼤量のデータを分析・集計• 拡張: Amazon QuickSightを使ってデータのダッシュボードを作成し、効率的なエネルギー消費や家の状態を可視化• エッジコンピューティング with AWS Greengrass:• 概要: Raspberry Pi上でAWS Greengrassを実⾏し、エッジデバイスとしての機能を強化。Lambda関数のローカル実⾏やMQTTプロトコルを⽤いた通信を実現します。• 拡張: データをリアルタイムに処理し、AWSへのアップロードの前に適切なフィルタリングや変換を⾏う• 深層学習を活⽤した画像解析:• 概要: Raspberry Piのカメラで取得した映像を、Amazon SageMakerでトレーニングされた深層学習モデルに送信して解析• 拡張: AWS LambdaやAPI Gatewayを使⽤して、リアルタイムAPIを作成し、Raspberry Piからの映像データに対してリアルタイム解析
49エッジAIPi 4のHW性能向上で現実味がでてきたユースケース• リアルタイム物体検出・顔認識:• 概要: Raspberry Pi 4のカメラを使⽤して、リアルタイムでの物体検出や顔認識を⾏う。このアプリケーションは、セキュリティカメラ、⾃動販売機、ドアのアクセスコントロールなど、さまざまな場所での利⽤が考えられる• 関連ツール: TensorFlow Lite, OpenCV• ⾳声アシスタントとの統合:• 概要: Raspberry Pi 4を使⽤して、⾳声アシスタントのローカルバージョンを実⾏し、⾳声認識と⾳声⽣成を⾏う。エッジデバイス上で⾳声を処理することで、レイテンシを削減し、クラウド接続が不要な場合やインターネット接続が不安定な場所でも動作する• 関連ツール: Mozilla DeepSpeech, Mycrosoft AI• センサーデータの予測メンテナンス:• 概要: Raspberry Pi 4を使⽤して、機器やインフラからのセンサーデータを収集し、異常検出や予測メンテナンスのためのAIモデルをローカルで実⾏。機械の故障や必要なメンテナンスのタイミングを予測して、ダウンタイムを削減する。• 関連ツール: TensorFlow, Scikit-learn
50まとめ
51まとめ• Raspberry Piは、原始的な楽しさにあふれている• そこにモノがあり、さわることでインターネットとモノがつながっていることのよろこび• いまならすぐに始められる• 迷ってる⼈はいますぐポチりましょう• めちゃくちゃ情報が豊富。Youtubeもかなりある• ユースケースはめちゃくちゃある• 今⽇の紹介ユースケースを刺激にしてもらえれば︕
52皆さんのよりよいRaspberry Pi ライフを応援しています︕