Daftar Isi:

Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: 5 Langkah
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: 5 Langkah

Video: Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: 5 Langkah

Video: Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS: 5 Langkah
Video: Tutorial Kirim Data dengan MQTT ke Google IoT Core 2024, Juli
Anonim
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS
Dasar-dasar IoT: Menghubungkan IoT Anda ke Cloud Menggunakan Mongoose OS

Jika Anda adalah orang yang suka mengutak-atik dan elektronik, lebih sering daripada tidak, Anda akan menemukan istilah Internet of Things, biasanya disingkat IoT, dan itu mengacu pada seperangkat perangkat yang dapat terhubung ke internet! Menjadi orang seperti itu sendiri, saya terpesona ketika saya mengetahui bahwa perangkat hebat seperti itu mudah diakses oleh saya. Pikiran untuk dapat menghubungkan proyek saya ke internet menggunakan perangkat keras kecil dan hanya memikirkan gerbang yang tak terhitung banyaknya yang akan terbuka untuk ide proyek saya membuat saya bersemangat.

Tetapi memberi tahu IoT untuk terhubung ke internet tidak sesederhana hanya dengan membelinya dari rak dan menyalakannya. Dan selain membuat perangkat terhubung ke internet, kita juga perlu memasukkan beberapa data yang berguna ke internet. Instruksi ini berkaitan dengan prosedur yang terlibat untuk mencapai tujuan yang disebutkan di atas, dan dimaksudkan untuk pembaca dari tingkat pengalaman apa pun, dari pemula hingga veteran yang baru mengenal IoT.

Dalam Instruksi ini, sebagai contoh, saya akan mendemonstrasikan cara memplot grafik pembacaan sensor suhu internal papan pengembangan ESP32 yang seharusnya memberi pembaca ide bagus tentang prosesnya.

Meskipun Instruksi ini menggunakan ESP32 dan OS Mongoose, namun prosedurnya dapat diperluas ke semua IoT dan firmware yang ada!

Perlengkapan

Untuk dapat mengimplementasikan Instructable ini sendiri, Anda hanya membutuhkan sedikit hardware, dan mereka adalah:

  • Internet of Thing (IoT): Saya telah menggunakan klon papan pengembangan ESP32 yang murah. Jika Anda berencana untuk membeli papan pengembangan ESP32 baru, Anda harus memeriksa papan ESP32 DFRobot.
  • Kabel Data: Gunakan kabel yang dibutuhkan IoT Anda untuk mem-flash, dll.
  • Baterai (Opsional): Beli ini hanya jika Anda ingin menyalakan IoT Anda untuk waktu yang lama.
  • Papan tempat memotong roti Mini (Opsional)

Saya menyarankan pembaca untuk menggunakan IoT yang berbeda dari ESP32 sehingga mereka dapat benar-benar memahami apa yang sedang dilakukan di sini, daripada hanya meniru saya. Percayalah, Anda akan menikmati menerapkan proses ini menggunakan pikiran Anda sendiri di beberapa IoT lain, misalnya, ESP8266 akan menjadi pilihan yang baik.

Langkah 1: Pengantar MQTT

Pengantar MQTT
Pengantar MQTT

Apa itu MQTT?

"MQTT adalah protokol perpesanan sederhana, dirancang untuk perangkat terbatas dengan bandwidth rendah. Jadi, ini adalah solusi sempurna untuk aplikasi Internet of Things. MQTT memungkinkan Anda mengirim perintah untuk mengontrol output, membaca dan mempublikasikan data dari node sensor dan banyak lagi. " (Dari RandomNerdTutorials)

Bagaimana cara kerja MQTT?

Sebelum pergi teknis, mari kita berpikir tentang dunia nyata kita terlebih dahulu. Misalkan Anda tertarik dengan koleksi kartu milik teman teman Anda, katakanlah, Laurel, yang tidak Anda kenal secara pribadi. Karena Anda sangat khusus tentang koleksi kartu itu, Anda akan meminta teman Anda, misalkan Tom, untuk menanyakan apakah Laurel bersedia menjualnya atau tidak. Saat melakukannya, Anda akan meminta Tom untuk membeli koleksi kartunya sendiri jika Laurel bersedia menjualnya, karena Anda tidak ingin orang lain mendapatkan koleksi yang Anda idamkan! Seiring berjalannya waktu, Tom dan Laurel berinteraksi, dan atas kesepakatan bersama, Laurel memberikan koleksi kartunya kepada Tom dengan imbalan uang. Setelah pertukaran ini, Tom menyimpan kartu itu dengan dirinya sendiri sampai dia bertemu Anda lagi, saat itulah dia akhirnya memberi Anda koleksi kartu. Inilah bagaimana pertukaran normal terjadi dalam kehidupan kita sehari-hari.

Di MQTT, elemen dasar yang terlibat dalam pertukaran adalah penerbit (Laurel), pelanggan (Anda), dan broker (Tom). Alur kerjanya juga mirip dengan contoh dunia nyata yang disebutkan di atas, kecuali satu perbedaan besar! Di MQTT, pertukaran diprakarsai oleh broker, yaitu Laurel akan menjadi orang pertama yang menghubungi Tom untuk memberi tahu bahwa dia ingin menjual koleksi kartunya. Jika kita membandingkan cara kerja MQTT dengan contoh dunia nyata kita, maka akan menjadi sebagai berikut:

  1. Laurel memberi tahu Tom bahwa dia ingin menjual koleksi kartunya (data atau muatan) dan memberikan kartu itu kepadanya.
  2. Tom mengambil kartu-kartu itu dan terbuka untuk penawaran koleksi kartu. Saat Anda dan Tom bertemu dan dia mengetahui bahwa Anda tertarik dengan kartu tersebut (berlangganan topik). Tom kemudian memberi Anda kartu.

Karena seluruh proses bergantung pada broker dan tidak ada interaksi langsung antara pelanggan dan penerbit, MQTT menghilangkan kerumitan sinkronisasi penerbit dan pelanggan. Kehadiran perantara perantara adalah keuntungan bagi perangkat dengan sumber daya terbatas seperti IoT dan mikroprosesor karena kekuatan pemrosesan mereka tidak cukup untuk melakukan transfer data dengan cara biasa, yang akan melibatkan biaya overhead tambahan seperti otentikasi, enkripsi, dll. Selain itu, MQTT memiliki banyak fitur lain seperti ringan, distribusi satu-ke-banyak, dan sebagainya, yang membuatnya ideal untuk jaringan dan klien terbatas

Langkah 2: Pengantar Platform IoT

Apa itu Platform IoT?

"Pada tingkat tinggi, platform Internet of Things (IoT) adalah perangkat lunak pendukung yang menghubungkan perangkat keras edge, titik akses, dan jaringan data ke bagian lain dari rantai nilai (yang umumnya merupakan aplikasi pengguna akhir). Platform IoT biasanya menangani tugas manajemen dan visualisasi data yang sedang berlangsung, yang memungkinkan pengguna untuk mengotomatisasi lingkungan mereka." (Dari Link-Labs)

Secara abstrak, platform IoT bertindak sebagai media antara pengguna dan agen pengumpul data yang bertanggung jawab untuk mewakili data yang dikumpulkan.

Dalam Instruksi ini, kami berencana untuk mendorong pembacaan suhu ESP32 kami secara online. ESP32 kami akan bertindak sebagai penerbit MQTT dan broker MQTT akan menjadi platform IoT pilihan kami. Perhatikan bahwa dalam proyek kami, tidak ada peran pelanggan MQTT karena data diwakili oleh platform itu sendiri secara langsung. Platform IoT akan bertanggung jawab untuk menyimpan data kami yang dipublikasikan dan mewakilinya dengan baik, di sini, sebagai grafik garis. Saya akan menggunakan Losant sebagai platform IoT saya di sini karena gratis untuk digunakan dan menawarkan beberapa cara bagus untuk merepresentasikan data. Beberapa contoh platform IoT lainnya adalah Google Cloud, Amazon AWS dan Adafruit, Microsoft Azure, dll. Saya ingin menyarankan pembaca untuk merujuk ke dokumentasi platform IoT pilihan mereka.

Menyiapkan Losant:

  1. Masuk ke Losant
  2. Buat perangkat (Tipe mandiri)
  3. Tambahkan beberapa tipe data ke perangkat1. Nama: suhu, Tipe Data: Nomor2. Nama: offset, Tipe Data: Nomor3. Nama: unit, Tipe Data: String
  4. Buat kunci akses dan catat ID perangkat dan kunci akses
  5. Membuat grafik1. Buat dasbor.2. Tambahkan blok "Grafik Deret Waktu" ke dalamnya menggunakan variabel suhu dan perangkat yang Anda buat.

"ID Perangkat" berfungsi sebagai sidik jari unik untuk perangkat. "Kunci akses", seperti namanya, memungkinkan IoT untuk mempublikasikan ke Losant di bawah identitas perangkat.

Langkah 3: Siapkan Penerbit MQTT

Image
Image

Sekarang setelah kami menyiapkan platform IoT untuk menerima dan mewakili data, kami perlu menyiapkan penerbit MQTT yang akan bertanggung jawab untuk mengumpulkan dan mengirim data ke platform.

Garis besar persiapan penerbit MQTT adalah sebagai berikut:

  • Tulis kode: Untuk menginstruksikan penerbit (IoT) cara mengumpulkan data, memproses, dan mengirimkannya ke platform IoT. Instruksi ditulis dalam bahasa pemrograman tingkat tinggi yang dapat dibaca manusia yang biasanya disebut sebagai kode.
  • Flash firmware: IoT tidak akan mudah memahami instruksi ini karena awalnya tidak tahu bahasa apa pun. Untuk menjembatani hambatan bahasa antara manusia dan mesin, kode dikompilasi menjadi satu set instruksi kasar, pada dasarnya set nilai heksadesimal atau biner khusus untuk lokasi memori di dalam IoT, yang dikenal sebagai firmware yang kemudian di-flash ke IoT.

Dalam Instructable ini, karena saya menggunakan ESP32 saya yang praktis, saya akan mem-flash firmware Mongoose OS ke sana, yang menerima program yang ditulis C dan JavaScript keduanya. Terlepas dari kompatibilitas JS, OS Mongoose masih memiliki banyak hal untuk ditawarkan, seperti pembaruan melalui udara, untuk mengubah program Anda secara online, dan dasbor khusus untuk perangkat (mDash), dll.

Saya telah mengembangkan aplikasi open-source untuk Mongoose OS untuk Instructable ini. Ini adalah aplikasi sederhana bernama losant-temp-sensor, yang menggunakan MQTT untuk mengirim perkiraan pembacaan suhu sekitar, berdasarkan pembacaan suhu internal ESP32, ke Losant (platform IoT gratis untuk digunakan). Disarankan untuk membaca kode aplikasi untuk pemahaman yang lebih baik. Kami akan mem-flash aplikasi ini untuk Instructable ini.

Jika Anda adalah tipe petualang, maka Anda dapat mencoba mencapai tujuan yang sama dengan firmware Arduino-ESP32 yang memungkinkan penggunaan ESP32 sebagai Arduino (dengan kemampuan WiFi).

Ikhtisar cepat untuk mem-flash aplikasi dengan Mongoose OS:

  1. Instal alat mos untuk OS Anda.
  2. Buka alat dan jalankan perintah berikut:

    1. mos clone
    2. cd-losant-temp-sensor
    3. mos build --platform esp32
    4. mos flash
  3. Setelah berhasil mem-flash, izinkan perangkat untuk reboot dan kemudian jalankan perintah berikut:

    1. mos wifi "ssid wifi Anda" "kata sandi wifi Anda" mis. mos wifi "Rumah" "rumah@123"
    2. mos config-set temperature.basis=

      suhu.satuan="

      "mis. mos config-set temperature.basis=33 \temperature.unit="celsius"

    3. mos config-set device.id=mqtt.client_id=mqtt.pengguna=mqtt.pass=

Setelah menyelesaikan semua langkah ini dengan benar, Anda akan mendapatkan ESP32 yang mengirimkan pembacaan suhu ke Losant secara berkala, setelah setiap 10 menit. Penerbitan yang berhasil ditunjukkan oleh LED biru, seperti yang ditunjukkan pada video di atas.

Langkah 4: Catatan kaki

Image
Image
Catatan kaki
Catatan kaki

Jika Anda dapat mereplikasi langkah sebelumnya dengan benar, maka sekarang Anda akan memiliki proyek kerja dengan bantuan yang Anda dapat mengamati tren suhu di dalam ruangan Anda, atau di mana pun Anda berencana untuk menempatkan proyek. Karena saya telah membuat Instructable ini seumum mungkin, oleh karena itu Anda dapat menggunakan IoT Anda untuk mengumpulkan semua jenis data dan mencoba menyimpulkan sesuatu yang berguna darinya, atau Anda dapat melakukannya hanya untuk mengotak-atik jika Anda ' sudah memahami Instruksi ini dengan benar.

Bagi saya, bagian terbaik tentang IoT adalah kenyataan bahwa ia memungkinkan kita untuk mengumpulkan sejumlah besar data, tidak meyakinkan jika diambil sendiri dan mengubahnya menjadi sesuatu yang konklusif. Ini benar-benar menyentuh semangat sains. Bagi saya, sangat memuaskan dan mencerahkan untuk melihat suhu turun di dalam kamar saya selama jam hujan melalui grafik saya.

Losant-temp-sensor-app telah dioptimalkan untuk konsumsi daya, karena menggunakan fitur deep sleep dari ESP32 sehingga Anda dapat menggunakannya untuk waktu yang lama tanpa mengkhawatirkan baterai sama sekali. Anda dapat lebih memperpanjang efisiensi daya dengan melepas LED pada papan pengembangan. Penarikan saat ini dari seluruh pengaturan telah ditunjukkan di atas.

Tujuan dari Instructable ini, sejak awal hanya untuk memberi Anda pengenalan dunia IoT. Saat menyelesaikan Instructable ini, Anda akan memiliki pegangan yang baik pada dasar-dasar yang dapat Anda perkuat lebih banyak lagi melalui sumber online lainnya.

Meskipun Anda tidak akan dapat membuat proyek yang rumit pada tahap ini, namun harus selalu diingat bahwa jika Anda memiliki batu bata yang cukup kuat, dan cara untuk menggabungkannya, maka Anda dapat membuat struktur apa pun yang dapat dibayangkan, dari yang sederhana untuk kompleks. Demikian pula, memiliki pemahaman yang baik tentang dasar-dasar dan mengetahui bagaimana menerapkannya dengan benar akan memungkinkan Anda untuk memasang banyak alat. Oleh karena itu beri tepukan pada diri Anda untuk mengambil langkah pertama.

Langkah 5: Penghargaan dan Dukungan

Instruksi ini terdiri dari ilustrasi, mis. yang menjelaskan pertukaran MQTT, yang saya buat secara pribadi. Ilustrasi tersebut hanya dimungkinkan berkat paket SVG yang dapat digunakan secara gratis berikut ini:

  • Vektor infografis dibuat oleh freepik - www.freepik.com
  • Vektor infografis dibuat oleh starline - www.freepik.com
  • Vektor orang dibuat oleh pikisuperstar - www.freepik.com
  • Vektor abstrak dibuat oleh macrovector - www.freepik.com
  • Vektor abstrak dibuat oleh macrovector - www.freepik.com
  • Vektor infografis dibuat oleh pikisuperstar - www.freepik.com

Instruksi ini telah disponsori oleh DFRobot. DFRobot memiliki koleksi elektronik yang mengagumkan jadi pastikan untuk memeriksanya.

Jika Anda merasa menyukai Instructable ini dan menginginkan lebih banyak Instructables seperti ini, maka Anda dapat mendukung saya di Patreon. Jika Anda tidak dapat melangkah sejauh itu, Anda dapat mengikuti saya di sini di Instructables.

Direkomendasikan: