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



Teraz jest 28 mar 2024, o 12:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 9 mar 2016, o 19:13 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Witam!
Załóżmy że w domu mam ruter który udostępnia połączenie internetowe min. dla moduł WIFI232-T. W telefonie zaś mam połączenie z internetem dzięki Areo2 sim. Czy jest możliwość komunikacji tych dwóch urządzeń w podobny sposób do przedstawionego w poradniku "testera UDP"? Jakie zmiany należy wprowadzić w konfiguracji modułu WIFI oraz w aplikacji B4A aby komunikowały się z dwóch niezależnych źródeł internetu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 19:30 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 518
Pomógł: 26

Kolego musisz u siebie w domu przekierować port na routerze. Aby mieć dostęp z zewnątrz. Jeśli w domu łączysz sie z modułem za pomocą ip lokalnego np 192.168.10.1 port 8899 to jeśli przekierujesz port 8899 to z zewnątrz łączysz się podając twój zewnętrzny adres ip i ten port czyli 8899

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 19:35 
Offline
Moderator
Avatar użytkownika

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

Tak jak pisze kolega wyżej, w samym module nic nie trzeba konfigurować, za to musisz sobie poczytać o konfiguracji routerów i internetu we własnej sieci ... Zobacz:

http://wifi232.atnel.pl:8888/

tu właśnie działa to na ATNEL-WIFI232-T który kompletnie nie wie że dobierasz się do niego spoza naszej firmy ;)

_________________
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: 9 mar 2016, o 20:00 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Tylko że w podanym przez Pana linku moduł WIFI działa w trybie serwera a mi zależy żeby działał tak jak w poradniku o UDP testerze- piszę aplikację na telefon i po prostu np: buttonami wysyłam jakieś polecenia do procka ;)

Czy mógłbym prosić o jakąś podpowiedź np. w jakich zakładkach w ustawieniach rutera szukać tego przekierowania portu(mam ruter TL-MR3220)
Jeśli chodzi o moduł WIFI to rozumiem że ustawienia pozostają takie same?
Obrazek
W aplikacji B4A muszę zmienić adres IP na zewnętrzny modemu/rutera i pamiętać o tym porcie, tak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 21:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2012
Posty: 76
Lokalizacja: Węgorzewo
Pomógł: 1

Jeżeli chcesz się łączyć przez operatora komórkowego, to raczej zapomnij o dwustronnej komunikacji, chyba że operator przydziela ci publiczny IP. Już to przerabiałem, działa tylko w jedną stronę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 21:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Szukaj mniej więcej czegoś takiego:

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 22:24 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Z tym operatorem to faktycznie może być problem, bo za każdym razem jak odłączę modem/ruter od zasilania to zmienia mi się zewn. IP( w domu mam internet z Play a tam nawet za dopłatą nie udzielą stałego adresu IP).

Ogólnie rzecz biorąc chciałem zrobić proste sterowanie urządzeń elektronicznych w domu przez internet za pomocą aplikacji na androida. Pomysł z serwerem na AVR byłby idealny gdyby nie to że chciałbym wykorzystać rozpoznawanie komend głosowych które tak łatwo zrobić w B4A.

Mam więc taki pomysł aby zrobić:
1) jeden układ-> serwer na jednym module wifi + AVR na którym będzie strona html do której będę miał dostęp z "zewnątrz" (sterowanie urządzeniami z poziomu interfejsu html i w jakiś sposób sprawdzać jaki mam aktualny IP)
2) drugi układ-> "terminal" na drugim module wifi + AVR do którego będę miał dostęp z aplikacji gdy będę w zasięgu sieci domowej( tu już będzie można sterować głosem)
3) połączyć oba układy np. przez UART bo w zasadzie będą sterować tymi samymi przekaźnikami itp.

Czy da się to zrobić na jednym układzie wifi+AVR aby było i sterowanie głosowe i dostęp z sieci zewnętrznej?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 22:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Zważywszy na to że korzystasz z usług operatora Play, możesz zapomnieć o dostępie z zewnątrz. I problemem nie jest tu brak stałego adresu IP bo to można obejść korzystając z DDNS. Problem w tym że nie dostajesz publicznego adresu IP tylko jesteś za NATem. Praktycznie ten problem dotyczy wszystkich operatorów komórkowych, oczywiście za wyjątkiem wykupienia publicznego adresu IP ale nie orientuję się czy któryś operator to oferuje.

Nie ma również znaczenia czy chcesz wystawić serwer http czy łączyć się przez aplikację. Niestety w tym przypadku nie będzie to możliwe.

Jedyne rozwiązanie to żeby moduł wi-fi inicjował połączenie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 mar 2016, o 23:25 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Czyli jest źle i źle...

A co to znaczy żeby moduł wifi inicjował połączenie? Dopiero zaczynam przygodę z sieciami i jeszcze wielu rzeczy nie rozumiem więc bardzo proszę o wyjaśnienie, tym bardziej, że jest to jedyne rozwiązanie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 06:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Stawiasz serwer gdzieś w internecie żeby mieć do niego dostęp z zewnątrz. Łączyć się do serwera modułem Wi-Fi oraz telefonem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 13:48 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Czyli jeśli wykupie sobie serwer i domene w jakimś hostingu to będzie możliwość połączenia aplikacja B4A- moduł wifi?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 14:07 
Offline
Użytkownik

Dołączył(a): 20 lip 2015
Posty: 83
Pomógł: 6

Sucyn napisał(a):
Czyli jeśli wykupie sobie serwer i domene w jakimś hostingu to będzie możliwość połączenia aplikacja B4A- moduł wifi?


tak, tylko wtedy bedziesz musial zrobic tak, ze modul wifi wysyla dane na hosting, tam je zapisujesz i ewentualnie czytasz przez aplikacje b4a



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 14:46 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

To znaczy że musze mieć na serwerze wgraną stronę http np. w html'u i w niej dokonywać zmian za pomocą modułu wifi i/lub aplikacji?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 15:05 
Offline
Użytkownik

Dołączył(a): 20 lip 2015
Posty: 83
Pomógł: 6

Sucyn napisał(a):
To znaczy że musze mieć na serwerze wgraną stronę http np. w html'u i w niej dokonywać zmian za pomocą modułu wifi i/lub aplikacji?

W htmlu samym tego nie zrobisz.
Możesz mieć skrypt w php ktory będzie Twoim lacznikiem pomiedzy telefonem a aplikacja. (Mirek zrobil nawet o tym poradnik przy wykorzystaniu wifi)

przebieg "akcji"
np.
1. Moduł wyśle dane do skryptu php, ten je zapisze w bazie, ewentualnie da odpowiedź, którą wifi sobie przeczyta
2. aplikacja wchodzi na odpowiedni adres, gdzie skrypt wystawi te dane, aplikacja je zczyta i zrobisz z nimi co chcesz

Alternatywny przebieg wydarzen moze byc tez taki, ze z aplikacji cos wyslesz, skrypt to zapisze do bazy, a jak modul zapyta o dane to wtedy w odpowiedzi skrypt php zwroci mu informacje przeslane z aplikacji.

Cos takiego mnieje wiecej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 18:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2012
Posty: 76
Lokalizacja: Węgorzewo
Pomógł: 1

sytuacja nie jest beznadziejna. Mam aplikację, która bez problemu komunikuje się z moim tunerem Tv z każdej sieci, także komórkowej. Z tym że, połączenie jest TCP a nie UDP. Osobiście narazie nie mam czasu nad tym pomyśleć, ale jak widać "da się" :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 mar 2016, o 20:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

mario napisał(a):
sytuacja nie jest beznadziejna. Mam aplikację, która bez problemu komunikuje się z moim tunerem Tv z każdej sieci, także komórkowej. Z tym że, połączenie jest TCP a nie UDP. Osobiście narazie nie mam czasu nad tym pomyśleć, ale jak widać "da się" :)

Nie ma znaczenia typ protokołu warstwy czwartej (TCP czy UDP). Natomiast "da się" jest z pewnością zrealizowane przez serwer pośredniczący.
Jak już wcześniej wspominałem korzystając z usług sieci PLAY nie posiadamy publicznego adresu IP na własny użytek ponieważ sieć korzysta z translacji adresów czyli usługi NAT.

Jedynym rozwiązaniem jest zainicjowanie połączenie z wnętrza sieci aby otworzyć port (w tym przypadku modułu Wi-Fi). Jeżeli już posiadamy taki otwarty port to i owszem wtedy możemy z internetu wysyłać na niego dane przez krótki okres czasu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 mar 2016, o 18:37 
Offline
Użytkownik

Dołączył(a): 01 sie 2015
Posty: 40
Pomógł: 0

Pytałem się wykładowcy informatyka u mnie na studiach i powiedział że bez php faktycznie się nie obejdzie. No bo czy da się zapisać i odczytać dane na serwer bez użycia odpowiedniego skryptu? Musiałbym chyba tworzyć w aplikacji i na uC gotowe pliki z danymi i je wysyłać na serwer a potem jeszcze w razie potrzeby umieć je odebrać, analizować...

Znalazłem poradnik P. Mirka "WIFI - CLIENT - WWW/PHP" jeszcze nie oglądałem ale po tytule wnioskuje że chyba nie będzie tam wyjaśnień o aplikacji na androida.
Czy jeśli uda mi się przerobić materiał z tego poradnika to będę mógł liczyć na Waszą pomoc z aplikacją B4A?

------------------------ [ Dodano po: wczoraj, o 17:37 ]

Obejrzałem poradnik P. Mirka i poczytałem o skryptach php i wiem już mniej/więcej jak można ustawić jakąś zmienną w skrypcie na serwerze i potem odczytać jej zawartość za pomocą modułu wifi.
Niestety sprawa mocno komplikuje się jeżeli chodzi o aplikację B4A. Do tej pory do połączenia z internetem używałem biblioteki Network i komponentów UDPSocket i UDPPacket, które chyba działają tylko w protokole UDP a teraz będę potrzebował TCP.

Czy w B4A istnieją funkcje/obiekty/komponenty które pozwolą na stworzenie podobnego mechanizmu komunikacyjnego TCP jaki jest przedstawiony w poradniku P Mirka "WIFI - CLIENT - WWW/PHP"?

------------------------ [ Dodano po: wczoraj, o 17:37 ]

Na podstawie tego poradnika https://www.b4x.com/android/forum/threa ... rial.7001/ napisałem taką aplikację:
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W designerze stworzyłem EditText1 na całej powierzchni wyświetlacza. Miały tu trafiać stringi poszczególnych linii odebranych ze strony http://aktualnyczas.pl/. Niestety ten program działa chyba inaczej bo po włączeniu aplikacji czekam chwilkę i pojawia się białe tło i nic poza tym.

Czy na podstawie tego kodu mogę odczytywać zawartość strony internetowej podanej w funkcji "Socket1.Connect("aktualnyczas.pl" , 80, 100)"?

------------------------ [ Dodano po: wczoraj, o 17:37 ]

Zmieniłem nieco event połączenia ze stroną i opisałem po kolei co się w tym evencie dzieje. Proszę aby ktoś sprawdził czy dobrze rozumiem działanie kodu:
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Teraz aplikacja zwraca mi w EditText1 wartość "null", czyli chyba prawidłowo łączy się z podaną przeze mnie stroną ale chyba w niewłaściwy sposób próbuję się dobrać do strumienia przychodzącego...
Obrazek

------------------------ [ Dodano po: 11 mar 2016, o 17:37 ]

Chyba się udało!
Mam kod który wyświetla mi zawartość przykładowej strony internetowej (http://aktualnyczas.pl/) w oknie EditText1 na telefonie.

Obrazek

Tylko czy na pewno tego chciałem????
Aplikacja ta pozwala mi się dobrać do budowy takiej strony a mi chyba bardziej potrzeba skorzystać z tego co ona wyświetla w przeglądarce, bo np w przeglądarce wyświetla aktualny czas i datę a w aplikacji tylko skrypty i funkcje które pozwalają ten czas obliczyć.
Oto kod:
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 11 mar 2016, o 17:37 ]

No więc problem chyba rozwiązany. Założyłem serwer na jednym z darmowych hostingów. Napisałem drobny skrypt w php przetwarzający dane nadesłane w linku url mojej strony. Napisałem też aplikację która wysyłając zapytanie do strony wysyła również dane w postaci zmiennych w linku url. Aplikacja po odebraniu źródła strony wyszukuje w nim konkretne dane rozpoczynające i kończące się zadanymi znacznikami "#". Rezultat wyświetlany w postaci stringów w EditText. Teraz tylko potrenować z bazą danych MSQL i łączność globalna będzie działać na przekór wszelkim trudnościom!!! (ze strony operatorów internetowych, zewnętrznych stałych adresów ip ........ ) :D
Dziękuję wszystkim za pomoc!!!



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 1 gość


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