Dengan perkembangan teknologi, Internet of Things (IoT) di rumah telah menjadi pilihan lebih ramai keluarga. Walau bagaimanapun, membenarkan semua peranti berinteraksi dalam masa nyata memerlukan perisian tengah yang boleh dipercayai. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan IoT rumah masa nyata menggunakan PHP dan Redis.
Mula-mula, kita perlu memasang dan mengkonfigurasi Redis pada pelayan. Redis ialah sistem penyimpanan struktur data dalam memori sumber terbuka yang digunakan sebagai pangkalan data, cache dan baris gilir mesej.
Untuk memasang Redis pada pelayan Linux, anda boleh menggunakan arahan berikut:
sudo apt-get update sudo apt-get install redis-server
Selepas pemasangan selesai, kita boleh menyemak sama ada Redis sedang berjalan dengan menjalankan arahan berikut:
redis-cli ping
Jika hasil yang dijalankan ialah "PONG" , ini bermakna Redis sedang berjalan dan kami boleh terus menggunakannya.
Dalam PHP, anda boleh menggunakan perpustakaan sambungan PHP Redis untuk berinteraksi dengan Redis. Kami boleh memasangnya dengan menjalankan arahan berikut:
sudo apt-get install php-redis
Untuk menyambung ke contoh Redis, kita boleh menggunakan kod berikut:
$redis = new Redis(); $redis->connect('127.0.0.1');
Dalam kaedah Sambung, kami lulus alamat IP contoh Redis. Jika Redis anda tiada pada mesin tempatan anda, tukar alamat IP kepada alamat IP yang sah untuk contoh anda.
Seterusnya, kita perlu membuat beberapa tetapan untuk Redis, termasuk:
Kami akan membincangkan tetapan berikut dengan lebih terperinci.
Corak Terbit/Langgan ialah corak pemesejan biasa yang boleh digunakan untuk mencapai komunikasi masa nyata. Antaranya, penerbit menerbitkan mesej ke saluran, dan pelanggan boleh melanggan saluran ini untuk menerima mesej berkaitan.
Dalam PHP, corak publish/subscribe dilaksanakan dengan menggunakan kaedah publish. Berikut ialah contoh:
$redis->publish('channel', 'message');
Dalam kod ini, kami menerbitkan "mesej" ke saluran bernama "saluran". Untuk melanggan saluran, kami boleh menggunakan kaedah langgan, contohnya:
$redis->subscribe(array('channel'), function ($redis, $channel, $message) { echo "Received message on channel $channel: $message"; });
Dalam kod ini, kami melanggan saluran bernama "saluran" dan mengembalikan mesej yang diterima semasa log masuk ke pengguna.
Persistence ialah kaedah menulis data Redis ke cakera untuk mengelakkan kehilangan data. Apabila pelayan Redis ranap, ia boleh memulihkan data dan menjamin integriti data. Terdapat dua jenis kegigihan yang tersedia:
Kami boleh mengkonfigurasi mod kegigihan menggunakan arahan berikut:
$redis->config('SET', 'save', '900 1 300 10 60 10000');
Dalam contoh ini, kami menetapkan konfigurasi Redis untuk menyimpan set data pada cakera keras untuk sekurang-kurangnya:
Secara lalai, Redis tidak mempunyai kata laluan. Oleh itu, atas sebab keselamatan, kami perlu menetapkan kata laluan dalam Redis.
Kita boleh menggunakan kod berikut untuk menetapkan kata laluan untuk Redis:
$redis->config('SET', 'requirepass', 'myPassword');
Tukar 'myPassword' kepada kata laluan pilihan anda.
Dalam artikel ini, kami memperkenalkan cara melaksanakan IoT rumah masa nyata menggunakan PHP dan Redis. Kami melihat cara menyambung ke Redis, cara menetapkan masa tamat tempoh kunci Redis, cara mendayakan kegigihan, cara mengkonfigurasi kata laluan Redis dan cara melaksanakan corak penerbitan/langganan dalam PHP.
Melalui teknologi ini, anda boleh mencapai komunikasi masa nyata dengan lebih mudah antara peranti dan mengekalkan keselamatan dan integriti data.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan IoT rumah masa nyata menggunakan PHP dan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!