Cara menggunakan MQTT di Arduino yang menggunakan serial com untuk mengirim perintah AT ke ESP8266

10

Saya baru saja mulai melihat ke protokol MQTT.

Situasi

Dalam proyek kuliah saya, saat ini, saya menggunakan Arduino sebagai MCU utama dan melakukan setiap pekerjaan di dalamnya dan menggunakan Serial Comm. untuk mengirim perintah AT ke esp8266 (untuk permintaan HTTP, untuk menjalankan skrip di server dll). Saya pada dasarnya perlu mendorong beberapa data (dari Arduino) pada halaman web (di-host oleh server lokal). Saya mencari dan menemukan tentang protokol MQTT yang memungkinkan untuk mempublikasikan dan berlangganan data pada klien (Tepat seperti yang saya inginkan). Tetapi sebagian besar tutorial yang saya temukan sepenuhnya pada Arduino (dengan wifi shield) atau seluruhnya pada esp8266.

Yang ingin saya ketahui adalah apakah ada cara yang memungkinkan untuk menggunakan MQTT seperti konfigurasi saya saat ini? Artinya, menggunakan Arduino untuk melakukan semua pekerjaan dan dengan menggunakan comm serial-nya. Menerbitkan data hanya dengan perintah AT pada MQTT.

Informasi tambahan tentang proyek saya disebutkan di sini: Bingung tentang teknologi mana yang akan digunakan dalam Sistem Rumah Pintar

Salim Shamim
sumber
Anda dapat mengirim MQTT melalui wifi antara Arduino dan ESP. Tidak perlu melakukan koneksi fisik.
Jimmy Westberg
untuk itu saya akan membutuhkan wifi di Arduino juga bukan? Saya tidak perlu mengirim data antara Arduino dan ESP. Saya menggunakan esp untuk mengirim data dari arduino ke server lokal, arduino saya tidak memiliki pelindung wifi
Salim Shamim
Aha, jika Anda sudah memiliki koneksi fisik, lihat saja FW ESP Easy, yang memiliki integrasi MQTT yang cukup solid di luar kotak.
Jimmy Westberg
sonyarouje.com/2016/03/15/... Saya menemukan posting ini, Apakah itu yang Anda katakan: P Apakah itu cara untuk pergi? Maaf saya baru super baru: D
Salim Shamim
1
Saya mencoba MQTT melalui UART (untuk mengirim perintah AT ke esp8266) github.com/nopnop2002/MQTT_UNO
nopnop2002

Jawaban:

4

Saya akhirnya menemukan tutorial oleh Sony Arouje . Ternyata saya harus benar-benar meninggalkan pengiriman manual dari perintah esp dan harus menggunakan perpustakaan (WiFiEsp.h). Petunjuk ... Lebih baik!

Meskipun pada awalnya tidak bekerja dengan esp8266 saya karena memiliki firmware yang lebih lama dan melaporkan kesalahan "firmware tidak didukung". Saya harus menginstal Firmware yang lebih baru (berfungsi dengan versi 1.54 dalam kasus saya). Siapa pun yang memiliki masalah dengan mem-flash firmware dapat menemukan bantuan untuk merujuk topik ini: Tidak dapat mem-flash firmware ESP8266 terbaru, mengatakan "Kesalahan Fast Flashing" dan "Head of packet (')) yang tidak valid"

Juga, saya telah menyimpan salinan semua alat unduhan dan halaman tutorial itu sendiri, jadi jika di masa depan, pos dihapus atau jika ada yang tidak menemukan alat untuk flash. Dapatkan saya di komentar atau sesuatu (tidak memposting di sini karena saya tidak tahu apakah boleh memposting konten orang lain)

Salim Shamim
sumber