VoCore — это такой микрокомпьютер с Linux/OpenWrt на борту, который совсем недавно с помощью краудфандинга собрал более $100к (из заявленных $6k). Внутри этой штучки: MIPS процессор 360МГц, WiFi 802.11n, Ethernet 10/100Мбит/с, и куча GPIO. Все уместилось на платке размерами 25х25мм!
Ниже мы расскажем о том, как за пять минут заставить VoCore (этот аппарат) выполнять простое действие — зажигать и гасить светодиод. Понятно, что с помощью нехитрых схем, вместо светодиода можно подключить любую другую нагрузку: от лампочки до котла отопления.
А самое главное, мы объявляем конкурс на раздачу трех VoCore тем, кто предложит самые лучшие идеи его применения. Подробности, опять же, под катом!
Более развернутая характеристика VoCore:
- прошивка — OpenWrt;
- процессор — RT5350(360MHz MIPS) (недавно был пост Исследуем китайские роутеры на RT5350);
- ОЗУ — 32Мб SDRAM;
- ПЗУ — 8Мб SPI Flash;
- интерфейсы — 10/100M Ethernet, USB, UART, I2C, I2S, PCM, JTAG, >20 GPIO;
- размер — 25х25мм;
- цена — ориентировочно 80 Юаней в Китае (около 500 руб).
Итак, у нас есть VoCore (мы получили пред-релизные версии), и есть твердое намерение чем-нибудь поуправлять, например, светодиодом.
План такой:
- подключить питание к VoCore
- подключиться по Wi-Fi к VoCore и зайти через SSH в OpenWrt
- собрать на макетке простую схему светодиода резистором
- подключить эту схему к GPIO выходу VoCore
- реализовать управление GPIO выходом
- мигать светодиодом
Приступим.
Первым делом нам надо найти спецификации на пины этой платы:
Внимание, т.к. у нас пред-релизная версия — то в релизной — возможны небольшие отличия.
1. Подключаем питание
Мы использовали четыре батарейки по 1.5В. Получаем в сумме 5.5В. VoCore можно питать напряжением от +3.5В до +6.0В.
Поскольку на VoCore пины имеют шаг 1.27, а не 2.54, то для работы с ними пришлось применить специальные «крокодилы».
Так получилось, что в нашем примере мы минус поставили на HOLE1 (техническое отверстие для крепления платы) — оказалось, что оно работает как «земля». А нижние левые ноги GND, напротив, не были соединены с землей.
2. Подключаемся к VoCore по Wi-Fi и заходим по SSH
После включения питания — ожидаем порядка 30 секунд пока VoCore загрузится (Linux) и делаем поиск по Wi-Fi. Подключаемся в WiFi точке c SSID «VoCore» (кто бы мог подумать).
После этого заходим ssh на IP 192.168.61.1 и логинимся с реквизитами root/vocore.
Видим знакомую картинку:
Теперь мы находимся внутри OpenWrt/Linux — внутри компьютера размером с монетку!
3. Создаём на макетке схемы для светодиода
На макетной плате (без использования паяльника) сделаем простую схему включения светодиода (не забудем про резистор).
Вот схема:
Напомню, что в макетных платах — есть внутренняя структура соединения пинов — что обеспечивает контакт без необходимости пайки (вот здесь, указано как соединены пины на макетке)
4. Подключаемся к GPIO VoCore
Для управления светодиодом будем использовать GPIO7.
Подключаем согласно схеме:
Вот наш макет в сборе:
5. Инициализируем GPIO
Для работы с GPIO выходами, мы будем использовать GPIO Sysfs — это механизм работы с GPIO как с файловой системой.
Для управления GPIO выходом — надо будет просто создать соотв. файл и записывать в него 0 или 1.
Выполняем следующие действия в консоли:
cd /sys/class/gpio
echo 7 > export
cd gpio7
echo out > direction
Мы перешли в виртуальную файловую систему — "/sys/class/gpio", подключили «7»-ой GPIO, и указали его направление «out».
6. Зажигаем и гасим светодиод
Теперь, когда порт настроен, мы можем изменять значение с помощью записи значения (1 или 0) в файл «value».
Зажигаем светодиод, передавая на GPIO7 истину:
echo 1 > value
Ну и гасим (выдача 0):
echo 0 > value
Прочитать подробнее про GPIO sysfs здесь: GPIO Sysfs Interface for Userspace.
Вот, что получилось в конце:
Видео
Конкурс
У нас в хакспейсе есть 3шт VoCore, которые мы готовы бесплатно выслать. Для этого мы объявляем Конкурс. Основная цель конкурса — посмотреть насколько проект VoCore станет интересен читателям хабра.
Конкурс будет состоять из двух этапов. Первый этап продлится с настоящего момента по 12.10.2014. За это время требуется сформулировать идею проекта, либо показать наработки с аналогичными системами (на базе OpenWrt или с использованием других микрокомпьютеров).
Заявку можно подать заявку двумя способами:
1) опубликовав комментарий под этим постом;
2) прислав описание на почту hackspace@makeitlab.ru
На втором этапе мы проведем голосование по 10 понравившимся работам, и выберем из них три лучших ( с 13.10.2014 по 19.10.2014 ). При этом, два победителя будут выбраны по наибольшему числу голосов, а одного выберем субъективно за наиболее всего понравившийся проект.
В заявке приветствуется:
1) наличие готового аналога на базе OpenWrt;
2) наличие аналога на прочих микрокомпьютерах;
3) подробное описание и история создания;
4) ссылки на код, если проект открытый.
Анкета
Так же, у нас появилась идея заказать партию VoCore прямо на заводе в Китае. Чтобы это сделать, потребуется оценить потенциал рынка. Если у вас появился интерес в данном девайсе, не поленитесь, заполните пару поле в этой анкете. Чем больше желающих появится, тем дешевле выйдет VoCore!
Напоследок, пара полезных ссылок:
Проект VoCore на IndieGoGo
Официальный сайт проекта VoCore
PS: За предоставленные для теста и конкурса VoCore — спасибо targence
Второе огромное спасибо за подробный алгоритм дергания пинов в OpenWrt выражаем apatrushev