Daftar Isi:

Remote Control dan Pengawasan Foto Melalui MQTT: 8 Langkah
Remote Control dan Pengawasan Foto Melalui MQTT: 8 Langkah

Video: Remote Control dan Pengawasan Foto Melalui MQTT: 8 Langkah

Video: Remote Control dan Pengawasan Foto Melalui MQTT: 8 Langkah
Video: Membuat Dashboard IOT menggunakan Node Red + MQTT 2024, November
Anonim
Remote Control dan Pengawasan Foto Melalui MQTT
Remote Control dan Pengawasan Foto Melalui MQTT

Halo.

Hari ini saya ingin berbicara tentang cara membuat remote control dan sistem pemantauan yang dapat digunakan, misalnya, untuk mengontrol pintu garasi, pencahayaan, pemanas, kontrol tekanan, suhu, dan banyak parameter lainnya. Tetapi fitur utama dari sistem ini adalah Anda dapat menerima foto dari jarak jauh dari objek jarak jauh. Sebelum Anda memulai cerita, kata pengantar singkat. Suatu kali saya ingin membuat sistem pengawasan foto menggunakan papan Arduino M0-SD yang kompatibel, kamera VC0706 dan pelindung 3G/GPRS/GSM/GPS untuk Arduino. Papan kompatibel Arduino M0-SD dipilih dari kondisi yang sangat mudah diprogram (seperti Arduino UNO), tegangan operasi 3.3V - ini sangat nyaman untuk bekerja dengan kamera VC0706, sejumlah besar ROM dan RAM, beberapa port UART, port virtual terpisah dari USB, tetapi keuntungan utama adalah keberadaan konektor micro SD langsung di papan (Sangat nyaman untuk menyimpan data dalam jumlah besar, seperti gambar).

Perisai 3G/GPRS/GSM/GPS untuk Arduino sangat nyaman digunakan dengan papan Arduino M0-SD yang kompatibel. Ada beberapa perpustakaan di Internet, serta banyak contoh untuk bekerja dengan perisai ini. Kecepatan transfer data (3G) jauh lebih tinggi daripada pelindung GPRS konvensional (terutama nyaman untuk mentransmisikan gambar). Ketersediaan modul GPS merupakan keuntungan tambahan.

Saya memilih tarif murah dari operator seluler untuk transmisi data (foto) melalui Internet. Tetapi muncul pertanyaan: bagaimana cara mentransfer data? MMS? FTP? Bagaimana cara mendapatkan notifikasi penerimaan data (foto)? Akibatnya, saya mengambil keputusan untuk mengirim data (foto) ke email dan melihat surat melalui aplikasi yang diinstal pada ponsel. Ternyata sangat nyaman!:-) Proyek yang sudah selesai dapat dilihat di tautan ini.

Ada juga proyek serupa untuk Arduino UNO sebagai referensi.

Kemudian saya memutuskan untuk memperluas fungsionalitas perangkat saya. Misalnya, tambahkan kemampuan untuk mengontrol LED (meskipun dalam kenyataannya kemungkinannya jauh lebih luas). E-mail untuk ini sangat tidak cocok. Opsi SMS mahal dan tidak nyaman. Dan kemudian saya belajar tentang MQTT. Saya tidak akan menjelaskan siapa dia. Biarkan saya hanya mengatakan: Ini adalah hal yang sangat keren!:-) Dengan bantuan MQTT, Anda tidak hanya dapat bertukar pesan, tetapi juga file biner (gambar). Dalam aplikasi untuk telepon, Anda dapat dengan mudah membuat antarmuka Anda sendiri.

Saya mencari contoh implementasi protokol MQTT untuk pelindung 3G/GPRS/GSM/GPS saya (SIM5320) dan, sayangnya, tidak menemukan implementasi yang saya butuhkan. Tapi itu tidak membuatku sendirian. Saya memutuskan untuk mengimplementasikan fungsionalitas yang diperlukan secara mandiri. Hasilnya, saya berhasil membuat perangkat yang dikendalikan (ditunjukkan oleh tiga LED) melalui MQTT dari aplikasi yang diinstal pada ponsel, dan juga mengirim foto ke ponsel atas perintah dari ponsel. (Saya akan memberi tahu Anda sebuah rahasia bahwa saya belum pernah melihat contoh pengiriman gambar melalui broker MQTT sebelumnya dan melakukannya untuk pertama kalinya. Dan ketika saya berhasil mentransfer gambar pertama, saya sangat senang!:-)) Dan jadi, saya mengusulkan untuk langsung ke langkah pertama - daftar komponen yang diperlukan.

Langkah 1: Daftar Komponen

Daftar Komponen
Daftar Komponen
Daftar Komponen
Daftar Komponen
Daftar Komponen
Daftar Komponen
Daftar Komponen
Daftar Komponen

Kami membutuhkan komponen selanjutnya:

1) Arduino M0-SD kompatibel.

2) TTL-kamera VC0706.

3) Perisai 3G/GPRS/GSM/GPS untuk Arduino.

4) LED merah, hijau, kuning, 3 resistor (100-500 Ohm), kabel, konektor sudut pin dengan pitch 2,54 mm.

5) adaptor daya AC-DC (6V 1A), antena 3G, dll.

Langkah 2: Persiapan Kamera

Persiapan Kamera
Persiapan Kamera
Persiapan Kamera
Persiapan Kamera
Persiapan Kamera
Persiapan Kamera

Kamera memiliki output RS-232 untuk koneksi langsung ke PC. Penting untuk melepas MAX232 (konverter RS-232) dan menutup bantalan kontak antara pin yang sesuai 7-10 (TX), 8-9 (RX).

Kabel enam kawat yang disertakan dengan kamera perlu sedikit diperbaiki:

  • Lepaskan kedua kabel dari konektor.
  • Atur ulang kabel merah (+ 5V) dan hitam (GND) seperti yang ditunjukkan pada gambar.

Di ujung kabel yang telanjang harus disolder tip seperti "perempuan".

Langkah 3: Persiapan Arduino M0-SD yang Kompatibel

Persiapan Arduino M0-SD yang Kompatibel
Persiapan Arduino M0-SD yang Kompatibel
Persiapan Arduino M0-SD yang Kompatibel
Persiapan Arduino M0-SD yang Kompatibel
Persiapan Arduino M0-SD yang Kompatibel
Persiapan Arduino M0-SD yang Kompatibel

Seperti yang telah disebutkan, Arduino M0-SD yang kompatibel adalah perangkat keras dan perangkat lunak yang kompatibel dengan Arduino M0 asli, tetapi juga memiliki konektor microSD onboard untuk menghubungkan kartu memori.

Untuk menghubungkan kamera ke Arduino M0-SD yang kompatibel di papan, perlu untuk menyolder konektor sudut ke terminal TXD, RXD (konektor X6) seperti yang ditunjukkan pada gambar. Port ini cocok dengan "Serial".

Kabel putih (Kamera RX) dan kuning (Kamera TX) dari kamera harus dihubungkan masing-masing ke terminal TXD dan RXD (konektor X6) seperti yang ditunjukkan pada gambar.

Langkah 4: Persiapan 3G/GPRS/GSM/GPS Shield SIM5320

Persiapan 3G/GPRS/GSM/GPS Shield SIM5320
Persiapan 3G/GPRS/GSM/GPS Shield SIM5320
Persiapan 3G/GPRS/GSM/GPS Shield SIM5320
Persiapan 3G/GPRS/GSM/GPS Shield SIM5320
Persiapan 3G/GPRS/GSM/GPS Shield SIM5320
Persiapan 3G/GPRS/GSM/GPS Shield SIM5320

Sebelum memasang kartu sim di slot, Anda harus menonaktifkan permintaan kode PIN. Kemudian pasang kartu SIM di slot di sisi bawah papan seperti yang ditunjukkan pada gambar. Dua jumper harus dipasang di posisi RX-1 (D1), TX-0 (D0).

Langkah 5: Perakitan Perangkat Keras

Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras

Perakitan perangkat keras terdiri dari beberapa operasi sederhana:

  • Untuk mengontrol LED, Anda harus terlebih dahulu menyolder desain kecil LED dan resistor pembatas arus (100-500 Ohm) seperti yang ditunjukkan pada gambar. Perhatikan polaritas LED - anoda harus disolder ke resistor (+). Untuk mengurangi paparan parasit pada LED, saya membuat layar hitam dari karton biasa.
  • sambungkan LED dan kamera ke board Arduino M0-SD yang kompatibel seperti yang ditunjukkan pada diagram. Catu daya kamera (kabel merah "+ 5V" dan kabel hitam "GND") harus diambil dari terminal "+5V" dan "GND" dari slot. Anda juga dapat menggunakan konektor sudut untuk ini.
  • Setelah itu, sambungkan pelindung 3G/GPRS/GSM/GPS ke board Arduino M0-SD yang kompatibel. Jangan lupa untuk menghubungkan antena 3G.

Langkah 6: Mengatur Pialang MQTT

Menyetel Pialang MQTT
Menyetel Pialang MQTT
Menyetel Pialang MQTT
Menyetel Pialang MQTT
Menyetel Pialang MQTT
Menyetel Pialang MQTT

Saya memilih www.cloudmqtt.com yang sangat nyaman dan jelas sebagai broker MQTT. Ini menyediakan pengujian gratis. Dimungkinkan juga untuk menerima dan mengirim pesan langsung di situs.

Prosedur pengaturannya adalah sebagai berikut:

  1. Daftar online.
  2. Tekan tombol "Buat Instans Baru".
  3. Atur nama, misalnya "MqttCamera".
  4. Tekan tombol "Pilih Wilayah". Misalnya, pilih "US-East-1 (Virginia Utara)".
  5. Tekan tombol "Tinjau".
  6. Tekan tombol "Buat Instance". Lihat pesan "Instance berhasil dibuat".
  7. Klik "MqttCamera".
  8. Ingat informasi: Server, Pengguna, Kata Sandi, Port, Kunci API (Kami akan membutuhkannya pada langkah ke-7 dan ke-8).
  9. Kemudian Anda dapat pergi ke jendela "WEBSOCKET UI", di mana Anda dapat menguji dan men-debug, melihat dan mengirim pesan (Kami akan membutuhkan jendela ini pada langkah berikutnya).

Langkah 7: Aplikasi Dash MQTT

Aplikasi Dasbor MQTT
Aplikasi Dasbor MQTT
Aplikasi Dasbor MQTT
Aplikasi Dasbor MQTT
Aplikasi Dasbor MQTT
Aplikasi Dasbor MQTT

Untuk membuat panel kontrol di ponsel, saya memilih aplikasi Dash MQTT yang sangat user-friendly dan jelas.

Instal aplikasi MQTT Dash di ponsel Anda dan buat pengaturan berikut:

  1. Buka aplikasi.
  2. Di jendela dasbor MQTT, klik (+) untuk menambahkan panel kontrol baru.
  3. Di jendela yang muncul, isi bidang yang diperlukan, seperti: Nama (misalnya, MqttCamera), Alamat, Port, Nama pengguna, Kata sandi pengguna (Ambil data dari langkah 6).
  4. Setelah mengisi bidang, klik ikon disket (operasi "Simpan").
  5. Di jendela dengan daftar panel kontrol, klik pada baris yang muncul " MqttCamera ".
  6. Di jendela panel kontrol yang terbuka, klik ikon panah untuk memuat metrik.
  7. Kemudian di jendela pop-up, klik tombol "BERLANGGANAN DAN TUNGGU METRIK".
  8. Pada komputer pribadi, buka akun di broker MQTT (lihat langkah sebelumnya), buka jendela " WEBSOCKET UI ", atur topik "metrik/pertukaran" di jendela " Kirim pesan ", dan rekam teks dari file metrics.txt terlampir di jendela " Pesan ", klik tombol " Kirim ".
  9. Tunggu 10 detik, pastikan metrik diterima di telepon dan panel kontrol diperbarui.

Kemudian Anda dapat melanjutkan ke pemrograman Arduino M0-SD yang kompatibel.

Langkah 8: Pemrograman dan Kerja

Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan
Pemrograman dan Pekerjaan

Sebelum memprogram Arduino M0-SD yang kompatibel, Anda perlu menginstal di komputer semua perpustakaan yang diperlukan (pubsubclient-master, TinyGSM-master), yang saya kutip di bawah. Pustaka ini sedikit dimodifikasi agar berfungsi dengan papan Arduino M0-SD yang kompatibel, kamera VC0706, dan pelindung 3G/GPRS/GSM/GPS SIM5320.

Anda perlu menghubungkan kabel dan catu daya (6V 1A untuk menyalakan pelindung 3G/GPRS/GSM/GPS) ke Arduino M0-SD yang kompatibel.

Mulai Arduino IDE. Di Arduino, IDE harus memilih: Alat-> Papan: Arduino M0 Pro (Port USB Asli).

Buka sketsa MqttCamera.ino. Isi kolom: Nama pengguna, Kata sandi pengguna, Kunci API, Port, Server (Ambil data dari langkah 6).

Buka jendela Serial Monitor.

Unggah sketsa. Saya tidak menjelaskan secara rinci prosedur pemrograman (ada cukup petunjuk di Internet).

Setelah berhasil memuat dan merakit dengan benar, informasi berikut akan muncul di jendela Serial Monitor:

Kamera VC0706 + Arduino M0 + SIM5320 + MQTT

Kamera init… versi: ----------------- VC0703 1.00 Ctrl infr ada Sensor yang ditentukan pengguna 525 ----------------- sukses ! Inisialisasi modem… Modem: AT+CGMM SIMCOM_SIM5320E Menunggu jaringan… OK Menyambung ke internet OK Menghubungkan ke 3.83.68.228 gagal Menyambung ke 3.83.68.228 OK Ping: 0

Baris " Ping: XX " adalah pesan berkala dari Arduino M0-SD yang kompatibel ke server. Alih-alih informasi ini, Anda dapat mengirim pengukuran ADC, status input, dan lainnya.

Di aplikasi Dash MQTT, klik ikon bola lampu (LED_YELLOW, LED_GREEN, LED_RED) - nyalakan/matikan. Lihat di jendela monitor Serial - harus ada informasi tentang sesuatu seperti ini:

LED_KUNING Hidup

LED_YELLOW_Off LED_GREEN Hidup LED_GREEN mati LED_RED Hidup LED_RED Mati

Klik ikon kamera - kirim perintah " SHOOT " dan tunggu beberapa saat. Informasi berikut akan muncul di jendela Serial Monitor:

Mulai Tembak!

Gambar diambil! buat IMAGE332-j.webp

Dan setelah beberapa saat (5-10 detik) di jendela "LIHAT GAMBAR" akan ditampilkan foto.

Untuk demonstrasi, saya mengarahkan kamera VC0706 ke LED sehingga Anda dapat melihat statusnya setelah saya mengubahnya secara sewenang-wenang. Tetapi dalam penggunaan nyata, Anda dapat mengarahkan kamera ke ruangan, pintu, jalan, gerbang, mobil, dll. (Tentu saja, Anda harus mempertimbangkan persyaratan hukum). Sebagai demonstrasi, saya menyajikan beberapa tangkapan layar dari ponsel, di mana status LED yang terpasang dan aktual ditampilkan.

Saya harap instruksi saya menarik dan bermanfaat bagi Anda. Saya akan senang untuk umpan balik dan komentar Anda. Dalam rencana saya untuk mengembangkan perangkat saya dan berbagi dengan Anda inovasi baru. Terima kasih telah menonton!

Direkomendasikan: