The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Проект Arduino выпустил программное окружение Arduino 1.0

02.12.2011 23:50

Сообщество Arduino, развивающее серию открытых плат на базе микроконтроллеров и процессоров ARM, при помощи которых можно создавать различные аппаратные устройства, представило стабильный релиз программного окружения Arduino 1.0, сочетающего в себе реализацию языка программирования Arduino, набора библиотек функций и интегрированную среду разработки, предоставляющую интерфейс для написания кода, компиляции, загрузки прошивок на оборудование и взаимодействия с платами в процессе отладки. Выход Arduino 1.0 также ознаменовал стабилизацию API платформы. Код среды разработки написан на языке Java и распространяется под лицензией GPLv2. Имеются готовые установочные пакеты для Linux, Windows и Mac OS X.

Разработка прошивок производится на специально созданном языке программирования (перевод руководства), напоминающем Си/Си++ и позволяющем быстро создавать программы для микроконтроллеров. Среди изменений API Arduino 1.0 отмечается перевод на асинхронный режим работы класса Serial, добавление поддержки DHCP и DNS в библиотеку Ethernet, включение новой библиотеки SoftwareSerial, поддержка работы с несколькими файлами в библиотеке SD, изменение в библиотеке Wire и добавление классов UDP, Client и Server.

Из особенностей новой версии среды разработки отмечается переход к использованию для хранения скетчей (программ на языке Arduino) файлов с расширением .ino, которое выбрано по трём последним буквам в слове Arduino. В прошлых версиях использовалось расширение .pde, которое пересекается с ПО Processing. Переработано оформление панели инструментов, задействована новая цветовая схема, реализовано отображение степени выполнения операции при сборке или загрузке прошивки. Во встроенном текстовом редакторе добавлена поддержка выделения ссылок, при клике на которые запускается внешний браузер. В строке статуса теперь отображается используемый USB-порт и название модели подключенной платы.

Программное окружение полностью поддерживает работу с третьей модификацией (R3) плат Arduino Uno и Mega2560, отличающейся использованием USB-интерфейса Atmega 16U2 вместо ранее используемых чипов 8U2 и FTDI. В качестве загрузчика устанавливается OptiBoot 4.4.

  1. Главная ссылка к новости (http://arduino.cc/blog/2011/11...)
  2. OpenNews: Проект Arduino представил открытую плату с процессором ARM
  3. OpenNews: Проект Arduino выпустил две новые открытые платы
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/32454-arduino
Ключевые слова: arduino, ide
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (-), 02:10, 03/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Наверное хорошо, конечно, что развивается, но опишу свой опыт.

    Раньше делал свои платки на PIC контроллерах, еще под оффтопиком, сейчас занимаюсь разработкой прикладного ПО. Купил ардуино на "побаловаться". В общем, схема нормальная (как для отладочной/демонстрационной платки), но ПО - товарищи! - это полный абзац! После KDevelop и QtCreator - я не знал, плакать или смеятся.

    В общем, я молчу, что Java на десктопе - идиотизм. Я молчу что у них там непонятно зачем C++ для разработки (я сам на плюсах разрабатываю, но нафик оно для контроллеров-то?). Так вот, эта их IDE - даже до Kate не дотягивает, обычный блокнот, но тупит - в разы больше чем навороченный KDevelop, достаточно по меню поклацать (ява?). Как в таком можно разрабатывать что то большее, чем "Hello world" - ума не приложу. В общем, более-менее нормально смог настроить только Eclipse (благо статейка есть, http://habrahabr.ru/blogs/arduino/111908/ , - ребята там всё подробно разжевали). Хоть он тоже на яве, но и то не так тормозит, и хотя бы настроить получилось как полноценный IDE.

    Ну и вывод: если вам действительно для разработки, а не побаловаться на пару дней, и есть опыт, - лучше делать самостоятельно плату для конкретного устройства, и писать на чистом Си (avr-gcc). Хотя даже если для обучения - лучше сразу самому проектировать, благо есть http://easyelectronics.ru/ и http://we.easyelectronics.ru/ . Библиотек в сети полно и без ардуино, так что проблем не должно возникнуть. Ну и также советую посмотреть в сторону более современных контроллеров, как MSP430 или STM32, или вообще сразу BeagleBoard закупить - в общем, от задачи зависит. AVR уже ничем кроме цены не может удивить. А для обучения, как я знаю, вообще зачастую используют MCS51 - классическая архитектура там какая то, что ли... Так что дважды подумайте, прежде чем приобретать такую штуку.

    P.S. Я знаю, что куча плат-модулей есть для ардуино, и типа это MC-конструктор - но IMHO всё тоже самое можно и самому повторить, будет и полезней и лучше - кроме того, никто не запрещает передирать части схем :)

     
     
  • 2.8, Аноним (-), 09:11, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Итого: ардуино нужно чтобы
    1) посмотреть
    2) набив руку выбросить нахрен это недоразумение.
    3) взять уже наконец любимый текстовый редактор.
    4) а также avr-gcc.
    5) писать на простом си без этих турбокостылей, с минимумом либ. Ну да, придется даташит на атмегу почитать, но это в любом случае надо делать если заниматься этим всерьез :)
     
  • 2.14, антоним (?), 14:35, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Основная фишка ардуинки и иде к нему - это возможность в одно касание написать программку, скомпилить и залить в МП. Этим убирается весьма заметный порог вхождения, наличие бибилиотечек тоже помогает в этом деле. Потыкав в МП, написав пару простых программок, покдлючив какую то элементарную перефирию новичок получает легкий и быстрый старт - дальше можно переходить хоть на С хоть на асм хоть на пик хоть на стм32. В свое время пики отвоевали рынок у 8051 не в последнюю очередь потому что прошивать пики было гораздо легче - пики были одними из первых МП которые прошивались парой проводков из лпт-порта, в отличие от х51 которым требовался параллельный программатор. Атмега навряд ли бы имела успех если бы не повторила такой же трюк с последовательным перепрограммированием. Нынче иногда даже второго источника напряжения не требуется при прошивке. Так что не надо ля-ля, кто то выбирает убунту, кто-то дебиан, кто то генту, но всегда найдется сноб-полуидиот который заявит "зачем это все, если есть лфс? есть же make/make install? да и зачем что-то качать и компилить - есть С, все можно написать самому. а кто не умеет - тот просто лошара, я вот в 1995 так делал и до сих пор делаю". В общем, как то так.
     
     
  • 3.15, Аноним (-), 15:55, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Основная фишка ардуинки и иде к нему - это возможность в одно касание написать программку, скомпилить и залить в МП.

    Это-то и непонятно, почему и в каком наркотическом угаре тогда им пришло в голову использовать C++? Возможности C++ раскрываются на больших проектах, а для этих целей только лишний оверхэд и дополнительные способы выстрелить себе в ногу на ровном месте, тем более что рантайм нестандартный. Тут C подошел бы, а то и что-нибудь вообще академическое.

     
     
  • 4.16, антоним (?), 17:01, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    так там от плюсов только пара плюшка и то вполне уместно использованных. что плохого в этом? библиотечка выделена в свой неймспейс да и к периферии объектный доступ - очень даже логично.

    Serial.begin(9600)
    Serial.println("Hello World")

     
     
  • 5.19, Аноним (-), 21:01, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > к периферии объектный доступ - очень даже логично.
    > Serial.begin(9600)
    > Serial.println("Hello World")

    Плохое начинается когда люди начинают хотеть 3 лапки вот так, а 2 вот этак. Что логично, особенно если лапок мизерное количество.

     
  • 5.20, Ytch (?), 21:07, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > так там от плюсов только пара плюшка и то вполне уместно использованных. что плохого в этом?

    Сравните map и листинги одного и того же на чистом С и на плюсах (даже если там всего лишь "пара плюшек"). Сами все увидите. Для того, чтоб демострация смотрелась эффектней компилируйте под что-нибудь имеющее, например 4к памяти программ и байт 128 для данных.

    Году в 2000-м проделывал подобное. Функционал для теста выбрал примитивный (типа подергать "ножкой" в прерывании таймера, попихать данные из одного интерфейса в другой). Результат был примерно такой (точных цифр, естественно, не помню): АSM - кода байт 150, данных байт 50, С - кода байт 400, данных байт 70, C++ (естественно без всяких динамических объектов, наследований и т. п. - фактически та же "пара плюшек") - кода 1.5к, данных байт 120. Собственно, функционал еще не начался, а 40% памяти уже нет, а для данных и того хуже. При этом, заметьте, от "плюсов" я не получил никаких особых плюсов (т. к. не использовал почти ничего из его возможностей) по сравнению с чистым С.

     
     
  • 6.21, антоним (?), 23:50, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Да вы собственно сами себе и отвечаете - имело это смысл лет 10 назад. Сейчас на борту памяти гораздо больше, и прежде чем новичок уткнется в пределы по памяти он становится профи. И будет писать в чистом С/асм если так уж приперло. А когда памяти избыток - то какая вам разница 10 кбайт пустует или 15? Повторюсь еще раз - речь идет о новичках, для них этот набор ардуинки самый что ни на есть RAD. Касательно сравнения - да, писал, сравнивал - у С++ больше код, но на некоторую определенную величину. Поэтому на большой программе разница между С и С++ сходит на нет.
     
     
  • 7.27, Crazy Alex (ok), 16:45, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C++ - сложный язык. Единственные, кому есть выгода от его поддержки ардуиной - те, кто его на декстопе знает. И то начинать с ассемблера лучше - в нём работа с железом как на ладони, а потом уже (если надо) уходить на высокоуровневые языки.

    А если плюсы использовать как "продвинутый C с неймспейсами для тех, кто программировать не умеет" - то лучше уж какой МикроПаскаль брать или что-то аналогичное, а еще лучше - средства визуального проектирования. В этом плане нынешняя идея ардуиновцев сделать свой язык не выглядит так уж бредово, хотя их "IDE" - это жуть какая-то.

    Понимаете, контроллер - он достаточно мал, чтобы основная проблема, на борьбу с которой нацелены плюсы - проблема сложности программы - в нём не возникала. Там скорее нужно что-то с продвинутой кодогенерацией, чтобы аналог того чуда, ссылку на которое я приводил выше (с семиэтажными шаблонами) можно было как-то попроще сделать.

     
  • 6.24, Crazy Alex (ok), 04:35, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот по этой ссылочке: http://easyelectronics.ru/rabota-s-portami-vvoda-vyvoda-mikrokontrollerov-na- товарищ решает весьма нетривиальную задачу, получая при этом код, который на ассемблере не каждый напишет. Причем там не просто неймспейсы, а шаблоны семиэтажные и библиотека Loki от Александреску. Так что плюсы надо уметь готовить. Но начинать программирование контроллера с высокоуровневого языка - это я даже не знаюкакой степени идиотизм. АССЕМБЛЕР! И только он - чтобы толком понимать, что происходит. ЧТобы уметь посомтреть, что накуролесил сишный компилятор. И так далее, и тому подобное.
     
     
  • 7.35, Аноним (-), 10:41, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > семиэтажные и библиотека Loki от Александреску.

    На что только не пойдет народ чтобы не сделать мизерную вставку на асме :)). Вообще, чем больше этажей - тем сложнее потом все это разгребать и обезглючивать.

     
  • 3.17, Аноним (-), 20:59, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Основная фишка ардуинки и иде к нему - это возможность в одно
    > касание написать программку, скомпилить и залить в МП.

    На практике, несколько знакомых скорее выглядели так:
    1) Пишем программу.
    2) Понимаем что вот так по простому вон то сделать нельзя.
    3) Эпично обламываемся.
    4) Ломаем мозг как же это оверрайднуть из ардуины. А поскольку чайник, даташит не читал и вообще - вот тут то мы и узнаем про закон 20/80, наблюдая как оставшиеся казалось бы жалкие 20% работы на раз выжрут 80% времени на борьбу с яп ардуины.

    Ну вот пример: знакомый хотел чтобы часть аналоговых лапок была аналоговыми, а часть цифровыми. Насколько я понял с его слов, так в ардуине не предусмотрено (лично не проверял, влом мне 100М явы ставить). Можно всем скопом их в аналог или всем скопом в цифру. А так чтобы часть так а часть сяк... хм, ну понятно что проц так умеет, достаточно маску правильно по регистрам загнать. Но при этом ардуино уже больше мешает. А учтя что там на все I/O условно говоря полторы лапки, их и так то по жизни не хватает, а тут еще и сюрпризы.

     
     
  • 4.22, антоним (?), 23:57, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а вы меньше верьте знакомым, а то они такого напоют.
    кстати, передайте своему знакомому что все нормально оверрайдится, достаточно не дергать библиотеки ардуиновские и писать самому инициализацию регистров, их использование и тд. поскольку программа на ардуино это фактически программа на avr-gcc (по некоторому шаблону и с библиотечками) то заявления что он чего то там ограничивает просто бред. все что можно сделать с помощью avr-gсс можно сделать и на ардуине, обратное точно так же верно, потому что фактически это одно и то же.
     
     
  • 5.32, Аноним (-), 10:25, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а вы меньше верьте знакомым, а то они такого напоют.
    > кстати, передайте своему знакомому что все нормально оверрайдится, достаточно не дергать
    > библиотеки ардуиновские и писать самому инициализацию регистров, их использование и тд.

    Вот тут то и заканчивается простота ардуины. А если вопрос в том чтобы почитать документацию, самому запрограммить регистры и прочая - так без ардуины это проще и не надо использовать турбоугребищный ява-редактор.

    > поскольку программа на ардуино это фактически программа на avr-gcc (по некоторому
    > шаблону и с библиотечками) то заявления что он чего то там
    > ограничивает просто бред.

    Логично, просто вся простота в миг испаряется, а если уж программить регистры лично - лучше вообще от ардуинских библ избавиться. Учиться как с ними уживаться чтобы у них ничего не отъехало и прочий лишний гемор - на ровном месте.

    > все что можно сделать с помощью avr-gсс можно сделать и на ардуине,
    > обратное точно так же верно, потому что фактически это одно и то же.

    Просто это во первых будет уже нифига не просто, всякими ламерскими serial.begin(100500) как у яваскриптеров уже не отделаешься. Во вторых придется скурить нормальный даташит. В третьих, придется греть мозг как не вызвать своими кастомными действиями отвал башки у ардуинских либ. В четвертых окажется что если выбросить ардуину и делать без нее - будет даже проще. И кислотные ява-редакторы не понадобятся :)

     
     
  • 6.36, антоним (?), 13:36, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    неужели еще не дошло - для простой задачи простое решение, для сложной - сложное. не расчитана ардуина на сложные задачи и никто ее туда не рекомендует! она расчитана на простые самоделки! все возражения против ардуины сводятся примерно к тому что велосипед никуда не годный вид транспорта потому что грузоподъемность и дальность авто во много раз больше, хотя речь идет просто о прогуляться.
     
     
  • 7.37, Аноним (-), 14:29, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > неужели еще не дошло - для простой задачи простое решение, для сложной
    > - сложное.

    Крайне тупое деление в свете того что камень один и тот же. Тем более что простая программа проста даже на гольном асме, а сложная на этих огрызках си++ просто не влезет. А вот иметь мозг при нужде заоверрайдить придется прилично. А не имея при этом в голове базовых знаний из даташита и просто о предмете - получаются опаньки.

    > не расчитана ардуина на сложные задачи и никто ее туда не рекомендует!
    > она расчитана на простые самоделки!

    Все атмелки по определению на них рассчитаны, просто без использования ардуины можно научиться делать это по человечески, а не по ламерски.

    > все возражения против ардуины сводятся примерно к тому что велосипед никуда не годный вид
    > транспорта потому что грузоподъемность и дальность авто во много раз больше,
    > хотя речь идет просто о прогуляться.

    Скорее, проблема в том что некоторые моменты сделаны откровенно криво.
    - Зачем с нахрапом сватать угребищный эдитор да еще на яве?
    - Зачем сватать огрызки от си++ на которых почти никто не пишет?
    - Дав старт не грех бы показать потом как все это делать по людски.

    Так что это похоже на рассуждения о том что кетайский велосипед из ближайшего ларька за 2000 рублей является кривым фуфлом. Прогуливаться на менее поганом велике - приятнее :P

     
  • 4.23, Аноним (-), 02:35, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Даташит на Атмел всегда хорош (как, в принципе, и на, наверное, любой МК). Юзайте парни ассемблер для критических задач (авээровский под АВР, к примеру). Все у Вас будет так,  как Вы хотите (хотите ввод на этих входах - будете иметь ввод, хотите вывод - тоже нет вопросов). Тини 2313 2 кБайта памяти программ. А многое сможет. Если с умом и без всяких С и С++. Главное, наверное, не заганяться.
     
     
  • 5.28, Crazy Alex (ok), 16:48, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Воистину. Не говоря о том, что объем кода в тини ни фига не требует чего-то высокоуровневого. Эдак с меги16 - да, пожалуй уже выгоднее C использовать.
     
  • 5.33, Аноним (-), 10:29, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Если с умом и без всяких С и С++.

    Проблема в том что
    1) Не портабельно. Вот снимет атмель серию с производства и вы не сможете реюзнуть ни 1 бита из ваших программ.
    2) На асме долго и медленно. И на программе крупнее пары кило компилер пожалуй лучше вас регистры раскинет.

    Итого: на асме имеет смысл писать только критичные кусочки. Си - это такой удобный и кроссплатформенный "почти ассемблер". В одном из вариантов его использования.

    > Главное, наверное, не заганяться.

    Заганяться? Это от слова gun чтоли? Ну да, если программить atmega128 на асме - пушка вам понадобится, чтобы застрелиться - так мучений меньше будет :)

     
     
  • 6.39, Crazy Alex (??), 14:46, 07/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Эмбед для МК вообще-то редко нужен портабельный - даже библиотеку часто лучше писать с учетом возможностей даже не семейста, а конкретного чипа или их группы.
    И как раз регистры компилятор хуже раскинет - потому что понятия не имеет, что как часто будет вызываться, а для контроллера это может быть критичным. К прмиеру, я люблю изменяемые в прерываниях счетчики засовывать в младшие регистры - никакого тебе доступа к памяти и часто можно сэкономить push/pop, что дает байт 8 выигрыша в размере.
     
  • 2.26, Аноним (-), 14:44, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    DiHalt, уходи.
     
     
  • 3.38, Аноним (-), 14:30, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > DiHalt, уходи.

    Дихалт - перец мозгастый, хоть и с виндой головного мозга. Так что если б он пришел - радоваться надо, а не гонять его :P

     

  • 1.4, Аноним (-), 02:35, 03/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    юхайте PSoC, зачем етот Arduino вообще я так и не понял
     
     
  • 2.18, Аноним (-), 21:00, 03/12/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > юхайте PSoC, зачем етот Arduino вообще я так и не понял

    Нюхать надо б STM32 ;). А у кого еще ARM cortex M3 за 1 доллар найдешь? :P

     
  • 2.29, Crazy Alex (ok), 16:54, 04/12/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Затем, что водить начинают учиться с легковушек, а не с белазов. AVR крайне прост в инициализации, подключении и в понимании, что где происходит. Базе научиться - самое то. При этом берешь любую мегу - и все основные возможности у тебя на борту есть, можно экспериментировать. Вообще - сложное надо брать, когда эта сложность либо востребована (для обучения это не так - нет там обычно сложных проектов) либо ничего не стоит (тоже не так - больше взаимосвязей - значит сложнее и дольше разбираться, вместо изучения простого минималистичного ядра).

    Впрочем зачем ардуино - я тоже не понимаю. Лезть в микроконтролеры, не будучи способным спаять элементарную готовую схему - это в любом случае нарываться на проблемы. А минимальная обвязка к AVR и программатор (если жаба задавила купить) - куда уж элементарнее!

     
     
  • 3.30, Бобазали (?), 00:14, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ardurino, он вообще то больше на детишек расчитан, на школьников 4-7 классов. Им паяльник доверить  пока нельзя. Они эти штучки к конструктору типа "лего" прикручивают и очень радуются когда моделька светодиодами моргает. Ну взрослые ещё на нем забавные приколы делают.
     
     
  • 4.31, Crazy Alex (ok), 02:56, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если для детишек как игрушка - тогда ладно. Хотя что 10-летнему ребенку нельзя паяльник доверить - для меня новость... сам примерно в этом возрасте чего-то паяльником ковырять начал. Ну да ладно, это уже вопрос конкретной культуры. Но тогда там точно не плюсы нужны, а что-то более человекочитаемое - паскаль или бейсик какой...
     

  • 1.25, арамо (?), 04:42, 04/12/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а как PSoC в линуксе? удобно?
     
     
  • 2.34, Аноним (-), 10:34, 05/12/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а как PSoC в линуксе? удобно?

    Да хрен его знает. Чем оно вообще лучше остальных? STM32 - вполне нормальненько, если руки из правильного места. И номенклатура камушков и цены на них - лучше чем у остальных.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру