Bisakah saya memprogram ulang Arduino saya melalui perisai wifi?

9

Arduino saya terhubung ke beberapa lampu di akuarium saya dan saya dapat mengontrolnya dari browser web di LAN saya. Saya ingin tahu apakah saya dapat memodifikasi program pada Arduino tanpa harus menghubungkannya ke mesin melalui USB yang akan sedikit merepotkan. Pasti ada cara agar saya bisa memanfaatkan koneksi wifi.

Saya telah menggunakan perisai wixel Pololu untuk mengirim program secara nirkabel (ini hanya bertindak sebagai radio port serial) tapi itu teknologi yang berbeda dari perisai WiFi saya.

Adakah yang tahu cara saya bisa melakukan ini melalui WiFi? Mungkin jika saya mengunggah kode baru ke memori flash di perisai WiFi, maka itu bisa bootload dari memori flash? Saya tidak yakin bagaimana melakukan itu atau apakah itu mungkin.

Mungkin pendekatan yang sama sekali berbeda akan lebih sederhana?

Gurita
sumber

Jawaban:

8

Itu mungkin, secara teori, tetapi tidak sepele dalam praktiknya. Sepotong kode yang bertanggung jawab untuk memuat sketsa baru Anda ke Arduino disebut bootloader . Semua versi populer dari bootloader yang saya tahu berbasis serial / USB. Untuk memuat sketsa di atas perisai WiFi, bootloader harus ditulis ulang untuk berkomunikasi dengan perisai WiFi alih-alih serial. Ini akan membutuhkan beberapa pekerjaan, tetapi bukan tidak mungkin dalam praktiknya.

Perhatikan bahwa Anda harus melakukan ini terlepas dari apakah Anda menyimpan sketsa pada perisai WiFi (yang saya pikir akan sulit: Saya tidak yakin apakah ini mungkin sama sekali) atau mengunggah sketsa langsung ke Arduino Anda: the bootloader perlu berkomunikasi dengan perisai untuk membaca data sketsa.


Ada cara untuk memprogram ulang Arduino Anda secara nirkabel dengan mudah, dan itu adalah Bluetooth. Anda perlu mendapatkan modul Bluetooth (saya tidak tahu apakah perisai Bluetooth akan berfungsi) dan menghubungkannya ke port serial perangkat keras . Bootloader yang ada di Arduino Anda sudah dapat berbicara serial, sehingga masalah terpecahkan. Anda harus (berpotensi) menyelesaikan dua masalah lain:

  • Modul bluetooth termurah yang Anda temukan di Ebay adalah 3.3V. Ini berarti Anda harus memasok mereka dengan daya 3.3V, dan jalur kirim dari Arduino Anda harus diubah tegangan dari 5V ke 3.3V. Anda dapat menyelesaikan sub-masalah (daya) pertama dengan membeli modul Bluetooth yang dibuat untuk komunikasi 5V, atau jika Arduino Anda memiliki daya 3V3 dengan menggunakannya untuk memberi daya pada modul Bluetooth. Modul siap 5V juga memecahkan masalah kedua; sebagai alternatif, Anda dapat mengubah tegangan output 5V dari Arduino Anda menggunakan salah satu teknik yang dijelaskan dalam pertanyaan ini .
  • Untuk memprogram Arduino Anda secara otomatis, Arduino perlu diatur ulang tepat sebelum sketsa diunggah: ketika Arduino berjalan secara normal, bootloader tidak aktif. Mengatur ulang Arduino mengaktifkan bootloader, memungkinkan unggahan sketsa baru. pada USB Arduino secara cerdik menggunakan jalur DTR untuk mengatur ulang perangkat. Namun, sebagian besar modul serial Bluetooth hanya menyediakan TS / RX, jadi Anda mungkin harus mengatur ulang Arduino secara manual untuk mengunggah sketsa, kecuali Anda dapat menemukan beberapa output sinyal pada modul Bluetooth yang dapat Anda marshall untuk terhubung ke rangkaian reset. .
angelatlarge
sumber
2

Hari ini, saya menjadi sadar akan suatu produk yang dapat mencapai ini: ESP8266. Ini akan memungkinkan Anda untuk memprogram / memprogram ulang Arduino Anda melalui koneksi wifi. Berbagai perusahaan memproduksi versi chip pada berbagai pengaturan papan breakout. Secara khusus, ini bisa menjadi AVRISP WiFi untuk Arduino.

Anda juga dapat memprogram ESP8266 itu sendiri dengan Arduino SDK dan memiliki banyak kekuatan sendiri.

Lihat di sini di whatimadetoday (bukan posting saya) untuk pengenalan yang baik tentang bagaimana untuk pergi dengan ESP8266 dan SDK Arduino. Setelah SDK diatur untuk memprogram ESP8266 Anda dapat menjelajah ke Contoh IDE dan menemukan "Arduino_Wifi_AVRISP".

Anda dapat menemukan papan untuk harga yang berkisar antara $ 5- $ 15.

Gurita
sumber