Электронный компонент:Плата Arch GPRS V2
Черновик |
Плата Arch GPRS V2[1]
Arch GPRS V2 – это улучшенная версия микроконтроллерной платы Arch GPRS от компании Seeed Studio. Как и оригинальная Arch GPRS, вторая версия тоже поддерживает использование платформы mbed, а также оснащена микроконтроллером и модулем сотовой связи. Впрочем, во второй версии микроконтроллер LPC11U24 уступил место LPC11U37. Кроме того, для работы с Arch GPRS V2 можно использовать mbed SDK (C/C++), библиотеки и онлайн-инструменты (например, онлайн-IDE). Модуль сотовой связи, установленный на Arch GPRS V2, сделан на основе 4-диапазонного GSM/GPRS модуля SIM900 от SIMCom. Благодаря ему сбор данных выполняется по сотовой связи (2G, GSM/GPRS). Плата Arch GPRS V2 оснащена стандартным интерфейсом Arduino, а также несколькими Grove-портами, что позволяет подключать к ней не только Arduino-шилды, но и разнообразные Grove-модули. Вы даже можете напрямую подключить к ней солнечную панель, чтобы с ее помощью заряжать батарею. Кроме того, разработчики заявляют, что плата Arch GPRS V2 сделана с прицелом на низкое энергопотребление, благодаря чему она может часами работать в автономном режиме.
Купить плату Arch GPRS V2 можно по этой ссылке.
Примечание: Плата Arch GPRS V2 не имеет интерфейса mbed. Поэтому для вывода отладочной информации используйте интерфейс USBSerial.
Особенности
- Особенности, связанные с платформой mbed
- Контроллер NXP LPC11U37
- Модуль SIM900
- Зарядка батареи от солнечной панели или 5-вольт, идущих от USB-разъема
Различия между Arch GPRS V2 и Arch GPRS
Параметр | Arch GPRS V2 | Arch GPRS |
---|---|---|
Микроконтроллер | LPC11U37 | LPC11U24 |
Модуль GSM/GPRS | SIM900 | EG-10 |
Карта MicroSD | Да | Нет |
Распиновка и расположение компонентов
С чего начать
- Залогиньтесь в mbed. Сделать это можно здесь.
- Импортируйте программу «mbed_blinky».
- Убедитесь, что код, импортированный в файл «main.cpp» проекта «mbed_blinky» (его можно найти в левой части онлайн-IDE, в секции Program Workspace), соответствует тому, что показан на картинке выше на скриншоте 3. Также убедитесь, что платформа, выбранная для компиляции кода – это Seeeduino-Arch. Теперь скомпилируйте код. Когда IDE попросит вас сохранить бинарный файл (файл с расширением «*.bin»), сохраните его где-нибудь на своем ПК.
- Теперь подключите Arch GPRS V2 к ПК, а затем нажмите и удерживайте кнопку сброса на плате. В результате на ПК должен автоматически появиться диск «CRP DISABLD». Откройте его, удалите сохраненный на нем файл прошивки, а затем скопируйте туда файл «*.bin», сохраненный в 3 шаге. Затем нажмите и отпустите кнопку сброса на Arch GPRS V2, чтобы запустить новую прошивку.
- Проверьте, правильно ли запустился код. Для этого взгляните на плату Arch GPRS V2. Если мигает самый правый светодиод (плата должна быть расположена как на картинке в разделе «Распиновка и расположение компонентов»), а три остальных включены, то это значит, что код работает.
Теперь загрузите на Arch GPRS V2 вот этот код (он заставляет светодиоды вести себя по-другому):
#include "mbed.h"
DigitalOut myled1(LED2); // самый левый светодиод
// (плата должна быть расположена
// как на картинке в разделе
// «Распиновка и расположение
// компонентов»)
DigitalOut myled2(LED3); // 2-ой светодиод слева
DigitalOut myled3(LED4); // 3-ий светодиод слева
DigitalOut myled4(LED1); // 4-ый светодиод слева (самый правый)
int main() {
while(1) {
myled1 = 1; // включаем самый левый светодиод,
myled2 = 0; // а остальные выключаем
myled3 = 0;
myled4 = 0;
wait(1); // ждем одну секунду
myled1 = 0;
myled2 = 1; // включаем второй светодиод слева,
myled3 = 0; // а остальные выключаем
myled4 = 0;
wait(1);
myled1 = 0;
myled2 = 0;
myled3 = 1; // включаем третий светодиод слева,
myled4 = 0; // а остальные выключаем
wait(1);
myled1 = 0;
myled2 = 0;
myled3 = 0;
myled4 = 1; // включаем четвертый светодиод слева
// (т.е. самый правый), остальные выключаем
wait(1);
}
}
Если вы скомпилируете и загрузите на Arch GPRS V2 код выше, светодиоды платы начнут мигать по принципу бегущей строки – сначала будет загораться один, потом второй и т.д., и так по кругу.
Итак, если вы успешно выполнили все шаги выше, это значит следующее:
- К плате Arch GPRS V2 правильно подключено питание
- Код был правильно загружен, установлен и запущен на Arch GPRS V2
- Вы готовы к выполнению более сложных проектов!
Запись прошивки на Arch (на Windows, Linux и Mac)
Плата Arch GPRS V2 не оснащена интерфейсом mbed, поэтому для апдейта прошивки нужно использовать USB ISP (от «in-system-programming», что значит «внутрисхемное программирование»). Чтобы войти в режим USB ISP, подключите Arch GPRS V2 к ПК, а затем зажмите и удерживайте кнопку сброса на плате, пока на ПК не появится диск «CRP DISABLD».
Действия для Windows:
- Удалите файл «firmware.bin» на диске «CRP DISABLD»
- Скопируйте на диск «CRP DISABLD» новую прошивку
Действия для Linux:
- Если диск не монтирован, то смонтируйте его на {mnt_dir}
- Впишите команду dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc
Действия для Mac:
- Откройте терминал
- Скопируйте на Arch GPRS V2 файл с расширением «*.bin». Для этого впишите в терминале следующее: dd if={new_firmare.bin} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
Если хотите, то можете также создать приложение Automator, с помощью которого файл на плату можно будет копировать методом «drag-n-drop». Для этого запустите в терминале следующий скрипт:
dd if=$* of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
Вам также нужно будет поменять значение в опции Pass Input – с to stdin на as arguments. Если этого не сделать, в логах выскочит ошибка The action 'Run Shell Script' encountered an error или dd: no value specified for if (1).
Кроме того, вот улучшенная версия этого скрипта: dd if=”${1}” of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc. Он занимается пробелами в пути к файлу и использует только самый первый скопированный файл. Чтобы запустить новую прошивку, нажмите и отпустите кнопку сброса на Arch GPRS V2.
Полезные ссылки
Схемы
Приложения и библиотеки
- Библиотека GPRS
- Использование платы Seeeduino Arch для отладки другой Seeeduino Arch
- Использование платы Seeeduino Arch для считывания температуры и влажности
- Демо-проект для Grove-модуля с RTC-часами
- Демо-проект для Grove-модуля с ультразвуковым дальномером