

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Perpustakaan Antarmuka Seluler
<a name="cellular-interface"></a>

**catatan**  <a name="out-of-date-message"></a>
Konten di halaman ini mungkin tidak up-to-date. Silakan merujuk ke [halaman perpustakaan Freertos.org](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries) untuk pembaruan terbaru.

## Pengantar
<a name="freertos-cellular-interface-introduction"></a>

Pustaka Antarmuka Seluler mengimplementasikan [API](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/) terpadu sederhana yang menyembunyikan kompleksitas perintah AT khusus modem seluler dan mengekspos antarmuka seperti soket ke pemrogram C.

Sebagian besar modem seluler menerapkan kurang lebih perintah AT yang ditentukan oleh standar [3GPP TS](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1515) v27.007. Proyek ini menyediakan [implementasi](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/tree/main/source) perintah AT standar tersebut dalam [komponen umum yang dapat digunakan kembali](https://freertos.org/Documentation/api-ref/cellular/cellular_porting_module_guide.html). Tiga perpustakaan Antarmuka Seluler dalam proyek ini semuanya memanfaatkan kode umum itu. Pustaka untuk setiap modem hanya mengimplementasikan perintah AT khusus vendor, lalu mengekspos API perpustakaan Antarmuka Seluler yang lengkap.

Komponen umum yang mengimplementasikan standar 3GPP TS v27.007 telah ditulis sesuai dengan kriteria kualitas kode berikut: 
+ Skor Kompleksitas GNU tidak lebih dari 8
+ Standar pengkodean MISRA C: 2012. Setiap penyimpangan dari standar didokumentasikan dalam komentar kode sumber yang ditandai dengan “coverity”.

## Dependensi dan persyaratan
<a name="freertos-cellular-interface-dependencies"></a>

Tidak ada ketergantungan langsung untuk perpustakaan Antarmuka Seluler. Namun, Ethernet, Wi-Fi, dan seluler tidak dapat hidup berdampingan di tumpukan jaringan FreeRTOS. Pengembang harus memilih salah satu antarmuka jaringan untuk diintegrasikan dengan [perpustakaan Secure Sockets](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html). 

## Porting
<a name="freertos-cellular-interface-porting"></a>

*Untuk informasi tentang porting pustaka Antarmuka Seluler ke platform Anda, lihat [Mem-porting pustaka Antarmuka Seluler](https://docs.aws.amazon.com/freertos/latest/portingguide/freertos-porting-cellular.html) di Panduan Porting FreeRTOS.* 

## Penggunaan memori
<a name="freertos-cellular-interface-memory-use"></a>


****  

| Ukuran Kode pustaka antarmuka seluler (contoh yang dihasilkan dengan GCC untuk ARM Cortex-M) | File | Dengan Optimasi -O1 | Dengan Optimasi -Os | 
| --- | --- | --- | --- | 
| selular\$13gpp\$1api.c | 6.3K | 5.7K | 
| selular\$13gpp\$1urc\$1handler.c | 0.9K | 0.8K | 
| selular\$1at\$1core.c | 1.4K | 1.2K | 
| selular\$1common\$1api.c | 0.5K | 0.5K | 
| selular\$1common.c | 1.6K | 1.4K | 
| selular\$1pkthandler.c | 1.4K | 1.2K | 
| selular\$1pktio.c | 1.8K | 1.6K | 
| Total perkiraan | 13.9K | 12,4K | 

## Memulai
<a name="freertos-cellular-interface-getting-started"></a>

### Unduh kode sumbernya
<a name="freertos-cellular-interface-download-source"></a>

Kode sumber dapat diunduh sebagai bagian dari pustaka FreeRTOS atau dengan sendirinya.

Untuk mengkloning pustaka dari Github menggunakan HTTPS: 

```
git clone https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface.git 
```

Menggunakan SSH:

```
git clone git@github.com:FreeRTOS/FreeRTOS-Cellular-Interface.git 
```

### Struktur folder
<a name="freertos-cellular-interface-folder-structure"></a>

Di root repositori ini Anda akan melihat folder-folder ini: 
+ `source`: kode umum yang dapat digunakan kembali yang mengimplementasikan perintah AT standar yang ditentukan oleh 3GPP TS v27.007
+ `doc`: dokumentasi
+ `test`: uji unit dan cbmc
+ `tools`: alat untuk analisis statis Coverity dan CMock

### Konfigurasikan dan bangun Perpustakaan
<a name="freertos-cellular-interface-configure"></a>

Pustaka Antarmuka Seluler harus dibangun sebagai bagian dari aplikasi. Untuk melakukan ini, Anda harus menyediakan konfigurasi tertentu. [Proyek [FreerTos\$1Cellular\$1Interface\$1Windows\$1Simulator](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator) memberikan contoh cara mengonfigurasi build.](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/MQTT_Mutual_Auth_Demo_with_BG96/cellular_config.h) Informasi lebih lanjut dapat ditemukan di [Referensi API Seluler](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_config.html). 

Silakan merujuk ke halaman [Antarmuka Seluler](https://www.freertos.org/cellular/index.html) untuk informasi lebih lanjut.

## Integrasikan perpustakaan Antarmuka Seluler dengan platform MCU
<a name="freertos-cellular-interface-integrate"></a>

Pustaka Antarmuka Seluler berjalan MCUs menggunakan antarmuka abstrak, [Antarmuka Komunikasi](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface/blob/main/source/interface/cellular_comm_interface.h), untuk berkomunikasi dengan modem seluler. Antarmuka Komunikasi harus diimplementasikan pada platform MCU juga. Implementasi yang paling umum dari Antarmuka Komunikasi berkomunikasi melalui perangkat keras UART, tetapi dapat diimplementasikan melalui antarmuka fisik lainnya, seperti SPI, juga. Dokumentasi untuk Antarmuka Komunikasi dapat ditemukan di [Referensi API Perpustakaan Seluler](https://freertos.github.io/FreeRTOS-Cellular-Interface/v1.3.0/cellular_porting.html#cellular_porting_comm_if). Contoh implementasi Comm Interface berikut tersedia:
+ [Antarmuka komunikasi simulator Windows FreeRTOS](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/comm_if_windows.c)
+ [Antarmuka komunikasi FreeRTOS Common IO UART](https://github.com/aws/amazon-freertos/blob/main/libraries/abstractions/common_io/include/iot_uart.h)
+ [ STM32 Antarmuka komunikasi papan penemuan L475](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/st/boards/stm32l475_discovery/ports/comm_if/comm_if_uart.c)
+ [Antarmuka komunikasi papan Sierra Sensor Hub](https://github.com/aws/amazon-freertos/blob/feature/cellular/vendors/sierra/boards/sensorhub/ports/comm_if/comm_if_sierra.c)