Управляем устройством с Андроида по DTMF




По работе (SIP телефония) переодически бывает нужен DTMF бипер.Недавно старый китайский сломался, а новых на Митьке не нашел.Похоже эра «АОН» и разных «причиндалов» закатилась :)Решил написать для своего мобильника Samsung Galaxy S бипер, а заодно реализовать управление разными железками по DTMF через аудио выход.Создатели Андроида вообще постарались оградить пользователей от «железа», но аудио выход к счастью ограничеть по понятным причинам не могут.Схема подключения к аудио выходу проста как правда.Это микросхема DTMF декодера, стоит порядка 20руб.Если набираем на клавиатуре 1,2,4,8 и нажимаем SEND то получаем «бегущий огонь».Можно включать выключать нагрузки по отдельности.Есть возможность вводить паузу между переключениями.Можно прикрутить чтение данных по переключениям из файла или скриптовый язык.Но это может быть, позднее.Много работы.Может кому-то пригодится.Андроиды стремительно дешевеют, а как база для автоматизации вполне не плохи.В следущий раз напишу как в AUDIO выход выдавать RS232 данные, там можно что-то посерьезнее поавтоматизировать. :)
  • 0
  • 08 октября 2012, 09:47
  • alexhi
  • 1
Файлы в топике: dtmf_dialer.zip

Комментарии (14)

RSS свернуть / развернуть
эм. открою страшную тайну: у любого телефона есть генерилка DTMF искаропки. им это просто положено по определению.
как иначе ходить по всяким голосовым менюшкам операторов и прочей гоп-компании?
0
Я же написал для своих нужд и sip.Мне например нужен скрипт для включения эл.замка.Набор цифр, и пауз включая АВСD.Да eще дается тон 440 гц для блокировки микрофона.Раньше это делалось приблудой на атмеге48.Теперь с телефона.Со стандартной клавой это не выйдет.:)Ключевое слово для себя;) под свои задачи.
0
так тогда это совсем не DTMF.
0
Это дтмф только с возможностью вставлять свои частотные посылки.ИСтандартное оборудование на них не реагирует, а свое понимает.Вот и вск.
0
В следущий раз напишу как в AUDIO выход выдавать RS232
AudioSerialOut из маркета, нет?
0
Конечно есть.Ну и что? Я же не претендую на лавры первенства :) тем более что моя прога которую я сейчас делаю, основана на SerialOut.Просто когда стоит конкретная задача, то бывает что программа скаченная из маркета не совсем подходит, или по каким то причинам ее нельзя использовать.Вы почитайте форумы по антроид, то там то тут вопросы типа «как подключить к андроиду» лампочки.И ответы «guru» надо просто откомпилить драйвер FTDI, от которых переодически тошнит.Или отсыл к платам типа IOIO и др. с их ценами.А многи задач по автоматизации, умному дому, робототехники решаются, просто через аудио выход.Если кому то это поможет, буду только рад.Сорри за ошибки пишу с тел.из Турции :)Планирую по окончании выложить исходники где-то на тем. форуме.
0
Offtop: MIUI? :)
0
  • avatar
  • arch
  • 08 октября 2012, 18:11
Ну да, просто нравится хоть и подглючивает иногда :)
0
у меня есть линк на проект бутлоадера для меги88 и программатора для для виндовса
там через аудиовыход идет прошивка или можно использовать код для организации протокола передачи через такой интерфейс, как раньше у спектрумов
при частоте 44кгц довольно шустро передает
0
Я пробывал через audio на 9600бод, моя железка нормально работает.C чтением audio порта проблемы, пока не получается RS232 на вход.Сейчас по моему есть порты avrdude для ANDROID.Хотелось бы нечто общее, без перепрошивки телефона или планшета.Видел у турок, в телефон в audio вход подключена маленькая коробочка, а к ней считыватель бесконтактных карт.Прикольно.
0
при использовании аудио обычно не применяют цифровые протоколы из-за смазывания фронтов за счет конденсаторов
делается резистивный цап на 4 бит

на спектрумах спецаильно на входе стоял компаратор для четкого разделения 1 и 0
кстати можно еще использовать 2х частотное кодирование нулей и единиц, как это и было в спектруме
0
Да на выход и вход компоратор однозначно компаротор однозначно, я еще программно устанавливаю максимальный уровень громкости(от него сильно зависят фронты)С передачей на микропроцессор со скоростью до 19200 (выше не пробывал) проблем нет.Все работает, а вот с приемом, анализом на «лету» пока грабли.Двух частотное кодирование и манчестер не очень бы хотелось применять, так как rs232 практически во всех микроконтроллерах встроенный(аппаратный), а тут надо делать софтовый.Не всегда удобно/возможно.Пока думаю.
0
Интересная идея.
Хотя, как по мне, более гибко и безопасней для девайса использовать блютуз.
0
  • avatar
  • Nfc
  • 09 октября 2012, 08:38
С беспроводными соединениями я пробывал.Там такая ситуация.С блютулс наиболее просто.Соединили и гоняем данные, но не на всех устройствах он есть(у меня например на бюджетном планшете Explay Informer 701 его нет), а ставить внешний USB свисток — занимать USB порт планшета.Цена вопроса тоже не совсем гуманная.С WIFI я делал такое решение.Покупал мини роутер TP-LINK mr30220 (можно и другой), но у этого цена порядка 800 руб.Ставил на него OPENWRT, припаивал на консоль, получал RS232.На роутер ставил утилиту ser2net(получаем шлюз TCP сервер<--->RS232) или утилитой netcat перенаправлял данные с сети на RS232 типа nc -p5000 -l > /dev/ttyATH0. Все работает, цена вопроса около 1000руб. Расстояние примерно метров 30.В роутер можно еще обработку ввести при необходимости.Кстати для тестирования соединения пришлось на андроид написать ТCP и UDP терминал.Внятные на маркете не нашел.Если надо могу выложить.Но в моих приложениях (SIP и автоматизация WIFI) часто не «катит».Либо стены, либо запрещено.Если надо соединиться по сети, то сейчас ставим «кастомную» прошивку на планшет и покупаем китайские переходники USB LAN примерно 500 руб.C аудио заморачиваюсь только из за интереса и возможности в дальнейшем делать приложения для IOS у них там вообще с подключениями «труба».А у некоторых моих заказчиков «понты».Андроид -фуфло ,IPAD «рулез» :)
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.