![]() |
![]() |
#1 |
Junior Member
Регистрация: 28.04.2013
Сообщений: 2
Вес репутации: 0 ![]() |
![]()
Сварганил макет интернет-радиоприемника. Коробочка по UART периодически посылает информацию по UART наружу с информацией о станции и композиции:
Код:
while true do name=$(echo "currentsong" | nc localhost 6600 | grep -e "^Name: ") #echo $name echo $name > /dev/tts/0 title=$(echo "currentsong" | nc localhost 6600 | grep -e "^Title: ") if [ -z "$title" ] then title="Title: NULL" fi #echo $title echo $title > /dev/tts/0 sleep 1 done Есть неприятный затык - например по прерыванию таймера опрашиваю клаву и хочу изменить громкость, номер станции и т.д. Периодический прием данных мешает, что сказывается на реакции на нажатие кнопок. Задумка - переделать программу внешнего устройства, чтоб оно само запрашивало по UART необходимые данные, как-то: Name? -> коробочка отвечает Name: Бла-бла-бла Ткните, в какую сторону рыть UART ругается на неправильные команды чувствую, что нужен кой-нить демон для обработки юзеских команд, которые наверно должны идти в качестве параметров... |
![]() |
![]() |
![]() |
#2 |
Junior Member
Регистрация: 28.04.2013
Сообщений: 2
Вес репутации: 0 ![]() |
![]()
Решено
Код:
#! /bin/sh while true do input="" until [ -n "$input" ] do input=$(head -n 1 < /dev/tts/0) done echo $input #здесь выводится НЕ пустая строка, поступившая по UART done |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|