Kablosuz bir yayın ile aynı anda birçok Arduino'yu programlama


9

Birbirinden bağımsız olacak birçok mikrodenetleyici tabanlı cihaza sahip olacağım, ancak hepsi aynı programı çalıştıracak.

Kablosuz bir yayınla aynı anda hepsine bir program yüklemek istiyorum. İdeal olarak, kullanıcı bir USB kontrol cihazını bilgisayarına takıp Arduino ortamından tek bir cihazı programlıyormuş gibi bir program yükleyecektir.

Neden bahsettiğim hakkında daha iyi bir fikir edinmek için lütfen bu videoya göz atın . Bu, Atmel mikrodenetleyicileriyle, ancak özel yapılmış, Arduino olmayan bir önyükleyiciyle elde edildi.

Google'ın "Arduino kızılötesi programlama" aramasından bu ilginç proje ortaya çıktı . Ana dezavantaj, sıfırlama düğmesine hala elle basılması gerektiğidir. İdeal olarak, cihazların varsayılan olarak düşük güçte olmasını ve denetleyiciden bir sinyal algıladıklarında bir program almak için uyanmasını istiyorum. Yine de, bu benim için iyi bir başlangıç ​​noktası olabilir.

Sadece Arduinos'a aşina olan insanlardan, içeri girmeden önce bunun mümkün olup olmadığını düşünmeleri için bazı bakış açıları almak istedim.



Eskizlerinizi hangi platformdan yüklemek için kullanıyorsunuz?
Greenonline

Yanıtlar:


2

TL; DR -

Kablosuz yükleme için BlueTooth veya XBee seçenekleriniz vardır (diğerleri arasında: örneğin IR?). Ancak, bir kerede yalnızca bir kartın yüklenebileceğine inanıyorum, bu yüzden kartlar arasında birer birer dolaşmanız gerekecek, aynı anda birden fazla ATMegas / Arduinos programlama .

Bir çizim yüklerken veya bir programlayıcı kullanırken (çizim veya önyükleyici için), yazılım sadece kodu yazmaz, aslında mikrodenetleyici ile iletişim kurar.

Hepsini aynı anda programlayamazsınız. Ancak bunları otomatik olarak birer birer programlayabilirsiniz.


Sorunuz çok ilginç ve hiç düşünmeyeceğimden emin olduğum bir soru soruyor, ancak özellikle benim yaptığım gibi birçok Arduino kontrollü sensör noktası varsa, son derece yararlı ve emek tasarrufu sağlayacak. ev. İşte denemeye değer olabilecek oldukça yetersiz bir çözüm.

Kablosuz yükleme donanımı

Eskizlerinizi kablosuz olarak yüklemek için BlueTooth kullanıyorsanız , bu çözüm, USB kablosu olmadan Arduino'ya Kablosuz yükleme programı olabilir . Bu çözümün D0 ve D1 pimlerini bağladığını unutmayın:

Ancak, D0 ve D1'i donanım UART TX, RX olarak kullanması gereken bazı projelerle uyumlu olmayabilir. Çünkü kablosuz programlayıcının iki pimi kalıcı olarak işgal etmesi gerekir.

Buna baktığınızda, sorunuzda atıfta bulunabileceğiniz özel bir Arduino Kablosuz Programlayıcı kullanır . Ancak, adından aldanmayın, sadece bir Bluetooth kalkanıdır. Temel olarak bir Arduino'ya cıvatalı bir BT HC-05 (veya benzeri) bir cihazdır, ayrıca bkz . Bluetooth Kablosuz Yükleme .

Alternatif olarak, BlueTooth yerine, XBee cihazlarını kullanabilirsiniz , bkz . Arduino'nun Kablosuz Programlaması . XBees kullanmanın avantajı, BT kullanılırken gerekli olacak eşleştirme yeni cihaz döngüsünü (aşağıya bakın) geçmek zorunda kalmamanızdır. Bunun yerine yalnızca XBee ağ kimlikleri arasında geçiş yapmanız gerekir.

Bununla birlikte, skeçler yayınlayamadığınız için BT cihazlarının geçişini otomatikleştirmeniz, uygun bağlantı noktasını seçmeniz ve sırayla her Arduino'ya yüklemeniz gerekir . (Yanılıyorsam, lütfen biri beni düzeltir mi).

Bağlantı noktasını seçme ve çizimi yükleme

Her yüklemeden önce BT cihazının bağlı olduğu bağlantı noktasını seçmek için Arduino IDE'nin komut satırı sürümü ile birlikte bir komut dosyası kullanabilirsiniz. Bunu nasıl yapacağınız, hangi platformda derlediğinize göre değişir, bkz. Arduino komut satırı derleme ve indirme? Bu, ortam değişkeni ARDUINO_COMPORT(muhtemelen eski Windows komut satırı derlemesi--port <portname> bölümüne bakın ) veya arduino cmd satırı seçeneği ( man sayfasına bakın ) kullanılarak yapılabilir. Çizim daha sonra seçenek kullanılarak yüklenir --upload <filename>. Bunu bir düşme ile yapabilirsiniz:

arduino --upload --port <portname> FILE.ino

Windows'da kullanmanız gerektiğini unutmayın arduino_debug.exe.

Yoksa kullanabilirsiniz Ino sen eğer, değil Windows PC kullanıyorsanız ... ama bu olması gerekenden daha fazla karmaşık döngü ile ilgilenen sonraki kısmını, yapabilir.

Arduino'ların her birini seçme (yani BT cihazları)

Daha sonra, komut dosyasını, PC'yi sırayla her BT cihazıyla eşleştiren ve daha sonra bağlantı noktası seçimi ve yükleme için Arduino IDE'yi çağıran bir döngü eklemeniz gerekir. Ne yazık ki, bu platform agnostik olmayacak ve kullandığınız platform için farklı bir çözüm gerektirecektir. Komut Satırından Bluetooth'a bir göz atın , ancak Windows için muhtemelen Mavi Diş Komut Satırı araçları paketine ihtiyacınız olacaktır .

OS X'te Eğer AppleScript kullanarak başvurmadan kapalı iyi olabilir, bkz MacOSX üzerinde komut satırı üzerinden bluetooth cihazı (iPhone) bağlan kontrol etmek için cmd satırı araçları olarak BT biraz yetersiz görünüyor - orada BlueUtil , bkz Bluetooth kablosuz nasıl kontrol komut satırından radyo? ancak bu sadece BT'yi kapatıyor gibi görünüyor. Ancak, AppleScript'i Arduino IDE kontrol komut dosyasının geri kalanına cıvatalamak, işleri daha karmaşık hale getirir, ancak Arduino komutunu AppleScript'in içine koyabilirsiniz, sanırım.


0

Arduino'yu WiFi üzerinden programlamak için ESP-LINK kullanabilirsiniz.

ESP8266, Arduino IDE ile programlanabilen basit, ucuz Wi-Fi MCU'dur.

ESP-LINK, ESP'nin Arduino'ya seri bağlantı (USB) gibi davranmasını sağlayan ESP8266 için bellenimdir.

Ürün yazılımı ESP-LINK ESP8266'da bulunabilir .


0

Bir gibi bir şey kullanabilirsiniz bu . Arduino'nun kodunu NRF24L01 + radyo modülü aracılığıyla güncellemek özel bir önyükleyicidir. *

* Yalnızca Linux makineleri altında çalışır.

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.