Тестируем VoCore в хакспейсе — микро-компьютер с WiFi на Linux-OpenWrt

в 13:43, , рубрики: diy или сделай сам, OpenWrt, Блог компании MakeItLab, робототехника

Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

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 (мы получили пред-релизные версии), и есть твердое намерение чем-нибудь поуправлять, например, светодиодом.

План такой:

  1. подключить питание к VoCore
  2. подключиться по Wi-Fi к VoCore и зайти через SSH в OpenWrt
  3. собрать на макетке простую схему светодиода резистором
  4. подключить эту схему к GPIO выходу VoCore
  5. реализовать управление GPIO выходом
  6. мигать светодиодом

Приступим.

Первым делом нам надо найти спецификации на пины этой платы:

Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Внимание, т.к. у нас пред-релизная версия — то в релизной — возможны небольшие отличия.

1. Подключаем питание

Мы использовали четыре батарейки по 1.5В. Получаем в сумме 5.5В. VoCore можно питать напряжением от +3.5В до +6.0В.

Поскольку на VoCore пины имеют шаг 1.27, а не 2.54, то для работы с ними пришлось применить специальные «крокодилы».

Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Так получилось, что в нашем примере мы минус поставили на HOLE1 (техническое отверстие для крепления платы) — оказалось, что оно работает как «земля». А нижние левые ноги GND, напротив, не были соединены с землей.

2. Подключаемся к VoCore по Wi-Fi и заходим по SSH

После включения питания — ожидаем порядка 30 секунд пока VoCore загрузится (Linux) и делаем поиск по Wi-Fi. Подключаемся в WiFi точке c SSID «VoCore» (кто бы мог подумать).

После этого заходим ssh на IP 192.168.61.1 и логинимся с реквизитами root/vocore.

Видим знакомую картинку:
Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Теперь мы находимся внутри OpenWrt/Linux — внутри компьютера размером с монетку!

3. Создаём на макетке схемы для светодиода

На макетной плате (без использования паяльника) сделаем простую схему включения светодиода (не забудем про резистор).

Вот схема:
Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Напомню, что в макетных платах — есть внутренняя структура соединения пинов — что обеспечивает контакт без необходимости пайки (вот здесь, указано как соединены пины на макетке)

4. Подключаемся к GPIO VoCore

Для управления светодиодом будем использовать GPIO7.

Подключаем согласно схеме:
Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Вот наш макет в сборе:
Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

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.

Вот, что получилось в конце:
Тестируем VoCore в хакспейсе — микро компьютер с WiFi на Linux OpenWrt

Видео

Конкурс

У нас в хакспейсе есть 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

Автор: Vertebral

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js