2013-02-21 2 views
2

Я ищу учебники и руководство, а не код.Волновая обработка и малина Pi

Я разрабатываю проект, и ядро ​​работы написано на C++, и мне нужно создать пользовательский интерфейс для платформы Andriod. Android приложение будет работать так:

Задача 1:

Там будет кнопка, в которой пользователь может «нажать», в котором они могут говорить, это затем преобразуется в файл .wav (установка частоты дискретизации и т. д.). Затем это будет отправлено в библиотеку (которая написана на C++), а затем результат от этого будет отправлен обратно в интерфейс.

Задача 2:

Мне нужен способ, чтобы отправить небольшой фрагмент данных (после событий выше) к Raspberry Pi, в котором он будет инициировать некоторые LEDS. (Я закончил часть LEDS).

Я думал, что, возможно, возможно использовать сокеты. В этом малины Pi «слушают» данные, которые нужно отправить (это будет только 1 или 0), а затем, если «1» будет получено, он затем инициирует событие. Это звучит как хороший метод?

Было бы лучше разработать это приложение с использованием SDK (Java) или просто завершить весь проект на C++?

Любая помощь, советы и/или учебные пособия было бы весьма признателен

+0

Какие учебники вы ищете? есть ли у вас какие-либо знания об андроид-разработке или начинаете с нуля? –

+0

@TomMekken Эй, я запрограммировал на Java раньше, что, я полагаю, это то, что использует SDK. Так что просто общая отправная точка, если угодно. – Phorce

ответ

1

Решение Socket звучит достаточно сложно, поскольку я не уверен, ссылаетесь ли вы на сокет домена unix или на интернет-разъем tcp. unix socket vs tcp. Кроме того, вам нужно выяснить, как вы определяете протокол связи для этого сокета, чтобы Pi мог отличить фактический сигнал от случайного спама/бомбардировки.

Альтернатива + Быстрый & Грязное решения будет

  • написать приложение для Android, как правило, с официальным SDK и так далее.отправьте сигнал через Интернет, обернутый простым методом HTTP get
  • настройте легкий и мертвый простой демон http на Pi с привязкой сокета cgi. Вы можете написать свою программу сокетов так же, как вы планировали.

Конечно. если ваша среда строго контролируется. вы можете просто использовать сокет домена unix для решения проблемы.

0

Хорошо для основы Androidprogramming this is a good start я предполагаю.

К вашей первой проблеме кажется, что this Tutorial может вам помочь.
Для вашей второй проблемы я бы использовал Bluetooth - последовательную связь. Bluetooth-API имеет хорошие учебные пособия на DeveloperPage, поэтому вы можете отправлять все, что хотите, через Bluetooth, который уже включен в Android. Серийная часть поддерживается Pi по умолчанию.

Тогда вам нужен Bluetooth-RS232 Dongle, например this one, который вы можете подключить к своей малине (у меня есть тот же BT-Dongle, и он довольно прост в использовании). Подключите Bluetooth-Serial-Dongle к вашему RXD и TXD-контакту на вашей малине (см. Прилагаемый рис.) enter image description here
и вы можете отправить все, что хотите, на свой Pi (вы получаете свои данные на Pi on/dev/ttyACM0 или что-то аналогичный).


Надеюсь, это поможет вам немного. Кажется, это большой проект. Удачи ему