Skocz do zawartości
slon

Komunikacja radiowa w smartfonie/PC

Pomocna odpowiedź

Przeglądając forum natrafiłem na kilka postów z przed kilku miesięcy albo i starszych związanych z komunikacją radiową. Więc stwierdziłem , że opisze swoje wrażenia z użytkowania modułu HC-12, który swego czasu można było kupić w sklepie botland. Jeśli ktoś uważnie przeanalizował moduły , które znajdują się w obudowie mojego poprzedniego projektu pewnie dostrzegł małą antenkę obok modułu bluetooth. To jest właśnie moduł HC-12, który testowałem jakiś czas temu. Jeśli ktoś zadał by pytanie w jakim celu to odpowiedz jest prosta. Załóżmy , że mamy średniej wielkości gospodarstwo i chcieli byśmy otrzymywać informację o różnych zdarzeniach np: temperatura w szklarni itp. Lub chcemy się komunikować z kilkoma osobami w miejscach gdzie "cywilizacja nie dociera" W takich "polowych" warunkach może nam pomóc arduino uno oraz moduł radiowy.

pierwsze.thumb.jpg.8f0e64ccf1787ede89a54bf9ee907e46.jpg

do modułu hc-12 przylutowałem gniazda kątowe  do , których podłączone są przewody połączeniowe.

dwa.thumb.jpg.87efe35d576715db1c77398b4a73f9c0.jpg

tutaj druga strona

20190313_000932.thumb.jpg.af558e42120e2dc26d6a1f290683b0d3.jpg

tu oczywiście drugi moduł

20190313_001233.thumb.jpg.b16b4018eca03379f4f537ae461720c4.jpg

no i mamy komplet. Po lewej arduino uno podłączone do smartfona poprzez przewód USB otg + przewód USB miniusb a po prawej arduino uno podłączone do PC. Od strony sprzętowej to tyle.

Screenshot_20190312-233836.thumb.jpg.3b8cd21763d9168bd64ede94295cc763.jpg

tak wygląda kod dla dla arduino uno i nano przy założeniu , że chcemy komunikować się w dwie strony. 

if (GSMSerial.available())
    Serial.write(GSMSerial.read());

jeżeli usuniemy te dwie linijki kodu dla jednego urządzenia to będzie ono mogło tylko wysyłać dane.

if (Serial.available())
    GSMSerial.write(Serial.read());

jeśli natomiast usuniemy tylko te dwie liniki kodu to dane urządzenie będzie mogło tylko odbierać dane. I to jest to co mi bardzo się spodobało bo jedyna biblioteka jaką potrzebujemy to

#include <SoftwareSerial.h>

która już na starcie jest zainstalowana. Przy wgrywaniu skeczy do płytek sprawdziłem ile czasu zajmuje kompilacja + upload przez arduino IDE oraz BluinoLoader wynik: BL 6s Arduino IDE 14s. Teraz rzecz chyba najbardziej istotna czyli zasięg. Przy dokładnie takich zestawach jak widać na zdjęciach gdzie jeden był w domu a z drugim wędrowałem na zewnątrz zasięg kończył się przy ~300 metrach (przy zasięgu ustawionym na max bo jest możliwość jego regulacji w trybie AT) producent co prawda deklaruje 1000m ale to może przy otwartej przestrzeni i lepszych antenkach. Co do samego sposobu testowania to odbywało się to na zasadzie czatu

WP_20181115_011.thumb.jpg.5267e69e8040b95c6e095bcdfad9f832.jpg

ja pisałem z telefonu

1165283279_Screenshot_20190313-001330_SerialUSBTerminal.thumb.jpg.ae69d3fe8e4d2af9c1919ee7037bf2ee.jpg

 tak jest bardziej czytelnie

hc.thumb.jpg.36bcc886379c120e2dc68c2f6229c31e.jpg

a córka z komputera. Jeśli chodzi o opóźnienia transmisji to dochodziły do 2-3 sekund na granicy zasięgu. 

Dla celów komunikacji mobilnej w trudnym terenie najlepiej było by połączyć się ze smartfonem przez bluetooth a arduino z modułem rf i baterią zamknąć w małej obudowie i trzymać gdzieś przy sobie. W ten sposób wyszedł by to dobry zestaw dla PREPERSA. 

Udostępnij ten post


Link to post
Share on other sites

@slon dziękuję za publikację Twojego poradnika. Przeniosłem go jednak z działu DIY, bo ciężko zakwalifikować ten opis jako skończony projekt. Znacznie lepiej będzie pasował do działu z artykułami/poradnikami 🙂

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

W zasadzie to faktycznie jest to poradnik. Nawet myślałem o tym żeby zamieścić go w innym miejscu na forum tylko słabo sie rozejrzałem 🙂.

Edytowano przez slon
znaki
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×