Spisu treści:

Botletics LTE CAT-M/NB-IoT + GPS Shield dla Arduino: 10 kroków (ze zdjęciami)
Botletics LTE CAT-M/NB-IoT + GPS Shield dla Arduino: 10 kroków (ze zdjęciami)

Wideo: Botletics LTE CAT-M/NB-IoT + GPS Shield dla Arduino: 10 kroków (ze zdjęciami)

Wideo: Botletics LTE CAT-M/NB-IoT + GPS Shield dla Arduino: 10 kroków (ze zdjęciami)
Wideo: #9 SIM7000 Демонстрация LTE CAT-M/NB-IoT Shield 2024, Lipiec
Anonim
Image
Image
Botletics LTE CAT-M/NB-IoT + nakładka GPS dla Arduino
Botletics LTE CAT-M/NB-IoT + nakładka GPS dla Arduino

Przegląd

Osłona Botletics SIM7000 LTE CAT-M/NB-IoT wykorzystuje nową technologię LTE CAT-M i NB-IoT, a także ma zintegrowany GNSS (standardy GPS, GLONASS i BeiDou/Compass, Galileo, QZSS) do śledzenia lokalizacji. Istnieje wiele modułów serii SIM7000, które obsługują różne regiony na całym świecie, a na szczęście SIMCOM bardzo ułatwił ich identyfikację: SIM7000A (amerykański), SIM7000E (europejski), SIM7000C (chiński) i SIM7000G (globalny). Obecnie NB-IoT jest obsługiwany w wielu krajach na całym świecie, ale niestety nie w USA, chociaż planujemy, że będzie dostępny komercyjnie w niedalekiej przyszłości (2019) i niezależnie od tego nadal możemy korzystać z funkcjonalności LTE CAT-M!

Aby użyć nakładki, wystarczy podłączyć nakładkę do Arduino, włożyć kompatybilną kartę SIM, podłączyć antenę LTE/GPS i gotowe!

Wstęp

Wraz z pojawieniem się urządzeń IoT o niskim poborze mocy z łącznością komórkową i stopniowym wycofywaniem 2G (przy czym do 2020 r. tylko T-mobile obsługuje 2G/GSM), wszystko zmierza w kierunku LTE, a to sprawiło, że wiele osób szukało lepszych rozwiązań. Jednak to również sprawiło, że wielu hobbystów musiało stawić czoła starszej technologii 2G, takiej jak moduły serii SIM800 firmy SIMCOM. Chociaż te moduły 2G i 3G są świetnym punktem wyjścia, czas ruszyć do przodu i firma SIMCOM ogłosiła niedawno na konferencji deweloperów swój nowy moduł SIM7000A LTE CAT-M. Jak ekscytujące!:)

Niesamowitą częścią tego wszystkiego jest to, że firma SIMCOM bardzo ułatwiła migrację ze swoich modułów 2G i 3G do tego nowego modułu! Seria SIM7000 wykorzystuje wiele takich samych poleceń AT, co minimalizuje rozwój oprogramowania o mile! Ponadto Adafruit ma już wspaniałą bibliotekę FONA na Github, którą można wykorzystać do wprowadzenia tego nowego SIM7000 na imprezę!

Co to jest LTE CAT-M?

LTE CAT-M1 jest uważany za technologię LTE drugiej generacji i ma mniejszą moc i jest bardziej odpowiedni dla urządzeń IoT. Technologia NarrowBand IoT (NB-IoT) lub „CAT-M2” to technologia sieci rozległej o niskim poborze mocy (LPWAN) zaprojektowana specjalnie dla urządzeń IoT o niskim poborze mocy. Jest to stosunkowo nowa technologia, która niestety nie jest jeszcze dostępna w USA, chociaż firmy pracują nad testowaniem i budową infrastruktury. W przypadku urządzeń IoT korzystających z technologii radiowej (RF) należy pamiętać o kilku rzeczach: Zużycie energiiBandwidthRangePacket size (wysyłanie dużej ilości danychKosztKażde z nich ma kompromisy (i tak naprawdę nie będę ich wszystkich wyjaśniać); na przykład duża przepustowość umożliwia urządzeniom wysyłaj dużo danych (np. Twój telefon, który może przesyłać strumieniowo z YouTube!), ale oznacza to również, że jest bardzo energochłonny. Zwiększenie zasięgu ("obszaru" sieci) również zwiększa zużycie energii. W przypadku NB-IoT, zmniejszenie przepustowości oznacza, że nie będziesz w stanie wysyłać dużej ilości danych, ale w przypadku urządzeń IoT wysyłających fragmenty danych do chmury jest to idealne rozwiązanie! Stąd technologia „wąskopasmowa”, idealna dla urządzeń o niskim poborze mocy i niewielkich ilościach danych, ale nadal z dużym zasięgiem (szeroki obszar)!

Botletics SIM7000 Shield dla Arduino

Zaprojektowana przeze mnie osłona wykorzystuje serię SIM7000, aby umożliwić użytkownikom korzystanie z technologii LTE CAT-M o bardzo niskim poborze mocy i GPS na czubkach palców! Na osłonie znajduje się również czujnik temperatury MCP9808 I2C, idealny do przynajmniej mierzenia czegoś i wysyłania go przez połączenie komórkowe.

  • Tarcza jest open source! Tak!
  • Cała dokumentacja (pliki PCB EAGLE, kod Arduino i szczegółowe wiki) można znaleźć tutaj na Github.
  • Aby sprawdzić, która wersja SIM7000 jest dla Ciebie najbardziej odpowiednia, odwiedź tę stronę wiki.
  • Zestaw osłon Botletics SIM7000 można kupić tutaj na Amazon.com

Krok 1: Zbierz części

Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części

Poniżej znajduje się lista wszystkich potrzebnych części:

  • Płytka zgodna z Arduino lub Arduino - Arduino Uno jest najczęstszym wyborem! Jeśli chcesz używać osłony LTE jako naprawdę „ekranu”, powinieneś użyć płytki Arduino w formacie Arduino. Mówiąc oczywiste, będziesz także potrzebował kabla do programowania, aby przesłać szkice Arduino na płytkę! Jeśli nie używasz płyty Arduino, to też jest w porządku! Na tej stronie wiki znajdują się informacje o tym, jakie połączenia należy wykonać, a różne mikrokontrolery zostały przetestowane, w tym ESP8266, ESP32, ATmega32u4, ATmega2560 i ATSAMD21.
  • Botletics SIM7000 Shield Kit - osłona jest dostarczana z podwójną anteną LTE/GPS uFL i żeńskimi złączami do stakowania! Płyta jest dostępna w trzech różnych wersjach (SIM7000A/C/E/G) i w zależności od kraju, w którym mieszkasz, będziesz musiał wybrać odpowiednią wersję. Stworzyłem tę stronę na wiki Github, która pokazuje, jak dowiedzieć się, która wersja jest dla Ciebie najlepsza!
  • Karta SIM LTE CAT-M lub NB-IoT - Chociaż zestaw nie zawiera już darmowej karty SIM, możesz odebrać kartę SIM Hologram, która daje 1 MB miesięcznie za darmo i działa praktycznie w dowolnym miejscu na świecie, ponieważ Hologram nawiązał współpracę z ponad 500 przewoźnikami! Mają też plany abonamentowe i miesięczne, a także świetne forum społecznościowe z pomocą techniczną w zakresie aktywacji karty SIM, interfejsów Hologram API i nie tylko! Działa świetnie z tą tarczą w całym kraju w USA dla sieci LTE CAT-M1 AT&T i Verizon, ale pamiętaj, że w innych krajach może być konieczne uzyskanie własnej karty SIM od lokalnego dostawcy, ponieważ Hologram współpracuje z operatorami i CAT-M a NB-IoT jest stosunkowo nowy.
  • Akumulator LiPo 3,7 V (1000 mAH+): Podczas wyszukiwania sieci lub przesyłania danych osłona może pobierać znaczne ilości prądu i nie można polegać na bezpośrednim zasilaniu z szyny Arduino 5 V. Podłącz akumulator LiPo 3,7 V do złącza JST na płytce i upewnij się, że akumulator jest podłączony z przewodem dodatnim po lewej stronie (jak te, które można znaleźć w Sparkfun lub Adafruit). Ważne jest również, aby upewnić się, że akumulator musi mieć pojemność co najmniej 500 mAH (absolutne minimum), aby był w stanie dostarczyć wystarczającą ilość prądu i zapobiec ponownemu uruchomieniu modułu podczas skoków prądu. Dla stabilności zalecane jest 1000 mAH lub więcej. Powodem tej minimalnej pojemności jest to, że obwód ładowania akumulatora LiPo jest ustawiony na 500 mA, więc powinieneś upewnić się, że akumulator ma pojemność co najmniej 500 mAH, aby zapobiec uszkodzeniu akumulatora.

Krok 2: Złóż tarczę

Złóż tarczę
Złóż tarczę
Złóż tarczę
Złóż tarczę
Złóż tarczę
Złóż tarczę

Aby użyć osłony, będziesz musiał przylutować do niej nagłówki, chyba że nie planujesz używać tej płyty jako „osłony”, a zamiast tego jako samodzielnego modułu, co również jest całkowicie OK! Przykładem tego jest użycie Arduino Micro jako kontrolera i oddzielne podłączenie go do tarczy.

Najczęstszym wyborem do użycia płytki jako osłony Arduino są żeńskie nagłówki, które są dołączone do osłony. Po przylutowaniu nagłówków idź dalej i umieść osłonę na górze płytki Arduino (chyba że używasz jej jako samodzielnej płytki) i jesteś gotowy do następnego kroku!

Uwaga: Aby uzyskać wskazówki dotyczące lutowania pinów, odwiedź tę stronę wiki Github.

Krok 3: Pinouty tarczy

Pinouty tarczy
Pinouty tarczy
Pinouty tarczy
Pinouty tarczy
Pinouty tarczy
Pinouty tarczy

Tarcza po prostu wykorzystuje pinout Arduino, ale łączy pewne piny w określonych celach. Te piny można podsumować poniżej:

Kołki zasilania

  • GND-wspólna podstawa dla całej logiki i mocy
  • 3,3V - 3,3V z regulatora Arduino. Użyj tego tak samo, jak na Arduino!
  • 5V / LOGIC - Ta szyna 5V z Arduino ładuje akumulator LiPo, który zasila SIM7000, a także ustawia napięcie logiczne dla I2C i przesunięcia poziomu. Jeśli używasz mikrokontrolera 3,3 V, podłącz napięcie 3,3 V do styku „5 V” osłony (patrz rozdział poniżej).
  • VBAT - Zapewnia dostęp do napięcia akumulatora LiPo i zwykle nie jest podłączony do niczego w Arduino, więc możesz go używać, jak chcesz! Jest też takie samo jak napięcie wejściowe modułu SIM7000. Jeśli myślisz o pomiarze i monitorowaniu tego napięcia, sprawdź polecenie „b” w samouczku demonstracyjnym, które mierzy napięcie i wyświetla procent baterii! Pamiętaj, bateria LiPo jest wymagana!
  • VIN - Ten pin jest po prostu podłączony do pinu VIN w Arduino. Możesz zasilać Arduino tak, jak zwykle z 7-12V na tym pinie.

Inne szpilki

  • D6 - Podłączony do pinu PWRKEY SIM7000
  • D7 - pin Reset SIM7000 (używaj go tylko w przypadku resetu awaryjnego!)
  • D8 - pin gotowy do terminala danych UART (DTR). Można to wykorzystać do wybudzenia modułu ze stanu uśpienia podczas używania polecenia „AT+CSCLK”
  • D9 - Sworzeń wskaźnika pierścienia (RI)
  • D10 - pin UART Transmit (TX) SIM7000 (oznacza to, że należy do niego podłączyć TX Arduino!)
  • D11 - pin UART Receive (RX) SIM7000 (podłącz do pinu TX Arduino)
  • D12 - Dobry 'ole D12 na Arduino, ALE można go podłączyć do pinu przerwania ALERT czujnika temperatury lutując zworkę
  • SDA/SCL - Czujnik temperatury jest podłączony do ekranu przez I2C

Jeśli używasz płyty jako samodzielnego modułu, a nie jako „osłony”, lub jeśli używasz logiki 3,3 V zamiast 5 V, będziesz musiał wykonać niezbędne połączenia, jak opisano w sekcji „Okablowanie zewnętrznej płyty hosta” ta strona wiki Github.

Jeśli jednak wystarczy przetestować komendy AT, wystarczy podłączyć akumulator LiPo i kabel micro USB, a następnie postępować zgodnie z tymi procedurami, aby przetestować komendy AT przez USB. Zauważ, że możesz również testować polecenia AT za pośrednictwem Arduino IDE, ale wymagałoby to podłączenia pinów D10/D11 do UART.

Aby uzyskać szczegółowe informacje na temat pinoutów tarczy i tego, co robi każdy pin, odwiedź tę stronę wiki Github.

Krok 4: Zasilanie tarczy

Zasilanie tarczy
Zasilanie tarczy

Aby zasilić nakładkę, wystarczy podłączyć Arduino i podłączyć akumulator LiPo 3,7 V (pojemność 1000 mAH lub większą), taki jak te sprzedawane w Adafruit lub Sparkfun. Bez baterii prawdopodobnie zobaczysz, że moduł uruchamia się, a wkrótce potem ulega awarii. Nadal możesz zasilać Arduino tak, jak zwykle przez kabel USB lub zewnętrznie przez źródło zasilania 7-12 V na pinie VIN, a szyna 5 V na Arduino będzie ładować akumulator LiPo. Zwróć uwagę, że jeśli używasz standardowej płyty Arduino, możesz bezpiecznie zasilać ją za pomocą zewnętrznego źródła zasilania, jednocześnie podłączając kabel do programowania, ponieważ ma obwody wyboru napięcia.

Wskaźnik LED

Na początku możesz się zastanawiać, czy płyta jest w ogóle żywa, ponieważ może nie świeci żadna dioda LED. Dzieje się tak dlatego, że dioda "PWR" jest wskaźnikiem zasilania samego modułu SIM7000 i chociaż dostarczasz zasilanie, to jeszcze nie włączyłeś modułu! Odbywa się to poprzez pulsowanie niskiego PWRKEY przez co najmniej 72 ms, co wyjaśnię później. Ponadto, jeśli masz podłączoną baterię, która nie jest w pełni naładowana, zielona dioda „DONE” nie zaświeci się, ale jeśli nie masz podłączonej baterii, dioda ta powinna się zaświecić (i może od czasu do czasu migać, gdy zostanie podłączona myśląc, że nieistniejąca bateria nie jest w pełni naładowana z powodu niewielkich spadków napięcia).

Teraz, gdy wiesz, jak zasilać wszystko, przejdźmy do rzeczy komórkowych!

Krok 5: Karta SIM i antena

Karta SIM i antena
Karta SIM i antena
Karta SIM i antena
Karta SIM i antena
Karta SIM i antena
Karta SIM i antena
Karta SIM i antena
Karta SIM i antena

Wybór karty SIM

Ponownie, Twoja karta SIM musi obsługiwać LTE CAT-M (nie tylko tradycyjne LTE, takie jak prawdopodobnie w telefonie) lub NB-IoT i musi mieć rozmiar „mikro” karty SIM. Najlepszą opcją, jaką znalazłem dla tej osłony, jest karta SIM Hologram Developer, która zapewnia 1 MB miesięcznie za darmo oraz dostęp do interfejsów API i zasobów Hologram dla pierwszej karty SIM! Po prostu zaloguj się do swojego panelu Hologram.io i wprowadź numer CCID karty SIM, aby go aktywować, a następnie ustaw ustawienia APN w kodzie (już ustawione domyślnie). Jest bezproblemowy i działa w dowolnym miejscu na świecie, ponieważ Hologram obsługuje ponad 200 nośników na całym świecie!

Należy zauważyć, że wersje SIM7000C/E/G obsługują również 2G, więc jeśli naprawdę chcesz przetestować i nie masz karty SIM LTE CAT-M lub NB-IoT, nadal możesz przetestować moduł na 2G.

Wkładanie karty SIM

Przede wszystkim należy wyłamać kartę micro SIM z uchwytu karty SIM o normalnej wielkości. Na osłonie LTE zlokalizuj uchwyt karty SIM po lewej stronie płytki w pobliżu złącza baterii. Karta SIM jest wkładana do tego uchwytu metalowymi stykami karty SIM skierowanymi w dół i małym wycięciem na jednej krawędzi skierowanym do uchwytu karty SIM.

Dobroć anteny

Zestaw osłon zawiera naprawdę wygodną podwójną antenę LTE/GPS! Jest również elastyczny (chociaż nie powinieneś próbować go zbyt mocno skręcać i zginać, ponieważ możesz zerwać przewody anteny, jeśli nie będziesz ostrożny) i ma odklejany klej na spodzie. Podłączanie przewodów jest bardzo proste: wystarczy wziąć przewody i zatrzasnąć je na pasujących złączach uFL na prawej krawędzi ekranu. UWAGA: Upewnij się, że dopasowujesz przewód LTE na antenie do złącza LTE na osłonie i to samo z przewodem GPS, ponieważ są skrzyżowane!

Krok 6: Konfiguracja Arduino IDE

Konfiguracja Arduino IDE
Konfiguracja Arduino IDE

Ta osłona SIM7000 jest oparta na płytach Adafruit FONA i korzysta z tej samej biblioteki, ale ulepszona o obsługę modemów. Pełne instrukcje dotyczące instalacji mojej poprawionej biblioteki FONA można przeczytać tutaj na mojej stronie Github.

Możesz również zobaczyć, jak przetestować czujnik temperatury MCP9808, postępując zgodnie z tymi instrukcjami, ale tutaj skupię się głównie na sprawach komórkowych!

Krok 7: Przykład Arduino

Przykład Arduino
Przykład Arduino
Przykład Arduino
Przykład Arduino
Przykład Arduino
Przykład Arduino

Konfiguracja szybkości transmisji

Domyślnie SIM7000 działa z prędkością 115200 bodów, ale jest to zbyt szybkie, aby oprogramowanie szeregowe mogło niezawodnie działać, a znaki mogą pojawiać się losowo jako kwadraty lub inne dziwne symbole (na przykład „A” może być wyświetlane jako „@”). Dlatego, jeśli przyjrzysz się uważnie, Arduino konfiguruje moduł do niższej szybkości transmisji 9600 za każdym razem, gdy jest inicjowany. Na szczęście przełączanie odbywa się automatycznie przez kod, więc nie musisz robić nic specjalnego, aby je skonfigurować!

Wersja demonstracyjna tarczy LTE

Następnie postępuj zgodnie z tymi instrukcjami, aby otworzyć szkic „LTE_Demo” (lub dowolną odmianę tego szkicu, w zależności od używanego mikrokontrolera). Jeśli przewiniesz do końca funkcji "setup()", zobaczysz wiersz "fona.setGPRSNetworkSettings(F("hologram"));" który ustawia APN dla karty SIM Hologram. Jest to absolutnie konieczne, a jeśli używasz innej karty SIM, najpierw zapoznaj się z dokumentacją karty, aby dowiedzieć się, czym jest APN. Pamiętaj, że musisz zmienić tę linię tylko wtedy, gdy nie używasz karty SIM Hologram.

Po uruchomieniu kodu Arduino spróbuje komunikować się z SIM7000 przez UART (TX/RX) za pomocą SoftwareSerial. Aby to zrobić, oczywiście SIM7000 musi być włączony, więc gdy próbuje nawiązać połączenie, sprawdź, czy dioda "PWR" się świeci! (Uwaga: powinno się włączyć około 4s po uruchomieniu kodu). Gdy Arduino pomyślnie nawiąże komunikację z modułem, powinieneś zobaczyć duże menu z kilkoma akcjami, które moduł może wykonać! Należy jednak pamiętać, że niektóre z nich są przeznaczone dla innych modułów SIMCom 2G lub 3G, więc nie wszystkie polecenia mają zastosowanie do SIM7000, ale wiele z nich ma zastosowanie! Po prostu wpisz literę odpowiadającą czynności, którą chcesz wykonać i kliknij „Wyślij” w prawym górnym rogu monitora szeregowego lub po prostu naciśnij klawisz Enter. Patrz ze zdumieniem, jak tarcza wypluwa odpowiedź!

Polecenia demonstracyjne

Poniżej znajduje się kilka poleceń, które należy uruchomić, aby upewnić się, że moduł jest skonfigurowany przed kontynuowaniem:

  • Wpisz „n” i naciśnij enter, aby sprawdzić rejestrację sieci. Powinieneś zobaczyć "Zarejestrowany (dom)". Jeśli nie, sprawdź, czy twoja antena jest podłączona i być może będziesz musiał najpierw uruchomić polecenie „G” (wyjaśnione poniżej)!
  • Sprawdź siłę sygnału sieci, wprowadzając „i”. Powinieneś otrzymać wartość RSSI; im wyższa ta wartość, tym lepiej! Mój był 31, co wskazuje na najlepszy przedział siły sygnału!
  • Wpisz polecenie „1”, aby sprawdzić naprawdę fajne informacje o sieci. Możesz uzyskać aktualny tryb połączenia, nazwę operatora, pasmo itp.
  • Jeśli masz podłączony akumulator, wypróbuj polecenie „b”, aby odczytać napięcie akumulatora i wartość procentową. Jeśli nie używasz akumulatora, polecenie to zawsze będzie odczytywać około 4200mV, a zatem mówi, że jest naładowany w 100%.
  • Teraz wpisz „G”, aby włączyć dane komórkowe. To ustawia APN i ma kluczowe znaczenie dla połączenia urządzenia z Internetem! Jeśli widzisz „BŁĄD”, spróbuj wyłączyć dane za pomocą „g”, a następnie spróbuj ponownie.
  • Aby sprawdzić, czy rzeczywiście możesz coś zrobić ze swoim modułem, wpisz „w”. Zostaniesz poproszony o podanie adresu URL strony internetowej, którą chcesz przeczytać, i skopiowanie/wklejenie przykładowego adresu URL „https://dweet.io/get/latest/dweet/for/sim7000test123” i naciśnięcie enter. Zaraz po tym powinien pojawić się komunikat taki jak "{"this":"failed", "with":404, "because":"nie mogliśmy tego znaleźć"}" (zakładając, że nikt nie opublikował danych dla "sim7000test123")
  • Teraz przetestujmy wysyłanie fikcyjnych danych do dweet.io, darmowego API chmury, wpisując „2” na monitorze szeregowym. Powinieneś zobaczyć, jak przechodzi przez niektóre polecenia AT.
  • Aby sprawdzić, czy dane naprawdę dotarły, spróbuj ponownie "w" i tym razem wpisz "https://dweet.io/get/latest/dweet/for/{deviceID}" bez nawiasów, gdzie identyfikator urządzenia to IMEI numer twojego urządzenia, który powinien być wydrukowany na samej górze monitora szeregowego podczas inicjalizacji modułu. Powinieneś zobaczyć „udało się” i odpowiedź JSON zawierającą dane, które właśnie wysłałeś! (Zauważ, że 87% bateria to tylko fikcyjna liczba ustawiona w kodzie i może nie odpowiadać faktycznemu poziomowi baterii)
  • Teraz czas przetestować GPS! Włącz zasilanie GPS za pomocą "O"
  • Wpisz „L”, aby zapytać o dane lokalizacji. Pamiętaj, że być może będziesz musiał poczekać około 7-10 sekund, zanim naprawi lokalizację. Możesz dalej wpisywać „L”, aż pokaże ci się jakieś dane!
  • Gdy otrzymasz dane, skopiuj je i wklej do programu Microsoft Word lub edytora tekstu, aby łatwiej było je czytać. Zobaczysz, że trzecia liczba (liczby są oddzielone przecinkami) to data i godzina, a kolejne trzy liczby to szerokość, długość i wysokość (w metrach) Twojej lokalizacji! Aby sprawdzić, czy była dokładna, przejdź do tego narzędzia online i wyszukaj swoją aktualną lokalizację. Powinien podać szerokość/długość i wysokość oraz porównać te wartości z tymi, które podał Twój GPS!
  • Jeśli nie potrzebujesz GPS, możesz go wyłączyć za pomocą „o”
  • Baw się dobrze z innymi poleceniami i sprawdź przykładowy szkic „IoT_Example”, aby uzyskać fajny przykład wysyłania danych do bezpłatnego interfejsu API chmury przez LTE!

Wysyłaj i odbieraj SMS-y

Aby zobaczyć, jak wysyłać teksty z tarczy bezpośrednio do dowolnego telefonu i wysyłać teksty do tarczy za pośrednictwem panelu hologramowego lub interfejsu API, przeczytaj tę stronę wiki Github.

Przykład IoT: śledzenie GPS

Po sprawdzeniu, czy wszystko działa zgodnie z oczekiwaniami, otwórz szkic „IoT_Example”. Ten przykładowy kod wysyła lokalizację GPS i dane namiaru, temperaturę i poziom naładowania baterii do chmury! Prześlij kod i obserwuj ze zdumieniem, jak tarcza działa magicznie! Aby sprawdzić, czy dane rzeczywiście zostały wysłane do chmury, przejdź do „https://dweet.io/get/latest/dweet/for/{IMEI}” w dowolnej przeglądarce (wpisz numer IMEI znajdujący się na górze monitor szeregowy po inicjalizacji modułu lub wydrukowany na Twoim module SIMCOM) i powinieneś zobaczyć dane, które wysłało Twoje urządzenie!

W tym przykładzie możesz również odkomentować linię za pomocą "#define samplingRate 30", aby wysyłać dane wielokrotnie, zamiast uruchamiać je tylko raz. To sprawia, że Twoje urządzenie jest zasadniczo urządzeniem do śledzenia GPS!

Aby uzyskać więcej informacji, odwiedź przygotowane przeze mnie samouczki dotyczące śledzenia GPS w czasie rzeczywistym:

  • Samouczek dotyczący lokalizatora GPS, część 1
  • Samouczek dotyczący lokalizatora GPS, część 2

Rozwiązywanie problemów

W przypadku typowych pytań i rozwiązywania problemów odwiedź FAQ na Github.

Krok 8: Testowanie za pomocą poleceń AT

Testowanie za pomocą poleceń AT
Testowanie za pomocą poleceń AT

Testowanie z Arduino IDE

Jeśli chcesz wysłać polecenia AT do modułu przez monitor szeregowy, użyj polecenia „S” z menu, aby przejść do trybu lampy szeregowej. Spowoduje to, że wszystko, co wpiszesz w monitorze szeregowym, zostanie przesłane do modułu. Biorąc to pod uwagę, upewnij się, że włączyłeś opcję „Zarówno NL, jak i CR” na dole monitora szeregowego, w przeciwnym razie nie zobaczysz żadnej odpowiedzi na polecenia, ponieważ moduł nie będzie wiedział, że skończyłeś pisać!

Aby wyjść z tego trybu, wystarczy nacisnąć przycisk resetowania na Arduino. Zauważ, że jeśli używasz kart opartych na ATmega32u4 lub ATSAMD21, będziesz musiał również zrestartować monitor szeregowy.

Więcej informacji na temat wysyłania poleceń AT z Arduino IDE można znaleźć na tej stronie wiki.

Testowanie bezpośrednio przez USB

Być może łatwiejszą metodą (dla użytkowników systemu Windows) jest zainstalowanie sterowników systemu Windows opisanych w tym samouczku i przetestowanie poleceń AT za pomocą portu micro USB osłony!

Jeśli nadal chcesz poeksperymentować z poleceniami AT, ale chcesz je uruchamiać w sekwencji i nie chcesz zadzierać ze zmianą biblioteki FONA, możesz to zrobić za pomocą prostej, małej biblioteki, którą napisałem o nazwie „Biblioteka poleceń AT”, którą można znaleźć tutaj na Github. Wszystko, co musisz zrobić, to pobrać plik ZIP z repozytorium i rozpakować go do folderu bibliotek Arduino, a przykładowy szkic (o nazwie „AT_Command_Test.ino”) dla SIM7000 można znaleźć tutaj w repozytorium tarczy LTE Github. Ta biblioteka umożliwia wysyłanie poleceń AT za pośrednictwem oprogramowania Serial z limitami czasu, sprawdzaniem określonej odpowiedzi z modułu, ani żadnego, ani obu!

Krok 9: Pobór prądu

W przypadku urządzeń IoT chcesz, aby te liczby spadły, więc przyjrzyjmy się niektórym specyfikacjom technicznym! Aby uzyskać szczegółowy raport z bieżących pomiarów zużycia, zobacz tę stronę Github.

Oto krótkie podsumowanie:

  • Moduł SIM7000 wyłączony: cały ekran pobiera <8uA na akumulatorze LiPo 3,7V
  • Tryb uśpienia pobiera około 1,5mA (łącznie z zieloną diodą PWR, więc prawdopodobnie ~1mA bez niej) i pozostaje podłączony do sieci
  • Ustawienia e-DRX mogą konfigurować czas cyklu negocjacji sieciowych i oszczędzać energię, ale także opóźniają takie rzeczy, jak przychodzące wiadomości tekstowe, w zależności od ustawionego czasu cyklu
  • Podłączony do sieci LTE CAT-M1, w stanie spoczynku: ~12mA
  • GPS dodaje ~32mA
  • Podłączenie USB dodaje ~20mA
  • Transmisja danych przez LTE CAT-M1 wynosi ~96mA przez ~12s
  • Wysyłanie SMS-ów pobiera ~96mA przez ~10s
  • Odbieranie SMS-ów pobiera ~89mA przez ~10s
  • PSM brzmi jak wspaniała funkcja, ale jeszcze nie działa

A oto trochę więcej wyjaśnień:

  • Tryb wyłączania: Możesz użyć funkcji „fona.powerDown()”, aby całkowicie wyłączyć SIM7000. W tym stanie moduł pobiera tylko około 7,5uA, a niedługo po wyłączeniu modułu powinna również zgasnąć dioda "PWR".
  • Tryb oszczędzania energii (PSM): Ten tryb jest podobny do trybu wyłączania, ale modem pozostaje zarejestrowany w sieci podczas pobierania tylko 9uA przy jednoczesnym zasilaniu modułu. W tym trybie będzie aktywna tylko moc zegara RTC. Dla tych fanów ESP8266 jest to w zasadzie "ESP.deepSleep()", a zegar RTC może obudzić moduł, ale możesz zrobić całkiem fajne rzeczy, takie jak wybudzanie modemu, wysyłając mu SMS-a. Jednak niestety nie udało mi się uruchomić tej funkcji. Zdecydowanie daj mi znać, jeśli tak!
  • Tryb samolotowy: W tym trybie zasilanie jest nadal dostarczane do modułu, ale RF jest całkowicie wyłączone, ale karta SIM jest nadal aktywna, podobnie jak interfejs UART i USB. Możesz wejść w ten tryb, używając "AT+CFUN=4", ale też nie zauważyłem, aby to zadziałało.
  • Tryb minimalnej funkcjonalności: ten tryb jest taki sam jak tryb samolotowy, z wyjątkiem tego, że interfejs karty SIM jest niedostępny. Możesz wejść w ten tryb używając "AT+CFUN=0", ale możesz również wejść w ten tryb używając "AT+CSCLK=1", po czym SIM7000 wyciągnie pin DTR, gdy moduł jest w trybie bezczynności. W tym trybie uśpienia obniżenie poziomu DTR spowoduje wybudzenie modułu. Może to być przydatne, ponieważ budzenie może być znacznie szybsze niż uruchamianie go od zera!
  • Tryb nieciągłego odbioru/transmisji (DRX/DTX): Możesz skonfigurować „częstotliwość próbkowania” modułu, aby tak rzec, aby moduł sprawdzał tylko wiadomości tekstowe lub wysyłał dane szybciej lub wolniej, pozostając jednocześnie podłączonym do sieć. To znacznie zmniejsza pobór prądu!
  • Wyłącz diodę LED „PWR”: Aby zaoszczędzić jeszcze kilka groszy, możesz wyłączyć diodę LED zasilania modułu, przecinając normalnie zamkniętą zworkę lutowniczą obok niej. Jeśli później zmienisz zdanie i chcesz go odzyskać, po prostu przylutuj zworkę!
  • Włącz/wyłącz diodę LED „NETLIGHT”: Możesz również użyć funkcji „AT+CNETLIGHT=0”, aby całkowicie wyłączyć niebieską diodę LED stanu sieci, jeśli jej nie potrzebujesz!
  • GNSS On/Off: Możesz zaoszczędzić 30 mA, wyłączając GPS za pomocą polecenia „fona.enableGPS()” z wartością true lub false jako parametr wejściowy. Jeśli go nie używasz, sugeruję, abyś go wyłączył! Odkryłem również, że ustalenie lokalizacji po zimnym starcie zajmuje tylko około 20 sekund i tylko około 2 sekund, gdy urządzenie jest już włączone (np. jeśli wyłączysz GPS, a następnie ponownie włączysz i ponownie zapytasz), co jest dość szybkie ! Możesz także poeksperymentować z ciepłym/gorącym startem i wspomaganym GPS.

Krok 10: Wnioski

Ogólnie rzecz biorąc, SIM7000 jest superszybki i wykorzystuje najnowocześniejszą technologię ze zintegrowanym GPS i jest wyposażony w fajne funkcje! Niestety dla tych z nas w Stanach Zjednoczonych, NB-IoT nie jest tutaj w pełni wdrożony, więc będziemy musieli trochę poczekać, aż się pojawi, ale dzięki tej osłonie LTE nadal możemy używać LTE CAT-M1 w sieciach AT&T i Verizon. Ta tarcza doskonale nadaje się do eksperymentowania z urządzeniami komórkowymi o małej mocy, takimi jak urządzenia śledzące GPS, zdalne rejestratory danych i wiele więcej! Dzięki dołączeniu innych osłon i modułów do przechowywania kart SD, paneli słonecznych, czujników i innych połączeń bezprzewodowych możliwości są prawie nieograniczone!

  • Jeśli podobał Ci się ten projekt, daj mu serce i zagłosuj na niego!
  • Jeśli masz jakieś uwagi, sugestie lub pytania, opublikuj je poniżej!
  • Aby zamówić własną tarczę, odwiedź moją stronę internetową lub zamów ją na Amazon.com
  • Jak zawsze, udostępnij ten projekt!

Mając to na uwadze, życzę miłego majsterkowania i podziel się swoimi projektami i ulepszeniami ze wszystkimi!

~ Tim

Zalecana: