łączność RS232<>GSM<>INTERNET

Feb 24, 2016 83 Replies

No to muszę zakupić jakieś modemy i się tym pobawić, więcej chyba teoretycznie dużo nie zwojuję...

Czy w przypadku takiego rozwiązania (GPRS) trzeba na coś zwrócić uwagę w temacie modemu ?

Czy w przypadku nie korzystania z prywatnego APN jest realne ryzyko, że ktoś mi się "włamie" ? Czytałem przed chwilą coś o tym...

Albo - nie wiem, nastąpi jakiś niekontrolowany ruch (cokolwiek by to miało znaczyć) ?

To prawda :D

sundayman pisze:

Modemy takie jak Huawei E3131 pozwalają na prace w trybie, w którym wykonują za projektanta właściwie całą robotę. Wysyła im się krótką komendę AT (z głowy nie zacytuję, swoich źródeł w tej chwili nie mam pod ręką). A one się same łączą, zestawiaja połączenie, konfigurują na porcie USB coś, co od strony OS wygląda jak karta sieciowa. Do tego stopnia, że już wystarczy tylko pchnąć na ten interfejs klienta DHCP -- i już serwer operatora skonfiguruje całą warstwę IP połączenia z internetem.

Ja bym się takiego sprzętu trzymał. Na szczęście jest najbardziej popularny, daje go Polsat, Plus, Play i pewnie cała reszta. Używany można kupić za stówę lub coś koło tego (żeby nie mieć zobowiązań abonamentowych).

Chyba żeby podejść z drugiej strony. Są modemy OEM, które mają w sobie interpreter pythona. Można w nim sporo napisać i użyć modemu jako kompletnego urządzenia telemetrycznego. Ale to warto tylko wtedy, gdy chce się zrobić jakąś większą partię urządzeń.

Raz miałem taki APN wykupiony od operatora. Dawno temu, kiedy był tylko GPRS, same początki takich transmisji. Długo mi to fachmani od dostawcy robili (chyba musieli jakiś podręcznik przeczytać). Potem próbowałem się "włamać" tym do komputera, który stał dwa metry dalej. Jakoś nie szło. Potem już się nad tym nie zastanawiałem, chyba taki prywatny APN jest bardzo rzadko potrzebny. Ja przynajmniej nie znajduję powodów do korzystania z tego.

Przypominam, że ja mam tylko RS232 w urządzeniu, więc takie dynksy na USB odpadają :)

Bardziej coś takiego znaczy :

formatting link
Ale ponieważ jestem całkiem zielony, zastanawiam się, czy modem musi posiadać jakąś opcję w rodzaju "transparent coś tam", żeby potem mógł pracować jako terminal RS232.

Użytkownik "sundayman" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:nakjlc$u3j$ snipped-for-privacy@node2.news.atman.pl...

Musisz znaleźć modemy GSM obsługujące połączenia CSD. Wtedy można zadzwonić z modemu do modemu jak w zwykłej telefonii. Niestety pasmo jest maksymalnie

9600 b/s. I musisz jeszcze sprawdzić czy operator obsługuje połączenia CSD. W 2012 roku korzystałem z połączenia CSD przez Play.

sundayman pisze:

Nie wiem czy słusznie, ale po urządzeniu "mającym tylko RS232" spodziewam się niewielkiego rozumku i jeszcze mniejszej chęci do opanowania nowych umiejętności. Takich jak gadanie z modemem komendami AT i odbieranie połączeń.

To już jest "moduł telemetryczny" a nie modem. Czyli komputer, który z jednej strony ma połączenie z internetem przez GPRS, a z drugiej port szeregowy. Nie wiem czy to ustrojstwo się nada i z jaką łatwością implementuje sie w nim "specjalistyczne aplikacje użytkownika", do jakich bym zaliczył na przykład przetransmitowanie na dalszą odległość portu szeregowego, choćby wspomnianym wcześniej socatem. Ale wiem, że to samo można zrobić wtykając modem do gniazdka USB raspbery pi lub czegoś jeszcze mniejszego (są takie).

Powinno już stać sie jasne, że sam modem przezroczystym nie jest, trzeba mu tę transparencję wyrzeźbić w warstwie IP, co ja bym zaliczył do czynności rutynowych. Padło tu też hasło "modem CSD". Że niby jest "jak w zwykłej telefonii". To prawda. Ale w zwykłej telefonii też nie ma letko, nie wszystko jest tak całkiem przezroczyste. Trzeba zapodać przez port szeregowy jakieś "ATA" czy cóś, celem odebrania połączenia. Dopiero po tym kanał się otwiera. Obstawiam, że jednak łatwiej będzie nie "modemem", lecz "modułem" -- obojętnie czy gotowym, czy zrobionym własnoręcznie z dwóch klocków. Ja nawet nie wiem, czy połączenia CSD są wciąż dostępne, a jeśli tak, to jak długo jeszcze będą.

generalnie słusznie, ale to jest moje urządzenie, więc software dowolnie można modyfikować (znaczy w ramach funkcjonalności :). Obecnie ten RS232 jest używany tylko do wymiany firmware, czy też prostych rzeczy w rodzaju odczyt pamięci zdarzeń.

Ale oczywiście mogę dodać co zechcę. Więc obsługa komend itp. nie powinna być problemem. Ale rzecz jasna, czym mniej trzeba robić, tym lepiej.

Znaczy RPi jako "modem" masz na myśli ? No może... Tylko, czy w takiej sytuacji nie będzie problemu od strony formalnej ? Bo taki modem M2M jako gotowiec kupuję, podłączam i po sprawie. A zestaw RPi + dongle, to nie wiem...

Zazdraszczam... Muszę szybko nadrabiać :)

Padło tu też hasło "modem CSD". Że niby jest "jak

No raczej bym się na tym nie opierał, to już nieco zbyt "prymitywne" chyba rozwiązanie. Poza tym, raczej wolałbym żeby użyszkodnik mógł korzystać z tego via internet (czyli jakiś mój serwer) niż musiał mieć modem.

Są jakieś mniej lub bardziej gotowe rozwiązania żeby taki serwer postawić ?

sundayman pisze:

Od jakiej "strony formalnej"? Dopuszczenia, przepisy itd? Też nie wiem. Kiedyś potrzebowałem podobnej rzeczy, też do urządzenia z RS232. Idealnie pasowały mi komputerki z firmy acmesystems.it -- płyta komputera (65x65mm), płyta modemu GPRS, wszystko razem w aluminiowej obudowe. Teraz tam mają jescze fajniejsze diwajsy, nawet ta najmiejsza "Arietta" to pociągnie, rzecz jasna po uzupełnieniu donglem. To takie małe, że łatwo wbudować w co się chce. Można użyć routera z gniazdkiem USB na modem -- zwykle mają port rs232 (choć w środku, trzeba się do niego dobrać), a soft dość łatwo wymienić na własny. Możliwości sprzętowych jest teraz wiele, choć akurat na odcimku przezroczystych modemów rs232 notujemy przejściowe braki w asortymencie.

Więc zawsze warto się poradzić.

W sensie hard- czy software? To może być zwykły hostong serwera WWW. Wcześniej pisałem o kilkudziesięciu linijkach perla, ale da się to też tak zrobić, by urządzenia wpychały swoje raporty do serwera http, i tak też były one później po obróbce udostępniane.

Jeszcze jedno mi przysło do głowy. Po policzeniu ilości przesyłanych danych może się okazać, że wystarczą SMS-y z jakiejś telemetrycznej taryfy. Do tego wystarczy modem OEM, który przeważnie ma RS232, a słanie wiadomości komendami AT jest proste, łatwo tej sztuczki nauczyć swoje urządzenie. Jeśli nie SMS, to są modemy ze stosem TCP/IP (i z tym pythonem), z którymi też się przez port szeregowy pogada. Ale to jednak sporo roboty by było z napisaniem całego systemu, nie wiem czy warto.

tak, o to chodzi.

Tak mi przyszło, że właściwie najlepiej by było, żeby całość była mało zależna od konkretnego modemu. Czyli, żeby jak najbardziej uniwersalnie obsługiwać toto - znaczy jakimiś komendami AT, obciążając tym zadaniem moje urządzenie.

Bo i tak muszę program robić, a w razie konieczności wymiany modemu na inny, byłby mniejszy kłopot. Da się tak ? Znaczy - obsłużyć całe zestawienie połączenia itp ?

Miałem na myśli soft. Znaczy - od strony jakiegoś hostingu gdzieś tam na serwerze. Moje doświadczenie na razie kończy się na postawieniu strony na Joomli, stąd pytanie.

Na razie wolałbym gotowe, zewnętrzne urządzenie. I z uwagi na problemy prawno-formalne, i chyba tak łatwiej mi będzie.

Jak już będę miał jakieś doświadczenie, wtedy pomyślę dalej. A co do ilości danych ; normalny nadzór nad urządzeniem, to przesłanie może kilkudziesięciu - kilkuset bajtów.

Przesłanie pamięci zdarzeń - to chyba około 32 KB.

Chyba wolałbym to robić nie SMS, a "normalną" transmisją. Bo wtedy tak samo będzie wyglądała komunikacja "on site", po podłączeniu się kabelkiem do laptopa.

Co kolega sądzi o tych modemach ;

formatting link

Kupujesz router z VPN (np microtic) dodajesz do niego modem usb . Konfigurujesz router jako klienta vpn. Dołączasz do niego konwerter eth/rs232. Po drugiej stronie zakładamy, że masz staałe IP. Dajesz taki sam router jako serwer vpn i wpinasz do niego konwerter eth/rs232. Jeśli po obu stronach możesz mieć tylko dostęp przez gprs to potrzebujesz komputera ze stałym ip albo stałym adresem w domenie. Na nim stawiasz serwer VPN spinający ze soibąndwie końcówki z modemami gprs. Sprżetowo to nie jest samoróbka ale jeśli chodzi o konfigurację to trochę tak, No i musisz mieć serwer. Ale zaleta jest że tanio bo Microtici są po jakieś 160 zł. Możesz sobie kupić takie skonfigurowane routery klienckie innej firmy (po jakieś co najmniej 1400 zl/szt) wraz z dożywotnim dostępem do dedykowanego dla ciebie tunelu realizowanego przez serwer dostawcy sprzętu.

sundayman pisze:

Modemy GSM podążają we wcześniej opisanym kierunku, te najłatwiej dostępne i najtańsze stały się właściwie routerami. W przypadku portu RS232 można przyjąć, że takich modemów nie ma i nie będzie. A nawet nie było -- jeśli co do joty przyjąć postawione warunki.

Jeśli dopiero robi się urządzenie, to zaprojektowanie gdziazda USB do modemu nie jest ekscentrycznym pomysłem, tak się robi. Nie jest wielkim wyzwaniem, by obsługiwane były wszystkie modemy (przynajmniej te z dłuuugiej listy zalecanych przez producenta).

Port szeregowy w urządzeniu, to oldskulowe rozwiązanie, trzeba sobie z tego zdawać sprawę. Jeśli chce się ten sentyment podtrzymać, warto też uszanować oldskulowe konwencje. O tym za chwilę.

Zabawne, ale nawet mając zerowe umiejętności webmasterskie, zdarzenia raportowane przez stacje telemetryczne mogą być skutecznie zapisywane na serwerze. Jeśli urządzenie próbuje wysłać swoje dane i robi to odwołując się do adresu

formatting link
w logach serwera znajdzie się zapis, że 404, że takiej strony nie ma, a zaraz za nim wszystkie przekazane dane.

Nie namawiam nikogo, by system projektował właśnie w ten sposób, ale porządne rozwiązania wcale nie są o wiele bardziej skomplikowane.

Miałem wielokrotnie do czynienia z urządzeniami, które komunikowały się ze światem przez port szeregowy. Takie ustrojstwo żyje własnym życiem, a po podłączeniu czegoś do RS232 można sobie z nim pogadać o tym, jak mu ostatnio szło. Zawsze było to tak, że podłącza się standardowy program terminala, na którym pojawaia się wtedy zachęta w rodzaju "Sundayman Advanced Devices, please type 'help'". Wtedy można prostymi żołnierskimi poleceniami przeczytanymi w tym helpie pogadać z diwajsem, skonfigurować, wydać mu polecenia, odpytać z raportów. Gdy ten sprzęt projektowano, takie rozmowy zawsze odbywały się in situ, bo nikt nawet nie myślał o komunikacji przez sieć.

Ja dostosowując się do zwyczaju pisałem skrypty, które zastępowały człowieka przy rozmowie, a potem to czego się dowiedziały, słały gdzieś przez sieć. Programy takie jak minicom (a wcześniej Telix pod DOS) są znakomitym wsparciem do takich działań. Jeszcze raz chcę podkreślić jaka tu konwencja -- o wszystkim decyduje zewnętrzny komputer. Pomysł, by samo urządzenie decydowało *kiedy* chce gadać i jak, nie jest zbyt szczęśliwy. W szczególności jest w konflikcie z działaniami in situ przy udziale czynnika ludzkiego, który nie lubi oczekiwać na nic, raczej nie będzie zachwycony, gdy trafi na sytuację kiedy urządzenie nawet nie zamierza wysyłać w tym czasie żadnych "komend AT". Więc zanim jeszcze nie zrobiło się zbyt dalekich kroków, gdy projetk nie jest ukończony, warto obstalować sobie konsultacje z kimś, kto ma doświadczenie i pojęcie o takich rzeczach.

sundayman pisze:

Używałem tych takich w czerwonych obudowach. To znaczy moje były w kolorze aluminium, ale poza tym wszystko to samo z dokłdnością do każdej śrubki. W środku trochę co innego ale nie tak bardzo co innego. Widzę, że firmy trzymają się wspólnych standardów, nawet żelastwo to samo. Ale to przebrzmiały standard, dostsowanie się do niego dzisiaj, to szaleństwo. Nawet mi jedna taka sztuka została, całkiem nieużywana. Nie wiem co z nią zrobić. Bo nie mam ochoty tykać nawet długim kijem.

Tylko, że większość powszechnie używanych "dongli" 3g nie zgłasza się jako urządzenie usb szeregowe tylko mass storage. Taki "modem" ma dedykowany soft dla PC, który przełącza na tryb urządzenia szeregowego, wtedy jest dostępny interfejs szeregowy.Nie znalazłem sportowanego softu do przelaczania modemów na układy embeded (poniżej tych, co mogą działać pod linuksem). Co nie oznacza, że nue dałoby się to zrobić. Sa też jakieś wyspecjalizowane modemy do embeded, które zgłaszają się od razu jako szeregowe, ale są o wiele droższe.

Pan Mario napisał:

Kiedyś kupiłem taki "konwerter eth/rs232", jak tylko zaczęły się pojawiać na rynku. To jest osobny komputer z linuksem i socatem, procesor ma nie głupszy niż w routerze, a służy tylko do tej jednej rzeczy. Te "gotowe rozwiązania", jeśli się im przyjrzeć z bliska, często polegają na ogromnej nadmiarowości urządzeń i softu. Ale to działa, pod tym względem nie mam zastrzeżeń.

Użytkownik "Jarosław Sokołowski" napisał w wiadomości grup dyskusyjnych: snipped-for-privacy@falcon.lasek.waw.pl... Pan Mario napisał:

No ale sam widzisz, ze musi byc powaznie oprogramowane. VPN, DHCP, DDNS, przechodzenie przez proxy - i wymagania rosna :-)

J.

Pan Marek napisał:

Się zgłasza na dzień dobry jako CD-ROM, żeby producent mógł dostarczyć sterowniki, reklamy, czy co też uzna za stosowne. Potem się to przełącza w inny tryb. Można jako urządzenie szeregowe i modem na nim, ale to dla mnie zaszłość historyczna, choć modemy *też* to potrafią. Lepiej użyć trybu karty sieciowej.

Tak też robił soft, któr znalazłem na tym wirtualnym CD. Głupio robił. Ale on starszy od modemu o dobrych kilka lat, więc kompletnie nie potrafi skorzystać z nowych rozwiązań.

Jeszcze trzeba mieć motywację, by to robić. Ja jej nie widzę.

Nie tyle "wyspecjalizowane", co po prostu stare, tak jak już wspomniałem.

Pan J.F. napisał:

E tam rosną. Od razu na samym początku napisałem, że można VPN, jeśli ktoś koniecznie musi i nie potrafi sobie tego inaczej wyobrazić.

Am 25.02.2016 um 11:36 schrieb J.F.:

Nie mus, ale może. Jako, że używamy wiele urządzeń posiadających RS232 lub TTL/CMOS UART mamy też różne możliwości ich podłączenia do hosta. Wiele urządzeń znaczy, może być ich grubo ponad 100 w jednym zestawie. Dlatego używamy gotowców firmy Perle (ze względów historycznych), mamy takowe 4x i 8x na Ethernet. Oprócz tego mamy urządzenia własnej konstrukcji, 8, 16, 24 i 32x UART na Raspberry PI z wyjściem na Ethernet. DHCP nie mamy ze względów taktycznych (po prostu wygodniej na stałym IP, bo wiemy gdzie jakie urządzenie jest podłączone), VPN jest na hoście, to też może być Raspberry. Jakby do tego Raspi "przykleić" modem GSM, to mamy gotowe rozwiązanie. Nawiasem mówiąc mamy 2-3 takie instalacje w świecie, gdzie nie ma bezpośredniego przyłącza sieci pod ręką. Niestety te 32x UART są dość drogie, same układy i płytka to ok

150EUR. Ale za to małe i możemy konfigurować jak podejdzie, nawet, jak jakiś mądry inaczej ma urządzenia z normalnym UARTem i odwróconym. Nie trzeba robić 32 inwerterów na "sznurku", tylko zmienia się konfigurację USARTów, które to robią same.

Waldek

Zwykły modem GSM900, który działa z arduino ma zaimplementowane IP stack i ma możliwośc zestawienia połączenia TCP za pomocą komend AT. Kosztuje 20 dolców jako dev kit..

formatting link
dolców jako moduł
formatting link
klika dolców jako sam moduł
formatting link
formatting link
c.

W dniu 2016-02-25 o 11:36, J.F. pisze:

No właśnie nie do końca. Nie znam konwerterów eth/RS232 mających na pokładzie klienta VPN. Przynajmniej nie za sensowną cenę. Raczej trzeba składać z klocków. Konwerter RS232/eth za jakieś 150-300 zł, router z VPN - jakies 150 zł i do tego modem usb. Zresztą nawet kiedyś przymierzałem się żeby zrobić na bazie jakiegoś konwertera RS232/(eth+WiFi) zrobić sobie serwer danych odpytujący kilka urządzeń po RS232 i wystawiający dane przez http. Znalazłem tylko jednego dostawcę, który dostarczał SDK dające możliwość pisania własnego softu.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required