Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Jika Anda menjalankan Raspberry Pi Pico W untuk waktu yang sangat lama, kemungkinan besar Anda pada akhirnya akan menyadari bahwa program Anda tidak berjalan lagi.

Salah satu alasan mengapa program gagal dalam jangka waktu yang lama melibatkan keandalan Wi-Fi. Jika Wi-Fi Anda menjadi tidak dapat diandalkan, insting pertama Pico W adalah crash.

Mari kita lihat bagaimana kita bisa membuat Pico W lebih tangguh di MicroPython.

Apa Penyebab Keandalan Wi-Fi di Pico W?

Wi-Fi Anda terputus berkali-kali dalam sehari. Sulit untuk melihat ini di ponsel atau PC Anda karena sistem operasi dan perangkat lunak telah memperhitungkan kekurangan jaringan Wi-Fi yang dijamin ini.

Dengan Pico W, skrip sederhana yang menghubungkan dan mengambil data akan macet jika Pico W Anda kehilangan koneksi. Satu-satunya solusi adalah hard reset dengan menarik daya.

instagram viewer

Jika proyek Anda membutuhkan data logging selama berjam-jam, Anda tidak ingin terus-menerus memantau pemadaman.

Penanganan kesalahan adalah kunci untuk memastikan bahwa program Anda dapat bertahan melalui koneksi yang buruk.

Akankah Meningkatkan Kekuatan Sinyal Wi-Fi Membantu?

Anda mungkin sedang mempertimbangkan apakah Anda harus menggunakan jaringan mesh untuk meningkatkan kekuatan sinyal. Ya, itu akan membantu, tetapi tidak pada tingkat di mana Anda dapat menghindari skenario di mana ada penurunan koneksi.

Dalam satu percobaan, kami menempatkan Pico W di lokasi di lantai dua sebuah rumah, dan Pico W lainnya di sebelah router Wi-Fi. Perbedaan hasilnya adalah perangkat di lantai dua terputus lebih awal dari Pico W yang terletak lebih dekat ke router. Yang terakhir akhirnya memiliki koneksi yang terputus juga, sebagaimana tercermin dari kesenjangan dalam pengumpulan data.

Sayangnya, meskipun meningkatkan kekuatan sinyal mengurangi masalah, hal itu tidak menyelesaikannya. Jadi mari kita lihat beberapa metode untuk menulis kode yang lebih tangguh.

Hubungkan dan Putuskan Metode Perangkat Lunak

Jika proyek Anda hanya membutuhkan komunikasi satu arah, metode ini akan cocok untuk itu. Beberapa contohnya adalah pencatat suhu yang perlu dijalankan dalam jangka waktu yang lama tetapi hanya mencatat data sesekali.

Ini menyelesaikan masalah crash yang terjadi ketika Pico W Anda mengira itu terhubung, tetapi ketika mencoba mengirim data ke titik akhir, ia menyadari itu offline, lalu mulai macet.

Kunci metode ini melibatkan prosedur di mana program Anda berjalan dalam loop tak terbatas. Di dalam loop ini adalah fungsi yang akan berjalan setelah waktu tertentu berlalu. Fungsi ini akan menyambungkan Pico W ke Wi-Fi, melakukan tugasnya (misalnya mengirim data ke server), lalu memutuskan sambungan.

Perangkat Lunak Hard Reset

Menggunakan kode reset keras MicroPython dapat membantu Anda memastikan bahwa Pico W Anda akan berjalan meskipun Anda tidak melakukan intervensi. Lihat kami pengantar MicroPython jika Anda butuh bantuan, jalankan perintah ini:

impor mesin
mesin.mengatur ulang()

Katakanlah Anda kehilangan koneksi pada tengah malam saat Anda sedang tidur. Jika Anda tidak memiliki hard reset perangkat lunak, Anda harus mengatur ulang program secara manual di pagi hari. Hal ini dapat menyebabkan delapan jam kehilangan pencatatan data.

Jika Anda memiliki hard reset perangkat lunak, yang telah Anda masukkan ke dalam blok kode penanganan kesalahan, Pico W akan mengatur ulang sendiri.

Kelemahan dari ini adalah setelah hard reset, status program Anda akan hilang dan jika program Anda macet, hard reset perangkat lunak tidak akan terpicu.

Gunakan Watchdog Timer Built-In Pico W

Timer pengawas perangkat keras pada dasarnya adalah perangkat yang akan mengatur ulang Pico W Anda jika tidak berfungsi. Penghitung waktu pengawas adalah penghitung waktu mundur. Jika mereka mendapat sinyal sebelum hitungan mundur mencapai nol, hitungan mundur akan diatur ulang. Namun, jika hitungan mundur mencapai nol, Pico W akan diatur ulang.

Di MicroPython, kode dasarnya adalah sebagai berikut:

dari mesin impor WDT
wdt = WDT(batas waktu=1000) #timeout dalam ms
wdt.memberi makan() #resethitungan mundur

Anda dapat mengunjungi Dokumentasi WDT MicroPython untuk belajar lebih banyak dan juga Dokumen SDK resmi Pico untuk panduan C++.

Jadikan Koneksi Pico W Anda Tahan Bom

Untuk memberi Pico W Anda kesempatan terbaik untuk berjalan tanpa batas pada koneksi Wi-Fi, Anda perlu melakukan banyak hal.

Pertama, pastikan koneksi Wi-Fi cukup kuat. Meskipun kode dapat mengurangi beberapa tantangan dengan Wi-Fi, bergantung pada metode yang digunakan, terkadang dapat mengakibatkan status program hilang atau titik data hilang.

Kedua, program perlu memiliki beberapa metode untuk memulihkan koneksi Wi-Fi yang terputus agar Anda dapat melanjutkan layanan.

Dengan langkah-langkah ini, Anda dapat yakin akan konektivitas yang lebih andal dari Pico W.