Actions

KAmod LTE CAT1 z modułem A7670E-LASE (PL): Difference between revisions

From Kamamilabs.com - Wiki

Created page with "__jzpdf__ ====== Opis ====== <b>KAmod LTE CAT1 - HAT GSM/GPRS z modułem A7670E-LASE do Raspberry Pi</b><br> Moduł SimCom A7670E/A7672E to modem GSM/LTE CAT-1, który realizuje komunikację bezprzewodową w standardach: LTE-FDD, GPRS/EDGE, GSM, a dodatkowo obsługuje wiele funkcji sieciowych, m.in TCP/IP, FTP/FTPS, HTTP/HTTPS, SSL, MQTT. Sterowanie pracą modemu jest bardzo łatwe - służą do tego komendy AT przesyłane poprzez port szeregowy UART. Płytka KAmod LTE C..."
 
No edit summary
 
(57 intermediate revisions by the same user not shown)
Line 1: Line 1:
__jzpdf__
__jzpdf__
====== Opis ======
==== Opis ====
<b>KAmod LTE CAT1 - HAT GSM/GPRS z modułem A7670E-LASE do Raspberry Pi</b><br>
<b>KAmod LTE CAT1 - HAT GSM/GPRS z modułem A7670E-LASE do Raspberry Pi</b><br>
Moduł SimCom A7670E/A7672E to modem GSM/LTE CAT-1, który realizuje komunikację bezprzewodową w standardach: LTE-FDD, GPRS/EDGE, GSM, a dodatkowo obsługuje wiele funkcji sieciowych, m.in TCP/IP, FTP/FTPS, HTTP/HTTPS, SSL, MQTT. Sterowanie pracą modemu jest bardzo łatwe - służą do tego komendy AT przesyłane poprzez port szeregowy UART. Płytka KAmod LTE CAT1 zawiera wszystkie elementy niezbędne do działania modemu i umożliwia jego łatwe połączenie z komputerami serii Raspberry Pi oraz innymi podobnymi urządzeniami.
Moduł SimCom A7670E/A7672E to modem GSM/LTE CAT-1, który realizuje komunikację bezprzewodową w standardach: LTE-FDD, GPRS/EDGE, GSM, a dodatkowo obsługuje wiele funkcji sieciowych, m.in TCP/IP, FTP/FTPS, HTTP/HTTPS, SSL, MQTT. Sterowanie pracą modemu jest bardzo łatwe - służą do tego komendy AT przesyłane poprzez port szeregowy UART. Płytka KAmod LTE CAT1 zawiera wszystkie elementy niezbędne do działania modemu i umożliwia jego łatwe połączenie z komputerami serii Raspberry Pi oraz innymi podobnymi urządzeniami.
Line 7: Line 7:
</center>
</center>
<br><br>
<br><br>
===== Podstawowe parametry =====
 
==== Podstawowe parametry ====
* Modem LTE CAT-1, który bazuje na module SimCom A7670E lub A7672E
* Modem LTE CAT-1, który bazuje na module SimCom A7670E lub A7672E
* Pasma komunikacji bezprzewodowej LTE (4G): LTE-FDD B1/B3/B5/B7/B8/B20
* Pasma komunikacji bezprzewodowej LTE (4G): LTE-FDD B1/B3/B5/B7/B8/B20
Line 21: Line 22:
* Kompatybilny z płytkami Raspberry Pi/Zero, zawiera 40-stykowe złącze GPIO
* Kompatybilny z płytkami Raspberry Pi/Zero, zawiera 40-stykowe złącze GPIO
<br><br>
<br><br>
===== Wyposażenie standardowe =====
 
==== Wyposażenie standardowe ====
<center>
<center>
{| class="wikitable"  style="width: 1000px;"
{| class="wikitable"  style="width: 1000px;"
Line 31: Line 33:
| style="text-align: left;"|  
| style="text-align: left;"|  
Zmontowany i uruchomiony moduł<br>
Zmontowany i uruchomiony moduł<br>
|-
| style="text-align: center;"|<b>Antena GSM</b>
| style="text-align: left;"|
Antena ze złączem U.FL<br>
|-
|-
| style="text-align: center;"|<b>Zestaw montażowy </b>
| style="text-align: center;"|<b>Zestaw montażowy </b>
Line 37: Line 43:
|}
|}
</center>
</center>
<br>
==== Schemat blokowy ====
<center>
[[File:KAmod_LTE_CAT1_bez_gnss_blokowy.jpg|none|600px|thumb|center]]
</center>
<br><br>
Schemat elektryczny jest dostępny tu: [https://wiki.kamamilabs.com/images/4/48/KAmod_LTE_CAT1_sch.pdf KAmod_LTE_CAT1_sch]
<br><br>
==== Funkcje przycisków====
Funkcje przycisków zostały opisane w tabeli.
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Przycisk
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>PWKEY</b> (SW1)
| style="text-align: left;"|
Przyciśnięcie przycisku przez czas min. 50 ms powoduje włączenie modułu A7670E/A7672E - przejście do stanu normalnej pracy ze stanu wyłączenia.<br> Przyciśnięcie przycisku przez czas min. 2,5 s powoduje wyłączenie modułu A7670E/A7672E - przejście do stanu Power OFF ze stanu normalnej pracy.
|-
| style="text-align: center;"|<b>RESET</b> (SW2)
| style="text-align: left;"|
Przyciśnięcie przycisku wymusza stan aktywny na wejściu RESET modułu A7670E/A7672E i powoduje jego wyzerowanie.
|}
</center>
<br>
Przyciski realizują swoje funkcje równolegle z sygnałami PWK i RST ze złącza Raspberry Pi. Producent modułu A7670E/A7672E zaleca, aby nie ustawiać aktywnych sygnałów PWK i RST jednocześnie.<br><br>
Moduł KAmod LTE CAT1 zawiera obwód automatycznego włączania modułu A7670E/A7672E po podłączeniu zasilania. Obwód ten generuje krótki impuls na linii PWK zaraz po podłączeniu zasilania. Aby dezaktywować ten obwód, należy przeciąć zworę oznaczoną J_APWK umieszczoną na spodzie płytki (strona bottom).
<br><br>
<center>
[[File:KAmod_LTE_CAT1_sw.png|none|800px|thumb|center]]
</center>
<br>
==== Funkcje kontrolek sygnalizacyjnych====
Znaczenie kontrolek LED zostało opisane w tabeli, a ich rozmieszczenie pokazano na rysunku.
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Kontrolka
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>PWR</b> (D5)
| style="text-align: left;"|
Świecenie kontrolki LED sygnalizuje obecność napięcia zasilającego moduł A7670E/A7672E
|-
| style="text-align: center;"|<b>STA</b> (D3)
| style="text-align: left;"|
Świecenie kontrolki LED oznacza, że moduł A7670E/A7672E jest w stanie aktywnym
|-
| style="text-align: center;"|<b>NET</b> (D4)
| style="text-align: left;"|
Świecenie kontrolki LED oznacza stan wyszukiwania sieci GSM/LTE<br>
Miganie kontrolki LED sygnalizuje połączenie z siecią GSM/LTE
|}
</center>
<br>
<center>
[[File:KAmod_LTE_CAT1_LED.png|none|800px|thumb|center]]
</center>
<br>
==== Połączenie z płytkami Raspberry Pi====
Moduł KAmod LTE CAT1 jest przystosowany do połączenia z płytkami z rodziny Raspberry Pi oraz innymi podobnymi urządzeniami, które zawierają 40 stykowe złącze GPIO typu goldpin, zgodne z Raspberry Pi. Poprzez to złącze doprowadzane jest zasilanie do modułu oraz niezbędne sygnały sterujące, które zostały opisane w tabeli. <br><br>
Sygnały sterujące są dostosowane do napięcia 3,3 V, prędkość komunikacji interfejsu szeregowego UART jest domyślnie ustawiona na 115200 bps.
<br><br>
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Sygnał sterujący modułu
A7670E/A7672E
! style="text-align: center;"|Sygnał sterujący na płytce
z rodziny Raspberry Pi (J1)
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>UART TXD</b> (out)
| style="text-align: center;"| RXD/GPIO15 (pin 10)
| style="text-align: left;"| Wyjście szeregowe danych
|-
| style="text-align: center;"|<b>UART RXD</b> (in)
| style="text-align: center;"| TXD/GPIO14 (pin 8)
| style="text-align: left;"| Wejście szeregowe danych
|-
| style="text-align: center;"|<b>RST - RESET</b> (in)
| style="text-align: center;"| GPIO18 (pin 12)
| style="text-align: left;"| Wejście sygnału zerującego RESET, aktywne w stanie Hi
|-
| style="text-align: center;"|<b>PWK - PWRKEY</b> (in)
| style="text-align: center;"| GPIO04 (pin 7)
| style="text-align: left;"| Wejście sygnału aktywującego moduł, aktywne w stanie Hi
|}
</center>
<br>
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Linia zasilania
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>Zasilanie 5 V (in)</b>
(piny 2, 4)
| style="text-align: left;"|Wejście zasilania 5 V z płytki Raspberry Pi
|-
| style="text-align: center;"|<b>Zasilanie GND (in)</b>
(piny 6, 9, 14, 20, 25, 30, 34, 39)
| style="text-align: left;"|Masa zasilania (GND)
|}
</center>
<br><br>
<center>
[[File:KAmod LTE CAT1_pwr.png|none|800px|thumb|center]]
</center>
<br><br>
Nie wszystkie sygnały sterujące (TXD, RXD, PWK i RST) muszą być połączone z płytką Raspberry Pi. Sygnały będą dołączone, jeśli na szpilkach oznaczonych J2 będą umieszczone 4 zworki, tak jak na rysunku. Każda zworka odpowiada za inny sygnał. Zdjęcie zworki oznacza odłączenie sygnału od 40 stykowego złącza Raspberry Pi. Można np. zrezygnować z sygnałów PWK i RST, ponieważ płytka KAmod LTE CAT1 zapewnia odpowiedni reset i uruchomienie modułu A7670E/A7672E.
<br><br>
Płytkę KAmod LTE CAT1 należy dołączyć do 40 stykowego złącza szpilkowego GPIO dostępnego na płytkach z serii Raspberry Pi. W ten sposób dostarczane jest zasilanie oraz oraz dołączony jest port szeregowy UART, który umożliwia sterowanie z użyciem komend AT. Dla zachowania lepszej stabilności takiej konstrukcji, warto zastosować dodatkowe kołki dystansujące i śrubki.
<br><br>
<center>
[[File:KAmod_LTE_CAT1_jumper.png|none|800px|thumb|center]]
</center>
<br><br>
==== Interfejs USB====
Moduł A7670E/A7672E może działać jako ECM (Ethernet Control Model) lub RNDIS (Remote Network Driver Interface Specification), które w łatwy sposób tworzą połączenie z internetem dla urządzeń z systemem operacyjnymi Windows. Dla uzyskania takiej funkcjonalności należy płytkę KAmod LTE CAT1 połączyć z komputerem PC poprzez złącze USB-C. Po zainstalowaniu sterowników w systemie pojawi się kilka nowych urządzeń. Poprzez “AT Port” można przesyłać komendy AT do modułu.
<center>
[[File:KAmod_LTE_CAT1_dev_man.jpg|none|800px|thumb|center]]
</center>
<br>
Chwilowy pobór prądu modułu A7670E/A7672E może przekraczać nawet 2 A, dlatego należy upewnić się, że złącze USB, do którego podłączono płytkę KAmod LTE CAT1, dysponuje odpowiednią mocą. Należy stosować wyłącznie przewody USB dobrej jakości i długości do 0,5 m max. W przypadku problemów z komunikacją USB, warto sprawdzić działanie z odłączoną anteną LTE oraz/lub bez karty SIM.
<center>
[[File:KAmod_LTE_CAT1_usb.png|none|800px|thumb|center]]
</center>
<br><br>
==== Karta SIM====
KAmod LTE CAT1 jest wyposażony w gniazdo na kartę Micro SIM, która ma wymiary 15x12 mm i działa w standardzie 1,8/3,0V. Kartę należy umieścić w gnieździe i delikatnie wcisnąć, aż do lekkiego kliknięcia. Aby wyjąć kartę, najpierw należy ją delikatnie wcisnąć i zwolnić nacisk - wtedy krawędź karty się wysunie i można ją wyciągnąć całą. Wszystkie operacje z kartą SIM należy wykonywać przy odłączonym zasilaniu płytki KAmod LTE CAT1 (czyli także płytki komputera RPi). Ścięta krawędź karty powinna być skierowana na zewnątrz płytki, tak jak pokazano na rysunku i zaznaczono na płytce.
<center>
[[File:KAmod_LTE_CAT1_sim.png|none|800px|thumb|center]]
</center>
==== Zasilanie====
KAmod LTE CAT1 wymaga zasilania o napięciu 5 V i wydajności prądowej min. 2 A. W stanie aktywnym, gdy jest uruchomione połączenie z siecią LTE, ale nie są wykonywane żadne zadania, moduł pobiera prąd o wartości ok 30 mA. Jednak w trakcie transmisji danych chwilowy pobór prądu może wynosić ponad 2 A. Dlatego do prawidłowej pracy modułu KAmod LTE CAT1 wymagane jest zasilanie o chwilowej wydajności nie mniejszej niż 2 A.
<br><br>
Zasilanie może być doprowadzone poprzez 40 stykowe złącze GPIO typu goldpin (J1), zgodne z Raspberry Pi lub/oraz jednocześnie poprzez złącze USB.
<center>
[[File:KAmod_LTE_CAT1_pwr1.png|none|800px|thumb|center]]
</center>
<center>
[[File:KAmod_LTE_CAT1_usb.png|none|800px|thumb|center]]
</center>
<br><br>
==== Tryb serwisowy====
Producent modułów A7670E/A7672E dostarcza swoje komponenty z najbardziej optymalnym oprogramowaniem firmware i nie zaleca jego uaktualniania. Wersję oprogramowania można sprawdzić za pomocą komendy ATI. Jednak na płytce KAmod LTE CAT1 zostały wyprowadzone styki JP1. Ich zwarcie umożliwia uruchomienie modułu w specjalnym trybie serwisowym przeznaczonym do aktualizacji firmware. W trakcie normalnego użytkowania nie należy zwierać styków JP1. Więcej informacji o aktualizacji firmware należy szukać na stronie producenta modułów A7670E/A7672E - SimCom - [https://www.simcom.com/ www.simcom.com].
<center>
[[File:KAmod_LTE_CAT1_boot.png|none|800px|thumb|center]]
</center>
<br><br>
==== Złącze Audio - SPK&MIC====
KAmod LTE CAT1 umożliwia wykonanie standardowego połączenia głosowego, o ile zainstalowana karta SIM daje taką możliwość. Do złącza J4 należy dołączyć słuchawki i mikrofon z wtykiem Jack 3,5 mm - standardowy zestaw słuchawkowy, który umożliwia odsłuch i przesyłanie dźwięku pomiędzy stronami połączenia telefonicznego.
<center>
[[File:KAmod_LTE_CAT1_audio.png|none|800px|thumb|center]]
</center>
<br><br>
==== Antena LTE/GSM====
KAmod LTE CAT1 działa w standardzie telefonii GSM (2G) oraz LTE (4G). Na płytce modułu znajduje się złącze typu U.FL (IPX), oznaczone LTE, do którego należy dołączyć antenę przeznaczoną do pracy w GSM/LTE.
<center>
[[File:KAmod_LTE_CAT1_lte.png|none|800px|thumb|center]]
</center>
<br><br>
==== Sterowanie komendami AT====
Moduły A7670E/A7672E są sterowane za pomocą tzw. komend AT przesyłanych poprzez port szeregowy UART. Każda komenda zaczyna się znakami “AT” i jest zakończona znakiem <CR> (hex 0x0D), któremu odpowiada klawisz ENTER na klawiaturze komputerowej. Niektóre parametry, m.in. nazwy i numery telefonów, rozpoczynają się i kończą znakiem " (double quote - hex 0x22). Komendy można wpisywać przy użyciu dowolnego programu typu terminal, np Putty lub Minicom.
<br><br>
Wykaz wszystkich komend AT z opisem można znaleźć tu: <A76XX_Series_AT_Command_Manual_V1.09.pdf>
W dalszej części opisu zostały zaprezentowane niektóre komendy AT umożliwiające wykonanie podstawowych zadań oraz wybrane funkcje modemu A7670E/A7672E.
<br><br>
=====<span style="color:#FFFFFF; background:#808080 ">Podstawowe parametry</span>=====
<br>
• <b>AT</b> - komenda testowa, jeśli moduł działa prawidłowo, zostanie odesłana odpowiedź:<br>
<span style="font-family: 'Courier New', monospace">
OK </span>
<br><br>
• <b>ATI</b> - odczyt podstawowych informacji, zostanie odesłana odpowiedź podobna do tej: <br>
<span style="font-family: 'Courier New', monospace">
Manufacturer: INCORPORATED<br>
Model: A7670E-FASE<br>
Revision: A7670M7_V1.11.1<br>
IMEI: 863957078398663<br>
+GCAP: +CGSM,+FCLASS,+DS<br>
</span>
<br>
• <b>AT+CPIN?</b> - sprawdza status kodu PIN dla karty SIM, jeśli PIN nie jest wymagany zostanie odesłana odpowiedź: <br>
<span style="font-family: 'Courier New', monospace">
+CPIN: READY </span>
<br>
Jeśli PIN jest wymagany, należy użyć komendy <b>AT+CPIN=<pin do karty sim></b>
<br><br>
• <b>AT+CSQ</b> - pozwala odczytać poziom sygnału antenowego (tzw. zasięg sieci), zostanie odesłana odpowiedź podobna do tej: <br>
<span style="font-family: 'Courier New', monospace">
+CSQ: 23,99  </span>
<br>
Pierwszy parametr (23) to poziom sygnału (RSSI), gdzie: <br>
0 = -113 dBm lub mniej; 31 = -51 dBm lub więcej.<br>
Drugi parametr określa poziom błędów (bit error rate), gdzie:<br>
0 = 0,01% lub mniej; 7 = 8% lub więcej; 99 = brak informacji<br>
<br>
• <b>AT+CREG?</b> - sprawdza status połączenia z siecią GSM/LTE, zostanie odesłana odpowiedź podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">+CREG: 0,1</span>
<br>
Drugi parametr określa status połączenia, istotne wartości to:<br>
0 = brak połączenia; 1 = połączenie aktywne; 2 = wyszukiwanie operatora; 3 = podłączenie do sieci nieudane<br>
<br>
• <b>AT+COPS?</b> - odczytuje nazwę operatora sieci, odsyła odpowiedź podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">+COPS: 0,0,"Orange",7</span>
<br>
Jeżeli zamiast nazwy operatora jest liczba, należy wpisać komendę AT+COPS=3,0 i wtedy ponownie AT+COPS?
<br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Połączenie głosowe</span>=====
<br>
• <b>ATD<pełny numer telefonu>;</b> - rozpoczyna połączenie głosowe z wybranym numerem telefonu. Numer musi być wpisany z prefiksem (np. +48 dla Polski). Na końcu musi być średnik (;). Przesyłane odpowiedzi będą zawierały informacje o przebiegu połączenia.
<br><br>
• <b>ATA</b> - pozwala odebrać przychodzące połączenie głosowe. Przychodzące połączenie będzie sygnalizowane wysłaniem kilku komend, m.in:<br>
<span style="font-family: 'Courier New', monospace">+CLIP: "+48123456789",145</span> - informuje o numerze telefonu, z którego pochodzi połączenie.<br>
<span style="font-family: 'Courier New', monospace">RING</span> - oznacza sygnał dzwonienia.
<br><br>
• <b>ATH</b> - przerywa aktualne połączenie głosowe
<br><br>
• <b>AT+COUTGAIN=7</b> - zwiększa głośność w słuchawce do poziomu 7 (7 = max, 0 = min)
<br><br>
• <b>AT+CMICGAIN=7</b> - zwiększa czułość mikrofonu do poziomu 7 (7 = max, 0 = min)
<br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Wysłanie wiadomości SMS</span>=====
<br>
• <b>AT+CSCA?</b> - sprawdza ustawiony numer centrum wiadomości. Dla operatorów dostępnych w Polsce mogą to być następujące numery:<br>
Orange: +48602951111<br>
Play: +48602295000<br>
Plus: +48601000310<br>
T-Mobile: +48602951111 (tak samo jak Orange)<br>
Informację na ten temat należy potwierdzić u operatora obsługującego kartę SIM.
Numer można ustawić komendą <b>AT+CSCA="<pełny numer centrum wiadomości>"</b>
<br><br>
• <b>AT+CMGF=1</b> - włącza tryb tekstowy, pozwala zapisać i odczytać treść wiadomości w postaci zwykłego tekstu
<br><br>
• <b>AT+CSCS="GSM"</b> - ustawia zestaw znaków (character set)
<br><br>
• <b>AT+CMGS="+48123456789"</b> - ustawia numer odbiorcy wiadomości. Po potwierdzeniu znakiem <CR> (klawisz Enter) zostanie przesłany znak >, który sygnalizuje, aby wpisać treść wiadomości. Po wpisaniu treści należy potwierdzić operację znakiem <1A> (odpowiada kombinacji klawiszy Ctrl + Z), lub anulować znakiem <1B> (klawisz ESC). Jeśli proces przebiegł prawidłowo wiadomość SMS zostanie wysłana, a w terminalu zostanie odesłana odpowiedź podobna do tej:
<span style="font-family: 'Courier New', monospace">+CMGS: 15</span><br>
Parametr 15 to numer wiadomości w pamięci modemu.<br>
<br>
===== <span style="color:#FFFFFF; background:#808080 ">Odczytanie wiadomości SMS</span>=====
<br>
• <b>AT+CMGR=4</b> - powoduje odczytanie wiadomości, która zajmuje 4 miejsce w pamięci wiadomości. Zostanie odesłana odpowiedź podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">+CMGR: "REC UNREAD","+48123456789","","25/03/23,23:51:43+4"<br>
Test<br>
OK</span><br>
Co oznacza, że:
“REC UNREAD” - wiadomość nie była wcześniej odczytana, po odczytaniu wiadomości, jej status zmieni się na “REC READ”<br>
"+48123456789" - numer nadawcy wiadomości<br>
"25/03/23,23:51:43+4" - data i godzina odebrania wiadomości<br>
Test - treść wiadomości<br><br>
• <b>AT+CMGD=4</b> - spowoduje usunięcie wiadomości, która zajmuje 4 miejsce w pamięci wiadomości<br><br>
• <b>AT+CNMI=1,2,0,0,0</b> - po wysłaniu tej komendy, nowe wiadomości SMS będą automatycznie odczytywane - za każdym razem pojawi się informacja podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">+CMT: "+48123456789","","25/08/13,10:20:18+8"<br>
Test Test</span><br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Wybrane funkcje HTTP/HTTPS</span>=====
<br>
• <b>AT+HTTPINIT</b> - inicjuje sesję HTTP<br><br>
• <b>AT+HTTPPARA="URL","<nowiki>https://www.example.org</nowiki>"</b> - ustawia parametry HTTP, w tym przypadku adres URL. Inne dostępne opcje to m.in “CONTENT”, “ACCEPT” lub "USERDATA"<br><br>
• <b>AT+HTTPACTION=0</b> - wykonuje żądanie HTTP/HTTPS z użyciem określonej metody, dostępne opcje to:<br>
0 = GET, 1 = POST, 2 = HEAD, 3 = DELETE, 4 = PUT.<br>
Zostanie odesłana odpowiedź podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">+HTTPACTION: 0,200,1256<br></span>
Co oznacza, że:<br>
“200” - odpowiedź serwera, 200 = OK<br>
“1256” - ilość danych do odczytu (Content Length)<br>
<br>
• <b>AT+HTTPHEAD</b> - odczytuje nagłówek odpowiedzi serwera (HTTP header information). Zostanie odesłana odpowiedź podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">
+HTTPHEAD: 44<br>
HTTP/1.1 200 OK<br>
Content-Type: text/html<br>
Content-Length: 1256<br>
Connection: keep-alive</span><br>
<br>
• <b>AT+HTTPREAD=44,1000</b> - odczytuje całą treść odpowiedzi serwera.<br>
Pierwszy parametr (tu 44) to indeks od którego rozpoczyna odczyt,<br>
drugi parametr to ilość danych do odczytania<br>
<br>
• <b>AT+HTTPDATA=18,10</b> - służy do przesyłania danych z użyciem metody POST. Pierwszy parametr określa ilość danych (od 1 do 153600 bajtów),
drugi parametr określa czas w którym dane muszą być wprowadzone (od 10 do 65535 sekund)<br>
<br>
• <b>AT+HTTPTERM</b> - zamyka sesję HTTP<br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Wybrane funkcje bezpiecznego protokołu sieciowego SSL</span>=====
<br>
• <b>AT+CSSLCFG?</b> - wyświetla konfigurację wszystkich 9 kontekstów SSL. Grupa parametrów przy każdym kontekście oznacza:<br>
ssl version - wersję protokołu sieciowego SSL,<br>
auth mode - tryb uwierzytelniania,<br>
ignore local time - sprawdzenie czasu certyfikacji,<br>
negotiate time - maksymalny czas wykonania uwierzytelniania (domyślnie 300 s)<br>
ca file - nazwa pliku certyfikatu CA (Certificate Authority)<br>
client cert file - nazwa pliku certyfikatu CA klienta<br>
client key file - nazwa pliku klucza klienta<br>
password file - nazwa pliku hasła, wymaganego do odczytania pliku klucza klienta<br>
enable SNI flag - funkcja Server Name Indication - umożliwia obsługę wielu certyfikatów SSL na jednym adresie IP i porcie<br><br>
• <b>AT+CSSLCFG="sslversion",<ssl_context>,4</b> - ustawia wersję protokołu sieciowego SSL.<br>
Pierwszy parametr to numer kontekstu: 0…9<br>
drugi parametr oznacza: 0 = SSL3.0; 1 = TLS1.0; 2 = TLS1.1; 3 = TLS1.2, 4 = wszystkie (0…3)<br><br>
• <b>AT+CSSLCFG="authmode",<ssl_context>,1</b> - określa tryb uwierzytelniania (authentication mode).<br>
Pierwszy parametr to numer kontekstu: 0…9<br>
drugi parametr oznacza: <br>
0 = bez uwierzytelniania;<br>
1 = uwierzytelnianie po stronie serwera (wymaga certyfikatu root CA - Certificate Authority)<br>
2 = uwierzytelniania po stronie serwera i klienta (wymaga certyfikatu root CA oraz certyfikatu i klucza klienta)<br>
3 = uwierzytelnianie po stronie klienta (certyfikatu i klucza klienta)<br><br>
• <b>AT+CSSLCFG="ignorelocaltime",<ssl_context>,1</b> - sprawdzenie czasu certyfikacji.<br>
Pierwszy parametr to numer kontekstu: 0…9<br>
drugi parametr oznacza:<br>
0 = sprawdzenie czasu certyfikacji<br>
1 = zignorowanie sprawdzenia czasu certyfikacji<br><br>
• <b>AT+CSSLCFG="cacert",<ssl_context>,"filename.pem"</b> - określa plik certyfikatu root CA (Certificate Authority) dla danego kontekstu SSL. Plik musi mieć rozszerzenie .pem lub .der<br><br>
• <b>AT+CSSLCFG="enableSNI",<ssl_context>,1</b> - funkcja Server Name Indication - umożliwia obsługę wielu certyfikatów SSL na jednym adresie IP i porcie.
Pierwszy parametr to numer kontekstu: 0…9<br>
drugi parametr oznacza:<br>
0 = SNI wyłączone<br>
1 = SNI aktywne<br>
• <b>AT+CCERTDOWN="<nazwa.pem>",<length></b> - pozwala zainstalować certyfikat CA (Certificate Authority).<br>
Pierwszy parametr to nazwa certyfikatu, musi mieć rozszerzenie .pem lub .der,<br>
drugi parametr oznacza ilość danych do przesłania - długość pliku.<br>
Po wysłaniu komendy zostanie wyświetlony znak “'''>'''”, który oznacza, że należy przesłać zadeklarowaną ilość danych. Jeśli wszystko przebiegnie prawidłowo, zostanie wysłana odpowiedź “'''OK'''”.<br><br>
• <b>AT+CCERTLIST</b> - wyświetla listę zainstalowanych certyfikatów<br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Wybrane funkcje MQTT</span>=====
<br>
• <b>AT+CMQTTSTART</b> - aktywuje funkcję MQTT<br><br>
• <b>AT+CMQTTSTOP</b> - wyłącza funkcję MQTT<br><br>
• <b>AT+CMQTTACCQ=<client>,"KAmod-LTE-CAT1",1</b> - inicjacja klienta MQTT.<br>
Pierwszy parametr: określa indeks, do którego przypisujemy nazwę klienta (0 lub 1),<br>
drugi parametr: nazwa klienta, (KAmod-LTE-CAT1)<br>
trzeci parametr: 0 - połączenie TCP; 1 - połączenie SSL/TLS<br><br>
• <b>AT+CMQTTACCQ?</b> - wyświetla ustawionych klientów<br><br>
• <b>AT+CMQTTREL=<client></b> - usuwa ustawionych klientów, parametr określa indeks klienta. Zostanie odesłana odpowiedź podobna do tej:<br>
<span style="font-family: 'Courier New', monospace">+CMQTTREL: 0,0<br></span>
Pierwszy parametr to indeks klienta: 0…1,<br>
drugi parametr to kod błędu, m.in.: 0 = OK; 19 = klient w użyciu; 20 = klient jeszcze nie ustawiony<br><br>
• <b>AT+CMQTTSSLCFG=<client>,<ssl_context></b> - przypisuje index klienta MQTT do kontekstu SSL.<br>
Pierwszy parametr to indeks klienta MQTT: 0…1,<br>
drugi parametr to kontekst SSL: 0…9<br><br>
• <b>AT+CMQTTCONNECT=<client>,"<tcp://some.mqtt.brocker.url:port>",<keepalive>,<clean_session>,"<user>","<password>"</b> - otwiera połączenie z serwerem MQTT.
Pierwszy parametr - określa indeks klienta, który posłuży do połączenia z serwerem,<br>
drugi parametr - adres serwera mqtt (tzn. url), musi być poprzedzony frazą “tcp//:” i otoczony znakami ",<br>
trzeci parametr - czas keepalive (np. 60),<br>
czwarty parametr - clean session flag - wartość 1 powoduje, że serwer usuwa wszelkie informacje o kliencie po jego rozłączeniu<br>
parametr 5 i 6 - nazwa użytkownika i hasło, które umożliwiają połączenie z serwerem MQTT, każdy parametr musi być otoczony znakami "<br><br>
• <b>AT+CMQTTDISC=<client>,<timeout></b> - zamyka połączenie z serwerem MQTT.<br>
Pierwszy parametr - określa indeks klienta: 0…1,<br>
drugi parametr - czas timeout (np. 120)<br><br>
• <b>AT+CMQTTTOPIC=<client>,<length></b> - określa temat (topic) dla wiadomości MQTT.<br>
Pierwszy parametr - to indeks klienta: 0…1,<br>
drugi parametr - długość tematu (ilość znaków)<br>
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.<br><br>
• <b>AT+CMQTTPAYLOAD=<client>,<length></b> - określa ładunek (treść) wiadomości MQTT.<br>
Pierwszy parametr - to indeks klienta: 0…1,<br>
drugi parametr - długość wiadomości (ilość znaków)<br>
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.<br><br>
• <b>AT+CMQTTPUB=<client>,<QoS>,<timeout></b> - wysyła wiadomość do serwera MQTT, z wcześniej określonym tematem i treścią wiadomości.<br>
Pierwszy parametr - określa indeks klienta: 0…1,<br>
drugi parametr - QoS:<br>
0 = wiadomość będzie dostarczona co najwyżej 1 raz<br>
1 = wiadomość będzie dostarczona co najmniej 1 raz<br>
2 = wiadomość będzie dostarczona dokładnie 1 raz<br>
trzeci parametr - czas timeout<br><br>
• <b>AT+CMQTTSUBTOPIC=<client>,<length>,<QoS></b> - określa temat do subskrybowania z serwera MQTT.<br>
Pierwszy parametr - to indeks klienta: 0…1,<br>
drugi parametr - długość tematu (ilość znaków)<br>
trzeci parametr - QoS:<br>
0 = wiadomość będzie dostarczona co najwyżej 1 raz<br>
1 = wiadomość będzie dostarczona co najmniej 1 raz<br>
2 = wiadomość będzie dostarczona dokładnie 1 raz<br>
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.<br><br>
• <b>AT+CMQTTSUB=<client></b> - wysyła wiadomość do serwera MQTT, z wcześniej określonym tematem do subskrybowania.<br>
Pierwszy parametr - to indeks klienta: 0…1.<br>
Gdy serwer MQTT otrzyma wiadomość z subskrybowanym tematem, moduł A7670/A7672 automatycznie wyśle treść podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">+CMQTTRXSTART: 0,7,20<br>
+CMQTTRXTOPIC: 0,7<br>
MyTopic<br>
+CMQTTRXPAYLOAD: 0,20<br>
KAmod LTE CAT1 Hello<br>
+CMQTTRXEND: 0</span><br><br>
===== <span style="color:#FFFFFF; background:#808080 ">Uruchomienie MQTT z serwerem HiveMQ</span>=====
<br>
W pierwszej kolejności musimy utworzyć konto na https://www.hivemq.com. W panelu informacyjnym, w zakładce ''Overview'' zostaną udostępnione niezbędne adresy odnoszące się do utworzonego serwera - brokera MQTT. Najważniejszy jest teraz ''TLS MQTT URL''.
<center>
[[File:KAmod_LTE_CAT1_hivemq-url.jpg|none|600px|thumb|center]]
</center><br>
Następnie przechodzimy do zakładki ''Access Management'' i dodajemy dane dostępu dla klientów MQTT - nazwę oraz hasło. Należy zanotować te dane, ponieważ będą za chwilę potrzebne.
<center>
[[File:KAmod_LTE_CAT1_hivemq-access.jpg|none|600px|thumb|center]]
</center><br>
Przechodzimy do zakładki ''Web Client'', tam, w okienku ''Connection Settings'', łączymy się wpisując nazwę oraz hasło, które zanotowaliśmy. Zostaną odblokowane okienka ''Topic Subscriptions'' oraz ''Send Message''.
<center>
[[File:KAmod_LTE_CAT1_hivemq-client.jpg|none|600px|thumb|center]]
</center><br>
Subskrybujemy temat wiadomości MQTT - w tym celu wpisujemy w okienku ''TOPIC'' np. ''MyTopic'' oraz ustawiamy QoS na 1. Następnie możemy wysłać wiadomość z tym samym tematem ''MyTopic'', QoS - 1, o treści np. Hello - powinna pojawić się w okienku po prawej stronie ''- Messages''.
<center>
[[File:KAmod_LTE_CAT1KAmod_LTE_CAT1_hivemq-message.jpg|none|600px|thumb|center]]
</center><br>
<br>
Teraz skonfigurujemy KAmod LTE CAT1 do współpracy z utworzonym serwerem MQTT na HiveMQ. W pierwszej kolejności musimy zainstalować certyfikat CA. Właściwy plik można pobrać ze strony https://letsencrypt.org/certs/isrgrootx1.pem. Jego treść ma długość 1938 znaków i wygląda podobnie jak tu:<br>
<span style="font-family: 'Courier New', monospace">
-BEGIN CERTIFICATE-<br>
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw<br>
...<br>
...<br>
...<br>
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=<br>
-END CERTIFICATE-<br>
</span><br>
Podłączamy KAmod LTE CAT1 do komputera solidnym i krótkim przewodem USB. Za pomocą dowolnego programu typu terminal podłączamy się do portu COM “SimTech AT Port”. Ustawiamy parametry komunikacji 115200, 8, N, 1. Pamiętamy, aby każdą komendę kończyć znakiem <CR> (hex x0D).<br><br>
Wysyłamy do modułu komendę '''AT+CCERTDOWN="isrgrootx1.pem",1938'''. zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość danych. Niektóre programy typu terminal pozwalają na przesyłanie treści pliku - będzie to najlepsze rozwiązanie do tego zadania. Jeśli wszystko przebiegnie prawidłowo, na koniec zostanie wysłana odpowiedź '''“OK”'''.
<br><br>
Sprawdzamy, czy certyfikat został zainstalowany - wysyłamy '''AT+CCERTLIST''', powinniśmy otrzymać odpowiedź podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">+CCERTLIST: "isrgrootx1.pem"<br>
OK</span>
<br><br>
Teraz musimy skonfigurować SSL, wysyłamy komendę '''AT+CSSLCFG="sslversion",0,4''' - co oznacza obsługę wszystkich wersji TLS i SSL.
<br><br>
Wysyłamy komendę '''AT+CSSLCFG="authmode",0,1''' - co oznacza uwierzytelnianie po stronie serwera.
<br><br>
Wysyłamy komendę '''AT+CSSLCFG="cacert",0,"isrgrootx1.pem"''' - ustawiamy plik certyfikatu root CA (Certificate Authority) dla danego kontekstu SSL.
<br><br>
Wysyłamy komendę '''AT+CSSLCFG="enableSNI",0,1''' - włączamy Server Name Indication - obsługę wielu certyfikatów SSL na jednym adresie IP i porcie.
<br><br>
Sprawdzamy ustawienia komendą '''AT+CSSLCFG?''', powinniśmy otrzymać odpowiedź podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">+CSSLCFG: 0,4,1,1,300,"isrgrootx1.pem","","","",1<br>
...<br>
+CSSLCFG: 9,4,0,1,300,"","","","",0<br>
OK<br>
</span>
<br><br>
Teraz rozpoczniemy sesję MQTT. Wysyłamy komendę '''AT+CMQTTSTART''' - aktywacja funkcji MQTT.
<br><br>
Wysyłamy komendę '''AT+CMQTTACCQ=0,"KAmod",1''' - ustawiamy nazwę klienta na “KAmod” oraz ustawiamy połączenie SSL/TLS
<br><br>
Wysyłamy komendę '''AT+CMQTTSSLCFG=0,0''' - przypisujemy index klienta MQTT do kontekstu SSL.
<br><br>
Wysyłamy komendę '''AT+CMQTTCONNECT=0,"tcp://xxxxxxxxxxx.s1.eu.hivemq.cloud:8883",30,1,"<user>","<password>"''' - w której umieszczamy adres TLS MQTT URL koniecznie poprzedzony znakami “tcp://”, oraz zanotowaną nazwę oraz hasło dostępu. Powiiniśmy otrzymać odpowiedź podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">OK<br>
+CMQTTCONNECT: 0,0</span>
<br><br>
Oznacza to, że połączenie z serwerem MQTT zostało uruchomione prawidłowo.
<br><br>
Wysyłamy komendę, która ustawi temat wiadomości: '''AT+CMQTTTOPIC=0,7''' następnie
wpisujemy 7 znaków: ''MyTopic''
<br><br>
Wysyłamy komendę, która ustawi treść (ładunek) wiadomości: '''AT+CMQTTPAYLOAD=0,6''' następnie wpisujemy 6 znaków: ''Hello2''
<br><br>
Wysyłamy komendę, która spowoduje opublikowanie wiadomości: '''AT+CMQTTPUB=0,1,60.''' W odpowiedzi powinniśmy otrzymać:<br>
<span style="font-family: 'Courier New', monospace">
OK<br>
+CMQTTPUB: 0,0
</span>
<br><br>
Oznacza to, że wiadomość MQTT został wysłana prawidłowo.
<br><br>
Teraz wracamy do panelu HiveMQ, przechodzimy do zakładki ''Web Client'', powinniśmy tam zobaczyć naszą wiadomość:<br>
<center>[[File:KAmod_LTE_CAT1_hivemq-mess2.jpg|none|600px|thumb|center]]</center>
<br>
Teraz zasubskrybujemy wiadomości o temacie MyTopic, wpisujemy: '''AT+CMQTTSUBTOPIC=0,7,1''' następnie wpisujemy 7 znaków: ''MyTopic''
<br><br>
<br><br>
===== Schemat blokowy =====
Wysyłamy komendę: '''AT+CMQTTSUB=0''' powinniśmy otrzymać odpowiedź podobną do tej:<br>
<span style="font-family: 'Courier New', monospace">
OK<br>
+CMQTTSUB: 0,0<br><br>
</span>
Jeśli teraz wyślemy wiadomość ''Hello3'' z panelu HiveMQ:<br>
<center>[[File:KAmod_LTE_CAT1_hivemq-mess3.jpg|none|600px|thumb|center]]</center>
Moduł KAmod LTE CAT1 automatycznie wyświetli takie informacje:<br>
<span style="font-family: 'Courier New', monospace">
+CMQTTRXSTART: 0,7,6<br>
+CMQTTRXTOPIC: 0,7<br>
MyTopic<br>
+CMQTTRXPAYLOAD: 0,6<br>
Hello3<br>
+CMQTTRXEND: 0<br>
</span><br>
Oznacza to, że wiadomość została prawidłowo przekazana.<br><br>


===== Funkcje przycisków=====  
====Linki====
===== Funkcje kontrolek sygnalizacyjnych=====
* [https://wiki.kamamilabs.com/images/3/30/A7672E_Spec_210324.pdf Dokumentacja modemu SimCom A7670/A7672]
===== Połączenie z płytkami Raspberry Pi=====
* [https://wiki.kamamilabs.com/images/2/2b/A76XX_Series_AT_Command_Manual_V1.09.pdf Opis komend AT]
===== Interfejs USB=====
* [https://github.com/KAMAMI-Labs/KAmod-LTE-CAT1.git Przykłady]
===== Karta SIM=====
===== Zasilanie=====
===== Tryb serwisowy=====
===== Złącze Audio - SPK&MIC=====
===== Antena LTE/GSM=====
===== Sterowanie komendami AT=====
====== Podstawowe parametry======
====== Połączenie głosowe======
====== Wysłanie wiadomości SMS======
====== Odczytanie wiadomości SMS======
====== Wybrane funkcje HTTP/HTTPS======
====== Wybrane funkcje bezpiecznego protokołu sieciowego SSL======
====== Wybrane funkcje MQTT======
====== Uruchomienie MQTT z serwerem HiveMQ======
=====Linki=====

Latest revision as of 13:56, 24 October 2025

Opis

KAmod LTE CAT1 - HAT GSM/GPRS z modułem A7670E-LASE do Raspberry Pi
Moduł SimCom A7670E/A7672E to modem GSM/LTE CAT-1, który realizuje komunikację bezprzewodową w standardach: LTE-FDD, GPRS/EDGE, GSM, a dodatkowo obsługuje wiele funkcji sieciowych, m.in TCP/IP, FTP/FTPS, HTTP/HTTPS, SSL, MQTT. Sterowanie pracą modemu jest bardzo łatwe - służą do tego komendy AT przesyłane poprzez port szeregowy UART. Płytka KAmod LTE CAT1 zawiera wszystkie elementy niezbędne do działania modemu i umożliwia jego łatwe połączenie z komputerami serii Raspberry Pi oraz innymi podobnymi urządzeniami.



Podstawowe parametry

  • Modem LTE CAT-1, który bazuje na module SimCom A7670E lub A7672E
  • Pasma komunikacji bezprzewodowej LTE (4G): LTE-FDD B1/B3/B5/B7/B8/B20
  • Pasma komunikacji bezprzewodowej GSM (2G): 900/1800 MHz
  • Prędkość transferu danych LTE: max 10 Mbps (DL); max 5 Mbps (UL)
  • Prędkość transferu danych EDGE: max 236,8 kbps; GPRS: max 85,6 kbps
  • Obsługiwane funkcje i protokoły:TCP/IP, IPV4, IPV6, Multi-PDP, FTP/FTPS, HTTP/HTTPS, DNS, SSL, TLS, MQTT
  • Obsługiwana karta SIM: Micro SIM 1,8/3,0 V
  • Interfejs UART (3,3 V) do sterowania komendami AT
  • Interfejs USB do podłączenia z komputerem PC (tworzy port szeregowy do sterowania komendami AT oraz urządzenie ECM - Ethernet Control Model lub RNDIS - Remote Network Driver Interface, jako łącze internetowe)
  • Złącze audio in/out typu Jack 3,5 mm
  • Zasilanie 5 V/2 A poprzez GPIO/USB-C
  • Kompatybilny z płytkami Raspberry Pi/Zero, zawiera 40-stykowe złącze GPIO



Wyposażenie standardowe

Kod Opis
KAmod LTE CAT1

Zmontowany i uruchomiony moduł

Antena GSM

Antena ze złączem U.FL

Zestaw montażowy

Zestaw śrubek oraz dystansów umożliwiający przykręcenie nakładki do płytki Raspberry


Schemat blokowy



Schemat elektryczny jest dostępny tu: KAmod_LTE_CAT1_sch

Funkcje przycisków

Funkcje przycisków zostały opisane w tabeli.

Przycisk Funkcja
PWKEY (SW1)

Przyciśnięcie przycisku przez czas min. 50 ms powoduje włączenie modułu A7670E/A7672E - przejście do stanu normalnej pracy ze stanu wyłączenia.
Przyciśnięcie przycisku przez czas min. 2,5 s powoduje wyłączenie modułu A7670E/A7672E - przejście do stanu Power OFF ze stanu normalnej pracy.

RESET (SW2)

Przyciśnięcie przycisku wymusza stan aktywny na wejściu RESET modułu A7670E/A7672E i powoduje jego wyzerowanie.


Przyciski realizują swoje funkcje równolegle z sygnałami PWK i RST ze złącza Raspberry Pi. Producent modułu A7670E/A7672E zaleca, aby nie ustawiać aktywnych sygnałów PWK i RST jednocześnie.

Moduł KAmod LTE CAT1 zawiera obwód automatycznego włączania modułu A7670E/A7672E po podłączeniu zasilania. Obwód ten generuje krótki impuls na linii PWK zaraz po podłączeniu zasilania. Aby dezaktywować ten obwód, należy przeciąć zworę oznaczoną J_APWK umieszczoną na spodzie płytki (strona bottom).


Funkcje kontrolek sygnalizacyjnych

Znaczenie kontrolek LED zostało opisane w tabeli, a ich rozmieszczenie pokazano na rysunku.

Kontrolka Funkcja
PWR (D5)

Świecenie kontrolki LED sygnalizuje obecność napięcia zasilającego moduł A7670E/A7672E

STA (D3)

Świecenie kontrolki LED oznacza, że moduł A7670E/A7672E jest w stanie aktywnym

NET (D4)

Świecenie kontrolki LED oznacza stan wyszukiwania sieci GSM/LTE
Miganie kontrolki LED sygnalizuje połączenie z siecią GSM/LTE



Połączenie z płytkami Raspberry Pi

Moduł KAmod LTE CAT1 jest przystosowany do połączenia z płytkami z rodziny Raspberry Pi oraz innymi podobnymi urządzeniami, które zawierają 40 stykowe złącze GPIO typu goldpin, zgodne z Raspberry Pi. Poprzez to złącze doprowadzane jest zasilanie do modułu oraz niezbędne sygnały sterujące, które zostały opisane w tabeli.

Sygnały sterujące są dostosowane do napięcia 3,3 V, prędkość komunikacji interfejsu szeregowego UART jest domyślnie ustawiona na 115200 bps.

Sygnał sterujący modułu

A7670E/A7672E

Sygnał sterujący na płytce

z rodziny Raspberry Pi (J1)

Funkcja
UART TXD (out) RXD/GPIO15 (pin 10) Wyjście szeregowe danych
UART RXD (in) TXD/GPIO14 (pin 8) Wejście szeregowe danych
RST - RESET (in) GPIO18 (pin 12) Wejście sygnału zerującego RESET, aktywne w stanie Hi
PWK - PWRKEY (in) GPIO04 (pin 7) Wejście sygnału aktywującego moduł, aktywne w stanie Hi


Linia zasilania Funkcja
Zasilanie 5 V (in)

(piny 2, 4)

Wejście zasilania 5 V z płytki Raspberry Pi
Zasilanie GND (in)

(piny 6, 9, 14, 20, 25, 30, 34, 39)

Masa zasilania (GND)





Nie wszystkie sygnały sterujące (TXD, RXD, PWK i RST) muszą być połączone z płytką Raspberry Pi. Sygnały będą dołączone, jeśli na szpilkach oznaczonych J2 będą umieszczone 4 zworki, tak jak na rysunku. Każda zworka odpowiada za inny sygnał. Zdjęcie zworki oznacza odłączenie sygnału od 40 stykowego złącza Raspberry Pi. Można np. zrezygnować z sygnałów PWK i RST, ponieważ płytka KAmod LTE CAT1 zapewnia odpowiedni reset i uruchomienie modułu A7670E/A7672E.

Płytkę KAmod LTE CAT1 należy dołączyć do 40 stykowego złącza szpilkowego GPIO dostępnego na płytkach z serii Raspberry Pi. W ten sposób dostarczane jest zasilanie oraz oraz dołączony jest port szeregowy UART, który umożliwia sterowanie z użyciem komend AT. Dla zachowania lepszej stabilności takiej konstrukcji, warto zastosować dodatkowe kołki dystansujące i śrubki.



Interfejs USB

Moduł A7670E/A7672E może działać jako ECM (Ethernet Control Model) lub RNDIS (Remote Network Driver Interface Specification), które w łatwy sposób tworzą połączenie z internetem dla urządzeń z systemem operacyjnymi Windows. Dla uzyskania takiej funkcjonalności należy płytkę KAmod LTE CAT1 połączyć z komputerem PC poprzez złącze USB-C. Po zainstalowaniu sterowników w systemie pojawi się kilka nowych urządzeń. Poprzez “AT Port” można przesyłać komendy AT do modułu.


Chwilowy pobór prądu modułu A7670E/A7672E może przekraczać nawet 2 A, dlatego należy upewnić się, że złącze USB, do którego podłączono płytkę KAmod LTE CAT1, dysponuje odpowiednią mocą. Należy stosować wyłącznie przewody USB dobrej jakości i długości do 0,5 m max. W przypadku problemów z komunikacją USB, warto sprawdzić działanie z odłączoną anteną LTE oraz/lub bez karty SIM.



Karta SIM

KAmod LTE CAT1 jest wyposażony w gniazdo na kartę Micro SIM, która ma wymiary 15x12 mm i działa w standardzie 1,8/3,0V. Kartę należy umieścić w gnieździe i delikatnie wcisnąć, aż do lekkiego kliknięcia. Aby wyjąć kartę, najpierw należy ją delikatnie wcisnąć i zwolnić nacisk - wtedy krawędź karty się wysunie i można ją wyciągnąć całą. Wszystkie operacje z kartą SIM należy wykonywać przy odłączonym zasilaniu płytki KAmod LTE CAT1 (czyli także płytki komputera RPi). Ścięta krawędź karty powinna być skierowana na zewnątrz płytki, tak jak pokazano na rysunku i zaznaczono na płytce.

Zasilanie

KAmod LTE CAT1 wymaga zasilania o napięciu 5 V i wydajności prądowej min. 2 A. W stanie aktywnym, gdy jest uruchomione połączenie z siecią LTE, ale nie są wykonywane żadne zadania, moduł pobiera prąd o wartości ok 30 mA. Jednak w trakcie transmisji danych chwilowy pobór prądu może wynosić ponad 2 A. Dlatego do prawidłowej pracy modułu KAmod LTE CAT1 wymagane jest zasilanie o chwilowej wydajności nie mniejszej niż 2 A.

Zasilanie może być doprowadzone poprzez 40 stykowe złącze GPIO typu goldpin (J1), zgodne z Raspberry Pi lub/oraz jednocześnie poprzez złącze USB.



Tryb serwisowy

Producent modułów A7670E/A7672E dostarcza swoje komponenty z najbardziej optymalnym oprogramowaniem firmware i nie zaleca jego uaktualniania. Wersję oprogramowania można sprawdzić za pomocą komendy ATI. Jednak na płytce KAmod LTE CAT1 zostały wyprowadzone styki JP1. Ich zwarcie umożliwia uruchomienie modułu w specjalnym trybie serwisowym przeznaczonym do aktualizacji firmware. W trakcie normalnego użytkowania nie należy zwierać styków JP1. Więcej informacji o aktualizacji firmware należy szukać na stronie producenta modułów A7670E/A7672E - SimCom - www.simcom.com.



Złącze Audio - SPK&MIC

KAmod LTE CAT1 umożliwia wykonanie standardowego połączenia głosowego, o ile zainstalowana karta SIM daje taką możliwość. Do złącza J4 należy dołączyć słuchawki i mikrofon z wtykiem Jack 3,5 mm - standardowy zestaw słuchawkowy, który umożliwia odsłuch i przesyłanie dźwięku pomiędzy stronami połączenia telefonicznego.



Antena LTE/GSM

KAmod LTE CAT1 działa w standardzie telefonii GSM (2G) oraz LTE (4G). Na płytce modułu znajduje się złącze typu U.FL (IPX), oznaczone LTE, do którego należy dołączyć antenę przeznaczoną do pracy w GSM/LTE.



Sterowanie komendami AT

Moduły A7670E/A7672E są sterowane za pomocą tzw. komend AT przesyłanych poprzez port szeregowy UART. Każda komenda zaczyna się znakami “AT” i jest zakończona znakiem <CR> (hex 0x0D), któremu odpowiada klawisz ENTER na klawiaturze komputerowej. Niektóre parametry, m.in. nazwy i numery telefonów, rozpoczynają się i kończą znakiem " (double quote - hex 0x22). Komendy można wpisywać przy użyciu dowolnego programu typu terminal, np Putty lub Minicom.

Wykaz wszystkich komend AT z opisem można znaleźć tu: <A76XX_Series_AT_Command_Manual_V1.09.pdf> W dalszej części opisu zostały zaprezentowane niektóre komendy AT umożliwiające wykonanie podstawowych zadań oraz wybrane funkcje modemu A7670E/A7672E.

Podstawowe parametry


AT - komenda testowa, jeśli moduł działa prawidłowo, zostanie odesłana odpowiedź:
OK

ATI - odczyt podstawowych informacji, zostanie odesłana odpowiedź podobna do tej:
Manufacturer: INCORPORATED
Model: A7670E-FASE
Revision: A7670M7_V1.11.1
IMEI: 863957078398663
+GCAP: +CGSM,+FCLASS,+DS

AT+CPIN? - sprawdza status kodu PIN dla karty SIM, jeśli PIN nie jest wymagany zostanie odesłana odpowiedź:
+CPIN: READY
Jeśli PIN jest wymagany, należy użyć komendy AT+CPIN=<pin do karty sim>

AT+CSQ - pozwala odczytać poziom sygnału antenowego (tzw. zasięg sieci), zostanie odesłana odpowiedź podobna do tej:
+CSQ: 23,99
Pierwszy parametr (23) to poziom sygnału (RSSI), gdzie:
0 = -113 dBm lub mniej; 31 = -51 dBm lub więcej.
Drugi parametr określa poziom błędów (bit error rate), gdzie:
0 = 0,01% lub mniej; 7 = 8% lub więcej; 99 = brak informacji

AT+CREG? - sprawdza status połączenia z siecią GSM/LTE, zostanie odesłana odpowiedź podobna do tej:
+CREG: 0,1
Drugi parametr określa status połączenia, istotne wartości to:
0 = brak połączenia; 1 = połączenie aktywne; 2 = wyszukiwanie operatora; 3 = podłączenie do sieci nieudane

AT+COPS? - odczytuje nazwę operatora sieci, odsyła odpowiedź podobną do tej:
+COPS: 0,0,"Orange",7
Jeżeli zamiast nazwy operatora jest liczba, należy wpisać komendę AT+COPS=3,0 i wtedy ponownie AT+COPS?

Połączenie głosowe


ATD<pełny numer telefonu>; - rozpoczyna połączenie głosowe z wybranym numerem telefonu. Numer musi być wpisany z prefiksem (np. +48 dla Polski). Na końcu musi być średnik (;). Przesyłane odpowiedzi będą zawierały informacje o przebiegu połączenia.

ATA - pozwala odebrać przychodzące połączenie głosowe. Przychodzące połączenie będzie sygnalizowane wysłaniem kilku komend, m.in:
+CLIP: "+48123456789",145 - informuje o numerze telefonu, z którego pochodzi połączenie.
RING - oznacza sygnał dzwonienia.

ATH - przerywa aktualne połączenie głosowe

AT+COUTGAIN=7 - zwiększa głośność w słuchawce do poziomu 7 (7 = max, 0 = min)

AT+CMICGAIN=7 - zwiększa czułość mikrofonu do poziomu 7 (7 = max, 0 = min)

Wysłanie wiadomości SMS


AT+CSCA? - sprawdza ustawiony numer centrum wiadomości. Dla operatorów dostępnych w Polsce mogą to być następujące numery:
Orange: +48602951111
Play: +48602295000
Plus: +48601000310
T-Mobile: +48602951111 (tak samo jak Orange)
Informację na ten temat należy potwierdzić u operatora obsługującego kartę SIM. Numer można ustawić komendą AT+CSCA="<pełny numer centrum wiadomości>"

AT+CMGF=1 - włącza tryb tekstowy, pozwala zapisać i odczytać treść wiadomości w postaci zwykłego tekstu

AT+CSCS="GSM" - ustawia zestaw znaków (character set)

AT+CMGS="+48123456789" - ustawia numer odbiorcy wiadomości. Po potwierdzeniu znakiem <CR> (klawisz Enter) zostanie przesłany znak >, który sygnalizuje, aby wpisać treść wiadomości. Po wpisaniu treści należy potwierdzić operację znakiem <1A> (odpowiada kombinacji klawiszy Ctrl + Z), lub anulować znakiem <1B> (klawisz ESC). Jeśli proces przebiegł prawidłowo wiadomość SMS zostanie wysłana, a w terminalu zostanie odesłana odpowiedź podobna do tej:

+CMGS: 15
Parametr 15 to numer wiadomości w pamięci modemu.

Odczytanie wiadomości SMS


AT+CMGR=4 - powoduje odczytanie wiadomości, która zajmuje 4 miejsce w pamięci wiadomości. Zostanie odesłana odpowiedź podobna do tej:
+CMGR: "REC UNREAD","+48123456789","","25/03/23,23:51:43+4"
Test
OK

Co oznacza, że: “REC UNREAD” - wiadomość nie była wcześniej odczytana, po odczytaniu wiadomości, jej status zmieni się na “REC READ”
"+48123456789" - numer nadawcy wiadomości
"25/03/23,23:51:43+4" - data i godzina odebrania wiadomości
Test - treść wiadomości

AT+CMGD=4 - spowoduje usunięcie wiadomości, która zajmuje 4 miejsce w pamięci wiadomości

AT+CNMI=1,2,0,0,0 - po wysłaniu tej komendy, nowe wiadomości SMS będą automatycznie odczytywane - za każdym razem pojawi się informacja podobna do tej:
+CMT: "+48123456789","","25/08/13,10:20:18+8"
Test Test


Wybrane funkcje HTTP/HTTPS


AT+HTTPINIT - inicjuje sesję HTTP

AT+HTTPPARA="URL","https://www.example.org" - ustawia parametry HTTP, w tym przypadku adres URL. Inne dostępne opcje to m.in “CONTENT”, “ACCEPT” lub "USERDATA"

AT+HTTPACTION=0 - wykonuje żądanie HTTP/HTTPS z użyciem określonej metody, dostępne opcje to:
0 = GET, 1 = POST, 2 = HEAD, 3 = DELETE, 4 = PUT.
Zostanie odesłana odpowiedź podobna do tej:
+HTTPACTION: 0,200,1256
Co oznacza, że:
“200” - odpowiedź serwera, 200 = OK
“1256” - ilość danych do odczytu (Content Length)

AT+HTTPHEAD - odczytuje nagłówek odpowiedzi serwera (HTTP header information). Zostanie odesłana odpowiedź podobna do tej:
+HTTPHEAD: 44
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1256
Connection: keep-alive


AT+HTTPREAD=44,1000 - odczytuje całą treść odpowiedzi serwera.
Pierwszy parametr (tu 44) to indeks od którego rozpoczyna odczyt,
drugi parametr to ilość danych do odczytania

AT+HTTPDATA=18,10 - służy do przesyłania danych z użyciem metody POST. Pierwszy parametr określa ilość danych (od 1 do 153600 bajtów), drugi parametr określa czas w którym dane muszą być wprowadzone (od 10 do 65535 sekund)

AT+HTTPTERM - zamyka sesję HTTP

Wybrane funkcje bezpiecznego protokołu sieciowego SSL


AT+CSSLCFG? - wyświetla konfigurację wszystkich 9 kontekstów SSL. Grupa parametrów przy każdym kontekście oznacza:
ssl version - wersję protokołu sieciowego SSL,
auth mode - tryb uwierzytelniania,
ignore local time - sprawdzenie czasu certyfikacji,
negotiate time - maksymalny czas wykonania uwierzytelniania (domyślnie 300 s)
ca file - nazwa pliku certyfikatu CA (Certificate Authority)
client cert file - nazwa pliku certyfikatu CA klienta
client key file - nazwa pliku klucza klienta
password file - nazwa pliku hasła, wymaganego do odczytania pliku klucza klienta
enable SNI flag - funkcja Server Name Indication - umożliwia obsługę wielu certyfikatów SSL na jednym adresie IP i porcie

AT+CSSLCFG="sslversion",<ssl_context>,4 - ustawia wersję protokołu sieciowego SSL.
Pierwszy parametr to numer kontekstu: 0…9
drugi parametr oznacza: 0 = SSL3.0; 1 = TLS1.0; 2 = TLS1.1; 3 = TLS1.2, 4 = wszystkie (0…3)

AT+CSSLCFG="authmode",<ssl_context>,1 - określa tryb uwierzytelniania (authentication mode).
Pierwszy parametr to numer kontekstu: 0…9
drugi parametr oznacza:
0 = bez uwierzytelniania;
1 = uwierzytelnianie po stronie serwera (wymaga certyfikatu root CA - Certificate Authority)
2 = uwierzytelniania po stronie serwera i klienta (wymaga certyfikatu root CA oraz certyfikatu i klucza klienta)
3 = uwierzytelnianie po stronie klienta (certyfikatu i klucza klienta)

AT+CSSLCFG="ignorelocaltime",<ssl_context>,1 - sprawdzenie czasu certyfikacji.
Pierwszy parametr to numer kontekstu: 0…9
drugi parametr oznacza:
0 = sprawdzenie czasu certyfikacji
1 = zignorowanie sprawdzenia czasu certyfikacji

AT+CSSLCFG="cacert",<ssl_context>,"filename.pem" - określa plik certyfikatu root CA (Certificate Authority) dla danego kontekstu SSL. Plik musi mieć rozszerzenie .pem lub .der

AT+CSSLCFG="enableSNI",<ssl_context>,1 - funkcja Server Name Indication - umożliwia obsługę wielu certyfikatów SSL na jednym adresie IP i porcie. Pierwszy parametr to numer kontekstu: 0…9
drugi parametr oznacza:
0 = SNI wyłączone
1 = SNI aktywne

AT+CCERTDOWN="<nazwa.pem>",<length> - pozwala zainstalować certyfikat CA (Certificate Authority).
Pierwszy parametr to nazwa certyfikatu, musi mieć rozszerzenie .pem lub .der,
drugi parametr oznacza ilość danych do przesłania - długość pliku.
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość danych. Jeśli wszystko przebiegnie prawidłowo, zostanie wysłana odpowiedź “OK”.

AT+CCERTLIST - wyświetla listę zainstalowanych certyfikatów

Wybrane funkcje MQTT


AT+CMQTTSTART - aktywuje funkcję MQTT

AT+CMQTTSTOP - wyłącza funkcję MQTT

AT+CMQTTACCQ=<client>,"KAmod-LTE-CAT1",1 - inicjacja klienta MQTT.
Pierwszy parametr: określa indeks, do którego przypisujemy nazwę klienta (0 lub 1),
drugi parametr: nazwa klienta, (KAmod-LTE-CAT1)
trzeci parametr: 0 - połączenie TCP; 1 - połączenie SSL/TLS

AT+CMQTTACCQ? - wyświetla ustawionych klientów

AT+CMQTTREL=<client> - usuwa ustawionych klientów, parametr określa indeks klienta. Zostanie odesłana odpowiedź podobna do tej:
+CMQTTREL: 0,0
Pierwszy parametr to indeks klienta: 0…1,
drugi parametr to kod błędu, m.in.: 0 = OK; 19 = klient w użyciu; 20 = klient jeszcze nie ustawiony

AT+CMQTTSSLCFG=<client>,<ssl_context> - przypisuje index klienta MQTT do kontekstu SSL.
Pierwszy parametr to indeks klienta MQTT: 0…1,
drugi parametr to kontekst SSL: 0…9

AT+CMQTTCONNECT=<client>,"<tcp://some.mqtt.brocker.url:port>",<keepalive>,<clean_session>,"<user>","<password>" - otwiera połączenie z serwerem MQTT. Pierwszy parametr - określa indeks klienta, który posłuży do połączenia z serwerem,
drugi parametr - adres serwera mqtt (tzn. url), musi być poprzedzony frazą “tcp//:” i otoczony znakami ",
trzeci parametr - czas keepalive (np. 60),
czwarty parametr - clean session flag - wartość 1 powoduje, że serwer usuwa wszelkie informacje o kliencie po jego rozłączeniu
parametr 5 i 6 - nazwa użytkownika i hasło, które umożliwiają połączenie z serwerem MQTT, każdy parametr musi być otoczony znakami "

AT+CMQTTDISC=<client>,<timeout> - zamyka połączenie z serwerem MQTT.
Pierwszy parametr - określa indeks klienta: 0…1,
drugi parametr - czas timeout (np. 120)

AT+CMQTTTOPIC=<client>,<length> - określa temat (topic) dla wiadomości MQTT.
Pierwszy parametr - to indeks klienta: 0…1,
drugi parametr - długość tematu (ilość znaków)
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.

AT+CMQTTPAYLOAD=<client>,<length> - określa ładunek (treść) wiadomości MQTT.
Pierwszy parametr - to indeks klienta: 0…1,
drugi parametr - długość wiadomości (ilość znaków)
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.

AT+CMQTTPUB=<client>,<QoS>,<timeout> - wysyła wiadomość do serwera MQTT, z wcześniej określonym tematem i treścią wiadomości.
Pierwszy parametr - określa indeks klienta: 0…1,
drugi parametr - QoS:
0 = wiadomość będzie dostarczona co najwyżej 1 raz
1 = wiadomość będzie dostarczona co najmniej 1 raz
2 = wiadomość będzie dostarczona dokładnie 1 raz
trzeci parametr - czas timeout

AT+CMQTTSUBTOPIC=<client>,<length>,<QoS> - określa temat do subskrybowania z serwera MQTT.
Pierwszy parametr - to indeks klienta: 0…1,
drugi parametr - długość tematu (ilość znaków)
trzeci parametr - QoS:
0 = wiadomość będzie dostarczona co najwyżej 1 raz
1 = wiadomość będzie dostarczona co najmniej 1 raz
2 = wiadomość będzie dostarczona dokładnie 1 raz
Po wysłaniu komendy zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość znaków.

AT+CMQTTSUB=<client> - wysyła wiadomość do serwera MQTT, z wcześniej określonym tematem do subskrybowania.
Pierwszy parametr - to indeks klienta: 0…1.
Gdy serwer MQTT otrzyma wiadomość z subskrybowanym tematem, moduł A7670/A7672 automatycznie wyśle treść podobną do tej:
+CMQTTRXSTART: 0,7,20
+CMQTTRXTOPIC: 0,7
MyTopic
+CMQTTRXPAYLOAD: 0,20
KAmod LTE CAT1 Hello
+CMQTTRXEND: 0


Uruchomienie MQTT z serwerem HiveMQ


W pierwszej kolejności musimy utworzyć konto na https://www.hivemq.com. W panelu informacyjnym, w zakładce Overview zostaną udostępnione niezbędne adresy odnoszące się do utworzonego serwera - brokera MQTT. Najważniejszy jest teraz TLS MQTT URL.


Następnie przechodzimy do zakładki Access Management i dodajemy dane dostępu dla klientów MQTT - nazwę oraz hasło. Należy zanotować te dane, ponieważ będą za chwilę potrzebne.


Przechodzimy do zakładki Web Client, tam, w okienku Connection Settings, łączymy się wpisując nazwę oraz hasło, które zanotowaliśmy. Zostaną odblokowane okienka Topic Subscriptions oraz Send Message.


Subskrybujemy temat wiadomości MQTT - w tym celu wpisujemy w okienku TOPIC np. MyTopic oraz ustawiamy QoS na 1. Następnie możemy wysłać wiadomość z tym samym tematem MyTopic, QoS - 1, o treści np. Hello - powinna pojawić się w okienku po prawej stronie - Messages.



Teraz skonfigurujemy KAmod LTE CAT1 do współpracy z utworzonym serwerem MQTT na HiveMQ. W pierwszej kolejności musimy zainstalować certyfikat CA. Właściwy plik można pobrać ze strony https://letsencrypt.org/certs/isrgrootx1.pem. Jego treść ma długość 1938 znaków i wygląda podobnie jak tu:
-BEGIN CERTIFICATE-
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
...
...
...
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-END CERTIFICATE-

Podłączamy KAmod LTE CAT1 do komputera solidnym i krótkim przewodem USB. Za pomocą dowolnego programu typu terminal podłączamy się do portu COM “SimTech AT Port”. Ustawiamy parametry komunikacji 115200, 8, N, 1. Pamiętamy, aby każdą komendę kończyć znakiem <CR> (hex x0D).

Wysyłamy do modułu komendę AT+CCERTDOWN="isrgrootx1.pem",1938. zostanie wyświetlony znak “>”, który oznacza, że należy przesłać zadeklarowaną ilość danych. Niektóre programy typu terminal pozwalają na przesyłanie treści pliku - będzie to najlepsze rozwiązanie do tego zadania. Jeśli wszystko przebiegnie prawidłowo, na koniec zostanie wysłana odpowiedź “OK”.

Sprawdzamy, czy certyfikat został zainstalowany - wysyłamy AT+CCERTLIST, powinniśmy otrzymać odpowiedź podobną do tej:
+CCERTLIST: "isrgrootx1.pem"
OK


Teraz musimy skonfigurować SSL, wysyłamy komendę AT+CSSLCFG="sslversion",0,4 - co oznacza obsługę wszystkich wersji TLS i SSL.

Wysyłamy komendę AT+CSSLCFG="authmode",0,1 - co oznacza uwierzytelnianie po stronie serwera.

Wysyłamy komendę AT+CSSLCFG="cacert",0,"isrgrootx1.pem" - ustawiamy plik certyfikatu root CA (Certificate Authority) dla danego kontekstu SSL.

Wysyłamy komendę AT+CSSLCFG="enableSNI",0,1 - włączamy Server Name Indication - obsługę wielu certyfikatów SSL na jednym adresie IP i porcie.

Sprawdzamy ustawienia komendą AT+CSSLCFG?, powinniśmy otrzymać odpowiedź podobną do tej:
+CSSLCFG: 0,4,1,1,300,"isrgrootx1.pem","","","",1
...
+CSSLCFG: 9,4,0,1,300,"","","","",0
OK


Teraz rozpoczniemy sesję MQTT. Wysyłamy komendę AT+CMQTTSTART - aktywacja funkcji MQTT.

Wysyłamy komendę AT+CMQTTACCQ=0,"KAmod",1 - ustawiamy nazwę klienta na “KAmod” oraz ustawiamy połączenie SSL/TLS

Wysyłamy komendę AT+CMQTTSSLCFG=0,0 - przypisujemy index klienta MQTT do kontekstu SSL.

Wysyłamy komendę AT+CMQTTCONNECT=0,"tcp://xxxxxxxxxxx.s1.eu.hivemq.cloud:8883",30,1,"<user>","<password>" - w której umieszczamy adres TLS MQTT URL koniecznie poprzedzony znakami “tcp://”, oraz zanotowaną nazwę oraz hasło dostępu. Powiiniśmy otrzymać odpowiedź podobną do tej:
OK
+CMQTTCONNECT: 0,0


Oznacza to, że połączenie z serwerem MQTT zostało uruchomione prawidłowo.

Wysyłamy komendę, która ustawi temat wiadomości: AT+CMQTTTOPIC=0,7 następnie wpisujemy 7 znaków: MyTopic

Wysyłamy komendę, która ustawi treść (ładunek) wiadomości: AT+CMQTTPAYLOAD=0,6 następnie wpisujemy 6 znaków: Hello2

Wysyłamy komendę, która spowoduje opublikowanie wiadomości: AT+CMQTTPUB=0,1,60. W odpowiedzi powinniśmy otrzymać:
OK
+CMQTTPUB: 0,0


Oznacza to, że wiadomość MQTT został wysłana prawidłowo.

Teraz wracamy do panelu HiveMQ, przechodzimy do zakładki Web Client, powinniśmy tam zobaczyć naszą wiadomość:


Teraz zasubskrybujemy wiadomości o temacie MyTopic, wpisujemy: AT+CMQTTSUBTOPIC=0,7,1 następnie wpisujemy 7 znaków: MyTopic

Wysyłamy komendę: AT+CMQTTSUB=0 powinniśmy otrzymać odpowiedź podobną do tej:
OK
+CMQTTSUB: 0,0

Jeśli teraz wyślemy wiadomość Hello3 z panelu HiveMQ:

Moduł KAmod LTE CAT1 automatycznie wyświetli takie informacje:
+CMQTTRXSTART: 0,7,6
+CMQTTRXTOPIC: 0,7
MyTopic
+CMQTTRXPAYLOAD: 0,6
Hello3
+CMQTTRXEND: 0

Oznacza to, że wiadomość została prawidłowo przekazana.

Linki