Категория: Windows
В прошлый раз мы успешно установили программное обеспечение и даже запустили одну программу, чтобы помигать светодиодом. Но делали мы это неосознанно, повторяя шаг за шагом описываемые действия. В дальнейшем вам придётся самому писать код, а значит пора ознакомится с основами программирования.
Хотя я немного разбираюсь в программировании, сегодня притворюсь, что никогда не слышал о языках программирования и постараюсь максимально доходчиво показать, как новичок осваивает новую для себя деятельность.
Во-первых, нам придётся писать примеры на C++-подобном языке. Поэтому можете похвастаться перед знакомыми, что пишите программы на C++. Во-вторых, он очень упрощённый, и вам не нужно бояться его.
Если помните, мы запускали учебный пример Blink. но на самом деле мы пропустили самый первый учебный пример BareMinimum. Давайте его откроем: File→Examples→1.Basics→BareMinimum. Откроется окно с следующим кодом:
Вам сейчас необходимо запомнить, что в программе должны быть две обязательные функции: setup() и loop(). После названия функции и круглых скобок идут фигурные скобки, внутри которых будет располагаться ваш код. Говорят, что между фигурными скобками располагается блок кода для функции или тело функции.
Функция setup() запускается один раз, после каждого включения питания или сброса платы Arduino. В теле данной функции пишется код для инициализации переменных, установки режима работы цифровых портов, и т.д. В дальнейших примерах вы увидите этот механизм.
Функция loop() в бесконечном цикле последовательно раз за разом исполняет команды, которые описаны в её теле. Т.е. после завершения функции снова произойдет её вызов.
Рекомендую создать новый пустой скетч (так называют программы в Arduino) через File | New. (Файл | Создать) и вручную написать описанный код. Это поможет вам лучше запомнить две функции, а также увидеть, как работает среда разработки.
А теперь мы можем снова открыть пример Blink и изучить его шаг за шагом.
В функции setup() мы видим три строчки:
Сначала идёт комментарий к коду, который начинается с двойного слеша (//). Всё, что идёт после двойного слеша и до конца строки считается комментарием. Вы можете писать сюда что угодно, на программу это никак не повлияет. При написании своих программ советую не скупиться на комментарии и описывать, что выполняет ваша команда. Поверьте, очень многие новички, возвращаясь к своему коду, не могут вспомнить, что они запрограммировали.
Приблизительный перевод комментариев, которые используется в функции setup() можно перевести как:
Дальше следует сам код, который делает операцию, описанную в комментариях. Обратите внимание, что команда завершается точкой с запятой:
В старых версиях код был немного другим:
Но разработчики позже написали более грамотный код, вынеся число 13 в отдельную переменную led .
Комментарий можно перевести как:
Нам встретилась новая функция pinMode(). которая устанавливает режим для портов. Функция состоит из двух параметров. В первом параметре указывается порт, с которым мы собираемся работать. Во втором параметре мы сообщаем, как должен работать указанный порт: работать на выход (OUTPUT) или вход (INPUT). В нашем примере, вывод под номером 13 должен выводить информацию (посылать сигнал), то есть давать указание мигать светодиоду.
Мы определили в функции setup() необходимые данные для начала работы и теперь можем приступить к непосредственной реализации задачи в функции loop() .
Здесь мы видим уже четыре строчки кода. Первая строчка включает светодиод при помощи функции digitalWrite(). В первом параметре мы указываем номер порта, с которым собираемся работать, а во второй указываем константу HIGH. Забегая вперед, могу сказать что константа HIGH равна 1, и можно было написать digitalWrite(13, 1). Но такая запись не очень удобна, так мельтешение цифр в большом проекте затрудняет чтение кода. А здесь вы сразу видите, что на порту под номером 13 включается светодиод.
Далее идет команда, отвечающая за паузу - delay(). которая имеет один параметр - количество времени в миллисекундах. В нашем примере мы сделали паузу в одну секунду (1000 миллисекунд = 1 сек).
Следом идёт уже знакомая нам функция digitalWrite(). но уже с параметром LOW. который выключает светодиод (значение константы LOW равно 0).
И последняя строчка снова делает паузу в одну секунду.
Посмотрим, как работает программа. Когда мы загружаем программу в микроконтроллер, то Arduino активирует порт 13 в режиме выхода (функция setup() ), а затем начинает последовательно выполнять четыре строчки из функции loop(). включает диод-пауза-выключает диод-пауза. Когда эти четыре строчки будут выполнены, то они снова будут вызваны и будут повторяться до тех пор, пока мы не выдернем кабель.
Что мы можем изменить в данной программе? По большому счету ничего - мы можем установить только собственные значения пауз. Поэкспериментируйте с этим. Другие изменения результата не принесут - нет смысла, например, сейчас использовать другой порт или использовать режим INPUT .
Если вы хотите что-то исправить в готовой программе из примеров, то лучше это делать в новом проекте. Создайте свой скетч и скопируйте код из примера Blink. Для начала измените значения микросекунд для паузы. Теперь попробуем написать свою собственную программу на её основе. Вам понадобится обычный провод. Один конец вставляем в порт под номером 7, а второй в порт с надписью GND .
Задумка следующая. Порт может не только принимать сигнал (работать на выход), но и посылать сигнал. Фактически порт пускает через себя ток. В этом случае режим устанавливается как INPUT или INPUT_PULLUP. Если через порт идёт ток, то заставим светодиод мигать быстро-быстро. Если движение тока прервано, то мигание будет редким.
Часть кода нам уже знакома. Смотрим на новый код. Для опытов мы используем порт 7, поэтому завели новую переменную switchPin. В функции setup() мы устанавливаем для него режим на вход в особом режиме INPUT_PULLUP (подтягивающий резистор). Его особенность состоит в том, что при соединении с землёй он будет выдавать значение LOW. а при разрыве - HIGH
В функции loop() мы реализуем условие с проверкой. Считываем значение с порта 7. Если ток идёт, то значение будет LOW светодиод будет мигать часто. В противном случае светодиод будет мигать редко.
Код для мигания светодиодом вынесен в отдельную функцию flashLed(). Это сэкономит нам количество кода. Кроме того, такая функция удобна, что мы можем в её параметре задавать разные значение паузы, не повторяя остальной код.
Запустив проект, убедимся, что светодиод мигает часто. Вытащим один конец провода и увидим, что светодиод стал мигать медленно. Опять вставляем провод на место и снова светодиод будет мигать часто. Чудеса!
Когда мы подключаем плату Arduino к компьютеру через USB-порт, то можем обмениваться между ними информацией с помощью сообщений, которые отображаются в Serial Monitor. О Serial Monitor мы поговорим позже в других статьях, пока поверхностно познакомимся с ним. Допустим, у нас сгорел светодиод и он не сможет нам показать своим миганием, есть ли соединение или нет. Уберём из кода строки, относящиеся к светодиоду, и напишем код для обмена сообщениями.
Лишний код закомментирован, а функция flashLed() даже удалена. Как пользоваться программой? Запустите скетч снова, затем в Arduino IDE нажмите на значок Serial Monitor. Откроется новое окно, в котором будут быстро мелькать строки Connected с новой строки. Выдерните провод и в окне сообщения сменятся на Not connected. Таким образом, плата посылает информацию компьютеру.
На следующих занятиях мы подключим свой светодиод и заставим его не только мигать, но и затухать. Оставайтесь с нами!
РекламаДобавляем поддержку не родных м/к в среду Arduino IDE
Иногда можно использовать в своих проектах умного дома более простые или слабые микроконтроллеры,где ресурсов может быть достаточно для простых операций -Такие микроконтроллеры дешевле.Кроме программирования таких микроконтроллеров в более сложной среде разработки в WinAVR или CodeVisionAVR можно использовать среду Arduino IDE,добавив их поддержку.Иногда могут пригодится микроконтроллеры с бОльшим количеством портов,например Atmega16 и Atmega32 - их так же можно программировать в Arduino.
Обратите внимание,что обычно микроконтроллер с завода настроен на внутренний генератор и чаще всего прошивка загрузчика переключает микроконтроллер на внеший кварц - так что Вы должны позабодиться о подключении кварца к выводам микроконтроллера(выводы XTAL) по стандартной схеме.Исключение - серия attiny и некоторые другие м/к.
Серия микроконтроллеров ATtiny
attiny13,attiny2313, attiny45, attiny44,attiny85, attiny84, attiny25, attiny24, attiny4313
Для программирования ATtiny 13/25/45/85 подключим его к нашему программатору согласно даташиту:
Примечание: У ATtiny13 нет шины i2c и имеет всего 1кб под программу.У ATtiny 25/45/85 имеется последовательный порт на выводах PB4 -RX ,PB3 - TX ,но м/к не поддерживают загрузку через его,только обмен данными.
У ATtiny 2313 и 4313 другая цоколевка,но подключается так же:
Настройка Arduino IDE для микроконтроллеров ATtiny
Для этого необходимо дописать нужные микроконтроллеры в файл boards.txt и распаковать архив arduino-tiny в папку папка_arduino/hardware/arduino/
Последнюю версию arduino-tiny можно найти тут .
Например ,чтобы добавить в список поддерживаемых контроллеров ATtiny85 необходимо добавить следущий текст в boards.txt :
###########################################################################
attiny85.name=Optiboot ATtiny85 @ 8 MHz (internal osc)
attiny85.upload.protocol=arduino
attiny85.upload.speed=9600
#bootloader takes up last 10 pages, so there is a limit on the max size.
attiny85.upload.maximum_size=7616
attiny85.bootloader.low_fuses=0xE2
attiny85.bootloader.high_fuses=0xD7
attiny85.bootloader.extended_fuses=0xFE
attiny85.bootloader.path=optiboot
attiny85.bootloader.file=optiboot_attiny85.hex
attiny85.build.mcu=attiny85
attiny85.build.f_cpu=8000000L
attiny85.build.core=tiny
attiny85.build.variant=tinyX5
# вариант c частотой внутренного генератора 8 мгц.
###########################################################################
Остальные примеры поддерживаемых микроконтроллеров можно посмотреть в файле Prospective Boards.txt архива arduino-tiny.
Для ATtiny13 необходимо другое ядро ,для этого распакуем архив в папку hardware\arduino\cores\core13\
и добавляем в список boards.txt.
attiny13.name=ATtiny13 (internal 9.6 MHz clock)
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=9600000L
attiny13.build.core=core13
attiny13.build.variant=tiny8
Сейчас мы можем программировать добавленные микроконтроллеры через плату Arduno или USBasp.
Другие микроконтроллеры ATmega
ATmega8 без загрузчика
Чтобы добавить м/к ATmega8 без загрузчика добавляем в boards.txt следущий текст:
ATmega8 имеется в списке поддерживаемых как Arduino NG or older с загрузчиком,который отнимает 1 кб ,при таком загрузчике микроконтроллер можно прошивать стандартно,установив его например в Arduino UNO. Сконфигурировать свой загрузчик на другую частоту вы можете в Конструкторе Bootloader`а.
Для добавления данных микроконтроллеров необходимо распаковать из архива avr-netino папку hardware\avrnetio и поместить её в папку Arduiono_ide\hardware\ .Другие папки с примерами и библиотеками можно так же распаковать в соотвествующие папки при необходимости.
Расмотрим пример на микроконтроллере ATmega32:
Микроконтроллер ATmega32 имеет 40 ножек из них 32 - это порты ввода вывода.
Расшифруем основные из них:
D - это цифровые выводы в нумерации arduino.
AI - аналоговые входы.
PWM - выводы с возможностью ШИМ.
Если Вы правельно скопировали папку avrnetio ,то после запуска Arduino IDE Вы увидите добавленные микроконтроллеры в общем списке.Вы можете исправить или удалить некоторые ненужные микроконтроллеры в файле hardware\avrnetio \board.txt
Если сейчас подключить микроконтроллер к Arduno или USBasp ,то можно уже заливать скетчи из среды Arduino IDE.
Обратите внимание,что новый м/к запрограммирован работать от внутреннего генератора и при прошивке загрузчика (через меню сервис-> записать загрузчик) поменяются фьюзы на режим от внешнего кварца.Загрузчик прошивать не обязательно,если Вы не хотите Заливать скетчи через последовательный порт.Перед прошивкой загрузчика можно поправить фьюзы в файле board.txt в строках bootloader.low_fuses и bootloader.high_fuses используя калькулятор фьзов .
Хотя avr-netino и поставляется с загрузчиками,но загрузка через последовательный порт на ATmega32 у меня не заработала.Для загрузки через его необходимо подсунуть "правельный" загрузчик в папку /hardware/avrnetio/bootloaders/optiboot/ из архива boots.zip ,заменив в файле board.txt имя файла загрузчика в строке bootloader.file соотвествующего микроконтроллера .Сконфигурировать свой загрузчик на другую частоту вы можете в Конструкторе Bootloader`а
Vassilis K. Papanikolaou, Греция
На самом деле идея Arduino замечательна. Это золотое дно для новичков, т.к. на ее основе можно разрабатывать конструкции простого и среднего уровня за короткие сроки. Это великолепная микроконтроллерная платформа для отладки и прототипирования с огромным количеством готовых проектов с открытым исходным кодом, учебных материалов, форумов и пр. что очень важно для всех при изучении встраиваемых систем. Используя простую интегрированную среду разработки и код на С++-подобном языке, USB кабель и несколько пассивных компонентов, возможно в считанные секунды заставить мигать светодиод, или организовать обмен данными с ПК за несколько минут, не имея серьезного опыта в электронике.
Это, несомненно, отличное стартовое решение, но как далеко Вы можете зайти в использовании Arduino? Ну, довольно далеко, но до определенного предела, потому что (как и вообще в жизни) всегда приходится выбирать между простотой и производительностью. Наверное, именно поэтому наблюдается появление высокопроизводительных клонов Arduino, таких как ChipKIT на микроконтроллерах компании Microchip семейства PIC32 или Netduino на микроконтроллерах ARM. Эта альтернатива может спасти разработчика во многих случаях приростом производительности, но, в конечном счете, все же остаются скрытые функции и библиотеки, которые используют ресурсы микроконтроллера, и пользователи будут вынуждены изучать аппаратную часть микроконтроллера.
Автор лично решил полностью отказаться от Arduino после нескольких месяцев изучения. Фактически, как утверждает автор, сама платформа Arduino подтолкнула его на этот шаг. Ниже приведены причины, но сначала рассмотрим преимущества Arduino.
Плюсы Arduino (Что замечательно):
Минусы Arduino (Что ужасно):
В связи с этим автор утверждает, что настало время использовать чистый AVRGCC. Однако, у него тоже есть свои плюсы и минусы.
Трудности при использовании AVRGCC:
Польза от использования AVRGCC:
Как и для Arduino, для AVRGCC имеется большое количество вспомогательных средств, готовых проектов, библиотек и учебных материалов. Выбор остается за пользователями.
EasyEDA: Бесплатная САПР электронных схем и дешевое создание прототипов печатных плат
Дата публикации: 02-12-2014
При создании проекта столкнулся с одной проблемой.
Проект состоит больше чем из одного файла, платформо-независимую часть я изначально начал писать в MS Visual C++ Express 2010 а платформо-зависимые вещи делал и тестировал в Arduino IDE.
И все шло хорошо, пока я не решил собрать все в кучу и развернуть макет системы на Arduino.
С помощью Arduino IDE я смог этого добиться дико кривыми путями, исправляя заголовочные файлы спецом под эту IDE что бы она таки смогла включать все требуемые файлы в проект.
Более того, если попытаться подключить проект как библиотеку, эта среда просто копировала все файлы в папку библиотек, что по меньшей мере на мой взгляд является весьма странным поведением. писать код в одном месте а потом еще синхронизировать как-то файлы с другой папкой меня явно не воодушевляло.
В общем меня такое положение дел не устроило.
Первым решением был Atmel Studio 6.2 + Visual Micro, данный плагин позволяет создавать в данной IDE скетчи для Arduino и заливать их туда по USB. Я думал ну вот мощь Atmel Studio объединенная с возможность загрузки скетча по USB. Но оказалось что этот плагин не чуть не полезнее чем Arduino IDE, в сущности он делегирует всю работу штатным средствам Arduino IDE а сам лишь предоставляет интерфейс написания скетча в среде Atmel Studio. меня это тоже не устроило.
Мне требовалась среда которая может как полагается собирать проект, подключать папки и тд и тп.
Читал, искал. нашел.
Оказалось что у достаточно известной IDE CodeBlocks имеется готовая настроенная версия с расширением для Arduino, CodeBlocks Arduino IDE. скачал, протестировал.
Потребовалось некоторое время чтобы разобраться с базовыми тонкостями данной среды, в итоге все файлы проекта стали включатся как полагается, сборка стала производится великолепно без лишнего гемороя.
В итоге, все преимущество мощной IDE с возможностью все это заливать напрямую на Arduino по USB. Теперь я очень спокойно работаю в одной среде как над платформо-независмыми частями так и над плафтормо-зависмыми. Это позволило отказаться и от MS Visual C++ Express 2010
Что меня особо порадовало в отличии от Arduino IDE которые копируют любые подключаемые файлы к свою папку библиотек, так это то что CodeBlocks позволяет разным "проектам" работать с одними и теми же исходными файлами в месте их физического расположения, и ничего никуда не копирует.
Я не стану приводить сравнение CodeBlocks и Arduino IDE так как это бессмысленно, в силу того что CodeBlocks это полноценная среда разработки, а Arduino IDE даже текстовым редактором назвать можно с большой натяжкой.
В целом, на данный момент я на 100% отказался от Arduino IDE, так как даже написание простевшего скетча в CodeBlocks в разы удобнее и приятнее, нежели в штатной IDE.
Если вы уже задумываетесь над тtм что Arduino IDE вам порядком поднадоела, попробуйте CodeBlocks Arduino IDE. она бесплатна.
Не большое описание "старта" на русском.
© Пашкевич Николай
В уроке рассказывается, как установить программное обеспечение для работы с системой Ардуино под Windows 7, как подключить плату к компьютеру и загрузить первую программу.
Для установки программного обеспечения и подключения контроллера Arduino UNO R3 к компьютеру необходимы:
Плата может получать питание от USB порта компьютера, поэтому внешний блок питания не требуется.
Установка интегрированной среды разработки Arduino IDE.
Прежде всего, необходимо загрузить последнюю версию программы. Загрузить ZIP архив можно с официального сайта поддержки систем Ардуино по этой ссылке. Необходимо выбрать строку с нужной операционной системой – Windows ZIP file.
Создать папку, например Arduino, и распаковать в нее zip файл.
Подключение платы Ардуино.
С помощью USB кабеля подключите плату к компьютеру. Должен загореться светодиод (с маркировкой ON), показывающий, что на плату поступает питание.
Мне известны платы Arduino UNO R3 использующие в качестве моста USB-UART
Процессы установки драйверов для этих вариантов отличаются.
Установка драйвера для ARDUINO UNO с преобразователем интерфейсов ATmega16U2.
После подключения платы к компьютеру Windows сама начнет процесс установки драйвера. Через некоторое время появится сообщение о неудачной попытке.
Драйвер надо устанавливать вручную. Для этого переходим Пуск –> Панель управления –> Система –> Диспетчер устройств .
В разделе Порты (COM иLPT) должно быть устройство ArduinoUNO с предупреждающим желтым значком.
Щелкаем правой кнопкой мыши по значку.
Выбираем Обновить драйвер .
Дальше Выполнить поиск драйверов на этом компьютере .
Вручную указать место размещения драйвера. Файл ArduinoUNO.inf находится в каталоге Drivers папки, куда распакован архив.
В разделе Порты (COM и LPT) появляется новый, виртуальный COM. Его номер надо запомнить.
Установка драйвера для ARDUINO UNO с преобразователем интерфейсов CH340G (китайский клон).
После подключения платы к компьютеру, Windows сама начнет процесс установки драйвера.
Через некоторое время появится сообщение о неудачной попытке.
Драйвер надо устанавливать вручную. Для этого переходим Пуск –> Панель управления –> Система –> Диспетчер устройств .
Появилось новое устройство USB2.0-Serial с желтым предупреждающим значком.
Запускаем установочный файл ch341ser.exe .
Ждем сообщение об успешной установке.
В диспетчере задач появляется новое устройство USB-SERIAL CH340.
Необходимо запомнить номер COM порта.
Запуск интегрированной среды разработки Arduino IDE.
Запускаем файл arduino.exe.
Выбираем тип платы Ардуино: Инструменты -> Плата -> Arduino UNO .
Необходимо указать номер COM порта: Инструменты -> Порт .
Для проверки работы системы можно запустить первый скетч – мигающий светодиод. Для этого: Файл ->Примеры -> 01.Basics ->Blink .
Нажимаем кнопку Загрузка .
Ждем пока программа загрузится и светодиод на плате, обозначенный букой L, начинает мигать примерно раз в секунду. Значит все сделали правильно.
В следующем уроке получим минимальные знания о языке программирования для Ардуино - языке C++.
Навигация по статьямВ первой части статьи мы немного рассмотрели стандарт Android Open Accessory и ADK платы совместимые с данным стандартом. Первая статья вышла чисто теоретическая, а в данной статье мы рассмотрим установку и настройку необходимого программного обеспечения. Всю работу я буду приводить в ОС Windows 7, однако, данные версии ПО также существуют и под Linux-системы. Поэтому если у вас стоит Linux, то все будет аналогично.
Установка и настройка Arduino IDE1. Установка Arduino IDE. Скачайте и установите последнюю версию Arduino IDE, на данный момент это 1.0.1. Скачать можно с официального сайта здесь .
Я бы также посоветовал вам скачать и версию 0023 т.к. на данный момент Arduino 1.0.1 еще сырая и некоторые проекты могут не заработать. Установите их в разные папки, 2 версии IDE без проблем уживаются друг с другом.
2. Установка библиотек для режима Open Accessory. Этот шаг для тех, у кого Android устройство заработало в режиме с поддержкой Open Accessory.
На этой странице скачайте и распакуйте файл adk_release_*****.zip
Пример от Google также требует наличие библиотеки CapSense. Ссылка на библиотеку находится там же. Далее, скопируйте две папки из директории arduino_libs в вашу директорию библиотек Arduino. Запустите IDE и проверьте, что Arduino IDE "подхватил" ваши библиотеки:
Выберите свою плату: Сервис->Плата, т.к. я использую Seeeduino ADK Main Board на базе микроконтроллера ATmega2560, то мне необходимо выбрать "Arduino Mega 2560 or Mega ADK ". Затем выберите последовательный порт, к которому подключена ваша плата.
Откройте пример (скетч) demokit и попробуйте скомпилировать его. Если все прошло без ошибок, то все сделали правильно.
3. Установка библиотек для режима MicroBridge. Я использую плату Seeeduino ADK Main Board, поэтому скачал все необходимые библиотеки с официального сайта. Однако, если ваша ADK плата на базе микроконтроллера ATmega2560, то все действия будут такими же.
Итак, с данной странички скачиваем файл Modified MicroBridge Arduino Library или Modified MicroBridge Arduino Library for Arduino1.0 (ссылки в самом низу).
Я немного модифицировал библиотеку, чтобы она могла работать и под версию 0023 и под 1.0.1, ее можно скачать отсюда. Папку Adb необходимо скопировать в вашу директорию библиотек Arduino. Запускаем IDE и проверяем, что Arduino IDE "подхватил" библиотеку ADB:
Выберите свою плату: Сервис->Плата, т.к. я использую Seeeduino ADK Main Board на базе микроконтроллера ATmega2560, то мне необходимо выбрать "Arduino Mega 2560 or Mega ADK ". Затем выберите последовательный порт, к которому подключена ваша плата.
Откройте пример (скетч) SeeeduinoADKDemo и попробуйте скомпилировать его. Если все прошло без ошибок, то все сделали правильно.
На этом, настройка ПО для Arduino завершена.
Установка и настройка ПО для Android1. Установка Java SE Development Kit. Переходим на сайт Oracle и загружаем последнюю версию Java SE Development Kit под вашу ОС. Затем запускаем и устанавливаем скачанный файл.
Далее, в Windows необходимо настроить переменные среды. Для этого щелкаем правой кнопкой мыши по "Мой компьютер" и нажимаем свойства системы. Затем, "Дополнительные параметры системы" и "Переменные среды". В вкладке "Системные переменные" нажимаем "Создать" и добавляем в "Имя переменной": JAVA_HOME. а в "Значение переменой" путь к вашей папке с Java SE Development Kit. У меня это C:\Program Files\Java\jdk1.7.0_05\bin
2. Установка Android SDK. С данной страницы скачиваем файл и запускаем его. Устанавливаем SDK в папку.
В переменных средах на всякий случай можно прописать в "Имя переменной": ANDROID_SDK_HOME -. а в "Значение переменой" путь к вашей папке с SDK: D:\Projects\android-sdk\tools
3. Установка Eclipse IDE. Наиболее популярной средой разработки под Android является Eclipse, поэтому мы будем работать именно с этим ПО. Итак, идем на сайт Eclipse и скачиваем последнюю версию Eclipse Classic.
Затем просто распаковываем архив и копируем папку eclipse в нужное вам место.
Запускаем файл eclipse.exe, появится Workspace Launcher, который предложит вам указать путь к папке с месторасположением ваших проектов.
4. Установка плагина Android Development Tools (ADT). Это плагин к Eclipse для возможности разработки под Android. В меню Eclipse IDE выбираем "Help->Install New Software. " справа нажимаем кнопку Add и в поле "Location" вводим https://dl-ssl.google.com/android/eclipse/
Ставим везде галочки и жмем кнопки Next и Finish. Среда Eclipse сама скачает и установит все необходимые инструменты. Естественно, что ваш компьютер в этот момент должен быть подключен к интернету. После скачивания и установки перезапускаем Eclipse
5. Android SDK Manager. Открываем Eclipse и запускаем Windows->Android SDK Manager. Отмечаем галочками те API, которые нам пригодятся для дальнейшей работы (в дальнейшем вы всегда сможете доустановить или удалить нужные вам API).
Нажимаем Install packages и ждем окончания установки пакетов.
После этого, ваша среда Eclipse IDE готова к разработке под Android.
Android Virtual DeviceAndroid Virtual Device - представляет собой эмулятор Android устройства для компьютера. Он используется для отладки программ в реальной среде выполнения. Эмулятор не поддерживает USB, однако может пригодиться при создании пользовательского интерфейса, поэтому лучше настроить и создать в нем виртуальное устройство.
Для того, чтобы отлаживать ПО на реальном Android устройстве, необходимо будет поставить USB-драйвер, а также в настройках Android включить режим отладки ADB.
После этого, при запуске проекта появится возможность выбора на каком устройстве запустить проект: на реальном или виртуальном:
На этом с установкой ПО закончено. В следующей части статьи мы создадим тестовый проект.
В последующих статьях я не буду подробно расписывать как разрабатывать приложения под Android, т.к. для этих целей существуют специализированные сайты, форумы, книги и другой материал в открытом доступе. Для многих радиолюбителей, некоторые моменты разработки ПО под Android могут оказаться камнем преткновения, поэтому я бы рекомендовал прежде, чем перейти к чтению следующей статьи. немного ознакомиться с разработкой ПО для Android-платформы.
Теги:В данном руководстве рассмотрим возможности библиотеки GSM под Arduino и шилд «Cosmo GSM Connect ».
GSM-lib написанна под Arduino IDE версии 1.0. Скачать последную версию библиотеки с готовыми примерами использования можно из репозитория проекта. Для установки — распакуйте архив GSM в директорию libraries (/arduino-1.0/libraries/GSM). После запуска среды разработки Arduino, в меню программы «File -> Examples» появится пункт GSM, с примерами скетчей.
Библиотека GSM разработана для работы с шилдом «Cosmo GSM Connect ». Она аппаратно совместима с платами Arduino (Uno, Duemilanove и прочие аналоги). При использовании других плат, возможно, потребуется внесение правок в GSM.cpp для указания правильного порта, на который выведена с шилда линия включения модема.
В настоящий момент в библиотеке реализованы следующие функциональные возможности.
Для регистрация модема в сети необходимо указать пин-код симкарты. Важно помнить, что если вы укажете неправильный номер, симкарта может заблокироваться, т.к. функция инициализация будет периодически повторяться до удачной попытки. Процесс инициализации обычно занимает около 1 минуты.
Первичная инициализация выполняется в функции setup().
Отправка SMSДля отправки текстовых сообщений служит функция SendSMS(), в которую передаются 2 параметра — номер получателя SMS и само сообщение.
Где RemoteID — это номер получателя. Эту константу предпочтительнее выносить в заголовок программы.
Текст сообщения можно формировать также динамически.
Прием и разбор SMSДля считывания входящих SMS сообщений служит функция ReadSMS(), в которую передаются 2 параметра — индекс SMS и указатель, куда будет скопирован текст. Ниже представлен фрагмент скетча, в котором разбирается текст входящего сообщения. Когда SMS равен 1 — выполняем некое действие, а когда равен 2 — производим другое действие. Полный пример скетча SmsCheck.ino смотрите в examples .
Примечание. Библиотека GSM умеет работать только с латинскими символами, кириллица в настоящее время не поддерживается.
Прием входящих вызововДанный функционал бывает полезен, когда нужно получить достаточно быструю реакцию от шилда. Если SMS-сообщения могут доставляться с небольшой задержкой, то входящие вызовы происходят практически моментально. К тому же использование такого функционала будет бесплатным, если не брать трубку.
Например, можно сделать вызов на шилд, на Ардуино проверить номер звонящего абонента и в случае совпадения с шаблонным номером — выслать на него SMS с показаниями датчиков. Следующий фрагмент реализует подобный функционал. Полная версия скетча CallCheck.ino смотрите в examples .
Проверка статуса соединения с сетью GSMБывают ситуации, когда соединение с сетью пропадает. Для выявления потери сети служит функция CheckStatus(), которая возвращает 0 в том случае, когда соединение с сетью утеряно. Пример использования приводится в следующем блоке кода.
Выполнение произвольных AT-команд из скетчаДля выполнения AT-команд из скетча используется функция WriteStr_P().