Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2014, 16:19   #33
borey
Member
 
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0
borey is an unknown quantity at this point
По умолчанию Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB

Подвожу итог - вдруг кому-то понадобится:

1. патч помог, теперь даже без хаба arduino с MR3020 работает стабильно
2. на всякий случай (скрипт подвис или еще чего) заморочился с перезапуском скрипта
3. почему при проверке ps | grep 'abc' показывает на один процесс больше (3 вместо 2 при первом запуске, 4 - при одной работающей в фоне копии и т.д.), я так и не понял и решил сделать проверку так:

/arduino_xchg запускаю в фоне по крону раз в минуту:

PHP код:
#cat /arduino_xchg

#!/bin/sh

# get last action time or 0 if first run
if [ -"/tmp/last_send" ]; then
        LAST
=`cat /tmp/last_send`
else
        
LAST=0
fi

NOW
=`date +%s`
let DELTA=$NOW-$LAST
TIMEOUT
=180

if [ $DELTA -le $TIMEOUT ]; then
        
# exit if another the same script is working normally
        
echo "already worked ($DELTA sec)"
        
exit 0
else
        
# if last action was so long before - kill all the existing processes (and itself too - it will run after one minute)
        
ISWORK=`ps | grep '{arduino_xchg}' | wc -l`
        if [ 
$ISWORK -gt 3 ]; then
                killall 
'arduino_xchg'
        
fi;
fi;

stty -/dev/tty$USB raw speed 9600
while read i; do

        
# do something useful

        # upd last action time
        
NOW=`date +%s`
        echo 
$NOW > /tmp/last_send

done 
</dev/ttyUSB0 
C удовольствием выслушаю критику.
borey вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:14. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика