Чи можу я перепрограмувати Arduino за допомогою wifi-екрана?


9

Мій Arduino підключений до деяких світильників над моїм акваріумом, і я можу керувати ними через веб-браузер у своїй локальній мережі. Цікаво, чи можу я змінити програму на Arduino, не підключаючи її до машини через USB, що було б трохи незручно. Має бути, я можу скористатися Wi-Fi-з'єднанням.

Я використовував віксельний щит Pololu для надсилання програм бездротовим способом (він просто виступає як радіо з послідовним портом), але це інша технологія, ніж мій захист WiFi.

Хтось знає, як я можу це зробити через WiFi? Можливо, якщо я завантажую новий код у флеш-пам’ять у екрані WiFi, він може завантажитися із флеш-пам’яті? Я не впевнений, як це зробити чи якщо це навіть можливо.

Можливо, зовсім інший підхід був би простішим?

Відповіді:


8

Теоретично це можливо, але на практиці не банально. Елемент коду, який відповідає за завантаження вашого нового ескізу до Arduino, називається завантажувачем . Усі популярні версії завантажувачів, про які я знаю, мають серійну / USB-основу. Для того, щоб завантажити ескіз через щит WiFi, завантажувач повинен був би бути переписаний, щоб спілкуватися із екраном WiFi замість серійного. Це займе певну роботу, але це неможливо на практиці.

Зауважте, що вам доведеться це робити незалежно від того, зберігаєте ви ескіз на екрані WiFi (що, на мою думку, було б складно: я не впевнений, чи це взагалі можливо) або завантажуєте ескіз безпосередньо на ваш Arduino: завантажувачеві потрібно буде зв’язатися із екраном, щоб прочитати дані ескізу.


Існує спосіб легко перепрограмувати Arduino бездротово, і це Bluetooth. Вам потрібно буде придбати модуль Bluetooth (я не знаю, чи буде працювати щит Bluetooth) і підключити його до апаратних послідовних портів. Завантажувач, який знаходиться на вашому Arduino, вже може говорити серійно, тому ця проблема вирішена. Вам доведеться (можливо) вирішити ще дві проблеми:

  • Bluetooth-модулі з найнижчою вартістю на Ebay - це 3,3 В. Це означає, що вам доведеться живити їх напругою 3,3 В, а лінію відправки від вашого Arduino потрібно буде змістити з напруги з 5 В на 3,3 В. Ви можете вирішити першу підсистему живлення, придбавши модуль Bluetooth, який використовується для зв'язку 5В, або якщо ваш Arduino має потужність 3V3, використовуючи його для живлення модуля Bluetooth. Модуль, готовий до 5В, також вирішує другу проблему; Крім того, ви можете змістити напругу на 5 В вихід з Arduino, використовуючи будь-яку з методик, описаних у цьому питанні .
  • Щоб автоматично програмувати ваш Arduino, Arduino потрібно скинути прямо перед завантаженням ескізу: коли Arduino працює нормально, завантажувач не активний. Скидання Arduino активує завантажувач, що дозволяє завантажувати нові ескізи. на Arduino USB спритно використовує лінію DTR для скидання пристрою. Однак більшість послідовних модулів Bluetooth забезпечують вихід TS / RX, тому, ймовірно, доведеться скинути Arduino вручну, щоб завантажити ескіз, якщо тільки ви не зможете знайти якийсь вихідний сигнал на модулі Bluetooth, який ви можете змінити для підключення до схеми скидання. .

2

Сьогодні мені стало відомо про продукт, який може досягти цього: ESP8266. Це дозволить запрограмувати / перепрограмувати ардуїно через з'єднання Wi-Fi. Різні компанії випускають версії мікросхеми на різних схемах розподільних плат. Зокрема, він може стати WiFi AVRISP для Arduino.

Ви також можете запрограмувати сам ESP8266 за допомогою Arduino SDK, і він має велику потужність.

Дивіться тут на whatimadetoday (не моя посада), щоб добре ознайомитись із тим, як пройти з ESP8266 та Arduino SDK. Після налаштування SDK для програмування ESP8266 ви можете переглянути приклади IDE та знайти "Arduino_Wifi_AVRISP".

Ви можете знайти на дошці ціни, що коливаються приблизно від $ 5 до $ 15.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.