№ 5228 В разделах: Радиолюбительство
Electronics
Programming
Sysadmin
от June 15th, 2013,
В подшивках: Raspberry Pi
Сначала нужен маленький компьютер, который будет принимать и отправлять данные на радиостанцию. Для этого я взял компьютер Raspberry Pi, обладающий выводами GPIO, Wifi карточку и USB звуковую карту. Ставим Debian, делаем автоподъем Wifi сети, ставим софт для управления выводами gpio и устанавливаем php скрипт передачи в cron.
Скрипт довольно простой и сводится к пересылке данных между Google TTS и Raspberry Pi.
function say($event) { $cmd='mplayer -nolirc -prefer-ipv4 -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&tl=ru&q=\''.$event.'.\'"'; exec($cmd); } #get raw data $news_raw=file_get_contents('http://news.vtomske.ru/rss/js/5/5/tomsk/'); $termo_raw=file_get_contents('http://termo.tomsk.ru/data.txt -q -O-'); #prepare date $time=date("G:i"); #prepare termo $termo=round($termo_raw); if ($termo>0) $znak="плюс "; elseif ($termo<0) $znak="минус "; else $znak=""; $termo_abs=abs($termo); $termo=" $znak $termo_abs °C"; #prepare news $news_raw=str_replace("document.write('","",$news_raw); $news_html=str_replace("');","",$news_raw); $news=strip_tags($news_html); $cut=substr($news,0,16); $news=str_replace($cut,"",$news); $news=str_replace("(фото)","",$news); $news_utf8=trim(iconv("cp1251","utf8",$news)); $news_utf8=str_replace("(фото)","",$news_utf8); $news_array=split("\n",$news_utf8); #####################################333 say('Томское время '.$time); say("Температура воздуха".$termo); say('Последние новости Томска'); foreach($news_array as $event) { say($event); } say('Температура предоставлена сайтом termo точка tomsk точка ru.'); say('Новости от портала vtomske точка ru .'); say('Общаться между собой, а также с владельцем радиостанции'); say('можно через группу в контакте томск дорога.'); say('Передачи ведутся каждые 30 минут.');
Как видите, все можно писать прямо текстом, а кое где Google даже сам додумывает! Например, с температурой (с помощью знака градуса) и временем. В отличии от первого костыльного скрипта этот настоящий прорыв 🙂 Не забудьте перед началом вашей трансляции включить радиостанцию на передачу, а потом выключить. Жужжать в эфир не хорошо 🙂
Кабель для подключения радиостанции к компьютеру состоит из 2 частей: RX и TX. Если RX это просто выход с радиостанции, подключеный через трансформатор LM-NP-1001-B1 к микрофонному входу звуковой карты, то TX гораздо сложнее. Он должен полностью изображать тангенту и иметь внешнее питание, т.к. сигнальный провод не вытянет сразу 2 реле.
Диод подойдет практически любой. Хоть со старого советского приемника отпаяйте, как сделал я. Это нужно, чтобы по транзистору не долбанул обратный ток.
Теперь нужно найти схему вашей тангенты и воссоздать ее. У меня тангента подойдет к нескольким моделям. Я делаю на MJ-350.
Не забудьте применить трансформатор LM-NP-1001-B1 на место микрофона, чтобы гальванически развязать вашу Raspberry Pi и радиостанцию.
Теперь можно подключать сигнальный провод к GPIO, подключать внешнее питание для реле и втыкать разъемы. Дергать ногой активации передачи можно прямо из консоли при запуске скрипта.
Сейчас на основе этих материалов работает репитер в г. Томск, обслуживая автоканал на 27 МГц. Чтобы при прохождениях передатчик не сгорел к Raspberry Pi подключен датчик температуры, который не даст силовым транзисторам перегреться. Не забудьте, чтобы транзистор передачи не звенел, когда температура будет колебаться около критической нужно ввести полосу бездействия. Например, передачи отключаются при температуре 60 и более градусов, а включаются при температуре 50 и менее.
Схема и исходники
Томский автоканал
Fortune cookie: Today's spam: PR.IVACY ALERT! YOU HAVE BEEN DETECTED VISITING AD.ULT WEB SITES!
Leave a Reply