この IoT デバイスの選択リストは、パートナーが IoT ハードウェアを使用して、プロトタイプと概念実証を迅速かつ簡単に構築するための出発点の提供を目的としています。[^1]
表示されているすべてのボードは、すべてのエクスペリエンス レベルのユーザーをサポートします。
注意
この表は、完全な一覧であることや、ソリューションを運用環境に導入することを意図したものではありません。 [^2] [^3]
セキュリティ アドバイザリ: Azure Sphere を除き、これらのデバイスはルーターやファイアウォールの内側に置くことをお勧めします。
[^1]: ハードウェア プログラミングを初めて使用する場合は、MCU 開発作業では、VS Code Arduino 拡張機能または VS Code プラットフォーム IO 拡張機能を使用することをお勧めします。SBC 開発作業の場合は、ノート PC のように、つまりデバイス自体でデバイスをプログラムします。Raspberry Pi は VS Code 開発をサポートしています。
[^2]: サポート リソース、プロトタイプ作成や PoC に使用される一般的なボード、および、Arduino IDE や VS Code 拡張機能 (例: Arduino 拡張機能やプラットフォーム IO 拡張機能) などの初心者向け IDE をサポートするボードの可用性から見たデバイス。わかりやすくするために、デバイスの一覧を合計で 6 件未満に保つことを目標にしました。他のチームや個人が、各自の基準解釈に基づいて別のボードを取り上げることを選択した可能性があります。
[^3]: デバイスを運用環境に移行するには、特定のチップセット、ST の STM32 または Microchip の Pic-IoT ブレークアウト ボード シリーズを使用して PoC をテストし、ここに記載されている MCU や SBC よりも低コストで製造できるカスタム ボードを設計したり、FPGA ベースの開発キットを調べる必要があります。STM32CubeMX や ARM mBed ブラウザー ベースのプログラマなど、電気工学のプロ向けの開発環境も使用できます。
内容
セクション | 説明 |
---|---|
こちらから始めてください | この選択リストを使用するためのガイド。 推奨される選択基準が含まれます。 |
選択図 | 一般的な選択基準と、ハードウェアの可能な選択肢をまとめたビジュアル。 |
用語と ML の要件 | エッジ機械学習 (ML) の用語と頭字語の定義とデバイス要件。 |
MCU デバイスの一覧 | 推奨される MCU の一覧 (ESP32 など) と技術仕様および代替品。 |
SBC デバイスの一覧 | 推奨される SBC の一覧 (Raspberry Pi など) と技術仕様と代替品。 |
こちらから始めてください
このドキュメントの使用方法
このドキュメントを使用して、IoT の用語、デバイスの選択に関する考慮事項について理解を深め、プロトタイピングまたは概念実証の構築のための IoT デバイスを選択します。 次の手順をお勧めします。
「ボードを選択する際の考慮事項」セクションを読み、ニーズと制約を特定してください。
「アプリケーションの選択ビジュアル」を使用して、IoT シナリオで使用できるオプションを特定します。
MCU または SBC デバイス リストを使用して、デバイスの仕様を確認し、ご自分のニーズ/制約と比較します。
ボードを選択する際の考慮事項
IoT プロトタイプ用のデバイスを選択するには、次の基準を参照してください。
マイクロコントローラー ユニット (MCU) またはシングル ボード コンピューター (SBC)
- MCU は、エッジでのセンサー データや機械学習の収集やアップロードなどの単一タスクに適しています。 MCU もコストが低くなる傾向があります。
- センサー データの収集や別のデバイスの制御など、複数の異なるタスクが必要な場合は、SBC をお勧めします。 また、可能なソリューションの選択肢が多い初期段階でも推奨される場合があります。SBC を使用すると、さまざまなアプローチを試すことができます。
処理能力
メモリ: プロジェクトに必要なメモリ ストレージ (バイト単位)、ファイル ストレージ、プログラムを実行するためのメモリの量を検討します。
クロック速度: プログラムを実行するために必要な速度、またはデバイスが IoT サーバーと通信するために必要な速度を検討します。
サポート終了: 最新の機能とドキュメントを備えたデバイスが必要かどうか、または製造中止になったデバイスをプロトタイプとして使用できるかどうかを検討してください。
電力消費
電力: ボードが消費する電圧と電流の量を検討してください。 壁の電源がすぐに使用可能かどうか、またはアプリケーションにバッテリーが必要かどうかを判断します。
接続: 電源への物理的な接続を検討してください。 バッテリ電源が必要な場合は、ボードに使用可能なバッテリ接続ポートがあるかどうかを確認します。 バッテリ コネクタがない場合は、別の同等のボードを探すか、デバイスにバッテリ電源を追加する他の方法を検討してください。
入力と出力
ポートとピン: プロジェクトで必要になるポートと I/O ピンの数と種類を検討します。 * その他の考慮事項として、デバイスが他のセンサーやデバイスと通信するかどうかが含まれます。 その場合は、これらの信号に必要なポートの数を特定します。
プロトコル: 他のセンサーまたはデバイスを使用している場合は、必要なハードウェア通信プロトコルを検討してください。 * たとえば、CAN、UART、SPI、I2C、またはその他の通信プロトコルが必要な場合があります。
電源: デバイスがセンサーなどの他のコンポーネントに電力を供給するかどうかを検討してください。 デバイスが他のコンポーネントに電力を供給している場合は、デバイスで使用可能な電源ピンの電圧と電流の出力を特定し、他のコンポーネントに必要な電圧/電流を決定します。
種類: アナログ コンポーネントと通信する必要があるかどうかを判断します。 アナログ コンポーネントが必要な場合は、プロジェクトに必要なアナログ I/O ピンの数を特定します。
周辺機器: オンボード センサーや、画面、マイクなどの他の機能を備えたデバイスを使用したいかを検討してください。
開発
プログラミング言語: プロジェクトで C/C++ 以外の高水準言語が必要かを検討します。 その場合は、必要なアプリケーション向けに一般的に使用されるプログラミング言語を特定します (たとえば、Machine Learning では Python が作われることがよくあります)。 プロジェクトに役立つ、または必要な SDK、API、ライブラリについて考えます。 それらがどのプログラミング言語でサポートされているかを特定します。
IDE: デバイスがサポートする開発環境を検討し、これが開発者のニーズ、スキル セット、好みを満たしているかどうかを検討します。
コミュニティ: ソリューションを構築する上で、どの程度の支援が必要かを検討します。 たとえば、サンプル コードから始めるとして、トラブルシューティングのアドバイスや支援が必要な場合や、新しいサンプルと更新プログラムのドキュメントを生成するアクティブなコミュニティの恩恵を受ける場合を考えてみましょう。
ドキュメント: デバイスのドキュメントを参照してください。 完全で簡単にフォローすることができるかを特定します。 回路図、サンプル、データシート、またはその他の種類のドキュメントが必要かどうかを検討してください。 その場合は、何度か検索を行って、それらの項目がプロジェクトで使用できるかどうかを確認します。 ボード用に記述されたソフトウェア SDK/API/ライブラリと、これらの項目によってプロトタイプ作成プロセスが容易になるかどうかを検討してください。 このドキュメントが保守されているかどうか、および保守担当者が誰であるかを特定します。
セキュリティ
ネットワーク: デバイスが外部ネットワークに接続されているかどうか、またはルーターやファイアウォールの内側に配置できるかどうかを検討します。 プロトタイプを外部のネットワークに接続する必要がある場合は、確実に安全な唯一のデバイスである Azure Sphere を使用することをお勧めします。
周辺機器: デバイスが接続する周辺機器にワイヤレス プロトコル (WiFi、BLE など) があるかどうかを検討してください。
物理的な場所: デバイスまたはデバイスが接続されている周辺機器のいずれかに一般ユーザーがアクセスできるかどうかを検討します。 その場合は、デバイスには物理的にアクセスできないようにすることをお勧めします。 たとえば、密閉されロックされたボックス内などです。
アプリケーションの選択ビジュアル
注意
このリストは教育目的でのみ使用され、製品の推奨を意図したものではありません。
用語と ML の要件
このセクションでは、視覚、聴覚、センサーの機械学習アプリケーションの埋め込み用語と頭字語とハードウェア仕様の定義を示します。
用語
用語と頭字語はアルファベット順に一覧表示されます。
用語 | 定義 |
---|---|
ADC | アナログからデジタルへのコンバーター; センサーなどの接続されたコンポーネントからのアナログ信号を、デバイスが読み取り可能なデジタル信号に変換する |
アナログ ピン | フォトレジスター (光センサー) やマイクなどの連続信号を持つアナログ部品の接続に使用 |
クロック速度 | CPU が命令を取得して解釈できる速度 |
デジタル ピン | LED やスイッチなどのバイナリ信号を使用するデジタル コンポーネントの接続に使用される |
フラッシュ (または ROM) | プログラムの格納に使用できるメモリ |
IDE | 統合開発環境。ソフトウェア コードを記述するためのプログラム |
IMU | 慣性測定装置 |
IO (または I/O) ピン | センサーや他のコントローラーなどの他のデバイスとの通信に使用される入力/出力ピン |
MCU | マイクロコントローラー ユニット ; CPU、RAM、IO を含む 1 つのチップ上の小さなコンピューター |
MPU | マイクロプロセッサ ユニット ; コンピューターの中央処理装置 (CPU) の機能を 1 つの集積回路 (IC) または多くても数個の集積回路上に組み込んだコンピューター プロセッサ。 |
ML | 機械学習; 複雑なパターン認識を行う特殊なコンピューター プログラム |
PWM | パルス幅変調; デジタル信号を変更して、明るさ、音量、速度の変化などのアナログ的な効果を実現する方法 |
RAM | ランダム アクセス メモリ; プログラムの実行に使用できるメモリの量 |
SBC | シングル ボード コンピューター |
TF | TensorFlow ; エッジ デバイス用に設計された機械学習ソフトウェア パッケージ |
TF Lite | TensorFlow Lite; 小さいエッジ デバイス用の TF のより小さいバージョン |
機械学習ハードウェアの要件
Vision ML
- 速度: 200 MHz
- フラッシュ: 300 kB
- RAM: 100 kB
Speech ML
- 速度: 60 MHz [^4]
- フラッシュ: 50 kB
- RAM: 8 kB
センサー ML (モーション、距離など)
- 速度: 20 MHz
- フラッシュ: 20 kB
- RAM: 2 kB
[^4]: 速度の要件は、主に、マイクが人間の声の周波数を処理できるようにするには、プロセッサが最低 6 kHz をサンプリングできる必要があるためです。
MCU デバイスの一覧
以下に、MCU の比較表をアルファベット順に示します。 この一覧はすべてを網羅したものではありません。
注意
このリストは教育目的でのみ使用され、製品の推奨を意図したものではありません。 表示される価格は、複数のディストリビューター間の平均を表し、例示のみを目的としています。
ボード名 | 価格帯 (米国ドル) | 用途 | ソフトウェア | 速度 | プロセッサ | メモリ | センサーとその他の機能のオンボード | IO ピン | ビデオ | ラジオ | バッテリ コネクタ? | 動作電圧 | ファースト ステップ ガイド | 代替 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Azure Sphere MT3620 開発キット | 約 40 ドルから 100 ドル | 高度なセキュリティで保護されたアプリケーション | C/C++、VS Code、VS | 500 MHz および 200 MHz | MT3620 (tri-core--1 x Cortex A7、2 x Cortex M4) | 4 MB RAM + 2 x 64 KB RAM | 認定: CE/FCC/MIC/RoHS | 4 x デジタル IO、1 x I2S、4 x ADC、1 x RTC | - | アンテナ ダイバーシティを備えたデュアルバンド 802.11 b/g/n | - | 5 V | 1.Azure Sphere サンプル ギャラリー、2. Azure Sphere Weather Station | 該当なし |
Adafruit HUZZAH32 – ESP32 Feather Board | 約 20 ドルから 25 ドル | 監視; 初心者 IoT ; ホーム オートメーション | Arduino IDE、VS Code | 240 MHz | 32 ビット ESP32 (デュアルコア Tensilica LX6) | 4 MB SPI フラッシュ、520 KB SRAM | ホール センサー、10x 容量性タッチ IO ピン、50 以上のアドオン ボード | 3 x UART、3 x SPI、2 x I2C、12 x ADC 入力、2 x I2S オーディオ、2 x DAC | - | 802.11b/g/n HT40 Wi-Fi トランシーバー、ベースバンド、スタック、LWIP、Bluetooth および BLE | √ | 3.3 V | 1.科学用冷凍庫モニター、2. Azure IoT SDK Arduino のサンプル | Arduino Uno WiFi Rev 2 (約 50 ドルから 60 ドル) |
Arduino Nano RP2040 Connect | 約 20 ドルから 25 ドル | リモート コントロール; 監視 | Arduino IDE、VS Code、C/C++、MicroPython | 133 MHz | 32 ビット RP2040 (デュアル コア Cortex M0 以降) | 16 MB フラッシュ、264 KB RAM | マイク、AI 機能を備えた 6 軸 IMU | 22 x デジタル IO、20 x PWM、8 x ADC | - | WiFi、 Bluetooth | - | 3.3 V | - | Adafruit Feather RP2040 (注: WiFi には FeatherWing も必要) |
ESP32-S2 Saola-1 | 約 10 ドルから 15 ドル | ホーム オートメーション; 初心者 IoT; ML; 監視; メッシュ ネットワーク | Arduino IDE、サーキット Python、ESP IDF | 240 MHz | 32 ビット ESP32-S2 (シングルコア Xtensa LX7) | 128 kB フラッシュ、320 kB SRAM、16 kB SRAM (RTC) | 14 x 容量性タッチ IO ピン、温度センサー | 43 x デジタル ピン、8 x PWM、20 x ADC、2 x DAC | シリアル LCD、並列 PCD | Wi-Fi 802.11 b/g/n (802.11n 最大 150 Mbps) | - | 3.3 V | 1.Azure ML を使用した安全な顔検出、2. Azure Cost Monitor | ESP32-DevKitC (約 10 ドルから 15 ドル) |
Wio ターミナル (Seeed Studio) | 約 40 ドルから 50 ドル | 監視; ホーム オートメーション; ML | Arduino IDE、VS Code、MicroPython、ArduPy | 120 MHz | 32 ビット ATSAMD51 (シングルコア Cortex-M4F) | 4 MB SPI フラッシュ、192 KB RAM | オンボード画面、マイク、IMU、ブザー、microSD スロット、光センサー、IR エミッター、Raspberry Pi GPIO マウント (子デバイスとして) | 26 x デジタル ピン、5 x PWM、9 x ADC | 2.4" 320x420 Color LCD | デュアルバンド 2.4Ghz/5Ghz (Realtek RTL8720DN) | - | 3.3 V | Azure IoT を使用してプラントを監視する | Adafruit FunHouse (約 30 ドルから 40 ドル) |
SBC デバイスの一覧
以下に、SBC の比較表をアルファベット順に示します。 この一覧はすべてを網羅したものではありません。
注意
このリストは教育目的でのみ使用され、製品の推奨を意図したものではありません。 表示される価格は、複数のディストリビューター間の平均を表し、例示のみを目的としています。
ボード名 | 価格帯 (米国ドル) | 用途 | ソフトウェア | 速度 | プロセッサ | メモリ | センサーとその他の機能のオンボード | IO ピン | ビデオ | ラジオ | バッテリ コネクタ? | 動作電圧 | ファースト ステップ ガイド | 代替 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Raspberry Pi 4、 モデル B | 約 30 ドルから 80 ドル | ホーム オートメーション; ロボット工学; 自律走行車; 制御システム; フィールド サイエンス | Raspberry Pi OS、Raspbian、Ubuntu 20.04/21.04、RISC OS、Windows 10 IoT など | 1.5 GHz CPU、500 MHz GPU | 64 ビット Broadcom BCM2711 (クアッド コア Cortex-A72)、VideoCore VI GPU | 2 GB/4 GB/8 GB LPDDR4 RAM、SD カード (含まれていません) | 2 x USB 3 ポート、1 x MIPI DSI ディスプレイ ポート、1 x MIPI CSI カメラ ポート、4 極ステレオ オーディオおよび複合ビデオ ポート、パワー オーバー イーサネット (HAT が必要) | 26 x デジタル、4 x PWM | 2 マイクロ HDMI コンポジット、MPI DSI | WiFi、 Bluetooth | √ | 5 V | 1.データを IoT Hub に送信、2. Azure IoT を使用してプラントを監視する | BeagleBone Black Wireless (約 50 ドルから 60 ドル) |
NVIDIA Jetson 2 GB Nano Dev Kit | 約 50 ドルから 100 ドル | AI/ML; 自律走行車 | Ubuntu ベースの JetPack | 1.43 GHz CPU、 921 MHz GPU | 64 ビット NVIDIA CPU (クアッド コア Cortex-A57)、128-CUDA コア Maxwell GPU コプロセッサ | 2 GB/4 GB LPDDR4 RAM | AI Perf 用 472 GFLOPS、1 x MIPI CSI-2 コネクタ | 28 x デジタル、2 x PWM | HDMI、DP (4 GB のみ) | ギガビット イーサネット、802.11ac WiFi | √ | 5 V | ディープストリームと Azure IoT Central の統合 | BeagleBone AI (約 110 ドルから 120 ドル) |
Raspberry Pi Zero W2 | 約 15 ドルから 20 ドル | ホーム オートメーション; ML; 車両の改造; フィールド サイエンス | Raspberry Pi OS、Raspbian、Ubuntu 20.04/21.04、RISC OS、Windows 10 IoT など | 1 GHz CPU、 400 MHz GPU | 64 ビット Broadcom BCM2837 (クアッド コア Cortez-A53)、VideoCore IV GPU | 512 MB LPDDR2 RAM、SD カード (含まれていません) | 1 x CSI-2 カメラ コネクタ | 26 x デジタル、4 x PWM | Mini-HDMI | WiFi、 Bluetooth | - | 5 V | Azure IoT Hubにデータを送信して視覚化する | Onion Omega2+ (約 10 ドルから 15 ドル) |
DFRobot LattePanda | 約 100 ドルから 160 ドル | ホーム オートメーション; Hyperscale クラウド接続; AI/ML | Windows 10、Ubuntu 16.04、openSUSE 15 | 1.92 GHz | 64 ビット Intel Z8350 (クアッド コア x86-64)、Atmega32u4 コプロセッサ | 2 GB DDR3L RAM、32 GB eMMC/4 GB DDR3L RAM、64 GB eMMC | - | 6 x デジタル (20 x Atmega32u4 経由)、6 x PWM、12 x ADC | HDMI、MIPI DSI | WiFi、 Bluetooth | √ | 5 V | 1.Microsoft Azure の概要、2. Azure を使用したホーム監視システム | Seeed Odyssey X86J4125800 (約 210 ドルから 230 ドル) |
疑問? 要求 ?
問題を送信してください !
関連項目
その他の役に立つリソースは次のとおりです。