Arduino як Інтернет-провайдер без комп’ютера


12

Хтось бачив чи знає метод попередньої завантаження (за допомогою комп’ютера чи будь-якого іншого) мікропрограмного забезпечення як даних на одному ардуїно, створеному для роботи в якості іспиту, а потім за допомогою цього ардуїно підключіть інтерфейс isp в інший та завантажте прошивку.

Щоб було зрозуміло - я шукаю спосіб зробити завантаження ескізів ардуїно без прямого підключення до повноцінного комп'ютера.

В ідеалі кроки, що стосуються цього:

  1. Пишіть новий ескіз / прошивку
  2. Складіть прошивку
  3. Запишіть копію прошивки на Arduino A як дані (Arduino A налаштований на роботу як ISP)
  4. Від'єднайте Ардуїно А від комп'ютера
  5. У окремому місці приєднайте Arduino A до Arduino B, використовуючи заголовки провайдера
  6. Використовуючи якийсь метод (можливо, кнопку), запускайте Arduino A для завантаження попередньо завантаженої прошивки на Arduino B.

Я припускаю, що теоретично це може працювати, тому що завантаження мікропрограмного забезпечення - це лише обмін байтами через інтерфейс SPI, але я не впевнений у реальності.

Я розглядаю сценарій, якщо я мав би встановити ардуїно (назавжди) у віддаленому від мого комп'ютера місці (у мене немає ноутбука і не хочу його отримати), було б клопітно перепрограмувати це.

Інший метод, який я розглядав, - це використання упакованої DIL ATMEGA, яку я потім можу видалити з плати та програми за комп’ютером і повернутися до плати - однак я б вважав за краще не ризикувати згинанням шпильок і клопоту з необхідністю видаляти чіп кожен раз, коли я хочу перепрограмувати.


Результатом було б те, що ви зможете програмувати інші Arduinos тільки з точним ескізом / прошивкою, завантаженою в програміст (Arduino A). Тож було б корисно робити копії, як на виробничій лінії, це так? Якщо вам потрібно щось змінити на ескізі, вам потрібно буде повернутися до комп'ютера, щоб змінити та завантажити його знову. Чи правильно я це зробив?
Рікардо

1
Чи не можна зберегти "флеш-зображення", скопійованого в ціль, на іншій підтримці (наприклад, на SD-картці)?
jfpoilpret

Так. Я гадаю, це також було б добре для виробничої лінії. Моя ситуація - у мене ардуїно, приклеєний до шафи, до якого важко пересуватися, і він знаходиться в іншій кімнаті до мого комп'ютера (також важко пересуватися). Тож я був би радий завантажити ескіз на Ардуїно А щоразу, коли мені захотілося його змінити.
m3z

2
Це зроблено з обмеженою метою програмування завантажувача - github.com/WestfW/OptiLoader - але він повинен працювати для будь-якої корисної навантаження, меншої за наявний спалах за вирахуванням розміру інструменту. Для більшої прошивки корисного навантаження повинен працювати зовнішній накопичувач (або просто Arduino Mega?).
Кріс Страттон

@ChrisStratton, що виглядає ідеально для мене, щоб адаптуватись. Спасибі
м3з

Відповіді:


5

Я думаю, що µProg - крихітний, швидкий, портативний програміст AVR з SD робить все, що ви хочете. Ви можете зберігати на SD-картці декілька файлів (hex, eep тощо) та вибирати з меню пристрою, який слід записати в цільовий MCU без потреби ПК.
Найкраще, що вона доступна безкоштовно (друкована плата, схематичне програмне забезпечення тощо).

Один із свого роду, портативний програміст AVR! Допомагає там, де потрібно оновити програмне забезпечення пристрою, коли цільовий пристрій знаходиться у важкодоступному місці, і ви не можете (або не бажаєте) брати з собою ноутбук з купою проводів. Тривіально простий у використанні, дуже дешевий для виготовлення, дуже маленький, дуже швидкий, використовує SD-карти ...

Особливості:

  • супер малий - розміри 44 х 39 х 5,5 мм
  • супер швидкий - записуйте до 12,5 кБ / с, читайте до 14,5 кБ / с
  • використовує дешевий носій зберігання - невеликі картки MICRO SD
  • підтримує файлові системи FAT16 та FAT32
  • може читати, писати, перевіряти флеш-пам’ять та eeprom-пам'ять
  • може читати, писати, перевіряти запобіжники та блоки
  • записувати та читати у файли BIN, HEX та TXT
  • можна встановити значення за замовчуванням запобіжників, стерти пам'ять
  • дешевий, простий у придбанні, графічний дисплей LPH7779
  • показує смішні анімації після кожної операції
  • стандартний заголовок програмування - Atmel 6-PIN ISP
  • має функцію автоматичного оновлення власної прошивки (з SD)
  • дуже проста у використанні, 4 кнопки навігації
  • меню налаштувань користувача
  • автоматичний вибір швидкості програмування (до 4 МГц)
  • Працює на 3В, програмує мікросхеми, що постачаються від 3В до 5В

Підтримуваний список чіпів

введіть тут опис зображення


Виглядає добре. Буде розслідувати у вихідні дні.
м3з

Я не знаю, як я пропустив це питання днями. Я тільки спілкувався з другом про те, щоб створити саме цей проект. І тоді я бачу вашу відповідь.
Мадівад

4

У мене немає прямого рішення того, що ви хочете, але так, це можливо зробити. Ви можете зламати прошивку завантажувача, щоб він прочитав флеш-код мікропрограмного забезпечення та завантажив його через Інтернет-провайдера.

Хоча ви, очевидно, не можете завантажувати 32 к. Вбудованого програмного забезпечення на цільовий AVR, якщо обидва ардуїноса мають лише 32 кб загального спалаху у своїх MCU, вам потрібно, щоб у спалаху було більше спалаху, ніж у цілі, якщо ви хочете це зробити (1284p або 2560 Mega буде досить далеко, або 328 / 32u4 буде cood, щоб промайструвати 168 або підводку). Єдиним винятком буде наявність прошивки, яка має прошиватися набагато менше, ніж загальна пам'ять (як, наприклад, для ескізу блимання).

Зрештою, це буде непросто, це 100% чистий AVR-код, але ви можете це зробити. Подивіться на:

Я б реалізував це, щоб або зробити все вміщеним у завантажувальному пристрої флеш-пристрою, тому він зчитує мікропрограмне забезпечення (все від 0x00 до початкової адреси завантажувача) і прошиває його через ISP, об'єднавши AVRISP з Optiboot.

У будь-якому випадку, це цікавий проект для семінару про завантажувачі та AVR, які я можу запропонувати у своєму локальному хакерському просторі! ;-)

HTH


Дякую, вихідний код AVRISP виглядає не так складно, як я очікував. Я
загляну

Де ваш місцевий хакерський простір? :)
Мадівад

це у France Le Loop
zmo

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