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: 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. 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: 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): język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i funkcja do odpytania serwera: 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: pobieranie IP, kończy sie analogicznie: GET http://atnel.pl/aphp1.php?cmd=myip HTTP/1.0 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: |
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ź 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: 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: 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: 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: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. moją funkcje wyslij_zapytanie modyfikujemy: 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: 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: ------------------------ [ 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: czyli analogicznie do moich wcześniejszych komunikatów z konsoli. Próba przez https: Niestety wysłanie: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Zwraca nam: 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: 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: 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/ |