Hasilkan kode untuk perangkat - Integrasi terkelola untuk AWS IoT Device Management

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

Hasilkan kode untuk perangkat

Buat kode C yang disesuaikan untuk perangkat Anda menggunakan alat pembuatan kode integrasi terkelola. Bagian ini menjelaskan cara menghasilkan kode dari file sampel yang disertakan dengan SDK atau dari spesifikasi Anda sendiri. Pelajari cara menggunakan skrip pembuatan, memahami proses alur kerja, dan membuat kode yang sesuai dengan kebutuhan perangkat Anda.

Prasyarat

1. Python 3.10 atau lebih tinggi.

2. Mulailah dengan file.matter untuk pembuatan kode. SDK perangkat Akhir menyediakan dua file sampel dicodgen/matter_files folder:

  • custom-air-purifier.matter

  • aws_camera.matter

catatan

File sampel ini menghasilkan kode untuk kluster aplikasi demo.

Hasilkan kode

Jalankan perintah ini untuk menghasilkan kode di folder keluar:

bash ./gen-data-model-api.sh

Hasilkan kode untuk file.matter khusus

Untuk menghasilkan kode untuk .matter file tertentu atau menyediakan file Anda sendiri.matter, lakukan tugas-tugas berikut.

Untuk menghasilkan kode untuk file.matter khusus
  1. Siapkan file.matter Anda

  2. Jalankan perintah generasi:

    ./codegen.sh [--format] configs/dm_basic.json path-to-matter-file output-directory
(Opsional) Untuk menghasilkan kode dengan skema khusus
  1. Siapkan skema kustom Anda dalam format JSON

  2. Jalankan perintah generasi:

    ./codegen.sh [--format] configs/dm_basic.json path-to-matter-file output-directory --custom-schemas-dir path-to-custom-schema-directory

Perintah di atas menggunakan beberapa komponen untuk mengubah .matter file Anda menjadi C kode:

  • codegen.pydari proyek ConnectedHomeIP

  • Plugin Python terletak di codegen/py_scripts/iotmi_data_model.py

  • Template Jinja2 dari folder codegen/py_scripts/templates

Plugin mendefinisikan variabel untuk diteruskan ke template Jinja2, yang kemudian digunakan untuk menghasilkan output kode C akhir. Menambahkan --format bendera menerapkan format Dentang ke kode yang dihasilkan.

Alur kerja pembuatan kode

Proses pembuatan kode mengatur struktur data file.matter Anda menggunakan fungsi utilitas dan penyortiran topologi. topsort.py Ini memastikan urutan yang tepat dari tipe data dan dependensinya.

Script kemudian menggabungkan spesifikasi file.matter Anda dengan pemrosesan plugin Python untuk mengekstrak dan memformat informasi yang diperlukan. Akhirnya, ini menerapkan format template Jinja2 untuk membuat output kode C akhir.

Alur kerja ini memastikan bahwa persyaratan khusus perangkat Anda dari file.matter diterjemahkan secara akurat ke dalam kode C fungsional yang terintegrasi dengan sistem integrasi terkelola.