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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 12 cze 2025, o 13:09


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 20 lis 2015, o 17:48 
    Offline
    Użytkownik
    Avatar użytkownika

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

    W tej chwili pracuje sterownik z modułem WIFI ustawionym na połączenie z moim IP i łączę się z nim ze swojego tel. Jak rozwiązać połączenie do sterownika z różnych IP (odpada broadcast bo to numery z innej sieci) ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lis 2015, o 18:08 
    Offline
    Moderator
    Avatar użytkownika

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

    Ja bym może coś podpowiedział ale najpierw musiałbym zrozumieć o co tobie chodzi. Niestety z tego opisu praktycznie nic nie rozumiem :(

    _________________
    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: 20 lis 2015, o 18:31 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Ok, no więc tak: Sterownik mierzy kilka wartości i poprzez WIFI wysyła je do mnie via UDP do innej sieci, na mój IP który ustawiłem w konfiguracji modułu w sekcji "Destination IP address". Ok, wszystko działa, tylko że chciałbym te parametry odczytywać na większej ilości urządzeń pracujących w różnych sieciach.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lis 2015, o 18:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 20 sie 2013
    Posty: 795
    Lokalizacja: Poznań
    Pomógł: 59

    Nie wiem, czy dobrze podpowiem, ale zrób serwer UDP i niech każde urządzenie odpytuje o pomiar - wtedy odpowiesz każdemu, które zapyta.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lis 2015, o 22:09 
    Offline
    Moderator
    Avatar użytkownika

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

    icer_cmg napisał(a):
    Nie wiem, czy dobrze podpowiem, ale zrób serwer UDP i niech każde urządzenie odpytuje o pomiar - wtedy odpowiesz każdemu, które zapyta.


    No właśnie to jest słuszna droga - jedna z możliwości .... zamiast myślenia o jakichś broadcastach ;)

    Zamiast myślenia przy protokole UDP na takiej zasadzie:
    mario napisał(a):
    wysyła je do mnie via UDP do innej sieci, na mój IP który ustawiłem w konfiguracji modułu w sekcji "Destination IP address". Ok, wszystko działa, tylko że chciałbym te parametry odczytywać na większej ilości urządzeń pracujących w różnych sieciach.


    Bo w tym momencie - sam sobie panie mieszasz i jak to zwykle u początkującego bywa - kręcisz jak w maszynce do mięsa pojęcia client/server przez co wychodzi mielonka, którą trudno samemu ogarnąć .... ;)

    A teraz stop! nie wpuszczamy do maszynki do mięsa.

    czyli - pomyśl - jak tylko piszesz że jakiś tam twój układ z WiFi ma coś WYSYŁAĆ - to myślisz - aha to będzie CLIENT - bo klient wysyła - rozumiesz? wysyła co ? wysyła jakieś zapytanie ... a jak client wysyła to gdzie do serwera (no bo musi być client/serwer)

    A jeśli piszesz, że jakiś inny układ ma coś odczytywać z twojego urządzenia z WiFi to co ? To znaczy to on ma być CLIENTEM - i wysyłać - wysyłać co? zapytanie do serwera (żeby cały czas mieć na uwadze client/serwer)

    REASUMUJĄC projektując coś - ZAWSZE musisz obmyśleć od której strony będziesz patrzył - kto będzie CLIENTEM a kto SERVEREM

    i tak jak kolega wyżej pisze - niech twoje urządzenie z wifi będzie serwerem UDP, wtedy ono samo NIGDZIE nie będzie nic wysyłać pod żadne jakieś tam IP bo po co ? nie mieszaj ;) ... Serwer ma nasłuchiwać ... (uwaga!) nasłuchiwać i odpowiadać .... A zatem - każdy CLIENT z zewnątrz może wysłać do serwera zapytanie

    Cytuj:
    "hej serwer podaj mi dane ze swoich czujników!"


    takie zapytanie spowoduje, że serwer odpowiada na takie zapytanie KLIENTOWI - i to DOKŁADNIE temu który zadał to pytanie (o ile mówimy o UDP) bo w przypadku TCP przy naszych modułach byłoby nieco inaczej ale teraz nie będę o tym pisał bo powstanie zamieszanie

    Zatem droga UDP będzie tutaj bardzo dobra ;) ale przy takiej właśnie konfiguracji

    _________________
    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: 21 lis 2015, o 01:13 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Wszystko świetnie rozumiem, nawet wiem jak to zrobić na urządzeniu z np. androidem. Ale jak to rozwiązać na kontrolerze z jakąś megą+moduł wifi to ni w ząb. Z tego co rozumiem , to sterownik wyśle odpowiedź na adres jaki jest ustawiony w module jako destination ? W tej chwili zestawiam system na prostym tablecie, który będzie właśnie robił za serwer. Może błędnie, ale doszedłem do wniosku , że na kontrolerze z modułem wifi chyba nie da się tego zrobić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 08:57 
    Offline
    Moderator
    Avatar użytkownika

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

    mario napisał(a):
    Może błędnie, ale doszedłem do wniosku , że na kontrolerze z modułem wifi chyba nie da się tego zrobić.

    aha czyli pomimo, że piszę ci wprost, że można, pomimo że sam widzisz że jest opcja w ustawieniach modułu ATNEL-WIFI232 - UDP/SERVER, pomimo, że często pokazywałem to w poradnikach - to ty dochodzisz do wniosku, że nie da się ustawić modułu w tryb UDP/SERVER ? .... no to teraz ja ciebie mocno nie rozumiem :(

    mario napisał(a):
    Ale jak to rozwiązać na kontrolerze z jakąś megą+moduł wifi to ni w ząb

    No ale o czym kolega mówi ? To znaczy rozumiem, że nigdy w życiu nie udało ci się nawiązać połączenia np telefonem czy komputerem z prockiem zaopatrzonym w taki moduł WiFi ? Sorki ale albo piszesz strasznie niejasno albo ja już nie wiem o co chodzi ?

    Toż gdy skonfigurujesz moduł wifi przy procku jako UDP/Server to co ? nie możesz w telefonie podać jego numeru IP i się z nim połączyć i odczytać danych ?

    To co? gdy skonfigurujesz ten moduł to nie możesz w komputerze PC podać jego numeru IP i się z nim połączyć i pobrać danych z czujników

    a NAWET jeśli masz inny procek! z modułem Wifi to nie możesz (tego modułu wifi ustawić jako Client) i połączyć się z tym pierwszym modułem ?

    Panie kolego proszę cię - zadając pytanie nie oszczędzaj słów tylko opisuj ZAWSZE jakąś mini konfigurację o jaką ci chodzi, podawaj więcej jakichś szczegółów - bo to nie jest zagadnienie typu miganie diodą LED .... I chyba wypada wręcz porządnie zadawać pytania nie sądzisz ? Bo ty piszesz jedno albo półtorej zdania a ja rozpisuję się na trzy kartki a później się okazuje, że i tak piszę z twojego punktu widzenia o czymś innym ...

    _________________
    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: 21 lis 2015, o 09:40 
    Offline
    Użytkownik

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

    Kolego Mario, Mirek dobrze radzi. Aktualnie pracuję również nad projektem w którym sterownik z AVR wysyła informacje do tabletu i nie tylko. Jak to w moim przypadku działa. Moduł wifi ustawiony w udp/serwer. Tak jak Mirek napisał w aplikacji na androida podaje (jeszcze ręcznie) adres ip i port modułu wifi. Wysyłam z androida zapytanie w postaci stringa np" odczyt" w avr odbieram tą komendę i wysyłam dane do androida jak? Ano tak jak wysyła się po rs232 np uart_str(" to ja sterownik"). Teraz jak odpytam innym urządzenie z androidem to avr za pomocą komendy uart_str("to ja sterownik") wysyła odpowiedz ale już nie na tablet tylko na inne urządzenie. Czyli avr wysyła dane do urządzenia które ostatnio sie łączyło z nim.

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 16:48 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Spróbuję bardziej precyzyjnie i trochę uproszczę moje pytanie. Załóżmy, że to ma wyglądać tak jak na schemacie:

    Obrazek

    każdy z elementów składa się z pary kontroler+moduł WIFI.
    Wszystkie moduły skonfigurowane jako serwery UDP. Czyli serwer odpytuje konkretny czujnik i dopiero wtedy czujnik wysyła odczyt. Ponieważ docelowo planuję ok. 20 takich czujników, chcę , żeby to serwer "mówił" im kiedy mają przesłać pakiet a nie "zawalały" go danymi wszystkie naraz. I tego właśnie nie wiem jak zrobic z poziomu C AVrka. Jak wysłać pakiet na konkretny IP.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 17:27 
    Offline
    Moderator
    Avatar użytkownika

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

    mario napisał(a):
    chcę , żeby to serwer "mówił" im

    I to jest twój błąd w podejściu do projektowania systemów tego typu.

    Oczywiście teraz ślicznie przedstawiłeś o co chodzi ale zapamiętaj sobie - że jak serwer (to nie będzie nikomu mówił) .... zapamiętaj - SERWER - NASŁUCHUJE i odpowiada na zapytania - rozumiesz ?

    CLIENT - wysyła zapytania i dostaje odpowiedzi

    no kurczaczki - jak się tego nie zrozumie to się zawsze będzie błądziło z pomysłami z kosmosu niestety ;)

    ------------------------------

    wracając do twojego ślicznie narysowanego schematu .... to twój SERVER skonfigurowałbym jako UDP/CLIENT z adresem Broadcastowym 255.255.255.255 bo tu aż się prosi o taką konfigurację, zaś twoje moduły czujników jako UDP/SERVER

    i wtedy twój ala SERVER może np co sekundę wysyłać po Broadcascie taką ramkę, przykład oczywiście:

    "czujnik_01,podaj_temperaturę"

    po sekundzie

    "czujnik_02,podaj_temperaturę"

    po sekundzie

    "czujnik_03,podaj_temperaturę"

    itd itp

    Każdy z twoich czujników po odebraniu ramki sprawdza czy to zapytanie do niego - no bo przecież na początku ramki jest oznaczenie z numerem czujnika prawda? a po przecinku komenda co ma zrobić moduł czujnika, więc jak dostanie komendę "podaj_temperaturę" to grzecznie odeśle tę temperaturę

    _________________
    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: 21 lis 2015, o 17:36 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Ok, rozumiem..chyba ;)

    Ale tu rodzi się kolejne moje pytanie. Z tej centralnej jednostki, która zbiera dane ze wszystkich czujników chciałbym otrzymać wszystkie dane na urządzeniach znajdujących się w innej sieci (np. 192.168.10.xx). Czyli np. na adroidzie muszę zrobić klienta do klienta ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 17:39 
    Offline
    Moderator
    Avatar użytkownika

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

    Androidem to ty się możesz podłączyć do tego serwera przez jego AP

    czyli ustaw moduł w tryb AP+STA

    i wtedy android zobaczy sieć twojego "ala serwera" - podłączysz się do niej i już - możesz gadać po UDP ile chcesz

    _________________
    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: 21 lis 2015, o 17:48 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Nie nie, to będzie połaczenie przez internet. Ale już rozumiem o co biega :)
    Korzystając z okazji zadam jeszcze jedno malutkie pytanko: jak w B4A uzyskać jakąś pętlę czasową nie zatrzymującą programu ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 17:52 
    Offline
    Moderator
    Avatar użytkownika

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

    mario napisał(a):
    orzystając z okazji zadam jeszcze jedno malutkie pytanko: jak w B4A uzyskać jakąś pętlę czasową nie zatrzymującą programu ?

    powiem tak ;)

    Tfuuu, na psa urok, przez lewe ramię ..... masakra - zapomnij o takich głupotach w B4A ! :lol: .... to jest MASAKRA i niech ci to do głowy nawet nie przychodzi. Tutaj od razu trzeba to sobie porządnym młotkiem z głowy wybić RAZ NA ZAWSZE ;) i nigdy nawet przez sen nie mówić i pętli opóźniającej w Androidzie ;)

    Pomijam już że gdybyś to zrobił to po prostu (brzydko mówiąc) "zachlastasz albo inaczej zaszlachtujesz" aplikację :lol: ..... to przecież masz tu kurna chata pełne zdarzenia, kurczę - timery .... no wszystko czego dusza zapragnie - tak jak na PC .... praktycznie ..... Więc mam nadzieję, że rozumiesz dlaczego tak ostro wybijamy sobie z głowy tak kocie pomysły ;)

    ------------------------ [ Dodano po: 2 minutach ]

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



    a potem gdzieś

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


    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: 21 lis 2015, o 18:40 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    mario napisał(a):
    Ale tu rodzi się kolejne moje pytanie. Z tej centralnej jednostki, która zbiera dane ze wszystkich czujników chciałbym otrzymać wszystkie dane na urządzeniach znajdujących się w innej sieci

    Oprócz konfiguracji APSTA o której napisał Mirek można jeszcze uruchomić socketB na innym porcie i tenże port "wystawić na zewnątrz" i łączyć się z nim przez internet.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2015, o 20:09 
    Offline
    Moderator
    Avatar użytkownika

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

    Rafał555 napisał(a):
    Oprócz konfiguracji APSTA o której napisał Mirek można jeszcze uruchomić socketB na innym porcie i tenże port "wystawić na zewnątrz" i łączyć się z nim przez internet.

    DOKŁADNIE, są i jeszcze inne możliwości jakby dobrze pokombinować ;) no ale przede wszystkim warto zacząć i popróbować tych podstawowych żeby zrozumieć ... co i jak działa

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

    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