Forum użytkowników automatyki budynkowej
Inne => BleBox => Wątek zaczęty przez: grzegorz914 w Grudzień 08, 2019, 02:05:38 pm
-
Hej,
po zmianie firmware na 0.924 z 0.917 straciłem komunikacje po api, możecie napisać jakie zmiany w kodzie wprowadzono?
http:http/1.1 400 Bad Request,
komunikacja z przeglądarek i apki działa prawidłowo, padła natomiast z PLC z użyciem T_SEND_C i T_RCV_C.
Pozdrawiam
Grzegorz
-
http:http/1.1 400 Bad Request
Zgodnie ze specyfikacją HTTP/1.1 (RFC 2616 , pkt 14.23 "Host" (http://www.rfc-editor.org/rfc/rfc2616.txt)):
A client MUST include a Host header field in all HTTP/1.1 request messages
Brak tego pola w nagłówku powoduje w-w błąd 400. Sprawdź czy na pewno to pole jest przekazywane, jeżeli tak, a błąd wciąż występuje, podeślij tu proszę jak wygląda pełne zapytanie i jakie nagłówki są przekazywane.
-
Zapatanie wygląda następująco:
GET /s/10 HTTP/1.1
10:53:10.247086 IP (tos 0x0, ttl 128, id 1254, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.40.80 > 192.168.1.30.55010: Flags [.], cksum 0xfb22 (correct), seq 1, ack 21, win 5820, length 0
10:53:10.345593 IP (tos 0x0, ttl 64, id 39773, offset 0, flags [DF], proto TCP (6), length 60)
192.168.1.30.55010 > 192.168.1.40.80: Flags [P.], cksum 0xba82 (correct), seq 21:41, ack 1, win 8192, length 20: HTTP, length: 20
GET /s/66 HTTP/1.1
10:53:10.347714 IP (tos 0x0, ttl 128, id 1255, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.40.80 > 192.168.1.30.55010: Flags [F.], cksum 0xfb21 (correct), seq 1, ack 41, win 5800, length 0
10:53:10.355593 IP (tos 0x0, ttl 64, id 51113, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.30.55010 > 192.168.1.40.80: Flags [.], cksum 0xf1c9 (correct), seq 41, ack 2, win 8192, length 0
10:53:10.380593 IP (tos 0x0, ttl 64, id 14695, offset 0, flags [DF], proto TCP (6), length 40)
192.168.1.30.55010 > 192.168.1.40.80: Flags [R.], cksum 0x11c6 (correct), seq 41, ack 2, win 0, length 0
wygląda że pakiety lecą na kostke ale brak jakiegokolwiek efektu.
przy próbie odzczytu danych z kostki dostaje taki błąd:
16#80C5
-Connection terminated by the communication partner.
-LSAP of the remote connection partner is not released
i do wersji 0.917 wszystko działało poprawnie, po aktualizacji już nie i nie jest to jednostkowy przypadek bo kostek mam 6.
Szkoda że nigdzie nie zamieszczacie informacji o wprowadzanych zmianach w oprogramowaniu, dla integratorów takie informacje są cenne gdyż czasami trzeba posługiwać się różnymi modułami pomocniczymi które wymagają różnych składni i konfiguracji.
Pozdrawiam
Grzegorz
-
OK,
znalazłem rozwiązanie, poprawna komenda do wysłania za pomocą TCP/IP z użyciem bloku TSEND_C i sterownika S7-1200 i FW=>4.4 to:
'GET /s/ HTTP/1.1$R$LHost: $R$L$R$L'
dla FW<4.4
'GET /s/ HTTP/1.1$R$L$R$L'
może się komuś przyda na przyszłość.
Pozdrawiam
-
Hejka,
w nowym firmware jest chyba coś skopane, co chwilę kostka rozłącza się z wifi.
Przed aktualizacją było ok. Mam wersję sprzętu 0.1
-
Faktycznie coś jest skopane, po pierwszej zmianie poziomu jasności potrafi się rozłączyć z siecią i dopiero po chwili łączy się ponownie, sytuacja powtarza się regularnie na wszystkich kostkach z fw.0924.
Może ktoś z BleBoxa zabierze głos w tej sprawie.
Pozdrawiam
-
Jakieś wieści z frontu?
Kostka zrobiła się mało użyteczna.
-
Uzupełniając temat zapytań HTTP ze sterowników PLC należy dodać, że komendy T_SEND_C i T_RCV_C w PLC realizują tylko połączenie TCP, czyli obsługę HTTP należy zrealizować we własnym zakresie zgodnie z RFC 2616, na przykład tak jak przytoczył grzegorz914 powyżej. Ciąg znaków "GET /s/10 HTTP/1.1" wysłany po TCP nie jest poprawnym zapytaniem HTTP 1.1. W sterowniku wLightBoxS w wersji 0.917 pole HOST było niepoprawnie sprawdzane, co zostało naprawione w 0.924.
Jeśli chodzi o rozłączanie z sieci przy pierwszym sterowaniu wLightBoxS, niestety nie udało nam się odtworzyć ani razu takiej sytuacji. Potrzebujemy dokładny opis w jakich sytuacjach objawia się rozłączanie: jaką metodą (zapytanie GET, z aplikacji, z pilota czy z harmonogramu ) została zmieniona jasność, z jakiej na jaką wartość, jaki był czas przejścia, czy sterownik jest okresowo odpytywany przed taką sytuacją? Jakie jest obciążenie wyjścia wLightBoxS, jaki został użyty zasilacz? W razie pytań można też kontaktować się na support@blebox.eu
Pozdrawiam
-
Rozłączenia występują przy zapytaniach GET i z aplikacji - nie mam pilota ani ustalonego harmonogramu, jasność zmieniona od zera do dowolnej wartości.
Najlepsze jest to, że nie zawsze kostka rozłącza się - cały dzień potrafi działać prawidłowo a na następny dzień rozłącza się co każde włączenie.
Wykluczyłem wifi - zmieniłem router i access point, dalej bez zmian.
Kostka zasilana jest zasilaczem 12V/60W, obciążenie 20W
Tak jak pisałem wcześniej, problemy zaczęły się po aktualizacji do wersji 0.924