Bagaimana untuk Mengawal Pelbagai Injap Bola Pintar WiFi Secara Serentak? (Bahagian2)
Kongsi
Penyelesaian Kawalan Peranti Programatik
Walaupun platform awan menyediakan keupayaan pengurusan peranti asas, pendekatan programatik kami menawarkan kawalan yang lebih fleksibel dan langsung ke atas injap bola pintar anda. Kaedah ini amat berguna untuk senario automasi, integrasi tersuai dan memintas kependaman awan.
Persekitaran Pembangunan
Demonstrasi ini menggunakan Kod Visual Studio untuk sokongan Python dan keupayaan penyahpepijatannya yang cemerlang. Walau bagaimanapun, program ini tidak bergantung pada platform dan boleh digunakan dengan:
PyCharm (disyorkan untuk pembangunan berpusatkan Python)
Nota Jupyter (untuk konfigurasi eksperimen)
Mana-mana IDE yang serasi dengan Python 3.9+
Nota: Sebelum menggunakan program ini, anda perlu memuat turun pangkalan data Tuya terlebih dahulu pada peranti pengendalian.
# Pasang Pustaka TinyTuya
python -m pip install tinytuya
Langkah Pelaksanaan
1. Persediaan Konfigurasi
Cari dan isi parameter berikut dalam bahagian konfigurasi yang ditetapkan (seperti yang ditunjukkan dalam tutorial video):
Wilayah API: Zon geografi perkhidmatan awan anda (cth., "CN", "EU", "US")
Kunci API: Pengecam aplikasi unik (64-bit heksadesimal)
Rahsia API: Token pengesahan (rentetan disulitkan 256-bit)
ID Peranti: Senarai peranti sasaran yang dipisahkan koma (Minimum 1 diperlukan)
Nota: Arahan pemerolehan parameter terperinci tersedia dalam Bahagian 1 siri blog teknikal kami. Sentiasa simpan kelayakan dalam pembolehubah persekitaran untuk kegunaan pengeluaran.
2. Protokol Pelaksanaan
Mulakan urutan kawalan menggunakan sama ada:
Butang ▶️ "Jalankan dan Nyahpepijat" (pintasan F5)
Arahan terminal: "python3 ballvalve_controller.py --auto"
Sistem akan secara automatik:
Mewujudkan sambungan TLS 1.3 yang selamat
Mengesahkan kebenaran kelayakan
Memulakan saluran komunikasi peranti
3. Logik Kawalan Berstatus
Enjin kawalan dinamik kami melaksanakan:
python
Pseudo-kod logik teras
def toggle_device(device):
keadaan_semasa = status_undi(device)
keadaan_baharu = bukan keadaan_semasa
hantar_arahan(device, keadaan_baharu)
verify_state_change(device, keadaan_baharu)
Ciri-ciri utama:
Undian status masa nyata
Pengesahan keadaan dwiarah
Mekanisme percubaan semula automatik
Pengendalian ralat yang anggun
Senario Operasi
Program ini mendayakan:
✅ Sistem pengairan berjadual
✅ Protokol penutupan kecemasan
✅ Penyegerakan berbilang peranti
✅ Integrasi dengan sistem SCADA
Pertimbangan Keselamatan
Sentiasa uji dalam persekitaran pementasan terlebih dahulu
Kekalkan firmware versi v2.3.8+
Laksanakan corak pemutus litar untuk operasi pukal
Pantau kuota panggilan API (maks 60 RPM/akaun lalai)
Untuk contoh kod lengkap here.