![]() |
|
|
#111 |
|
Member
Регистрация: 28.05.2013
Сообщений: 71
Вес репутации: 0 ![]() |
Не знаю как благодарить) всё заработало!
а переменную line вы сами создали или она всё время есть как $QUERY_STRING? и последний наверно вопрос, как переменную line очистить? Последний раз редактировалось zsm; 23.12.2014 в 17:39. |
|
|
|
|
|
#112 |
|
Member
Регистрация: 28.05.2013
Сообщений: 71
Вес репутации: 0 ![]() |
|
|
|
|
|
|
#113 |
|
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 601 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вот дописанный пример простой HTML Кнопки но с обратной связью.
Код:
#!/bin/sh
#Copyright (C) 2013 cyberwrt.ru, duino.ru, cyber-place.ru, mp3car.ru
echo "Content-type: text/html; charset=utf-8"
echo
echo "<title>Button</title>
`cat /www/menu.html`
<br>
<body bgcolor="#f0f0f0">
<style>
.b1 {
font-size: 15pt;
text-align: center;
padding: 20px 40px;
margin-left: 20px;
cursor: pointer;
border-radius:inherit;
letter-spacing: 1px;
min-width: 150px;
max-width: 250px;
}
</style>
<table align=center border=1 style=background-color:f1e1f1 width=550><tr><td align=center>
<table>
<form method=GET action="index.cgi">"
#========== Чтение порта ==========#
echo R > /dev/ttyUSB0 # запрос к ардуйне для передачи состояния пинов
#head -n 1 /dev/ttyUSB0 > /tmp/arduino # и читаем порт. Без задержки но иногда при ошибках чтения зависает
#===== или так читаем порт. С задержкой но не зависает
while read -t 1 line; do
echo $line > /tmp/arduino
done < /dev/ttyUSB0
#=====#
#========== ====================#
krug=1
nols=0
odin=1
for a in 13 3 4 5 6; do
#================ button =================================================#
if [ "$a" -eq "13" ]; then
a=LED
b=""
else
b=D
fi
echo " <tr><td>"Knopka " <b>$b$a</b></td><td>"
#
pos=$(cat /tmp/arduino | awk -F "," '{print $'$krug'}') # print $1 print $2 print $3 print $4 print $5 .....
if [ "$pos" -eq "1" ]; then
nolsu=$nols
odinu=$odin
#===== Для прямых уровней выходов =====#
# vizor=". Включить . "
# novizor="Выключить"
# stl=""
# stlon="style=background-color:FFFFCC"
#===============================#
#===== Для инверсных уровней выходов =====#
vizor="Выключить"
novizor=". Включить . "
stl="style=background-color:FFFFCC"
stlon=""
#===============================#
else
nolsu=$odin
odinu=$nols
#===== Для прямых уровней выходов =====#
# vizor="Выключить"
# novizor=". Включить . "
# stl="style=background-color:FFFFCC"
# stlon=""
#===============================#
#===== Для инверсных уровней выходов =====#
vizor=". Включить . "
novizor="Выключить"
stl=""
stlon="style=background-color:FFFFCC"
#===============================#
fi
opros=$(echo $QUERY_STRING | awk -F "=" '{print $1}')
# ====== сама кнопка ===================================================
echo "<button type=subbmit"
if [ "$opros" -eq "$odinu" ]; then # -eq "1" -eq "3" -eq "5" .....
echo $nolsu > /dev/ttyUSB0 # echo 0 echo 2 echo 4 echo 6.....
echo " name="$nolsu" class="b1" $stl>$vizor $b$a</button>" # name=0 name=2 name=4 name=6....
else
echo $odinu > /dev/ttyUSB0 # echo 1 echo 3 echo 5 echo 7.....
echo " name="$odinu" class="b1" $stlon>$novizor $b$a</button>" # name=1 name=3 name=5 name=7....
fi
# ==================================================================
: $((krug = $krug + 1))
: $((odin = $odin + 2))
: $((nols = $nols + 2))
echo "</td></tr><tr><td></td></tr>"
#================ END - button =================================================#
done
echo "</form></table></td></tr></table></body>"
#===== Надо только при отладке скрипта. Визуал. что отправляем и принимаем =====#
#echo "<p><textarea rows="4" cols="64" name="text" spellcheck="false" placeholder=Text-print? >"
# echo "$QUERY_STRING"
# opros=$(echo $QUERY_STRING | awk -F "=" '{print $1}')
# echo $opros
# echo R > /dev/ttyUSB0
# head -n 1 /dev/ttyUSB0
#
#echo "</textarea>"
#========================================================#
PHP код:
Если не сменить (кому как) то прописать ее в rc.local, подключить ардуйну и перезагрузить. А что бы не ждать перезагрузку то в путти дать команду с подключенной к юсб ардуйной. Код:
stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl /dev/ttyACM0 других нету. А на UNO R3 ch340g убрал с платы. Подключил через pl2303. С открытым вторым портом прием не работает. Последний раз редактировалось melsem; 10.05.2015 в 12:31. |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|