Arduino'umu bir wifi kalkanı ile yeniden programlayabilir miyim?


9

Arduino'm akvaryumum üzerinde bazı ışıklara bağlı ve onları LAN'ımdaki bir web tarayıcısından kontrol edebiliyorum. Arduino'daki programı USB ile bir makineye takmak zorunda kalmadan değiştirebilir miyim, bu biraz rahatsız edici olabilir. Wifi bağlantısından yararlanabilmem için bir yol olmalı.

Programları kablosuz olarak göndermek için Pololu'nun wixel kalkanını kullandım (sadece seri port radyosu gibi davranıyor), ancak bu WiFi kalkanımdan farklı bir teknoloji.

Herkes bunu WiFi üzerinden yapmanın bir yolunu biliyor mu? Belki WiFi kalkanındaki flash belleğe yeni kod yüklersem, flash bellekten önyükleme yapabilir? Bunu nasıl yapacağımdan ya da mümkün olup olmadığından emin değilim.

Belki de tamamen farklı bir yaklaşım daha basit olurdu?

Yanıtlar:


8

Teoride mümkündür, ancak pratikte önemsiz değildir. Yeni çiziminizi Arduino'ya yüklemekten sorumlu olan kod parçasına bootloader denir . Tanıdığım önyükleyicilerin tüm popüler sürümleri seri / USB tabanlıdır. WiFi kalkanı üzerine bir çizim yüklemek için, bootloader'ın seri yerine WiFi kalkanı ile iletişim kuracak şekilde yeniden yazılması gerekir. Bu biraz iş gerektirecek, ancak pratikte imkansız değil.

Krokiyi WiFi kalkanında (ister zor olacağını düşünüyorum: Bunun mümkün olup olmadığından emin değilim) veya çizimi doğrudan Arduino'nuza yükleyip yüklemediğinize bakılmaksızın bunu yapmanız gerekeceğini unutmayın. çizme verilerini okumak için bootloader'ın kalkanla iletişim kurması gerekecektir.


Arduino'nuzu kablosuz olarak kolayca yeniden programlamanın bir yolu var ve bu Bluetooth. Bir Bluetooth modülü almanız (bir Bluetooth kalkanının çalışıp çalışmayacağını bilmiyorum) ve donanım seri bağlantı noktalarına bağlamanız gerekir . Arduino'nuzdaki önyükleyici zaten seri konuşabilir, böylece bu sorun çözülür. Yine de (potansiyel olarak) diğer iki sorunu çözmeniz gerekecek:

  • Ebay'de bulduğunuz en düşük maliyetli bluetooth modülleri 3.3V'dur. Bu, onlara 3.3V güç sağlamanız gerekeceği ve Arduino'nuzdan gelen gönderme hattının 5V'dan 3.3V'a voltaj kaydırılması gerekeceği anlamına gelir. İlk (güç) alt problemini 5V iletişim için yapılmış bir Bluetooth modülü satın alarak veya Arduino'nuzun Bluetooth modülüne güç vermek için bunu kullanan 3V3 gücüne sahipseniz çözebilirsiniz. 5V'ye hazır bir modül de ikinci sorunu çözer; alternatif olarak, bu soruda açıklanan tekniklerden herhangi birini kullanarak 5V çıkışını Arduino'nuzdan voltajla değiştirebilirsiniz .
  • Arduino'nuzu otomatik olarak programlamak için çizim yüklenmeden hemen önce Arduino'nun sıfırlanması gerekir: Arduino normal çalıştığında bootloader aktif değildir. Arduino'nun sıfırlanması, önyükleyiciyi etkinleştirerek yeni eskizlerin yüklenmesini sağlar. Arduino USB'de cihazı sıfırlamak için akıllıca DTR hattını kullanır. Bununla birlikte, çoğu Bluetooth seri modülü sadece TS / RX çıkışı sağlar, bu nedenle Bluetooth modülünde bir sıfırlama devresine bağlanmak için sıralayabileceğiniz bazı sinyal çıkışları bulamadığınız sürece Arduino'yu manuel olarak sıfırlamanız gerekir. .

2

Bugün, bunu başarabilecek bir ürünün farkına vardım: ESP8266. Bir wifi bağlantısı aracılığıyla arduino'nuzu programlamanıza / yeniden programlamanıza izin verecektir. Çeşitli şirketler çipin çeşitli koparma levhası düzenlemeleri üzerine versiyonlarını üretmektedir. Özellikle, bir Arduino için bir WiFi AVRISP olabilir.

ESP8266'yı Arduino SDK ile de programlayabilirsiniz ve kendine özgü bir gücü vardır.

Bkz whatimadetoday burada ESP8266 ve Arduino SDK ile yola çıkmaya nasıl iyi bir giriş için (değil benim sonrası). SDK, ESP8266'yı programlamak için ayarlandıktan sonra IDE Örneklerine göz atabilir ve "Arduino_Wifi_AVRISP" bulabilirsiniz.

Tahtayı 5-5 $ arasında değişen fiyatlarla bulabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.