JM Logo
Wróć

Kurs programowania JAVA modułów i terminali GSM/3G/LTE

2016-07-08

  • Pełna treść dostępna wyłącznie dla uczestników kursu;
  • Kurs nieodpłatny; 
  • Uczestnicy kursu otrzymują linki do plików *.pdf z pełną treścią dotychczas opublikowanych części a także powiadomienia (poprzez e-mail) o pojawieniu się kolejnych odcinków;
  • Informacja o pojawieniu się kolejnego odcinka publikowana jest na stronie www.jm.plfanpage Facebook oraz profilu firmowym LinkedIn;
Kurs programowania JAVA modułów i terminali GSM/3G/LTE z JM elektronik i Gemalto - Część IV
 

Wstęp

Wspólnie z inżynierami producenta przygotowaliśmy dla Państwa kurs JAVA dla modułów, terminali Gemalto. Naszym celem jest ułatwienie Państwu startu w pracach z modułami i terminalami. Dotychczas przedstawiliśmy kolejno informację o modułach/terminalach programowalnych w JAVA, o tym jak zainstalować i uruchomić środowisko programistyczne, jak napisać i uruchomić pierwszy midlet.

Niniejsza część kursu dotyczy uruchomienia kolejnych midletów.

W naszej ocenie znacznie to przyspieszy Państwu start, a w wielu przypadkach zachęci to wykorzystania możliwości oferowanych przez moduły oraz sam język JAVA.


Przykładowe programy

W poprzednim odcinku pokazaliśmy jak dokonać importu przykładowego programu do środowiska, jak go skompilować, wgrać na moduł i potem uruchomić. Podobnie można postąpić z kolejnymi przykładowymi programami dostarczonymi przez producenta. Wybrane klasy oraz interfejsy, wykorzystane w tych przykładowych programach, omówione zostały poniżej.


Komendy AT

W tradycyjnym podejściu, komunikacja pomiędzy mikrokontrolerem i modułem odbywa się przy wykorzystaniu jednego z interfejsów komunikacyjnych, najczęściej interfejsu szeregowego. Powszechnie stosuje się komendy AT. Moduły Gemalto działają w podobny sposób.

Dodatkowo istnieje możliwość korzystania z tradycyjnych komend AT z poziomu midletu JAVA. Służy do tego klasa ATCommand, przy pomocy której można przesyłać komendy w postaci stingów bezpośrednio do interpretatora komend. Dotyczy to zarówno komend przy komunikacji synchronicznej jak i asynchronicznej.

Poniżej przykład takiej komunikacji dla obu trybów:


try {
System.out.println("Sending synchronous ATI...");
String Response = m_Cmd.send("ati\r");
System.out.println("Received synchronous response:");
System.out.println(Response);

System.out.println("Sending asynchronous ATI...");
m_Cmd.send("ati\r", new RspListener());
Thread.sleep(1000);
} catch (Exception e) {
System.out.println(e);
}

Cały midlet dostępny jest w przykładzie ATCmdDemo.

Porty komunikacyjne: UART, SPI, I2C.


Moduły GSM oprócz oczywistego faktu komunikacji z innymi częściami systemu poprzez sieć GSM, często komunikują się także lokalnie z innymi urządzeniami. W tym celu wykorzystywany jest port UART, SPI lub I2C. Aby maksymalnie ułatwić programiście pracę umożliwiono mu korzystanie ze zdefiniowanych interfejsów.

Program realizujący prostą operację odsyłania odebranych danych przez interfejs UART może wyglądać następująco:


CommConnection cc = (CommConnection)
Connector.open("comm:COM0;baudrate=19200");
int baudrate = cc.getBaudRate();
InputStream is = cc.openInputStream();
OutputStream os = cc.openOutputStream();
int ch = 0;
while(ch != 'Z') {
os.write(ch);
ch = is.read();
ch++;
}
is.close();
os.close();
cc.close();

Bardzo podobnie wygląda konfiguracja portu...

  • Pełna treść dostępna wyłącznie dla uczestników kursu;
  • Kurs nieodpłatny; 
  • Uczestnicy kursu otrzymują linki do plików *.pdf z pełną treścią dotychczas opublikowanych części a także powiadomienia (poprzez e-mail) o pojawieniu się kolejnych odcinków;
  • Informacja o pojawieniu się kolejnego odcinka publikowana jest na stronie www.jm.plfanpage Facebook oraz profilu firmowym LinkedIn;
Ozdobna grafika stopki
System B2B by

Używamy informacji zapisanych za pomocą cookies i podobnych technologii m.in. w celach statystycznych oraz w celu dostosowania naszego sklepu do indywidualnych potrzeb klientów. W programie służącym do obsługi internetu można zmienić ustawienia dotyczące cookies. Korzystanie z naszego sklepu internetowego bez zmiany ustawień dotyczących cookies oznacza, że bedą one zapisane w pamięci urządzenia. Więcej informacji można znaleźć w naszej polityce prywatności