Запускаем Cubieboard2 UART

Для работы с UART на Cubieboard2 под Android необходимо:

  1. Поставить Android Terminal Emulator
  2. Поставить например Serial Port API Sample или любую другую программу для работы с UART
  3. Иметь на компе любой терминал. Я использую такой терминал

Теперь собственно мы готовы к работе.

Запускаем Терминал эмулятор

Пишем в нем:

$ su
# ls -l /dev/ttyS*

Получаем список UART портов. У меня ttyS0, ttyS2. У них нет прав на запись и чтение, даем их им (по этому поводу моно почитать здесь):

# chmod 666 /dev/ttyS*

ОК. Идем дальше. Запускаем Serial Port:

Setup -> Device -> /dev/ttyS0
Setup -> Baud rate -> 115200

Нажимем Loopback.

Соединяемся

Теперь требуется каким-либо образом соединить UART компа с устройством.

Для этого можно использовать FT232RL или плату о которой я говорил в прошлый раз. Если используете DVK521 то не забудьте подключить проводок:

На Cubie и на DVK521 соединить UART.

Переходим к компу

К USB порту на расширительной плате подключаем комп. Драйверы для платы PL2303 можно установить здесь.

Запускаем Terminal на компутере. Выбираем соответствующий COM порт и скорость 115200, соединяемся. Если на Cubie запустить Loopback то в Терминале сразу польется поток хрени. Это значит что все работает.

Более вразумительной проверкой работоспособности можно в Console

Первый запуск DVK521 Cubieboard

Напишу пока не забыл.
Купил такую штуку

Для Cubieboard
Вот есть видео как ее установить

Там в видео одна проблема, провод для Тач Скрина (маленький) надо вставлять синей стороной вверх с обоих концов.

И лучше сразу выдернуть Джампер BUZ_JMP. С ним при старте платы идет долгий писк.

Запуск на андройде

Запуск на Android требует дополнительных усилий. А именно обновление прошивки. На этой страничке есть образ (img) для платы с Android 4.2 адаптированный под плату. Чтобы его установить без лишних плясок с бубном вам понадобится PhoenixSuit. В папке с ним есть установщик драйверов, его необходимо запустить. После запускаем саму программу. Следуя инструкции отсюда нам надо:

  1. Запустить Suit
  2. Открыть закладку Firmware
  3. Выбрать необходимый образ
  4. Подключить кабель miniUSB к порту USB OTG на Cubieboard
  5. Нажать на Cubieboard на кнопку FEL расположенную на торце платы, возле разъема USB OTG
  6. Не отпуская кнопку подключить кабель USB к ПК
  7. После подключения к ПК, зажатую кнопку FEL отпустить (Отпустить только после запуска установки на компе)

Он ставится где-то минуты 2 и все ОК.

Hello world для Cubieboard2

Download a Free Game!

2014-04-01 15.46.26

Рассмотрим как быстро и просто задействовать GPIO на Cubie. Рассмотрим для начала ручное мигание светодиодиком, а потом уже и собственно напишем программу.
И так.
Хочу заметить, что мы так и остаемся на прошитом Android.

Описывать как подключить к монитору и воткнуть в USB мышку я рассказывать не буду.
Первым делом Вам надо будет скачать из Google Play или с любого другого ресурса Terminal Emulator
Для этой программы, есть Wiki, на случай вопросов. Вообще команды в андройде как и в линуксе. Так что знакомым будет просто. А для таких же как и я буду все рассматривать подробно.
Запускаем эту программу и пишем в ней первым делом

su

Это необходимо для переключения пользователя SwitchUser. После этого у вас место знака $ появится # перед курсором. Это значит что вы имеете права root пользователя.

По умолчанию прошивка собрана с этими правами, так что должно все работать, но если у вас нет root прав, то придется менять прошивку.

Далее пишем

# echo 214 > /sys/class/gpio/export
# ls /sys/class/gpio/
export 
gpio214
...
unexport

Первая команда задействует порт под номером 214, это порт PI13 находится он в левом верхнем углу (самый крайний порт). Следующей командой мы проверяем его наличие.

Названия портов Cubieboard2

Через 2 порта вниз GND. Собственно эти 2 порта нам и понадобятся сейчас.

Ваша задача подключить длинную ножку светодиода к порту PI13, а короткую через резистор номиналом около 330 Ом к порту GND.

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

# echo out > /sys/class/gpio/gpio214/direction

соответственно, чтобы сделать порт входом надо заменить OUT на IN. Далее мы можем узнать состояние порта

# cat /sys/class/gpio/gpio214/value 
0

и изменить состояние порта

# echo 1 > /sys/class/gpio/gpio214/value 
1

Теперь записывая в порт 0 или 1 вы можете переключать светодиод подключенный на этот порт. При value == 0 через светодиод не течет ток, а при value == 1 через светодиод течет ток. Этот ток пропорционален  сопротивлению стоящему последовательно со светодиодом. Так что будьте внимательны! Если поставить слишком маленькое сопротивление, то можно сжечь порт, а если слишком большое то светодиоду может не хватить для эмиссии.

Далее некоторые полезные ссылки

Cubian wiki GPIO-Introduction Оригинал на английском.

habrahabr.ru Общая информация о плате

habrahabr.ru Сервер на такой плате

we.easyelectronics.ru еще один обзор с подключением через putty

likeaferrari.wordpress.com похожая статья на английском

How to access GPIO pins on a Cubieboard 2 инструкция от разработчиков платы

Space Surfers [RU]

icon

 

Описание

ПРОЛЕТИ так долго, как только сможешь!
УВОРАЧИВАЙСЯ от астероидов, космического мусора и космических станций!
ВЫПОЛНЯЙ квесты каждый день и получай монетки!
ПОКУПАЙ улучшения и новые корабли!

Помоги Починить спутники и выполняй задания.
★ Летай по безграничному космосу на различных кораблях
★ Красочная графика!
★ Полеты в подпространстве!
★ Мощный бластер, работает на энергии варпа!
★ Набор кораблей с индивидальными характеристиками!
★ Управление кораблем с помощью жестов!
★ Бросай вызов своим друзьям и помогай им!

Универсальное приложение, схожее с Subway Surfers , Temple Run .

Links

 Direct Download

Android app on Google Play gamedev

http://vk.com/space.surfers

https://www.facebook.com/groups/space.surfers/

http://devgamm.com/moscow2014/games/

 

 

Space Surfers

RU FR DE ES

icon

Description

SURVIVE as long as you can!
DODGE against asteroids, space debris and space stations!
COMPLETE the quests every day and earn the coins!
BUY new space ships and upgrades!

Help with repearing Sputniks and complete the quests.

★ Surf the limitless space on the different space ships
★ Colorful graphics!
★ Warp treveling!
★ Powerfull blaster, use the warp enegy to destroy asteroids!
★ Collection of space ships with different characteristics!
★ Controll the space ship by gestures!
★ Chalange your friends and help them!

Links

 Direct Download

Android app on Google Play
gamedev

http://vk.com/space.surfers

https://www.facebook.com/groups/space.surfers/

http://devgamm.com/moscow2014/games/

 

 

Bluetooth Чат на Android

Решил разобраться с работой блютуса и всеми его возможностями. Для этого надо найти расширение для as3 и пока что написать простенькое приложение. В общем, задача тривиальная, сделать чат через блютус.

А уж как применить возможности блютуса далее – это ваше дело. Как минимум 2 интересующих меня направления:

  • Связь P2P для чатов, пвп, и т.д.
  • Связь App – MC
    • RC control
    • Использование как периферийное устройство для телефона
    • Использование как  управляющий процессор

И так что нам понадобится

  1. Любая среда разработки Flash (Я люблю Flash Prof.)
  2. AIR 3.2 +
  3. Расширение для as3 (качаем здесь)

В ссылке по п.3, есть пример как связать Arduino и Ваш телефон, но мы решаем немного другую задачу.

Приложение

будет выглядеть вот примерно так,

Без имени-1

и на главную сцену добавим скрипт который я выложу в конце.

Сначала рассмотрим принцип соединения 2х блютус устройств на примере моей программы:

  1. Включаем блютус (в проге нет, подразумевается, что включили вручную, и кстати сделали видимым)
  2. Создаем блютус устройство ( var bluetooth:Bluetooth = Bluetooth.currentAdapter(); )
  3. Проверяем наличие на борту блютуса ( Bluetooth.isSupported() )
  4. Разрешаем подключение к нашему устройству ( bluetooth.serverMode = true; )
  5. Ищем все устройства поблизости ( bluetooth.scanForVisibleDevices(); )
  6. Ждем появления отклика устройств и записываем их в лист ( BluetoothScanEvent.BLUETOOTH_DEVICE_FOUND )
  7. Как только поиск закончен, даем пользователю выбрать устройство с которым хотим соединится
  8. Записываем выбранное устройство ( bDevice = event.target.n; )
  9. Подключаемся к выбранному устройству ( bDevice.connect();  )

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

Подводные камни

Самое главное, все над чем я так долго сидел.

1. Разрешение и extensionID в -app.xml

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Очень важная хрень:

<extensions><extensionID>com.as3breeze.air.ane</extensionID>
</extensions>

2.Правильно подключить библиотеку. Надо не забыть подключить библиотеку в AS3 settings в закладке Library path, но и проверить ее наличие в Настройках публикации в списке Included files

Без имени-1

 

3. У меня лично программа не запускалась на компе, так что отладку приходилось делать чисто на планшете и телефоне

 

Приложение:

  • Проект для FP bluetooth
  • APK можно сразу потестить на телефоне app (не забудте поменять расширение на .apk)