ATNEL tech-forum
https://forum.atnel.pl/

Atnel WIFI konfiguracja w trybie TCP client -GET -nie działa
https://forum.atnel.pl/topic21228.html
Strona 1 z 1

Autor:  marthinek [ 4 wrz 2018, o 12:49 ]
Tytuł:  Atnel WIFI konfiguracja w trybie TCP client -GET -nie działa

Problem z ATMEL WIFI.

Program prawie jak w poradniku Mirka: WIFI - CLIENT - WWW/PHP - Part 01-05
Próbuje odpytywać stronę atnel.pl komendą GET:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Tak jak w poradniku, ale coś gdzieś nie działa po drodze.

Procek: Atmega1284p, taktowana 11.0592 MHz (modul MEGA-1284p Xplained)
2 UARTY:
*- UART0 podlaczony do modulu ATMEL WIFI (dodatkowo rownolegle do przejsciowki RS232/USB [PORT COM4])
*- UART1 do PC (wbudowana emulacja do USB -służy mi zamiast LCD opisywanego w poradniku)

Na moje oko wygląda jakby firewall/ router blokował komunikacje, ale spójrzcie na pare screenow to może ktoś wyczai cos innego.

Modul atnel wifi komunikuje sie świetnie po UDP i gada ładnie z wirtualnym portem com.
Obrazek
Obrazek


Modul Atnel WIFI podpiety jest rownolegle do dodatkowej przejsciowki RS232/USB, wiec mamy podglad na wysylane/odbierane komunikaty (to co na uart0):
Po kliknieciu przycisku z rekonfiguracja, widzimy takie cos:
Obrazek

I w tym stanie, nic nie wraca z zewnatrz.


Dla porządku kawałek pętli głównej (wszystko jak w poradnikach w necie (lekko uproszczone), więc chyba mogę tu wkleić kod):


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i funkcja do odpytania serwera:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Możliwe ze gdzieś router/firewall blokuje?
Jak i gdzie to mogę sprawdzić i czy to może być przyczyną? (firewalla w kompie wyłączyłem czasowo -[Win10], ale to niczego nie zmienia).
A może mam gdzieś okrutnego babola?

//
Problem podobny do opisywanego przez: avrfun
w watku: https://forum.atnel.pl/topic15055.html
tylko mi magicznie nie chce zaczac dzialac ;-)

Autor:  marthinek [ 4 wrz 2018, o 16:41 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

OK, niewielki postęp.

Zmiana konfiguracji modułu ze stałego IP na IP przydzielany z DHCP (tylko to sie zmieniło, reszta jak w screenshotach wcześniej [może mój router nie lubi stałego IP, albo liczby 42 ;-) ] ).
Modul Atmel wifi podłączony tylko do przejściówki RS232 (żadnej Atmegi nigdzie nie ma po drodze)

uruchamiam terminal i wpisuje GET /
3 razy enter i wtedy moduł wypluwa:

Obrazek


pobieranie IP, kończy sie analogicznie:
GET http://atnel.pl/aphp1.php?cmd=myip HTTP/1.0
Obrazek

Gdzie i jak ruszyć się dalej?

Autor:  Harry [ 4 wrz 2018, o 17:02 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

a próbowałeś po https?

Autor:  marthinek [ 4 wrz 2018, o 18:01 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

W paru watkach (np. tu: https://forum.atnel.pl/topic11882.html#p130864 (Mirek w poradniku zresztą też) zwrócili uwagę na poprawne zakończenie stringa - podwójne \r\n

Jakoś z terminala miałem wrażenie, że coś się kaszani z tymi enterami (ot chociażby musiałem 3 razy wcisnąć żeby dostać zwrot z serwera)
wrociłem do atmegi i dopisałem sobie funkcje echo na mój drugi port com (ten co zamiast lcd jest)... i mam taki output:

Obrazek


Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Harry [ 4 wrz 2018, o 18:15 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

A zobacz czy się ruszy jak zmienisz port na 443

Wysłane z mojego GT-I8200N przy użyciu Tapatalka

Autor:  marthinek [ 4 wrz 2018, o 18:34 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Harry napisał(a):
A zobacz czy się ruszy jak zmienisz port na 443

Wysłane z mojego GT-I8200N przy użyciu Tapatalka



Port 443, https:(....) oraz http:(.....) dają identyczną odpowiedź

Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Port 80, https:
wypluwa to samo co wkleiłem w poprzednim poście

Autor:  Harry [ 4 wrz 2018, o 21:21 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Jedynie co mi przychodzi do głowy, to brak nagłówków żądania http.
Ale najlepiej jakby się wypowiedział ktoś u kogo to napewno działa.

Autor:  mirekk36 [ 4 wrz 2018, o 21:28 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

ale atnel.pl od niedawna chodzi już na SSL'u ... ja się tam nie znam na tych http'ach - ale może to jest przyczyną ?

Autor:  marthinek [ 4 wrz 2018, o 22:08 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

zmiana TCP, Client,80 na np. nbp.pl i próby komend GET / , albo GET http://nbp.pl HTTP/1.0, w ogóle niczego nie zwracają....

Autor:  Harry [ 4 wrz 2018, o 22:18 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Na stronach bankowych to ja się nie dziwię że nie działa ;)
Dodaj prawidłowy header i powinno być ok.

Wysłane ze srajfona

Autor:  marthinek [ 4 wrz 2018, o 22:22 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Harry napisał(a):
Na stronach bankowych to ja się nie dziwię że nie działa ;)
Dodaj prawidłowy header i powinno być ok.

Wysłane ze srajfona

W poradniku Mirka działało ;-) i wygląda na to, że strona wciąż bez s w nazwie, więc myślałem że warto spróbować ;-)

co to jest prawidłowy header?

Autor:  Harry [ 4 wrz 2018, o 22:29 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Łap na szybko https://code.tutsplus.com/tutorials/http-headers-for-dummies--net-8039

Autor:  marthinek [ 4 wrz 2018, o 22:42 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Harry napisał(a):


rozumiem, ze to byl zart? ;-)
potrafie sobie wygoglowac i zrobilem to zanim napisalem posta, pytanie o ten header bylo raczej w stylu, jak i co mam wpisac, bo nie bardzo widze, zeby wysylac cos takiego:

Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie mowiac juz o tym jakim user-agentem jest atnel wifi ;-)

Autor:  Harry [ 4 wrz 2018, o 22:51 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Może wystarczy dodać część "Accept" i ""User-agent".

Część serwerów nie akceptuje żądań bez headera, zwłaszcza te lepiej zabezpieczone.

atnel fifi jest sprzętem, a klientem jest twój soft, a serwer musi wiedzieć czy wysyła stronę na telefon czy kompa.

edit:
Hmm, to jednak nie nagłówki(sprawdziłem), musisz sprawdzić co tak naprawdę wysyłasz, bo prawdopodobnie idzie jakiś śmietnik i dlatego serwer głupieje.

Autor:  marthinek [ 5 wrz 2018, o 08:44 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

Harry napisał(a):
Może wystarczy dodać część "Accept" i ""User-agent".

Część serwerów nie akceptuje żądań bez headera, zwłaszcza te lepiej zabezpieczone.

atnel fifi jest sprzętem, a klientem jest twój soft, a serwer musi wiedzieć czy wysyła stronę na telefon czy kompa.

edit:
Hmm, to jednak nie nagłówki(sprawdziłem), musisz sprawdzić co tak naprawdę wysyłasz, bo prawdopodobnie idzie jakiś śmietnik i dlatego serwer głupieje.



Dzięki.
Spróbowałem pare opcji wysłać, bezskutecznie niestety. Sprawdziłeś z Atnel WIFI czy jakoś inaczej?

Atmega raczej wysyła to co jej sie karze, wiec tutaj nie powinno być problemu. Można jakoś podejrzeć pakiet wifi? WireShark może?
Co do Putty to nie jestem pewien odnośnie tych znaczników powrotu karetki i nowej linii.

Z przeglądarki jak się wpisze http://atnel.pl/aphp1.php?cmd=myip to bardzo ładnie zwraca nr IP, tak jak w poradniku Mirka.

Można jakoś potestować różne zapytania z palca w jakiś sposób? jakiś telnet albo coś?

Autor:  marthinek [ 5 wrz 2018, o 10:28 ]
Tytuł:  Re: Atnel WIFI konfiguracja w trybie TCP client -GET -nie dz

ok, coś się ruszyło.

znalazłem jakiś taki poradnik na youtubie do arduino ( https://www.youtube.com/watch?v=s_2cw0k6lgs ) ale to nie istotne, bardziej istotne jest to, ze gość do testów używa tam strony: http://jsonplaceholder.typicode.com/comments?id=10

która zwraca:
czysty tekst w postaci:
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


teraz za pomocą strony: https://apitester.com ustalamy, że wymagany nagłówek wygląda tak:

Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



no to do dzieła, łączymy wszystko w całość i programujemy Atmegę:

zmiana ustawień na:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



moją funkcje wyslij_zapytanie modyfikujemy:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



i radośnie w terminalu odbieramy:
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Yupikayej



------------------------ [ Dodano po: 8 minutach ]

Uproszczony do pierwszych dwóch linijek header też zachowuje się prawidłowo:
Obrazek





------------------------ [ Dodano po: 16 minutach ]

Ok, dla porządku dodam, że strona Atnela żąda nagłówka i portu (443).

próba dostępu przez http kończy się tak:
Obrazek
czyli analogicznie do moich wcześniejszych komunikatów z konsoli.

Próba przez https:
Obrazek


Niestety wysłanie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zwraca nam:
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Nie mam zielonego pojęcia o tych usługach sieciowych, ale obstawiam, że problemem 400 The plain HTTP request was sent to HTTPS poTPS port jest szyfrowany/bezpieczny dostęp i nasz Atnelowski modulik w przedstawionej konfiguracji tego nie ogarnia.

Autor:  marthinek [ 5 wrz 2018, o 15:26 ]
Tytuł:  Re:Atnel WIFI konfig. w trybie TCP client-GET [Thingspeak]

Ponieważ podany w poprzednim poście adres pewnie prędzej czy później zniknie (mam na myśli: http://jsonplaceholder.typicode.com/comments?id=10 ), żeby inni nie musieli się męczyć tak jak ja polecam dodatkowy sposób.

Szybko i łatwo przetestujemy działanie komunikacji, poprzez wysłanie czegoś na https://thingspeak.com.
Trzeba tam założyć konto, jako zwykły 'free user' mamy całkiem sporo miejsca na dane np. z naszych czujników podłączonych do Atmegi (jeśli nie będziemy ich zbyt gęsto wysyłać -interwał między komunikatami wynosi 15 sekund).

Po zalogowaniu
zakładamy Channel, podajemy jego nazwę i przechodzimy do zakładki API Keys.
(tutaj ładny poradnik: https://uk.mathworks.com/help/thingspeak/collect-data-in-a-new-channel.html )

z API keys kopiujemy sobie komendę (po prawej stronie)
GET https://api.thingspeak.com/update?api_key=TU-BEDZIE-TWOJ-INDYWIDUALNY-NUMER&field1=0

możemy to już przetestować w przeglądarce w miejsce adresu strony wklejajac po prostu
https://api.thingspeak.com/update?api_key=TU-BEDZIE-TWOJ-INDYWIDUALNY-NUMER&field1=42
wartość field1 = 0 możemy zmienić na dowolną. Opcja z adresem: http:// (..) -bez 's' również działa.

Wracamy do naszej strony z Channelem i patrzymy w zakładce Private View czy na wykresie pojawiła się nasza liczba (42). Jeśli tak, przechodzimy do kodzenia.
Zmieniamy serwer w ustawieniach TCP, Client modułu Atnel WIFI na: api.thingspeak.com
Całą naszą funkcję testową 'wyslij_zapytanie()' redukujemy do postaci:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



zaglądamy na stronę i mamy taki obrazek:
Obrazek



OK, mam nadzieję, że to komuś pomoże jakby walczył z poradnikami Mirka i próbował coś wysyłać przy pomocy tych fajnych modulików w świat.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/