Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 14:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 4 wrz 2018, o 12:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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 ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 16:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 17:02 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

a próbowałeś po https?

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 18:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 18:15 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

A zobacz czy się ruszy jak zmienisz port na 443

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

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 18:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 21:21 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 21:28 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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ą....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:18 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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

Wysłane ze srajfona

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:29 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Ostatnio edytowano 4 wrz 2018, o 22:47 przez Harry, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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 ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 wrz 2018, o 22:51 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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 postu otrzymał pochwałę

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2018, o 08:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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ś?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2018, o 10:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 wrz 2018, o 15:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO