1NCE FreeRTOS BluePrint mendemonstrasikan penggunaan berbagai protokol IoT termasuk CoAP, LwM2M, dan UDP dengan konektivitas seluler. Repositori ini menampilkan contoh pengintegrasian SDK 1NCE untuk memanfaatkan alat OS 1NCE, seperti autentikasi perangkat dan fitur hemat energi, menggunakan (Perpustakaan Wakaama LWM2M).
Repositori ini menyediakan contoh protokol berikut:
Setiap demo menyertakan fitur Penghemat Energi opsional yang dapat diaktifkan untuk pengujian.
Folder Binaries berisi binari yang dibuat sebelumnya untuk aplikasi demo UDP dan CoAP.
Konfigurasikan Fitur Penghemat Energi di 1NCE OS
Menggunakan templat ini.
Hubungkan Papan P-L496G-CELL02
Saat terhubung melalui USB, papan akan muncul sebagai drive penyimpanan di komputer Anda.
Flash Biner
Cukup drag dan drop file biner yang diinginkan dari folder Binaries
ke drive penyimpanan. Papan akan secara otomatis mem-flash biner.
Catatan: Jika flashing gagal, lihat Flashing menggunakan STM32CubeProgrammer.
Lihat Log Demo
Gunakan Serial Monitor di Visual Studio Code untuk melihat log demo.
Diperlukan peningkatan firmware STLink. Plugin STM32 VSCode menyertakan tombol untuk ini, tetapi jika tidak berfungsi, pemutakhiran dapat dimulai secara manual dengan menjalankan file .bat
dari folder STM32 yang diinstal: ST/STM32CubeCLTxx/STLinUpgrade.bat
Harap pastikan modem BG96 Anda memiliki versi firmware terbaru. Anda dapat mengunduh paket pembaruan firmware dan instruksi dari (halaman X-Cube Cellular ST) (disarankan v6.0.0).
Untuk flashing modem, QFlash tool sekarang dapat diunduh dari situs resmi Quectel: (QFlash Download (V7.1))
Untuk mengonfigurasi demo yang ingin Anda gunakan, ubah file nce_demo_config.h
yang terletak di Application/Config/
: (secara default CONFIG_COAP_DEMO_ENABLED
)
CONFIG_COAP_DEMO_ENABLED
CONFIG_UDP_DEMO_ENABLED
CONFIG_LwM2M_DEMO_ENABLED
1NCE FreeRTOS BluePrint memungkinkan pelanggan berkomunikasi dengan titik akhir 1NCE melalui UDP dan menggunakan semua fitur sebagai bagian dari OS 1NCE.
Application/Config/nce_demo_config.h
#define CONFIG_UDP_DEMO_ENABLED
#define CONFIG_UDP_DATA_UPLOAD_FREQUENCY_SECONDS 60
1NCE FreeRTOS BluePrint memungkinkan pelanggan berkomunikasi dengan titik akhir 1NCE melalui CoAP dan menggunakan semua fitur sebagai bagian dari OS 1NCE.
Permintaan COAP POST: Di Bagian ini, langkah-langkah berikut dijalankan:
Daftar ke Jaringan.
Lakukan Resolusi DNS.
Buat soket dan sambungkan ke Server
Buat POST CoAP yang Dapat Dikonfirmasi dengan opsi Kueri
Buat Interaksi Klien dan analisis responsnya (ACK)
Validasi responsnya.
Siapkan pelari Demo di file Application/Config/nce_demo_config.h
#define CONFIG_COAP_DEMO_ENABLED
#define CONFIG_COAP_URI_QUERY "t=test"
#define CONFIG_COAP_DATA_UPLOAD_FREQUENCY_SECONDS 60
#define CONFIG_NCE_ENERGY_SAVER
Untuk Dukungan DTLS, Port default adalah 5684 dan secara otomatis mendefinisikan ENABLE_DTLS
sebagai definisi tambahan
CoAP DTLS melakukan 3 tugas utama dari 1NCE IoT C SDK :
Dukungan LWM2M disediakan menggunakan perpustakaan Eclipse Wakaama yang berkomunikasi dengan server Leshan LWM2M. Mode ini memungkinkan perangkat bertindak sebagai klien LwM2M, memfasilitasi komunikasi dengan server LwM2M untuk kasus penggunaan seperti manajemen perangkat, pembaruan firmware, dan pengumpulan data sensor. Secara default, klien mendaftar ke server 1NCE LwM2M, dan komunikasi yang aman dipastikan melalui dukungan DTLS opsional.
#define CONFIG_LwM2M_DEMO_ENABLED
Parameter berikut sangat penting untuk mengaktifkan dan menyesuaikan mode klien LwM2M dalam cetak biru:
#define LWM2M_ENDPOINT "lwm2m.os.1nce.com"
#define LWM2M_CLIENT_MODE
#define LWM2M_BOOTSTRAP
#define LWM2M_SUPPORT_SENML_JSON
#define LWM2M_SUPPORT_JSON
#define LWM2M_LITTLE_ENDIAN
#define LWM2M_SUPPORT_TLV
#define LWM2M_COAP_DEFAULT_BLOCK_SIZE 1024
#define LWM2M_SINGLE_SERVER_REGISTERATION
#define LWM2M_OBJECT_SEND "/3/0"
#define CONFIG_NCE_ICCID ""
#define CONFIG_LWM2M_BOOTSTRAP_PSK ""
Fitur Penghemat Energi tersedia untuk demo UDP dan CoAP. Hal ini memungkinkan pengguna untuk mengoptimalkan konsumsi daya perangkat saat berkomunikasi dengan titik akhir 1NCE.
Untuk mengaktifkan fitur Penghemat Energi, tambahkan tanda berikut di nce_demo_config.h
:
#define CONFIG_NCE_ENERGY_SAVER
Catatan: Untuk menggunakan fitur Penghemat Energi untuk demo UDP dan CoAP, pastikan template terjemahan yang benar diterapkan di OS 1NCE. dan protokol yang tepat dipilih serta template yang digunakan.
Pengontrol Perangkat adalah API yang memungkinkan Anda berinteraksi dengan perangkat yang terintegrasi ke dalam API 1NCE. Anda dapat menggunakan API ini untuk mengirim permintaan ke perangkat, dan perangkat akan meresponsnya. Untuk lebih jelasnya Anda dapat mengunjungi DevHub kami
Untuk mengirim permintaan ke perangkat tertentu, Anda dapat merujuk ke dokumentasi kami di 1NCE DevHub
Untuk menangani permintaan masuk dari 1NCE API, diperlukan konfigurasi parameter tertentu Application/Config/nce_demo_config.h
/* C2D Parameters */
/* This port is used for both UDP and CoAP communication. */
#define NCE_RECV_PORT 3000
#define NCE_RECEIVE_BUFFER_SIZE_BYTES 200
NCE_RECV_PORT
: Ini adalah nomor port tempat perangkat Anda akan mendengarkan permintaan masuk. Itu harus cocok dengan parameter port yang digunakan dalam permintaan.NCE_RECEIVE_BUFFER_SIZE_BYTES
: Ini adalah ukuran buffer yang akan digunakan untuk menerima data masuk dari 1NCE API.Catatan: C2D (Cloud to Device) didukung untuk ketiga protokol: UDP, CoAP, dan LwM2M. Klien LwM2M terintegrasi erat dengan permintaan C2D, dan untuk UDP dan CoAP juga membuka port latar belakang untuk komunikasi C2D.
Jika perangkat hanya terhubung ke jaringan 2G atau tidak dapat terhubung di beberapa wilayah, Anda mungkin perlu menyesuaikan pengaturan RAT (Radio Access Technology) dan pita di Application/Config/nce_demo_config.h
:
#define CELLULAR_CONFIG_DEFAULT_RAT 8 // Example for CAT M1
#define CELLULAR_CONFIG_DEFAULT_RAT_2 0 // Example for GSM
#define CELLULAR_CONFIG_DEFAULT_RAT_3 9 // Example for NBIOT
#define CUSTOM_BAND_BG96 "AT+QCFG="band",F,80004,80008" // Example for Germany CATM1
// Values
/**
* The GSM RATs network 0
* The CAT M1 RATs network 8
* The NBIOT RATs network 9
**/
Untuk detail selengkapnya tentang pengaturan pita, rujuk Manual Perintah AT BG96.
Verbositas log dapat diatur dengan mendefinisikan makro LIBRARY_LOG_LEVEL
di file Core/Inc/iot_config.h
. Pengaturan ini mengontrol tingkat detail logging untuk tujuan debugging dan pemecahan masalah.
Level log yang tersedia untuk LIBRARY_LOG_LEVEL
adalah:
IOT_LOG_NONE
: Menonaktifkan semua pencatatan. IOT_LOG_ERROR
: Hanya mengaktifkan pesan kesalahan. IOT_LOG_WARN
: Mengaktifkan peringatan dan kesalahan. IOT_LOG_INFO
: Mengaktifkan pesan informasi, peringatan, dan kesalahan. IOT_LOG_DEBUG
: Mengaktifkan informasi debug terperinci, peringatan, kesalahan, dan pesan informasi.
Contoh Konfigurasi di iot_config.h
:
#define LIBRARY_LOG_LEVEL IOT_LOG_DEBUG
Konfigurasi ini mengeluarkan semua informasi debug, yang berguna selama pengembangan atau pemecahan masalah.
Komunikasi paling efektif dengan tim kami adalah melalui GitHub. Cukup buat terbitan baru dan pilih dari berbagai templat yang mencakup laporan bug, permintaan fitur, masalah dokumentasi, atau Pertanyaan Umum.