Bagikan melalui


Daftar pilihan perangkat IoT

Daftar pemilihan perangkat IoT ini bertujuan untuk memberi mitra titik awal dengan perangkat keras IoT untuk membangun prototipe dan bukti konsep dengan cepat dan mudah. [^1]

Semua papan terdaftar mendukung pengguna dari semua level pengalaman.

Catatan

Tabel ini tidak dimaksudkan untuk menjadi daftar lengkap atau untuk membawa solusi ke produksi. [^2] [^3]

Saran keamanan: Kecuali untuk Azure Sphere, disarankan untuk menyimpan perangkat ini di belakang router dan/atau firewall.

[^1]: Jika Anda baru menggunakan pemrograman perangkat keras, untuk pekerjaan dev MCU, sebaiknya gunakan Ekstensi Arduino Visual Studio Code atau Ekstensi IO Platform Visual Studio Code. Untuk pekerjaan pengembangan SBC, Anda memprogram perangkat seperti laptop, yaitu pada perangkat itu sendiri. Raspberry Pi mendukung pengembangan Visual Studio Code.

[^2]: Perangkat dalam ketersediaan sumber daya dukungan, papan umum yang digunakan untuk pembuatan prototipe dan PoC, dan papan yang mendukung IDes ramah pemula seperti ekstensi Arduino IDE dan VS Code; misalnya, Ekstensi Arduino dan ekstensi Platform IO. Untuk kesederhanaan, kami bertujuan untuk menjaga total daftar <perangkat 6. Tim dan individu lain mungkin telah memilih untuk menampilkan papan yang berbeda berdasarkan interpretasi kriteria mereka.

[^3]: Untuk membawa perangkat ke produksi, Anda mungkin ingin menguji PoC dengan chipset tertentu, STM32 st atau seri papan breakout Pic-IoT Microchip, merancang papan kustom yang dapat diproduksi dengan biaya lebih rendah daripada MCUs dan SBC yang tercantum di sini, atau bahkan menjelajahi kit dev berbasis FPGA. Anda mungkin juga ingin menggunakan lingkungan pengembangan untuk rekayasa listrik profesional seperti STM32CubeMX atau pemrogram berbasis browser ARM mBed.

Daftar Isi

Bagian Deskripsi
Mulai di sini Panduan untuk menggunakan daftar pilihan ini. Menyertakan kriteria pilihan yang disarankan.
Diagram pilihan Visual yang meringkas kriteria pilihan umum dengan kemungkinan pilihan perangkat keras.
Persyaratan Terminologi dan ML Definisi terminologi dan akronim dan persyaratan perangkat untuk pembelajaran mesin tepi (ML).
Daftar perangkat MCU Daftar MCUs yang direkomendasikan, misalnya, ESP32, dengan spesifikasi teknologi dan alternatif.
Daftar perangkat SBC Daftar SBC yang direkomendasikan, misalnya, Raspberry Pi, dengan spesifikasi teknologi dan alternatif.

Mulai di sini

Cara menggunakan dokumen ini

Gunakan dokumen ini untuk lebih memahami terminologi IoT, pertimbangan pemilihan perangkat, dan untuk memilih perangkat IoT untuk membuat prototipe atau membangun bukti konsep. Kami merekomendasikan prosedur berikut:

  1. Baca bagian 'apa yang harus dipertimbangkan saat memilih papan' untuk mengidentifikasi kebutuhan dan batasan.

  2. Gunakan Visual Pemilihan Aplikasi untuk mengidentifikasi opsi yang mungkin untuk skenario IoT Anda.

  3. Menggunakan MCU atau Daftar Perangkat SBC, periksa spesifikasi perangkat dan bandingkan dengan kebutuhan/batasan Anda.

Apa yang perlu dipertimbangkan saat memilih papan

Untuk memilih perangkat untuk prototipe IoT Anda, lihat kriteria berikut:

  • Unit mikrokontroler (MCU) atau komputer papan tunggal (SBC)

    • MCU lebih disukai untuk tugas tunggal, seperti mengumpulkan dan mengunggah data sensor atau pembelajaran mesin di tepi. MCUs juga cenderung lebih rendah biayanya.
    • SBC lebih disukai ketika Anda memerlukan beberapa tugas yang berbeda, seperti mengumpulkan data sensor dan mengontrol perangkat lain. Ini mungkin juga lebih disukai pada tahap awal ketika ada banyak opsi untuk solusi yang mungkin - SBC memungkinkan Anda untuk mencoba banyak pendekatan yang berbeda.
  • Daya pemrosesan

    • Memori: Pertimbangkan berapa banyak penyimpanan memori (dalam byte), penyimpanan file, dan memori untuk menjalankan program yang dibutuhkan proyek Anda.

    • Kecepatan jam: Pertimbangkan seberapa cepat program Anda perlu berjalan atau seberapa cepat Anda membutuhkan perangkat untuk berkomunikasi dengan server IoT.

    • Akhir masa pakai: Pertimbangkan apakah Anda memerlukan perangkat dengan fitur dan dokumentasi terbaru atau jika Anda dapat menggunakan perangkat yang dihentikan sebagai prototipe.

  • Konsumsi daya

    • Daya: Pertimbangkan berapa banyak tegangan dan arus yang dikonsumsi papan. Tentukan apakah daya dinding tersedia dengan mudah atau jika Anda memerlukan baterai untuk aplikasi Anda.

    • Koneksi: Pertimbangkan koneksi fisik ke sumber daya. Jika Anda membutuhkan daya baterai, periksa apakah ada port koneksi baterai yang tersedia di papan. Jika tidak ada konektor baterai, cari papan lain yang sebanding, atau pertimbangkan cara lain untuk menambahkan daya baterai ke perangkat Anda.

  • Input dan output

    • Port dan pin: Pertimbangkan berapa banyak dan jenis port dan pin I/O yang mungkin diperlukan proyek Anda. * Pertimbangan lain termasuk apakah perangkat Anda akan berkomunikasi dengan sensor atau perangkat lain. Jika demikian, identifikasi berapa banyak port yang diperlukan sinyal tersebut.

    • Protokol: Jika Anda bekerja dengan sensor atau perangkat lain, pertimbangkan protokol komunikasi perangkat keras apa yang diperlukan. * Misalnya, Anda mungkin memerlukan CAN, UART, SPI, I2C, atau protokol komunikasi lainnya.

    • Daya: Pertimbangkan apakah perangkat Anda akan mendukung komponen lain seperti sensor. Jika perangkat Anda menyalakan komponen lain, identifikasilah tegangan dan arus keluaran dari pin daya perangkat yang tersedia dan tentukan tegangan/arus yang dibutuhkan oleh komponen Anda yang lain.

    • Jenis: Tentukan apakah Anda perlu berkomunikasi dengan komponen analog. Jika Anda membutuhkan komponen analog, identifikasi berapa banyak pin I/O analog yang diperlukan untuk proyek Anda.

    • Periferal: Pertimbangkan apakah Anda lebih suka perangkat dengan sensor onboard atau fitur lain seperti layar, mikrofon, dll.

  • Pengembangan

    • Bahasa pemrograman: Pertimbangkan apakah proyek Anda memerlukan bahasa tingkat yang lebih tinggi di luar C/C++. Jika demikian, identifikasi bahasa pemrograman umum untuk aplikasi yang Anda butuhkan (misalnya, Pembelajaran Mesin sering dilakukan dalam Python). Pikirkan SDK, API, dan/atau pustaka apa yang berguna atau diperlukan untuk proyek Anda. Identifikasi bahasa pemrograman apa yang didukung.

    • IDE: Pertimbangkan lingkungan pengembangan yang didukung perangkat dan apakah ini memenuhi kebutuhan, set keterampilan, dan/atau preferensi pengembang Anda.

    • Komunitas: Pertimbangkan berapa banyak bantuan yang Anda inginkan/butuhkan dalam membangun solusi. Misalnya, pertimbangkan apakah Anda lebih suka memulai dengan kode sampel, jika Anda ingin memecahkan masalah saran atau bantuan, atau jika Anda akan mendapat manfaat dari komunitas aktif yang menghasilkan sampel baru dan memperbarui dokumentasi.

    • Dokumentasi: Lihat dokumentasi perangkat. Identifikasi apakah lengkap dan mudah diikuti. Pertimbangkan apakah Anda memerlukan skema, sampel, lembar data, atau jenis dokumentasi lainnya. Jika demikian, lakukan beberapa pencarian untuk melihat apakah item tersebut tersedia untuk proyek Anda. Pertimbangkan SDK/API/pustaka perangkat lunak yang ditulis untuk papan dan apakah item ini akan mempermudah proses prototipe Anda. Identifikasi apakah dokumentasi ini dipertahankan dan siapa penjaganya.

  • Keamanan

    • Jaringan: Pertimbangkan apakah perangkat Anda tersambung ke jaringan eksternal atau apakah perangkat dapat disimpan di belakang router dan/atau firewall. Jika prototipe Anda perlu disambungkan ke jaringan yang menghadap ke eksternal, sebaiknya gunakan Azure Sphere karena ini adalah satu-satunya perangkat yang aman dengan andal.

    • Periferal: Pertimbangkan apakah salah satu periferal yang terhubung dengan perangkat Anda memiliki protokol nirkabel (misalnya, WiFi, BLE).

    • Lokasi fisik: Pertimbangkan apakah perangkat Anda atau periferal yang terhubung dengannya akan dapat diakses oleh publik. Jika demikian, sebaiknya buat perangkat tidak dapat diakses secara fisik. Misalnya, dalam kotak tertutup dan terkunci.

Visual pemilihan aplikasi

Catatan

Daftar ini hanya untuk tujuan pendidikan, tidak dimaksudkan untuk mendukung produk apa pun.

Tabel yang memperlihatkan kriteria pilihan umum dengan kemungkinan pilihan perangkat keras.

Persyaratan Terminologi dan ML

Bagian ini menyediakan definisi untuk terminologi tersemat dan akronim dan spesifikasi perangkat keras untuk aplikasi pembelajaran mesin visual, auditori, dan sensor.

Terminologi

Terminologi dan akronim tercantum dalam urutan alfabet.

Istilah Definisi
ADC Analog ke konverter digital; mengonversi sinyal analog dari komponen yang terhubung seperti sensor ke sinyal digital yang dapat dibaca oleh perangkat
Pin analog Digunakan untuk menyambungkan komponen analog yang memiliki sinyal berkelanjutan seperti photoresistors (sensor cahaya) dan mikrofon
Kecepatan jam Seberapa cepat CPU dapat mengambil dan menginterpretasikan instruksi
Pin digital Digunakan untuk menyambungkan komponen digital yang memiliki sinyal biner seperti LED dan sakelar
Lampu kilat (atau ROM) Memori yang tersedia untuk menyimpan program
IDE Lingkungan pengembangan terintegrasi; program untuk menulis kode perangkat lunak
IMU Unit pengukuran inersia
Pin IO (atau I/O) Pin Input/Output yang digunakan untuk berkomunikasi dengan perangkat lain seperti sensor dan pengontrol lainnya
MCU Unit Mikrokontroler; komputer kecil pada satu chip yang mencakup CPU, RAM, dan IO
MPU Unit microprocessor; prosesor komputer yang menggabungkan fungsi unit pemrosesan pusat komputer (CPU) pada satu sirkuit terintegrasi (IC), atau paling banyak beberapa sirkuit terintegrasi.
ML Pembelajaran mesin; program komputer khusus yang melakukan pengenalan pola kompleks
PWM Modulasi lebar pulsa adalah cara untuk memodifikasi sinyal digital guna mencapai efek menyerupai analog, seperti mengubah kecerahan, volume, dan kecepatan.
RAM Memori akses acak; berapa banyak memori yang tersedia untuk menjalankan program
SBC Komputer papan tunggal
TF TensorFlow; paket perangkat lunak pembelajaran mesin yang dirancang untuk perangkat edge
TF Lite TensorFlow Lite; versi TF yang lebih kecil untuk perangkat tepi kecil

Persyaratan perangkat keras pembelajaran mesin

Vision ML

  • Kecepatan: 200 MHz
  • Flash: 300 kB
  • RAM: 100 kB

Speech ML

  • Kecepatan: 60 MHz [^4]
  • Lampu kilat: 50 kB
  • RAM: 8 kB

Sensor ML (misalnya, gerakan, jarak)

  • Kecepatan: 20 MHz
  • Flash: 20 kB
  • RAM: 2 kB

[^4]: Persyaratan kecepatan sebagian besar disebabkan oleh kebutuhan prosesor untuk dapat mengambil sampel minimal 6 kHz agar mikrofon dapat memproses frekuensi vokal manusia.

Daftar perangkat MCU

Berikut ini adalah tabel perbandingan MCUs dalam urutan alfabet. Daftar ini tidak dimaksudkan untuk menjadi lengkap.

Catatan

Daftar ini hanya untuk tujuan pendidikan, tidak dimaksudkan untuk mendukung produk apa pun. Harga yang ditampilkan menunjukkan rata-rata di beberapa distributor dan hanya untuk tujuan ilustrasi.

Nama Dewan Rentang Harga (USD) Untuk apa digunakan? Perangkat lunak Kecepatan Prosesor Memori Sensor Onboard dan Fitur Lainnya Pin IO Video Radio Konektor Baterai? Tegangan Operasi Mendapatkan Panduan Yang Dinyatakan Alternatif
Azure Sphere MT3620 Dev Kit ~$40 - $100 Aplikasi yang sangat aman C/C++, VS Code, VS 500 MHz & 200 MHz MT3620 (tri-core--1 x Cortex A7, 2 x Cortex M4) RAM 4 MB + 2 x 64-KB RAM Sertifikasi: CE/FCC/MIC/RoHS 4 x IO Digital, 1 x I2S, 4 x ADC, 1 x RTC - Dual-band 802.11 b/g/n dengan keragaman antena - 5 V 1. Galeri Sampel Azure Sphere, 2. Stasiun Cuaca Azure Sphere Tidak Berlaku
Adafruit HUZZAH32 – Papan Bulu ESP32 ~$20 - $25 Pemantauan; Pemula IoT; Otomatisasi rumah Arduino IDE, VS Code 240 MHz 32-Bit ESP32 (Tensilica LX6 dual-core) Flash SPI 4 MB, SRAM 520 KB Sensor Hall, 10x pin IO sentuh kapasitif, 50+ papan tambahan 3 x UART, 3 x SPI, 2 x I2C, 12 x input ADC, 2 x I2S Audio, 2 x DAC - 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack dan LWIP, Bluetooth dan BLE 3.3 V 1. Ilmiah freezer monitor, 2. Sampel Arduino Azure IoT SDK Arduino Uno WiFi Rev 2 (~$50 - $60)
Arduino Nano RP2040 Connect Sekitar $20 USD - $25 USD Kontrol jarak jauh; Pemantauan Arduino IDE, VS Code, C/C++, MicroPython 133 MHz RP2040 32-bit (dual-core Cortex M0+) Flash 16 MB, RAM 264 kB Mikrofon, IMU enam sumbu dengan kemampuan AI 22 x IO Digital, 20 x PWM, 8 x ADC - WiFi, Bluetooth - 3.3 V - Adafruit Feather RP2040 (CATATAN: juga membutuhkan FeatherWing untuk WiFi)
ESP32-S2 Saola-1 Sekitar $10 - $15 Otomatisasi rumah; Pemula IoT; Pembelajaran Mesin; Pemantauan; Jaringan jala Arduino IDE, Circuit Python, ESP IDF 240 MHz ESP32-S2 32-bit (inti tunggal Xtensa LX7) 128 kB Flash, 320 kB SRAM, 16 kB SRAM (RTC) 14 x pin IO sentuhan kapasitif, Sensor suhu 43 x Pin digital, 8 x PWM, 20 x ADC, 2 x DAC Serial LCD, PCD paralel Wi-Fi 802.11 b/g/n (802.11n hingga 150 Mbps) - 3.3 V 1. Deteksi wajah aman dengan Azure ML, 2. Azure Cost Monitor ESP32-DevKitC (~$10 - $15)
Wio Terminal (Seeed Studio) ~$40 - $50 Pemantauan; Otomatisasi Rumah; ML Arduino IDE, VS Code, MicroPython, ArduPy 120 MHz ATSAMD51 32-bit (Cortex-M4F inti tunggal) Flash SPI 4 MB, RAM 192 kB Layar on-board, Mikrofon, IMU, buzzer, slot microSD, sensor cahaya, pemancar IR, pemasangan Raspberry Pi GPIO (sebagai perangkat anak) 26 x Pin Digital, 5 x PWM, 9 x ADC Layar LCD Warna 2.4" 320x420 dual-band 2.4Ghz/5Ghz (Realtek RTL8720DN) - 3.3 V Memantau tanaman dengan Azure IoT Adafruit FunHouse (~$30 - $40)

Daftar perangkat SBC

Berikut ini adalah tabel perbandingan SBC dalam urutan alfabet. Daftar ini tidak dimaksudkan untuk menjadi lengkap.

Catatan

Daftar ini hanya untuk tujuan pendidikan, tidak dimaksudkan untuk mendukung produk apa pun. Harga yang ditampilkan menunjukkan rata-rata di beberapa distributor dan hanya untuk tujuan ilustrasi.

Nama Papan Rentang Harga (USD) Untuk apa digunakan? Perangkat lunak Kecepatan Prosesor Memori Sensor Onboard dan Fitur Lainnya Pin IO Video Radio Konektor Baterai? Tegangan Operasi Panduan Memulai Alternatif
Raspberry Pi 4, Model B ~$30 - $80 Otomatisasi rumah; Robotika; Kendaraan otonom; Sistem kontrol; Ilmu lapangan Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, lainnya CPU 1,5 GHz, GPU 500 MHz Broadcom BCM2711 64-bit (quad-core Cortex-A72), VideoCore VI GPU RAM LPDDR4 2GB/4GB/8GB, Kartu SD (tidak termasuk) 2 x port USB 3, 1 x port tampilan MIPI DSI, 1 x port kamera MIPI CSI, port audio stereo 4-pole dan video komposit, Power over Ethernet (memerlukan HAT) 26 x Digital, 4 x PWM 2 mikro-HDMI komposit, MPI DSI WiFi, Bluetooth 5 V 1. Kirim data ke IoT Hub, 2. Memantau tanaman dengan Azure IoT BeagleBone Black Wireless (~$50 - $60)
NVIDIA Jetson 2 GB Nano Dev Kit ~$50 - $100 AI/ML; Kendaraan otonom JetPack berbasis Ubuntu CPU 1,43 GHz, GPU 921 MHz CPU NVIDIA 64-bit (quad-core Cortex-A57), koprosesor GPU Maxwell 128-CUDA-core RAM 2GB/4GB LPDDR4 472 GFLOPS untuk AI Perf, 1 x konektor MIPI CSI-2 28 x Digital, 2 x PWM HDMI, DP (hanya 4 GB) Gigabit Ethernet, 802.11ac WiFi 5 V Integrasi Deepstream dengan Azure IoT Central BeagleBone AI (~$110 - $120)
Raspberry Pi Zero W2 ~Rp15 - Rp20 ribu Otomatisasi rumah; ML; Modifikasi kendaraan; Sains Bidang Raspberry Pi OS, Raspbian, Ubuntu 20.04/21.04, RISC OS, Windows 10 IoT, lainnya CPU 1 GHz, GPU 400 MHz Broadcom BCM2837 64-bit (quad-core Cortez-A53), VideoCore IV GPU RAM LPDDR2 512 MB, Kartu SD (tidak termasuk) 1 x konektor Kamera CSI-2 26 x Digital, 4 x PWM MINI-HDMI WiFi, Bluetooth - 5 V Mengirim dan memvisualisasikan data ke Azure IoT Hub Onion Omega2+ (~$10 - $15)
DFRobot LattePanda ~$100 - $160 Otomatisasi rumah; Konektivitas cloud skala hiper; Kecerdasan Buatan/Pembelajaran Mesin Windows 10, Ubuntu 16.04, openSUSE 15 1,92 GHz Intel Z8350 64-bit (quad-core x86-64), koprosesor Atmega32u4 RAM DDR3L 2 GB, eMMC 32 GB / RAM DDR3L 4 GB, eMMC 64 GB - 6 x Digital (20 x melalui Atmega32u4), 6 x PWM, 12 x ADC HDMI, MIPI DSI WiFi, Bluetooth 5 V 1. Mulai menggunakan Microsoft Azure, 2. Home Monitoring System dengan Azure Seeed Odyssey X86J4125800 (~$210 - $230)

Pertanyaan? Ada permintaan?

Silakan kirimkan masalah!

Lihat Juga

Sumber daya bermanfaat lainnya meliputi: