Rozgryzłem trochę problem z zdalnym sterowaniem, o którym wspominałem kilka postów temu. Przeprowadziłem kilka prób i oto rezultaty.
Dla przypomnienia: Podłączony przycisk pod INPD w pierwszym LK, zdalnie wyzwala wyjście w drugim LK.
Jeżeli wcisnę przycisk po dłuższej przerwie (ok 30 min) to wyjście drugiego LK było wyzwalane dopiero przy drugim wciśnięciu przycisku.
Następne wciśnięcia przekazywane są bezproblemowo 1:1, aż znowu nie pojawi się przerwa w wciśnięciach wówczas system znowu przysypia.
Jako "obserwator" końcowy podpięty pod OUT była brama wjazdowa z wyjściem zerowanym po 2sek.
Wyniki "podsłuchu" LK odbierającego przy zgubieniu wciśnięcia:
Kod:
20:34:35.116, ...http Connection closed by client err=0
20:34:37.632, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
20:34:43.968, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
20:34:43.968, ...tcp HTTP client_send uptime=23113460
20:34:43.968, ...free space=1608 uptime=23113460
20:34:43.968, ...URL=json.htm?type=command¶m=udevices&script=k_sw.lua&44=0&45=0&46=0
20:34:43.968, ...free space2=1536 uptime=23113460
20:34:44.081, ...http Connection closed by client err=0
20:34:45.282, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
20:34:45.282, ...tcp HTTP client_send uptime=23113593
Wyniki "podsłuchu" LK odbierającego przy prawidłowej pracy:
Kod:
19:48:56.883, ...http Connection closed by client err=0
19:48:59.393, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
19:48:59.393, ...tcp HTTP client_send uptime=22839028
19:48:59.504, ...http Connection closed by client err=0
19:49:02.347, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
19:49:02.456, ...tcp HTTP client_send uptime=22839334
19:49:17.549, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
19:49:17.658, ...tcp HTTP client_send uptime=22840848
19:49:17.989, ...udp rec LK3 sets=0x1 to=1 packet from ip=192.168.100.62 on port=30000
19:49:17.989, ...tcp HTTP client_send uptime=22840888
19:49:17.989, ...free space=1608 uptime=22840888
jak widać w pierwszym przypadku odebrane zostały 3 polecenia, a w drugim 4 (wciśnięcie, puszczenie, wciśnięcie, puszczenie). W pierwszym przypadku prawdopodobnie nie dotarło pierwsze polecenie wciśnięcia.
Teraz podsłuch "nadajnika" z błędem:
Kod:
13:59:15.776, ...free space2=1428 uptime=1192486
13:59:15.994, ...http Connection closed by client err=0
13:59:16.436, ...INPD2 change state to 0
13:59:18.510, ...INPD2 change state to 1
13:59:18.510, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
13:59:22.554, ...INPD2 change state to 0
13:59:22.554, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
13:59:23.213, ...INPD2 change state to 1
13:59:23.213, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
13:59:25.837, ...tcp HTTP client_send uptime=1193505
13:59:25.837, ...free space=1608 uptime=1193505
jak widać po zmianie INPD2 na 0 nie na linijki z udp.
Teraz podsłuch "nadajnika" bez błędu:
Kod:
14:06:44.260, ...ping W1 time=0 ms ip=192.168.100.226
14:06:46.668, ...INPD2 change state to 0
14:06:46.668, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
14:06:47.542, ...INPD2 change state to 1
14:06:47.655, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
14:06:52.030, ...tcp HTTP client_send uptime=1238121
14:06:52.247, ...http Connection closed by client err=0
14:06:55.418, ...INPD2 change state to 0
14:06:55.418, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
14:06:56.403, ...INPD2 change state to 1
14:06:56.403, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
14:07:02.419, ...tcp HTTP client_send uptime=1239166
teraz po każdej zmianie stanu INPD2 pojawiło się udp...
Teraz kolejna ciekawostka, znudziło mi się ciągłe bieganie do kotłowni aby załączać wejście INPD2 i z powrotem do kompa, więc podłączyłem OUT3 do INPD2 i załączałem zdalnie.
Wyszło coś dziwnego... normalnie na zdalnym LK sygnał pojawiał się przy INPD2=0 (wciśnięcie przycisku),
a tym razem wyjście zostało załączone 2 razy, ale za pierwszym razem przy
puszczeniu przycisku, tak jakby LK wysyłający lekko zaspał i wysłał stan "0" przy puszczeniu przycisku (stanie 1)
Kod:
12:24:22.232, ...INPD2 change state to 0
12:24:26.387, ...http Connection closed by client err=0
12:24:26.825, ...remote=1 wait to ack timeout
12:24:26.825, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
12:24:28.351, ...INPD2 change state to 1
12:24:28.351, ...tcp HTTP client_send uptime=623779
12:24:28.351, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
12:24:37.872, ...INPD2 change state to 0
12:24:37.872, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
12:24:42.133, ...INPD2 change state to 1
12:24:42.133, ...URL=json.htm?type=command¶m=udevices&script=k_sw.lua&44=0&45=0&46=0
12:24:42.133, ...free space2=1536 uptime=625157
12:24:42.133, ...udp rec LK3 ACK packet from ip=192.168.100.63 on port=30000
Logi trochę poskracałem ze względu na miejsce, w załączniku są pełne
Oczywiście następne wciśnięcia były przekazywane bezproblemowo 1:1, aż do kolejnej dłuższej przerwy.
Jakieś pomysły dlaczego tak się dzieje ?
Log.zip (Rozmiar: 3.55 KB / Pobrań: 333)