ATNEL tech-forum
https://forum.atnel.pl/

Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .
https://forum.atnel.pl/topic21686.html
Strona 1 z 1

Autor:  przemo159 [ 9 gru 2018, o 00:20 ]
Tytuł:  Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Witam.
Potrzebuję pomocy w temacie serwera, FTP, TCP, czy nawet UDP.
Chcę monitować na ekranie swojego telefonu z androidem(w aplikacji napisanej w B4A) ale i sterować, z dowolnego miejsca(połączenie internetowe) parametrami pracy swojej przydomowej elektrowni wiatrowej, do której sterownika(na PIC'u) przez RS232 jest podłączony moduł GSM SIM800L.
Niestety postawienie jakiegokolwiek serwera po jednej stronie(SIM800L) lub po drugiej(ANDROID) z tego co wiem nie ma sensu, ze względu na brak publicznego IP po obu stronach, oraz na blokowanie przez operatorów dostępu do takiego serwera z zewnątrz, z resztą tego próbowałem i nici(przepraszam jeśli to co o serwerach piszę brzmi śmiesznie, ale w tych sprawach dopiero raczkuję :mrgreen: ).
Mam do dyspozycji serwer na którym mam swoją stronę internetową, czyli ma on stałe i publiczne IP, jak dobrze rozumiem.
Pomyślałem więc o takiej konfiguracji, że na Sim800 i na Androidzie stawiam sobie clienta czy to TCP, czy UDP, a nawet FTP,który połączy się z adresem IP serwera, a na serwerze uruchamiam ... no i właśnie co uruchomić w takiej sytuacji?
Czy może są jakieś gotowe skrypty do umieszczenia na serwerze do takich celów? Może istnieje jakiś "mostek", czy coś takiego...?

Gdybym chciał tylko monitować parametry pracy, to z elektrowni przez sim800 przesyłam sobie plik z danymi np. na FTP'a, a z telefonu w jakiejś apce B4A, pobieram ten plik z FTP'a i po nazwijmy to "obróbce" wyświetlam je na ekranie, i to powiedzmy że udało mi się już zrobić,ale wtedy dość rzadko miałbym odświeżanie danych.
Ale Potrzebuję też mieć możliwość wysyłać z telefonu jakieś komendy/rozkazy do elektrowni, najlepiej szybko, bez większych opóźnień, bez straty czasu na zmianę trybu wysyłanie/pobieranie pliku w SIM800, mało tego, chciałbym mieć podgląd parametrów w miarę na bieżąco, czego przy wysyłaniu pliku na FTP'a raczej nie uzyskam...
Będe wdzięczny za jakiekolwiek wskazówki, może ktoś dokładnie taki temat już przerabiał?

Autor:  mirekk36 [ 9 gru 2018, o 00:27 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

przemo159 napisał(a):
Czy może są jakieś gotowe skrypty do umieszczenia na serwerze do takich celów?

Gotowe nie - ale samemu można sobie napisać nawet jakieś proste skrypty w PHP ;) ot trzeba a w zasadzie wystarczy liznąć odrobinkę nowego języka i dasz radę ...

wtedy modem GSM wysyła dane przez te skrypty PHP na hosting a B4A odczytuje te dane - no i można robić odwrotnie - tylko żeby nie za często - żeby cię hostingodawca nie zbanował

Autor:  przemo159 [ 9 gru 2018, o 10:23 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Dzięki Mirku za odpowiedź.
mirekk36 napisał(a):
tylko żeby nie za często - żeby cię hostingodawca nie zbanował

No właśnie, w moim przypadku to byłby pakiet/plik zaledwie ok 200 bajtów, ale aktualizowany przynajmniej raz na sekundę.
Czy taka częstość przesyłania nie byłaby problemem?Gdzie wogóle można znaleźć odpowiedzi na takie podstawowe zagadnienia, czy określają to jakieś reguły, czy na każdym hostingu może być inaczej?

Autor:  mirekk36 [ 9 gru 2018, o 12:16 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

przemo159 napisał(a):
ale aktualizowany przynajmniej raz na sekundę.

to masz bana swojego IP jak w banku ;) to jest masakryczny ruch - blokowany praktycznie z automatu, nawet raz na minutę może być za często - trzeba się zresztą dowiedzieć u swojego hostingodawcy jakie mają zasady w takich przypadkach

------------------------ [ Dodano po: 6 minutach ]

Poza tym, powiedz mi albo sam się zastanów - po jakiego grzyba co sekundę albo nawet co 10 sekund słać zapytania w przypadku jakiegoś monitorowania ... no co ty? Tzn że co? że w ciągu jednej sekundy może się zdarzyć jakaś tragedia i gdy operator nie zareaguje to coś tam wybuchnie? A sam operator nie może ani na sekundę oderwać wzroku od panelu z danymi które są monitorowane ? ;) .... Tak do tego podejdź to szybko sam zrozumiesz (tak mi się wydaje - chyba że czegoś nie wiem) ... że w twoim wypadku nawet przesyłanie danych raz na 10 min to byłoby za często. A co godzinę - to spokojnie by wystarczyło.

Tym bardziej, że co godzinę możesz właśnie przesyłać sobie jakąś paczkę danych np z całej godziny i luzik.

Owszem gorzej będzie czasowo z reakcją w drugą stronę - no ale jak mówię - przemyśl to - bo zwykle gdy ktoś pierwszy raz coś takiego robi to myśli sobie - Boże ... MUSZĘ mieć możliwość w ciągu sekundy zareagować - po czym przez 8 albo 24 godziny siedzi i patrzy w monitor i się bawi zdalnym sterowaniem, ale to w końcu mija - ta chęć patrzenia bez przerwy i później co? ruch jest generowany bez sensu nawet co kilka minut ;)

Autor:  przemo159 [ 9 gru 2018, o 20:12 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

mirekk36 napisał(a):
Poza tym, powiedz mi albo sam się zastanów - po jakiego grzyba co sekundę albo nawet co 10 sekund słać zapytania w przypadku jakiegoś monitorowania ... no co ty? (...)
w twoim wypadku nawet przesyłanie danych raz na 10 min to byłoby za często. A co godzinę - to spokojnie by wystarczyło.


Generalnie racja, do tej pory wszystko szło po sms-ach, wysyłałem z Androida zapytanie lub rozkaz sms-em, a sterownik albo wykonywał np. polecenie zatrzymania, albo odsyłał mi SMS-a z parametrami pracy.
Ale... Chciałbym to ogarnąć w bardziej "cywilizowany" sposób niż komendy SMS, a co gorsza czasem sms potrafi zabłądzić w sieci i przyjść po 5-10 minutach, a to niedopuszczalne, już tłumaczę dlaczego...
Jestem jakieś 40 km od domu,miejsca gdzie pracuje moja elektrownia (8KW mocy, średnica wirnika ok 7.5metra) i widzę że w okolicy budują się chmury burzowe,zrywa wiatr, w prognozie również widać spodziewane silne porywy wiatru, wtedy odebranie komendy "STOP" przez sterownik wiatraka z opóźnieniem 10 minut oznacza że mogę już tylko zbierać połamane śmigła w promieniu 50 metrów od masztu. A że jedna łopata ma prawie 4 metry długości i waży ok 30kg, jest ich 3sztuki, wolałbym tego uniknąć :shock:
Gdy jestem na miejscu to nie problem, bo mam dostęp do sterowania oraz do wszystkich parametrów "na żywo" przez aplikację na androidzie, która po uart jest połączona ze sterownikiem wiatraka, myślałem że coś takiego też mogę osiągnąć przez internet, ale teraz widzę że moje pojęcie o sieci było nieco inne, niż to jest w rzeczywistości ;)

Autor:  mczarny [ 9 gru 2018, o 21:49 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Przepraszam, że się wtrącam ale może zamiast kombinować z przesyłaniem komend postaw sobie miernik prędkości wiatru a do tego czujnik wyładowań AS3935 i masz automatykę.
Zadajesz parametry powyżej których łopaty wiatraka się składają czy zatrzymują i śpisz spokojnie.

Autor:  przemo159 [ 9 gru 2018, o 22:10 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Mczarny, widzisz to nie jest takie proste.
Czujnik prędkości wiatru mam na gondoli wiatraka, sterownik ma tą informację jako pierwszy, potem prędkość wiatru jest przesyłana do mnie, mam na żywo monit wiatru.
Oczywiście w programie sterownika mam uwzględnione graniczne prędkości wiatru, powyżej jakich automatyka ma wszystko zatrzymać.
Chodzi o to, że kiedy podczas normalnej pracy, przy nominalnych obrotach koło wiatrowe dostanie "strzała" w postaci wiatru 100km/h, to zabezpieczenia(mechanizm odchylający i hamulec) nie zdążą nic zrobić, to jest chwila...
Co do wyładowań, to niestety szkwały od chmur burzowych występują duużo wcześniej niż walą pieruny, często bez żadnego ostrzeżenia...

Autor:  kozaa71 [ 11 gru 2018, o 20:18 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Witajcie.
Ciekawy temat poruszyłeś kolego przemo159.
Ja obecnie jestem na etapie tworzenia power wall ale przede mną długa droga jeszcze.
Chciałbym jak najwięcej energii odzyskać z naturalnych zasobów.
Zrobiłem jak na razie trzy zestawy 4s 15P.
Czwarty w kompletowaniu.....wszystko bardzo czasochłonne :(
Piszesz o łopatach czterometrowych......
Nie chwaląc się pracuję w firmie,(najdłuższy staż),która zrobiła najdłuższą łopatę na świecie. 107 metrów długości,waga jednej łopaty ok. 51 ton.
To tak na marginesie,pozdrawiam.

Autor:  przemo159 [ 12 gru 2018, o 19:09 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

kozaa71 napisał(a):
Ja obecnie jestem na etapie tworzenia power wall ale przede mną długa droga jeszcze(....).wszystko bardzo czasochłonne :(

To fakt, ja z moim wiatrakiem z małymi przerwami wojuję od 9 lat, ale wszystko robiłem sam od podstaw, włącznie z projektem formy i laminowaniem śmigieł z kompozytów.

kozaa71 napisał(a):
Nie chwaląc się pracuję w firmie,(najdłuższy staż),która zrobiła najdłuższą łopatę na świecie. 107 metrów długości,waga jednej łopaty ok. 51 ton.

Fajnie byłoby zobaczyć takiego giganta z bliska, ale pewnie nie ma takiego w Polsce??

Wracając do tematu, natrafiłem w necie na coś takiego jak "reverse tunneling", ale zbyt to dla mnie zawiłe i skomplikowane, chyba jednak posłucham Mirka i zacznę próby że skryptemw PHP, przynajmniej nauczę się czegoś nowego, a komendy SMS pozostawię jako alternatywę awaryjną...

Autor:  grzeniu 73 [ 12 gru 2018, o 19:57 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Najwyższe wiatraki stoją w Polsce. :) .

Autor:  eMCe2 [ 13 gru 2018, o 17:57 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

A interesowałes się tematem automatyki typu SUPLA? To projekt open source wiec może udało by ci się jakoś przez ich chmurę ogarnąć temat.

Autor:  przemo159 [ 14 gru 2018, o 11:12 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

eMCe2 napisał(a):
A interesowałes się tematem automatyki typu SUPLA? To projekt open source wiec może udało by ci się jakoś przez ich chmurę ogarnąć temat.

Kurcze świetny projekt, nie miałem pojęcia o czymś takim...
Ale po zainstalowaniu ich apki w telefonie wygląda na to że jednak działa tylko w obrębie sieci wifi:
Obrazek

A co do rady Mirka i PHP, kurde jakbym wiedział że to jest tak podobne do programowania w C, a sam PHP po pierwszym kontakcie wydaje się być dużo prostszy, to pewnie już dawno bym się nim zainteresował...

Autor:  eMCe2 [ 14 gru 2018, o 12:17 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

Apka kliencka dziala nie tylko przez WIFI. Uzywam tego do rolet w domu i bramy garazowej.

Zapewne w sofcie dla urzadzenia wykonawczego bys musial pogrzebac bo te sa zazwyczaj z wifi przez ESP8266.
Widziałem na forum supli że można też programować urządzenia w srodowisku arduino. Generalnie nie zaglebialem się w temat bo gotowe wsady jakie sa na forum pod esp8266 mi zupelnie wystarczaly, ale pewnie jakbyś temat zgłębił to da się na tym sporo ogarnac ;)

Ostatnie żółte na dole https://www.supla.org/pl/download

Autor:  przemo159 [ 23 gru 2018, o 17:04 ]
Tytuł:  Re: Komunikacja Sim800L z B4A przez serwer FTP,TCP lub UDP .

eMCe2 napisał(a):
Apka kliencka dziala nie tylko przez WIFI. Uzywam tego do rolet w domu i bramy garażowej.

A czy mógłbyś w wolnej chwili sprawdzić ile czasu mniej więcej mija od wysłania z apki polecenia do momentu odebrania tego polecenia przez sterownik?? I czy dostajesz w apce jakieś potwierdzenie np. zamknięcia rolety i też ciekaw jestem po jakim czasie?
eMCe2 napisał(a):
Widziałem na forum supli że można też programować urządzenia w srodowisku arduino.

Tak wiem, ale chyba jednak więcej czasu by mi zajęło dostosowanie tego do moich potrzeb, niż to co już udało mi się zrobić, czyli stworzenie naprawdę prostego skryptu w PHP(kilkanaście linijek kodu), który jest takim "pomostem" między B4A i SIM800, tym bardziej że znalazłem tu na forum niemal identyczny opis rozwiązania(ostatni post w tym temacie):
topic14803.html

U mnie w skrócie działa to tak:
Sim800 wysyła w postaci zapytania "GET" parametry pracy(doklejone do adresu strony) do skryptu PHP na serwer, skrypt zapisuje je w pliku txt na serwerze, a w odpowiedzi odsyła do SIM800 odczytane z innego pliku polecenia do wykonania, które to w ten sam sposób aplikacja w B4A na telefonie przesłała je na serwer, a w odpowiedzi oczywiście dostała odczytane parametry pracy z pierwszego pliku...
Cały cykl powtarzam co 10 sekund i jest to wystarczające, ale próbowałem robić to co ok 3 sekundy i też działało :)

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/