Saya sedang mengerjakan Arduino Nano (memori flash 32Kb yang 2Kb digunakan oleh boot loader, 2Kb SRAM, 1Kb EEPROM) .
Micro-controller mengambil input dari perangkat listrik melalui modul RS485 dan memposting data yang dibaca ke server jauh menggunakan modul GPRS A6 . Produk seharusnya berinteraksi dengan server jarak jauh, memposting data pada interval waktu tertentu.
Saya telah menyelesaikan bagian integrasi dan perangkat berfungsi dengan baik, mengumpulkan data dan memposting di server (appx 10-15 Km jauhnya). Satu-satunya tantangan yang saya hadapi adalah jika ada 100 perangkat semacam itu dan saya perlu memperbarui firmware, menggunakan server jauh (atau mekanisme lain yang sesuai), bagaimana saya harus melanjutkannya.
Saya telah melalui banyak posting yang menyarankan menggunakan Arduino lain sebagai ISP, ini bisa menjadi pendekatan terakhir saya (karena akan meningkatkan biaya akhir produk).
Pembaruan firmware melalui udara masih belum jelas seperti pada komunitas Stack Exchange untuk pengendali mikro kelas bawah. Diskusi apa pun bisa sangat membantu bagi banyak orang.
sumber
Jawaban:
Jawaban singkat: Itu mungkin.
Jawaban panjang: Ini rumit. Itu sebabnya banyak sekali implementasi yang sangat buruk di luar sana.
Paling tidak Anda memiliki dua langkah dalam setiap proses pembaruan jarak jauh / over-the-air.
Tentu saja, ini adalah batas minimum absolut. Jika Anda bekerja di iterasi, itu juga langkah pertama yang sangat valid. Jika Anda memiliki lebih dari satu perangkat, Anda harus dapat mengaitkan firmware yang benar ke perangkat yang benar . Jika Anda ingin mengurangi kemungkinan bricking perangkat Anda, Anda akan ingin cara untuk memverifikasi keadaan perangkat Anda sebelum dan setelah pembaruan , Anda juga ingin mengamankan transportasi dan membuat transportasi seandal mungkin dan — tentu saja— memiliki strategi mundur jika terjadi kesalahan pembaruan .
Itulah lima langkah lagi yang membawa Anda menuju produk yang andal. Ada praktik terbaik di luar sana untuk hal-hal ini tetapi mereka bergantung pada lingkungan proyek Anda. Mungkin itu sesuatu yang murah dan tingkat kegagalan 5% pada pembaruan tidak apa-apa, mungkin itu alat pacu jantung dan bahkan satu kesalahan total tidak dapat diterima karena itu mengarah ke skenario yang fatal. Anda harus menemukan solusi untuk dasar-dasar yang sesuai dengan produk Anda.
Selain itu, ada lusinan hal yang perlu dipertimbangkan. Apakah Anda memiliki pelanggan? Apakah Anda harus memberi tahu mereka? Apakah mereka memiliki hak dalam memperbarui waktu / instalasi? Apakah perangkat Anda di berbagai negara? Apakah batasan hukum berlaku? Apakah standar normatif berlaku? Berapa banyak perangkat yang Anda perbarui? 1? Satu lusin? Ratusan? Jutaan?
Jika Anda memperbarui lima perangkat prosesnya bisa sangat cerewet. Jika Anda memperbarui jutaan yang bisa menjadi sangat mahal. Dan ya, itu memengaruhi apa yang saya sebutkan di atas sebagai langkah pertama, mentransmisikan firmware. Mungkin Anda memang membuat alat pacu jantung dan biaya proses ratusan pesan per pembaruan oke mempertimbangkan alternatifnya.
Itu hanya pertanyaan yang saya tuliskan dalam dua menit, jadi daftar ini tentu tidak lengkap. Maksud saya adalah tanpa informasi mengenai skenario kami tidak dapat membantu Anda dengan baik.
sumber