logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Komunikacja pomiędzy serwerem www a urządzeniem używając GPRS

montepl 15 Cze 2015 21:48 1308 10
REKLAMA
  • #1 14774358
    montepl
    Poziom 10  
    Posty: 5
    Witam,
    Sytuacja wygląda tak:
    Mam urządzenie wysyłające dane za pomocą gprs (tracker gps). Wysłane dane chcę jakoś odbierać na serwerze www i w jakiś tam sposób wyświetlać.

    Moje główne pytanie brzmi, jak je odebrać? Czy da się to zrobić za pomocą samego php czy trzeba kombinować z czymś innym?

    Pytanie numer dwa. Czy jest możliwa komunikacja w drugą stronę, czyli serwer wysyła dane a urządzenie je odbiera. Jeśli jest to możliwe to jak mniej więcej ma to wyglądać? Zakładam, że nie można tego zrobić za pomocą samego numeru karty sim tylko potrzebny będzie jakiś adres ip, który zapewne przydziela operator.

    I tu pojawia się trzecie pytanie.Czy numer ip zmienia się przy każdym zapytaniu czy też jest on utrzymywany przez jakiś czas (zakładam, że na statyczne ip nie ma co liczyć lub będzie się to wiązało z większymi kosztami)?

    Mój poroblem może wydawać się błahy ale dopiero zaczynam zabawę z gprs-em i nie mam za bardzo pojęcia jak się za to zabrać, dlatego też proszę o wyrozumiałość.
  • REKLAMA
  • #2 14774481
    TvWidget
    Poziom 39  
    Posty: 4417
    Pomógł: 472
    Ocena: 697
    W tym wypadku najważniejszy jest protokół jakim są przesyłane dane. To czy jest to robione przez GPRS czy np. przez ADSL ma drugorzędne znaczenie.
  • #3 14774483
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    Poczytaj na wikipedii o GRPS, to dowiesz się, jak wygląda sprawa IP ;)

    Natomiast do nawiązania (zainicjowania) komunikacji w drugą stronę konieczne byłoby wdzwonienie się na urządzenie, a więc bez modemu GSM się nie obędzie.

    Zakres możliwości, przesyłane dane, ich format i cel będą zależeć od urządzenia.
  • REKLAMA
  • #4 14775127
    montepl
    Poziom 10  
    Posty: 5
    Bardzo dziękuję za tak szybkie odpowiedzi :)

    Jakie protokoły są najczęściej spotykane w takich urządzeniach (tcp, udp, czy jeszcze jakieś inne)? Albo inaczej, jeżeli ustawię już w urządzeniu parametry łącza (APN, numer IP serwera oraz port) i włączę wysyłanie danych to czy mogę jakoś na serwerze sprawdzić jakiego protokołu używa to urządzenie?

    Poczytałem o tym GPRS-ie i wychodzi na to, że ip jest udostępniane na czas trwania sesji. Tylko teraz nie bardzo wiem ile taka sesja trwa. Czy utrzymywana jest tak długo jak urządzenie podłączone do sieci czy po np. 10 minutach następuje zakończenie sesji i jest automatycznie rozpoczynana nowa?
  • #5 14775380
    TvWidget
    Poziom 39  
    Posty: 4417
    Pomógł: 472
    Ocena: 697
    W urządzeniach przeznaczonych dla firm (pewnie 99% rynku) stosuje się protokół UDP a dla użytkowników indywidualnych HTTP (wyższa warstwa TCP).
    W przypadku HTTP dane można odebrać przy pomocy PHP na serwerze wirtualnym. Dla UDP wymagany jest serwer dedykowany lub tzw. prywatny z uruchomioną odpowiednią aplikacją. W przypadku UDP komunikacja w drugą stronę dla standardowych kart SIM w zasadzie nie jest możliwa.
    Rodzaj stosowanego protokołu można rozpoznać po ustawieniach. HTTP wymaga podania adresu URL skryptu PHP. Dla UDP zwykle w ustawieniach jest adres IP serwera i port.
    To czy sesja jest stale utrzymywana czy nawiązywana przy każdej wysyłce danych zależy wyłączenie od firmware urządzenia.
  • #6 14775734
    montepl
    Poziom 10  
    Posty: 5
    To teraz już przynajmniej, mniej więcej wiem na czym stoję.

    Tak jeszcze dla pewności czy dobrze wszystko zrozumiałem :)
    - Do odbioru danych po UDP muszę mieć odpowiednią aplikację na serwerze (czyli poprzez samo php nie da rady)?
    - Zwykła karta sim nadaje się tylko i wyłącznie do wysyłania danych? Czy karty oferowane do zastosowań telemetrycznych różnią się czymś w tej kwestii czy też są to zwykłe karty?
  • REKLAMA
  • #7 14775928
    kornik280
    Poziom 18  
    Posty: 466
    Pomógł: 36
    Ocena: 14
    To są normalne karty z wykupioną usługą.
    Często bywa, że do komunikacji dwukierunkowej GPRS jest używany serwer OPC (np.Siemens tak ma)
    Do podglądu transmisji możesz użyć np. Wireshark
  • #8 14776053
    mpier
    Poziom 29  
    Posty: 818
    Pomógł: 153
    Ocena: 141
    Hej,
    na wszystkie twoje pytania można odpowiedzieć "tak", "nie", "da się" i "nie da się" w dowolnej kolejności. Da się to zrobić w php, jeśli masz na czym je uruchomić. Co to jest "samo php"? Wysłać dane do urządzenia możesz jakie chcesz, tu jest dowolność, choć operatorzy gsm nie wszystko przepuszczają, ale urządzenie pewnie nic z nimi nie zrobi.

    Zacznij od dokumentacji i instrukcji, tam pewnie będą odpowiedzi.
  • #9 14776136
    montepl
    Poziom 10  
    Posty: 5
    Już myślałem, że wszystko jest z grubsza wyjaśnione a tu proszę, znowu jakieś nowe opcje :)

    To w końcu co się da a czego nie bo widzę tu sprzeczne (chyba :P) informacje?

    Sugerując się wypowiedzią TvWidget sądziłem, że aby odbierać dane na serwerze będę musiał sobie jakiś program napisać specjalnie do obsługi UDP. Z komunikacją w drugą stronę (z serwera do urządzenia) wydawało mi się, że jest podobnie - poprostu nie da się.

    Jeśli jednak da się zrobić komunikację dwustronną i to przy użyciu php to chętnie dowiem się jak :)

    Dokumentację i instrukcję przeczytałem ale jak to czasami bywa nie zawsze jest w niej wszystko wyjaśnione. Chociaż same opisy ramek/pakietów są całkiem fajnie zrobione.
  • Pomocny post
    #10 14776706
    TvWidget
    Poziom 39  
    Posty: 4417
    Pomógł: 472
    Ocena: 697
    W przypadku odbierania danych przesyłanych protokołem UDP program/skrypt musi być uruchomiony jako daemon. Jeżyk w jakim się go napisze nie jest istotny.
    Podobnie jest z wysyłaniem danych "w drugą stronę". Język nie ma żadnego znaczenia. Z tego powodu pytania typu "czy da się to zrobić w PHP nie mają sensu".
  • REKLAMA
  • #11 14776965
    montepl
    Poziom 10  
    Posty: 5
    Ok, to teraz już wszystko rozumiem.
    Dzięki wszystkim za wyjaśnienia :)

Podsumowanie tematu

✨ Użytkownik poszukuje informacji na temat komunikacji pomiędzy serwerem www a urządzeniem GPS trackerem za pomocą GPRS. Kluczowe pytania dotyczą odbioru danych na serwerze, możliwości komunikacji dwustronnej oraz kwestii związanych z adresem IP. Odpowiedzi wskazują, że do odbioru danych przesyłanych protokołem UDP konieczne jest posiadanie odpowiedniej aplikacji działającej jako daemon, natomiast PHP może być użyte do odbioru danych przez HTTP. W przypadku komunikacji w drugą stronę, standardowe karty SIM nie umożliwiają tego bez dodatkowego sprzętu. Użytkownik dowiaduje się również, że adres IP jest przydzielany na czas trwania sesji, a jej długość zależy od firmware urządzenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA