


Langkah untuk melaksanakan pemantauan dan kawalan suhu jauh menggunakan PHP dan MQTT
Langkah untuk melaksanakan pemantauan dan kawalan suhu jauh menggunakan PHP dan MQTT
Dengan perkembangan pesat teknologi IoT, pemantauan dan kawalan jauh telah menjadi keperluan biasa dalam kehidupan seharian kita. Artikel ini akan memperkenalkan cara menggunakan protokol PHP dan MQTT untuk melaksanakan pemantauan dan kawalan suhu jauh. Kami akan menggunakan penderia suhu berdasarkan ESP8266 sebagai contoh dan menghantar data suhu ke pelayan jauh melalui protokol MQTT Pada masa yang sama, pelayan jauh boleh menghantar arahan kawalan kepada ESP8266 melalui protokol MQTT. Berikut adalah langkah-langkah untuk dilaksanakan.
Langkah 1: Konfigurasikan pelayan MQTT
Pertama, kita perlu memasang dan mengkonfigurasi pelayan MQTT untuk memudahkan komunikasi antara peranti dan pelayan. Di sini kami menggunakan pelayan Mosquitto MQTT sumber terbuka sebagai contoh Anda boleh memilih pelayan MQTT lain mengikut keperluan anda. Selepas pemasangan selesai, anda perlu mengkonfigurasi alamat IP, nombor port, nama pengguna, kata laluan dan maklumat lain berkaitan pelayan MQTT, dan mencipta Topik untuk komunikasi antara peranti dan pelayan.
Langkah 2: Konfigurasikan ESP8266
Pasang perpustakaan MQTT pada ESP8266 Di sini kami menggunakan perpustakaan phpMQTT sebagai contoh. Anda boleh memasang perpustakaan ini melalui antara muka pengurusan perpustakaan Arduino IDE. Selepas itu, anda perlu mengkonfigurasi sambungan WiFi dan maklumat berkaitan pelayan MQTT dalam kod, termasuk nama dan kata laluan WiFi, serta alamat IP, nombor port, nama pengguna, kata laluan dan maklumat lain pelayan MQTT. Pada masa yang sama, anda perlu mengkonfigurasi topik peranti Di sini kita boleh menamakannya "suhu" untuk memindahkan data suhu.
Berikut ialah contoh kod ESP8266 yang mudah:
#include <ESP8266WiFi.h> #include <phpMQTT.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; const char* mqtt_server = "MQTT_SERVER_IP"; const char* topic = "temperature"; WiFiClient espClient; phpMQTT mqtt; float temperature = 0; void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void callback(char* topic, byte* payload, unsigned int length) { // handle incoming MQTT messages here } void reconnect() { // Loop until we're reconnected while (!mqtt.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (mqtt.connect("ESP8266Client")) { Serial.println("connected"); mqtt.subscribe(topic); } else { Serial.print("failed, rc="); Serial.print(mqtt.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void setup() { Serial.begin(115200); setup_wifi(); mqtt.begin(mqtt_server, 1883, espClient); mqtt.onMessage(callback); } void loop() { if (!mqtt.connected()) { reconnect(); } mqtt.loop(); // simulate reading temperature from sensor temperature = random(20, 40); // convert temperature to string for MQTT publishing char tmp[10]; sprintf(tmp, "%.2f", temperature); // publish temperature to MQTT topic mqtt.publish(topic, tmp); delay(2000); }
Langkah Tiga: Konfigurasi Pelayan PHP
Pada pelayan jauh, kita perlu memasang dan mengkonfigurasi perpustakaan klien MQTT, di sini kita menggunakan perpustakaan phpMQTT. Anda boleh memasang perpustakaan ini melalui Komposer. Selepas itu, konfigurasikan maklumat berkaitan pelayan MQTT dalam kod PHP, termasuk alamat IP, nombor port, nama pengguna, kata laluan, dll. Pada masa yang sama, anda perlu melanggan data suhu yang dihantar oleh peranti supaya anda boleh memantau perubahan suhu dalam masa nyata. Berikut ialah contoh kod PHP mudah:
<?php require("phpMQTT.php"); $mqtt_server = "MQTT_SERVER_IP"; $mqtt_port = 1883; $mqtt_user = "your_MQTT_username"; $mqtt_password = "your_MQTT_password"; $mqtt_topic = "temperature"; $client_id = "PHPServer"; $mqtt = new phpMQTT($mqtt_server, $mqtt_port, $client_id); if(!$mqtt->connect(true, NULL, $mqtt_user, $mqtt_password)){ exit(1); } $topics[$mqtt_topic] = array("qos"=>0, "function"=>"receiveTemperature"); $mqtt->subscribe($topics, 0); while($mqtt->proc()){ } $mqtt->close(); function receiveTemperature($topic, $payload){ // handle incoming temperature data here $temperature = floatval($payload); // do something with the temperature data, such as storing it in a database or triggering a notification } ?>
Langkah Empat: Pemantauan dan Kawalan Suhu
Kini anda boleh menyambungkan ESP8266 kepada sumber kuasa dan melihat pengendalian peranti dalam monitor bersiri. ESP8266 akan sentiasa membaca nilai penderia suhu dan menerbitkannya ke topik yang ditentukan melalui protokol MQTT. Pada masa yang sama, pelayan PHP akan melanggan topik ini dan melakukan pemprosesan yang sepadan berdasarkan data suhu yang diterima, seperti menyimpannya dalam pangkalan data atau mencetuskan penggera.
Berdasarkan pemantauan suhu, anda juga boleh melaksanakan fungsi kawalan suhu. Anda boleh menambah fungsi penerbitan MQTT pada kod PHP anda untuk menghantar arahan kawalan kepada ESP8266. Anda boleh mencetuskan arahan kawalan melalui antara muka web, Aplikasi atau kaedah lain mengikut keperluan anda dan menghantar arahan kepada ESP8266 melalui protokol MQTT. ESP8266 boleh melakukan operasi kawalan yang sepadan mengikut arahan yang diterima.
Ringkasnya, dengan menggunakan protokol PHP dan MQTT, kami boleh melaksanakan fungsi pemantauan dan kawalan suhu jauh dengan mudah. Kaedah ini boleh digunakan untuk pelbagai senario, seperti pemantauan suhu dalaman, kawalan suhu rumah hijau, dsb. Semoga artikel ini dapat membantu anda.
Atas ialah kandungan terperinci Langkah untuk melaksanakan pemantauan dan kawalan suhu jauh menggunakan PHP dan MQTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
