NB-IoT. Penghantaran Data Bukan IP atau hanya NIDD. Menguji dengan perkhidmatan komersial MTS

Selamat petang dan mood yang baik!

Ini ialah tutorial kecil tentang menyediakan NIDD (Penghantaran Data Bukan IP) dalam perkhidmatan awan MTS dengan nama penjelasan sendiri "Pengurus M2M". Intipati NIDD ialah pertukaran cekap tenaga bagi paket data kecil melalui rangkaian NB-IoT antara peranti dan pelayan. Jika sebelum ini peranti GSM berkomunikasi dengan pelayan dengan menukar paket TCP/UDP, maka kaedah komunikasi tambahan telah tersedia untuk peranti NB-IoT - NIDD. Dalam kes ini, pelayan berinteraksi dengan rangkaian operator menggunakan permintaan POST/GET bersatu. Saya menulis untuk diri saya sendiri (agar tidak lupa) dan semua orang yang mendapati ia berguna.

Anda boleh membaca tentang NB-IoT:

NB-IoT, Narrow Band Internet of Things. Maklumat am, ciri teknologi
NB-IoT, Narrow Band Internet of Things. Mod Penjimatan Kuasa dan Perintah Kawalan

Teori NIDD dari MTS

Dokumentasi untuk modul NB-IoT yang digunakan semasa ujian:
Neoway N21.

Perkhidmatan MTS untuk menguruskan peranti M2M.

Untuk merasakan NIDD, kami memerlukan:

  • Kad SIM NB-IoT MTS
  • Peranti NB-IoT dengan sokongan NIDD
  • kata laluan dan log masuk daripada pengurus M2M MTS

Saya menggunakan papan sebagai peranti N21 DEMO, dan kata laluan dan log masuk untuk mengakses pengurus M2M telah diberikan kepada saya oleh pekerja MTS. Untuk ini, serta untuk pelbagai bantuan dan banyak perundingan, kami mengucapkan ribuan terima kasih kepada mereka.

Jadi, pergi ke pengurus M2M dan semak bahawa:

  • dalam item menu "Pengurus SIM" terdapat "Pusat Kawalan NB-IoT";
  • Kad NB-IoT kami muncul di Pusat Kawalan NB-IoT, serta bahagian berikut:
    APN NIDD
    Akaun NIDD
    Keselamatan NIDD
  • di bahagian paling bawah terdapat item menu "API M2M" dengan "Panduan Pembangun NIDD"

Keseluruhannya sepatutnya kelihatan seperti ini:

NB-IoT. Penghantaran Data Bukan IP atau hanya NIDD. Menguji dengan perkhidmatan komersial MTS

Jika terdapat sesuatu yang hilang dalam pengurus M2M, sila hantar permintaan kepada pengurus anda di MTS dengan penerangan terperinci tentang keinginan anda.

Jika item Pusat Kawalan NB-IoT yang diperlukan sudah tersedia, anda boleh mula mengisinya. Selain itu, item "Akaun NIDD" datang terakhir: ia akan memerlukan data dari bahagian bersebelahan.

  1. APN NIDD: Kami membuat dan mengisi nama APN dan "ID Permohonan" kami.
  2. Keselamatan NIDD: di sini kami menunjukkan alamat IP pelayan aplikasi kami, yang akan berkomunikasi dengan peranti NB-IoT melalui perkhidmatan MTS (pelayan).
  3. Akaun NIDD: Hanya isi semua medan dan klik "Simpan".

Setelah semua item selesai, anda boleh mula menangani permintaan yang harus dihasilkan oleh pelayan kami. Pergi ke API M2M dan baca Panduan Pembangun NIDD. Untuk membolehkan peranti mendaftar dalam rangkaian NB-IoT, anda perlu membuat konfigurasi SCS AS:

NB-IoT. Penghantaran Data Bukan IP atau hanya NIDD. Menguji dengan perkhidmatan komersial MTS

Manual mengandungi penerangan tentang parameter permintaan individu, saya hanya akan memberikan beberapa komen kecil:

  1. pautan untuk menghantar permintaan: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, dengan scsAsId ialah β€œID Permohonan” daripada item menu β€œNIDD APN”;
  2. kaedah kebenaran asas dengan log masuk dan kata laluan - gunakan log masuk dan kata laluan yang anda buat semasa mengisi item menu "Akaun NIDD";
  3. notificationDestination - alamat pelayan anda. Daripadanya anda akan menghantar mesej bukan ip ke peranti, dan pelayan MTS akan menghantar pemberitahuan tentang menghantar dan menerima mesej bukan ip kepadanya.

Apabila konfigurasi SCS AS telah dibuat dan peranti telah berjaya didaftarkan dalam mod NIDD dalam rangkaian NB-IoT operator, anda boleh cuba menukar mesej bukan ip pertama antara pelayan dan peranti.

Untuk memindahkan mesej dari pelayan ke peranti, pelajari bahagian "2.2 Menghantar mesej" manual:

NB-IoT. Penghantaran Data Bukan IP atau hanya NIDD. Menguji dengan perkhidmatan komersial MTS

{configurationId} dalam pautan permintaan - nilai jenis "hex-abracadabra", diperoleh pada peringkat mencipta konfigurasi. Nampak seperti: b00e2485ed27c0011f0a0200.

data β€” kandungan mesej dalam pengekodan Base64.

Mengkonfigurasi peranti NB-IoT untuk berfungsi dalam NIDD

Sudah tentu, untuk bertukar data dengan pelayan, peranti kami bukan sahaja mesti boleh berfungsi dalam rangkaian NB-IoT, tetapi juga menyokong mod NIDD (bukan ip). Dalam kes papan pembangunan DEMO N21 atau peranti lain berdasarkan Modul NB-IoT N21 Urutan tindakan untuk menghantar mesej bukan IP diterangkan di bawah.

Kami mengaktifkan konfigurasi dengan APN yang kami hasilkan semasa mengisi item "NIDD APN" dalam pengurus M2M (di sini - EFOnidd):

AT+CFGDFTPDN=5,"EFOnidd"

dan minta peranti mendaftar semula pada rangkaian:

AT+CFUN=0

AT+CFUN=1

selepas itu kita keluarkan arahan

AT+CGACT=1,1

dan hantar mesej "ujian":

AT+NIPDATA=1, β€œujian”

Apabila mesej bukan ip diterima pada UART modul N21, mesej borang yang tidak diminta dikeluarkan:

+NIPDATA:1,10,3132333435 // menerima mesej bukan ip '12345'
mana
1 - CID, konteks pdp
10 - bilangan bait data selepas titik perpuluhan

Mesej sampai ke pelayan dalam pengekodan Base64 (dalam permintaan POST).

PS Untuk mensimulasikan pemindahan data dari pelayan, adalah mudah untuk menggunakan program ini Postman. Untuk menerima mesej, anda boleh menggunakan mana-mana skrip yang menyerupai pelayan HTTP.

Saya harap ia berguna kepada seseorang.
Terima kasih.

Sumber: www.habr.com

Tambah komen