

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

# Hasilkan kode untuk perangkat
<a name="managedintegrations-sdk-codegen-generate"></a>

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.

**Topics**
+ [Prasyarat](#managedintegrations-sdk-codegen-genprereq)
+ [Hasilkan kode untuk file.matter khusus](#managedintegrations-sdk-codegen-genspecfile)
+ [Alur kerja pembuatan kode](#managedintegrations-sdk-codegen-genworkflow)

## Prasyarat
<a name="managedintegrations-sdk-codegen-genprereq"></a>

1. Python 3.10 atau lebih tinggi.

2. Mulailah dengan file.matter untuk pembuatan kode. SDK perangkat Akhir menyediakan dua file sampel di`codgen/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
<a name="managedintegrations-sdk-codegen-genspecfile"></a>

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

**Untuk menghasilkan kode untuk file.matter kustom**

1. Siapkan file.matter Anda

1. 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`

1. 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.py`dari 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
<a name="managedintegrations-sdk-codegen-genworkflow"></a>

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.