janiu Napisano Styczeń 13, 2018 Udostępnij Napisano Styczeń 13, 2018 Cześć,mam pytanie do Was. Tworze właśnie pojazd który w czasie przejazdu musi wysyłać gdzieś do aplikacji dane odnośnie swojej lokalizacji i aktualne odczyty czujników(musi do być robione cały czas bez przerw). Zastanawiam się czy lepiej do tego zadania użyć modułu Bluetooh czy Wi-fi? Dodatkowo ta aplikacja/serwer będzie wykonywać jakieś operacje na tych danych. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Styczeń 13, 2018 Udostępnij Styczeń 13, 2018 janiu, ile tych danych będzie, jakie środowisko, jak daleko będzie jeździł od tego "serwera"? Najłatwiej będzie wykorzystać BT, wystarczy nawet tani moduł - możesz go podłączyć pod UART i wysyłać informacje bezprzewodowo. Wszystko zależy jednak od szczegółów projektu. Cytuj Link do komentarza Share on other sites More sharing options...
janiu Styczeń 14, 2018 Autor tematu Udostępnij Styczeń 14, 2018 1) Chciałbym cały czas wysyłać odczyty z enkoderów i co sekunde wysyłać odczyty z jakiegoś jednego czujnika temperatury. 2) Własnie z tego co wyczytałem to max zasieg HC-05 to 10m, czy jest opcja w jakiś sposób zwiększyc ten zasieg - jakiś lepszy moduł albo lepsza antena? 3) Z BT jeszcze za bardzo sie nie bawiłem ale przy testach modulu WI-FI ESP8266 miałem duże problemy z niezawodnoscia - często przerywało lub wgl nie dało się sparować czy z modułem BT jest szansa ze będzie mniej takich problemów? 4) Nie potrafie znalezc w google materiałów/instrukcji w jaki sposób napisać aplikacje/serwer która cały czas będzie odbierać informacje z BT. Czy robił ktoś z Was już coś takiego i czy ma jakieś żródło z którego czerpał informacje? Cytuj Link do komentarza Share on other sites More sharing options...
Lukaszm Styczeń 14, 2018 Udostępnij Styczeń 14, 2018 4) Nie potrafie znalezc w google materiałów/instrukcji w jaki sposób napisać aplikacje/serwer która cały czas będzie odbierać informacje z BT. Czy robił ktoś z Was już coś takiego i czy ma jakieś żródło z którego czerpał informacje? Jeżeli dane będziesz wysyłał (z mikrokontrolera) nie binarnie, ale w formie czytelnej dla człowieka, to możesz wyświetlać dane w aplikacji przeznaczonej właśnie do wyświetlania danych przesyłanych przez port szeregowy (np. TeraTerm) (interfejs BT przy odpowiednim ustawieniu na komputerze jest widoczny jako port szeregowy) Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
janiu Styczeń 14, 2018 Autor tematu Udostępnij Styczeń 14, 2018 4) Nie potrafie znalezc w google materiałów/instrukcji w jaki sposób napisać aplikacje/serwer która cały czas będzie odbierać informacje z BT. Czy robił ktoś z Was już coś takiego i czy ma jakieś żródło z którego czerpał informacje? Jeżeli dane będziesz wysyłał (z mikrokontrolera) nie binarnie, ale w formie czytelnej dla człowieka, to możesz wyświetlać dane w aplikacji przeznaczonej właśnie do wyświetlania danych przesyłanych przez port szeregowy (np. TeraTerm) (interfejs BT przy odpowiednim ustawieniu na komputerze jest widoczny jako port szeregowy) Tylko że ja potrzebuje zrobić jeszcze sporo operacji na tych danych, dlatego potrzebuje w jakiś sposób dostać te dane i w odpowiedni sposób je przeanalizowac więc samo wyświetlenie w kosnoli mi nie wiele da Cytuj Link do komentarza Share on other sites More sharing options...
Lukaszm Styczeń 14, 2018 Udostępnij Styczeń 14, 2018 Ja w takiej sytuacji rozważyłbym zastosowanie Qt (jest w nim klasa QSerialPort), ale pisanie wszystkiego ręcznie (i np. wykrywanie zgubionego bajtu) może być czasochłonne. Możesz rozważyć zastosowanie ROSa. Na start dostajesz już rozwiązany problem pakowania/rozpakowywania danych (protokół rosserial) + w gratisie masz wyświetlanie danych na wykresach (np. rqt_plot), rejestrowanie ich i inne tego typu rzeczy. Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Styczeń 14, 2018 Udostępnij Styczeń 14, 2018 janiu, w czym przeszkadza Ci format tekstowy? Skoro możesz dane odebrać przez TeraTerm to równie dobrze możesz je odebrać programem do analizy danych. Format tekstowy wiele spraw ułatwia, zaczynając od testowania, a kończąc na specjalnym traktowaniu niektórych znaków przez niektóre programy lub biblioteki. Ceną za te ułatwienia jest wolniejszy transfer, albo raczej większa ilość danych do przesłania. Jednak czytając Twoje pytania proponowałbym zacząć od formatu tekstowego, a dopiero jak uznasz że jest za mało wydajny przejść na binarny. W obu przypadkach musisz wiedzieć jak dane odebrać i co z nimi zrobić, więc może zacznij od tego? Cytuj Link do komentarza Share on other sites More sharing options...
janiu Styczeń 14, 2018 Autor tematu Udostępnij Styczeń 14, 2018 Dzięki wielkie, jakoś to mysle ogarnę a czy ktos mogłby jeszcze mi pomóc z reszta spraw: 1) Chciałbym cały czas wysyłać odczyty z enkoderów i co sekunde wysyłać odczyty z jakiegoś jednego czujnika temperatury. 2) Własnie z tego co wyczytałem to max zasieg HC-05 to 10m, czy jest opcja w jakiś sposób zwiększyc ten zasieg - jakiś lepszy moduł albo lepsza antena? 3) Z BT jeszcze za bardzo sie nie bawiłem ale przy testach modulu WI-FI ESP8266 miałem duże problemy z niezawodnoscia - często przerywało lub wgl nie dało się sparować czy z modułem BT jest szansa ze będzie mniej takich problemów? Cytuj Link do komentarza Share on other sites More sharing options...
Belferek Styczeń 15, 2018 Udostępnij Styczeń 15, 2018 Ja tu widzę wiele problemów lecz dwa moim zdaniem najważniejsze: 1. Jak się komunikować? 2. Jak przetworzyć otrzymane dane? Jeśli chodzi o pkt. pierwszy to wybór BT lub WiFi jest naturalnym wyborem. Tutaj niestety dotykają nas problemy zasięgu. Na zasięg ma wpływ wiele czynników poczynając od wykorzystywanego pasma (kanału), obecności zakłóceń (np. inne sieci WiFi), lokalizacji Access Pointa, przeszkody na drodze sygnału itp. Generalnie BT i WiFi (poza stanadardami 5GHz) pracują na 2,4GHz więc problemy są podobne - im większa częstotliwość tym generalnie zasięg mniejszy. Nie mniej na potrzeby "rozruchu" ja bym został przy np. WiFi. Byłoby to wygodne gdyż sieć LAN daje Ci dwa dobrze Ci pewnie znane narzędzia protokół TCP (niezawodny lecz wolniejszy) lub UDP (szybszy lecz nie gwarantuje poprawności transmisji). Piszesz o ESP8266 a ten moduł umożliwia komunikację za pomocą obydwu wspomnianych protokołów. Jeśli chodzi o odbiór i przetworzenie danych to i tu masz wiele możliwości zależnie od Twoich umiejętności programistycznych. Możesz napisać swój program korzystający z tzw. socketów, który dane będzie odbierał, możesz użyć gotowych aplikacji lub wykorzystać np. serwer HTTP. W Linuxie jest to jeden z podstawowych serwerów i znajdziesz ich wiele, Apache, lighttpd.....W Windows także zainstalujesz XAMPA, który nie tylko oferuje Ci Apacha, ale także bazę danych MySQL ( z narzędziem do administracji phpMySQLAdmin) no i PHP. Za pomocą PHP w łatwy sposób przetworzysz odebrane dane, zapiszesz do bazy i zwizualizujesz za pomocą strony WWW. Do tego to właściwie musisz znać tylko metody POST i GET protokołu HTTP + podstawy HTML. Problemy z zasięgiem, zrywaniem połączeń itp. możesz starać się zminimalizować na drodze programowej np. w ESP8266. Pozdrawiam, Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Styczeń 15, 2018 Udostępnij Styczeń 15, 2018 W kwestii formalnej: ESP8266 ma wifi, ale nie bt. BT ma dopiero ESP32. Cytuj Link do komentarza Share on other sites More sharing options...
Belferek Styczeń 15, 2018 Udostępnij Styczeń 15, 2018 Tak pomyliłem się, a w zasadzie wypowiedziałem się mało precyzyjnie. Pisząc, że ESP8266 wspiera obydwa protokoły miałem oczywiście na myśli UDP i TCP. . Jak mówiłem (pisałem) na początek wykorzystałbym WiFi., ale BT to także 2,4GHz. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!