Topik ini menjelaskan cara menghubungkan perangkat kendaraan GB/T 32960 ke IoT Platform dan memungkinkan komunikasi menggunakan gateway IoT Platform. Contoh ini menggunakan proyek open source dari Github.
Prasyarat
Instance Exclusive Enterprise Edition telah dibeli.
Dalam contoh ini, sebuah instance Exclusive Enterprise Edition dibeli di wilayah China (Shanghai). Untuk informasi lebih lanjut, lihat Membeli Instance Enterprise Edition.
Sertifikat kustom tersedia.
Dalam contoh ini, sertifikat kustom mencakup file sertifikat root bernama
root-ca.crt, file kunci privat sisi server bernamaserver.key, dan file sertifikat sisi server bernamaserver.crt.Anda dapat menggunakan OpenSSL untuk menghasilkan sertifikat kustom. Untuk informasi lebih lanjut tentang cara menghasilkan sertifikat, lihat Hasilkan sertifikat kustom.
Informasi latar belakang
IoT Platform menyediakan gateway GB/T 32960 yang memungkinkan Anda menghubungkan perangkat melalui TCP dan TLS. Kami merekomendasikan untuk tidak menggunakan TCP karena kurangnya keamanan yang kuat. Jika Anda menghubungkan perangkat melalui TLS, Anda dapat mengaktifkan verifikasi satu arah di sisi server, Protokol Status Sertifikat Online (OCSP) untuk perangkat, koneksi aman dua arah antara perangkat dan server, serta fitur lainnya.
Dalam contoh ini, verifikasi satu pihak dilakukan pada perangkat yang dihubungkan ke IoT Platform melalui TLS menggunakan gateway GB/T 32960.
Untuk informasi lebih lanjut mengenai verifikasi dan komunikasi antara gateway GB/T 32960 dan perangkat, lihat Gateway GB/T 32960.
Kode sumber terbuka yang digunakan untuk mengimplementasikan klien GB/T 32960 tersedia di Github. Untuk informasi lebih lanjut, lihat Proyek Open Source Github.
Siapkan lingkungan
Dalam contoh ini, perintah git digunakan untuk mengunduh kode sumber terbuka dan perintah patch digunakan untuk menerapkan patch. Pastikan perintah-perintah tersebut telah diinstal di sistem operasi Anda dan didukung oleh sistem tersebut.
Dalam contoh ini, Java digunakan untuk mengembangkan program. Lingkungan pengembangan Java yang memenuhi persyaratan berikut telah disiapkan:
Java Development Kit (JDK): JDK 8
Integrated Development Environment (IDE): IntelliJ IDEA Community Edition
Unduh kode sumber terbuka
Dalam contoh ini, demo sumber terbuka disederhanakan. Anda harus menerapkan patch dengan mengunduh file patch. Lakukan langkah-langkah berikut:
Jalankan perintah berikut untuk mendapatkan file demo
tsp:git clone https://github.com/zhengyishan/tsp.git cd tsp git checkout 5ef2907b7160f74cf4948b641d75fccd50c5dd6a -b demo_branchUnduh file patch bernama
gb32960.patchdan simpan file tersebut ke direktori tempat file demotspdisimpan.Jalankan perintah berikut untuk menerapkan patch ke file demo
tsp:patch -p1 < gb32960.patch
Buat gateway dan perangkat
Masuk ke Konsol IoT Platform.
Di pojok kiri atas Konsol IoT Platform, pilih wilayah tempat IoT Platform diaktifkan.
Di halaman Overview, klik kartu instance Exclusive Enterprise Edition.
Di panel navigasi sisi kiri, pilih Devices > Gateway. Di halaman Gateway, klik Add Gateway.
Di kotak dialog Tambah Gateway, konfigurasikan parameter seperti yang ditunjukkan pada gambar berikut. Atur parameter Private Key of Server Certificate ke konten file
server.keydan atur parameter Server Certificate ke konten file server.crt.Untuk informasi lebih lanjut tentang parameter, lihat Buat Gateway.

Di pesan yang muncul, klik OK.
Di halaman Gateway, temukan gateway yang Anda buat dan salin titik akhir dan nomor port di kolom Gateway URL dari gateway.

Tambahkan perangkat ke gateway
Di panel navigasi sisi kiri, pilih Devices > Products. Temukan gateway yang Anda buat dan klik Manage Devices di kolom Actions.
Di halaman Devices, klik Batch Add.
Di kotak dialog Tambah Perangkat Massal, klik Download .csv Template untuk mengunduh template dalam format CSV.

Tentukan nomor identifikasi kendaraan (VIN) perangkat di template. Contoh: device10000000001. Kemudian, simpan template sebagai file
.CSV.PentingVIN tidak boleh melebihi 17 karakter panjangnya, dan dapat berisi huruf dan angka.
Pergi ke kotak dialog Tambah Perangkat Massal, klik Upload File, unggah file yang disimpan ke Konsol IoT Platform, dan kemudian klik OK.

Setelah informasi identitas perangkat diimpor, IoT Platform membuat perangkat dan menggunakan VIN yang Anda tentukan sebagai DeviceName perangkat. Perangkat ditampilkan di halaman Perangkat.

Kembangkan program sisi perangkat
Setelah perangkat dibuat di Konsol IoT Platform, Anda harus mengembangkan program sisi perangkat untuk menghubungkan perangkat ke IoT Platform. Dalam contoh ini, Link SDK for Java digunakan untuk mengonfigurasi perangkat bernama device10000000001 dan menghubungkan perangkat ke IoT Platform.
Buka IntelliJ IDEA dan impor file demo tsp yang Anda peroleh.
Impor file sertifikat root
root-ca.crtke direktori/dyy-gateway-tcu/src/main/resourcesproyek.Buka file
/dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/config/TcuProperties.javaproyek dan modifikasi parameter koneksi perangkat yang sesuai.Ganti nilai parameter berikut dengan nilai sebenarnya dan konfigurasikan parameter lain berdasarkan kebutuhan bisnis Anda.
// Titik akhir dari gateway. Ganti titik akhir dengan titik akhir dari gateway Anda. private String gatewayHost = "iot-*******.igw.iothub.aliyuncs.com"; // Nomor port dari gateway. Ganti nomor port dengan nomor port dari gateway Anda. private Integer gatewayPort = 8999; // Jalur tempat file sertifikat root root-ca.crt disimpan. private String CA_PATH = "dyy-gateway-tcu/src/main/resources/root-ca.crt"; // VIN. Panjangnya tidak boleh lebih dari 17 karakter. Ganti VIN dengan VIN perangkat kendaraan Anda dan buat perangkat berdasarkan VIN tersebut. private String vin = "device10000000001";Parameter
Contoh
Deskripsi
gatewayHost
iot-*******.igw.iothub.aliyuncs.comTitik akhir gateway GB/T 32960.
Nilainya sama dengan nama domain di kolom Gateway URL dari gateway yang Anda buat.
gatewayPort
8999Nomor port kustom titik akhir gateway. Nilai default:
8999.Nilainya sama dengan nomor port di kolom Gateway URL dari gateway yang Anda buat.
CA_PATH
dyy-gateway-tcu/src/main/resources/root-ca.crtJalur absolut tempat file sertifikat root
root-ca.crtdisimpan di proyek.vin
device10000000001VIN. Nilainya sama dengan VIN perangkat gateway yang Anda tambahkan.
File
/dyy-gateway-tcu/src/main/java/com/dyy/tsp/gateway/tcu/handler/BusinessHandler.javaproyek mencakup kode yang digunakan untuk mengimplementasikan logon kendaraan, pengiriman denyut jantung, pengiriman data waktu nyata, dan pencabutan registrasi kendaraan. Anda dapat memodifikasi file tersebut untuk mengimplementasikan lebih banyak fitur.
Jalankan program sisi perangkat
Buka IntelliJ IDEA dan pilih File > Project Structure.
Pilih Project SDK 1.8 dan klik Apply.

Klik OK.
Jalankan program utama file
TcuApplication.java.Verifikasi dua arah antara perangkat dan IoT Platform berhasil. Perangkat terhubung.

Lihat log operasi
Log operasi perangkat
Setelah program sisi perangkat dijalankan, program mencetak detail paket perangkat upstream dan downstream.
Kode berikut menunjukkan paket yang mencakup permintaan logon perangkat. Byte ketiga dan keempat (
01 fe) dari paket menunjukkan permintaan logon perangkat.+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 23 23 01 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000| |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...| |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456| |00000030| 37 38 39 30 00 00 ee |7890... | +--------+-------------------------------------------------+----------------+Kode berikut menunjukkan paket yang mencakup respons dari IoT Platform ke perangkat. Byte ketiga dan keempat (
01 01) dari paket menunjukkan bahwa perangkat telah masuk ke IoT Platform.+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 23 23 01 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000| |00000010| 33 34 35 36 37 01 00 1e 17 05 06 10 23 19 00 01 |00001.......#...| |00000020| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 |1234567890123456| |00000030| 37 38 39 30 00 00 11 |7890... | +--------+-------------------------------------------------+----------------+Kode berikut menunjukkan paket yang mencakup data pengiriman denyut jantung. Byte ketiga dan keempat (
07 fe) dari paket menunjukkan bahwa denyut jantung upstream dikirimkan.+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000| |00000010| 33 34 35 36 37 01 00 00 36 |00001...6 | +--------+-------------------------------------------------+----------------+Kode berikut menunjukkan paket yang mencakup respons dari IoT Platform ke paket pengiriman denyut jantung. Byte ketiga dan keempat (
07 01) dari paket menunjukkan denyut jantung downstream.+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 23 23 07 01 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000| |00000010| 33 34 35 36 37 01 00 00 36 |00001...6 | +--------+-------------------------------------------------+----------------+Kode berikut menunjukkan paket yang mencakup data waktu nyata yang dikirimkan oleh perangkat. Byte ketiga dan keempat (
02 fe) dari paket menunjukkan pengiriman data waktu nyata.+-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 23 23 02 fe 31 32 33 34 35 36 37 38 39 30 31 32 |##..device100000| |00000010| 33 34 35 36 37 01 00 14 17 05 06 10 23 23 08 01 |00001.......##..| |00000020| 01 00 05 00 06 00 04 00 07 01 00 0a df |............. | +--------+-------------------------------------------------+----------------+
Log IoT Platform
Buka halaman Detail Instance untuk instance yang ingin Anda kelola di Konsol IoT Platform. Di panel navigasi sisi kiri, pilih Maintenance > Device Log. Di halaman Log Perangkat, tinjau data yang dikirimkan oleh perangkat.
Untuk informasi lebih lanjut, lihat Log IoT Platform.
