Skip to content
Tutorial emka
Menu
  • Home
  • Debian Linux
  • Ubuntu Linux
  • Red Hat Linux
Menu

Cara Membuat OTA Update (Over The Air Update) di Raspberry Pi W

Posted on March 13, 2024

Pada tutorial kali ini kita akan mengimplementasikan bootloader untuk Raspberry Pi Pico W yang memungkinkan pengunggahan kode program melalui WiFi (“Over The Air”). Cara paling mudah untuk menggunakannya adalah dengan menyertakan repositori ini sebagai submodule dalam aplikasi yang ingin kita dapatkan pembaruan melalui WiFi.

Contoh proyek menggunakan picowota dapat ditemukan di https://github.com/usedbytes/picowota_blink

Cara termudah untuk membangun picowota itu sendiri adalah:

mkdir build

cd build

export PICOWOTA_WIFI_SSID=picowota

export PICOWOTA_WIFI_PASS=password

export PICOWOTA_WIFI_AP=1

cmake -DPICO_BOARD=pico_w -DPICO_SDK_PATH=/path/ke/pico-sdk ../

make

Uji coba library PicoWOTA

Pertama, tambahkan picowota sebagai submodule ke proyek kita:

git submodule add https://github.com/usedbytes/picowota

git submodule update –init picowota

git commit -m “Tambahkan submodule picowota”

Kemudian, modifikasi CMakeLists.txt proyek kita untuk menyertakan direktori picowota:

add_subdirectory(picowota)

picowota dapat terhubung ke jaringan WiFi yang ada (secara default) atau membuat satu, dalam kedua kasus dengan SSID dan kata sandi yang diberikan.

kita dapat menyediakan informasi berikut sebagai variabel lingkungan atau mengaturnya sebagai variabel CMake:

PICOWOTA_WIFI_SSID # SSID jaringan WiFi

PICOWOTA_WIFI_PASS # Kata sandi jaringan WiFi

PICOWOTA_WIFI_AP # Opsional; 0 = terhubung ke jaringan, 1 = membuatnya sendiri

Selanjutnya, kita dapat membangun binary aplikasi mandiri (cocok untuk pembaruan melalui picowota ketika sudah ada di Pico) atau binary gabungan yang berisi bootloader dan aplikasi (cocok untuk flashing pertama kali):

picowota_build_stkitalone(nama_executable_kita)

picowota_build_combined(nama_executable_kita)

Mengunggah Kode Melalui picowota

Setelah picowota bootloader terinstal di Pico kita, kita dapat menggunakan alat https://github.com/usedbytes/serial-flash untuk mengunggah kode ke dalamnya.

Selama Pico berada dalam bootloader picowota (yaitu karena tidak ada kode aplikasi yang valid terunggah, atau aplikasi kita memanggil picowota_reboot(true);), kita dapat mengunggah file .elf aplikasi yang dibangun oleh picowota_build_stkitalone():

serial-flash tcp:192.168.1.123:4242 nama_executable_kita.elf

Setelah mengunggah kode, jika berhasil, Pico akan melompat ke aplikasi yang baru diunggah.

Cara Kerjanya

Ini berasal dari bootloader Pico non-W saya, https://github.com/usedbytes/rp2040-serial-bootloader, yang saya tulis dalam sebuah blog post: https://blog.usedbytes.com/2021/12/pico-serial-bootloader/

Kode bootloader berusaha menghindari “brick” dengan menyimpan CRC dari kode aplikasi yang diunggah. Jika CRC tidak cocok, maka aplikasi tidak akan dijalankan dan Pico akan tetap berada dalam mode bootloader picowota. Ini seharusnya membuatnya cukup kuat terhadap kesalahan dalam transfer, dll.

Recent Posts

  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • How to Hardening Journald on Linux Server (Fedora/AlmaLinux)
  • Block Bad USB on Linux Server with USBGuard
  • How to Secure NetworkManager on Fedora/AlmaLinux
  • How to Secure DNS and NTP in Fedora Linux
  • How to Hardening DNF on Fedora/Almalinux
  • How to Masking & Secure Daemon in Linux Server
  • How to Hardening Mount Option in Linux Server
  • How to Secure Linux Server with AIDE
  • Auditd Custom Rules & Tips
  • Securing SSH Server with fail2ban
  • Fedora Linux Firewalld Drop Zone and Rich Rules
  • How to SSH Hardening 2026
  • How to Add Password Protection to GRUB
  • Linux Kernel Hardening: Command-line Lockdown
  • Make Linux Kernel More Safe and Hardening with Sysctl Easy Way
  • How to Lockdown Root & Wheel Group in Linux
  • How to Secure Sudo in Linux (Secure Sudo Logging & Timeout)
  • Make Fedora Login Safe with Authselect and Faillock
  • How Measure Linux Security Use OpenSCAP Lynis and Systemd
  • SELinux Make Nginx Break and How to Fix It Easy
  • How See Hidden SELinux Errors When Your Server Is Broken
  • How Fix SELinux Port Denied Error With Sealert Easy Guide
  • Read SELinux AVC Denial Log Simple Guide for Noob
  • Inilah 7 Rekomendasi HP Murah Rp1 Jutaan Spesifikasi Dewa dengan Baterai Badak dan Layar 120Hz!
  • Inilah Cara Mengatasi OneDrive yang Suka Mengubah atau Menghapus Metadata File Kalian
  • Inilah Cara Menonaktifkan Antivirus Pihak Ketiga di Windows 11 dengan Aman
  • Inilah Cara Mengatur Raspberry Pi 5 dengan Ubuntu Server untuk Python dan Desktop GUI Tanpa Ribet
  • Inilah Alasan Kenapa Galaxy Z Fold 8 Ultra Bisa Jadi Produk yang Mengecewakan
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
RSS Error: WP HTTP Error: A valid URL was not provided.
©2026 Tutorial emka | Design: Newspaperly WordPress Theme