

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

# Integrasikan dengan Ingenic T31
<a name="quick-start-t31"></a>

**catatan**  
AWS tidak mendukung chipset ini dengan cara apa pun, kami juga tidak menjamin integrasi akan berfungsi. Panduan ini didasarkan pada pengujian oleh tim Amazon Kinesis Video Streams dan disediakan untuk membantu pelanggan dalam menyiapkan perangkat mereka.

Ikuti prosedur ini untuk menyiapkan Amazon Kinesis Video Streams dengan WebRTC pada perangkat keras Ingenic T31. 

## Unduh kodenya
<a name="t31-create"></a>

1. Siapkan direktori build. 

   Untuk tutorial ini, buat direktori yang disebut `ingenic` di dalam `Downloads` folder.

   ```
   mkdir ~/Downloads/{{ingenic}}
   cd ~/Downloads/{{ingenic}}
   ```

1. [Kloning repo berikut ke direktori baru Anda: https://github.com/aws-samples/ amazon-kinesis-video-streams -media-interface.](https://github.com/aws-samples/amazon-kinesis-video-streams-media-interface)

   ```
   git clone https://github.com/aws-samples/amazon-kinesis-video-streams-media-interface.git
   ```

## Siapkan lingkungan build
<a name="t31-set-up"></a>

1. Dapatkan gambar docker pra-bangun yang berisi rantai alat dan letakkan di `ingenic` folder.
**penting**  
Rantai alat mungkin berbeda berdasarkan jenis papan dan CPU. Periksa dengan vendor untuk rantai alat yang benar.

1. Muat gambar `Ingenic-T31-app-build.tar.gz` docker.

   ```
   docker load --input ./Ingenic-T31-app-build.tar.gz
   ```

   Keluaran yang diharapkan

   ```
   580272b5675c: Loading layer [==================================================>]  1.666GB/1.666GB
   Loaded image ID: sha256:76d41ef9b2f53ad3f2a33f00ae110df3d1b491378a4005e19ea989ce97e99bc1
   ```

   Catat`Image Id`. Anda akan membutuhkan ini di langkah berikutnya.

1. Jalankan perintah berikut untuk me-mount direktori saat ini (`~/Downloads/ingenic`) pada mesin host Anda ke `/ingenicMappedFolder` direktori di dalam wadah Docker. 

   Perintah ini juga menjalankan wadah dalam mode interaktif dengan sesi terminal. Anda akan dijatuhkan ke dalam shell Bash di dalam wadah, yang memungkinkan Anda untuk menjalankan perintah secara langsung. 

   ```
   docker run \
      -v `pwd`:/ingenicMappedFolder \
      -it 76d41ef9b2f53ad3f2a33f00ae110df3d1b491378a4005e19ea989ce97e99bc1 \
      /bin/bash
   ```

1. Tinjau isi `/ingenicMappedFolder` folder untuk mengonfirmasi bahwa volume bind-mount berhasil.

   **Prompt:**

   ```
   ls /ingenicMappedFolder
   ```

   **Tanggapan:**

   ```
   AWS-Solution-Remote-Diagnostic-Media-Interface Ingenic-T31-app-build.tar.gz
   ```

1. Verifikasi bahwa wadah docker memiliki variabel lingkungan yang disiapkan:

   **Prompt:**

   ```
   env
   ```

   **Tanggapan:**

   ```
   CC=mips-linux-gnu-gcc
   CXX=mips-linux-gnu-g++
   PATH=/mips-gcc540-glibc222-64bit-r3.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
   ```

1. Verifikasi bahwa wadah docker berisi rantai alat dan Ingenic SDK. Itu harus ditempatkan di`/ingenic-sdk`.

   **Prompt:**

   ```
   ls /
   ```

   **Tanggapan:**

   ```
   bin   {{ingenic-sdk}}          libx32                             proc  sys
   boot  {{ingenicMappedFolder}}  media                              root  tmp
   dev   lib                  mips-gcc540-glibc222-64bit-r3.3.0  run   usr
   etc   lib32                mnt                                sbin  var
   home  lib64                opt                                srv
   ```

## Bangun Amazon Kinesis Video Streams dengan aplikasi WebRTC
<a name="t31-build-app"></a>

1. Ketik berikut ini:

   ```
   cd /ingenicMappedFolder/AWS-Solution-Remote-Diagnostic-Media-Interface
   cp -r /ingenic-sdk/* \
       /ingenicMappedFolder/amazon-kinesis-video-streams-media-interface/3rdparty/T31/
   export LDFLAGS=-Wl,--dynamic-linker=/lib/ld.so.1
   mkdir build
   cmake -B ./build -DBOARD=T31 -DCMAKE_BUILD_TYPE=Release -DBUILD_WEBRTC_SAMPLES=ON \
       -DBUILD_KVS_SAMPLES=ON -DBUILD_SAVE_FRAME_SAMPLES=ON
   cmake --build ./build --config Release
   ```

   `kvswebrtcmaster-static`Aplikasi ini terletak di`/ingenicMappedFolder/AWS-Solution-Remote-Diagnostic-Media-Interface/build/samples/webrtc/`.

1. Jalankan perintah berikut untuk keluar dari wadah docker:

   ```
   exit
   ```

1. Pada mesin host Anda, verifikasi bahwa `kvswebrtcmaster-static` aplikasi ada.

   ```
   ls ~/Downloads/ingenic/AWS-Solution-Remote-Diagnostic-Media-Interface/build/samples/webrtc/kvswebrtcmaster-static
   ```

## Unggah aplikasi ke perangkat
<a name="t31-upload-app"></a>

1. Pada mesin host Anda, salin biner statis ke Kartu micro SD.

   ```
   cp ~/Downloads/ingenic/AWS-Solution-Remote-Diagnostic-Media-Interface/build/samples/webrtc/kvswebrtcmaster-static /Volumes/IngenicSDCard
   ```

1. Unduh [file.pem ini dan letakkan di kartu micro SD sebagai file](https://www.amazontrust.com/repository/AmazonRootCA1.pem). `cert.pem`

1. Masukkan kartu micro SD ke dalam slot kartu micro SD. 

## Connect ke perangkat
<a name="t31-connect"></a>

1. Pasang alat port serial ke papan, seperti yang ditunjukkan di bawah ini.  
![](http://docs.aws.amazon.com/id_id/kinesisvideostreams-webrtc-dg/latest/devguide/images/serial-port.png)

1. Colokkan ethernet dan kabel daya ke perangkat. LED merah harus menyala.

1. Hubungkan mesin host Anda ke slot micro-usb pada alat port serial.

1. Periksa perangkat yang terhubung:

   ```
   ls /dev/tty.*
   ```
**catatan**  
Jika Anda memiliki beberapa perangkat TTY, tentukan perangkat TTY mana yang merupakan papan Ingenic. Putuskan sambungan perangkat dari mesin host Anda dan jalankan `ls` lagi. Bandingkan output perintah dan temukan perbedaannya.

1. Connect ke sana menggunakan `screen` atau alat port serial lainnya (misalnya, Tera Term). Atur baud rate ke 115200.

   ```
   screen /dev/tty.usbserial-{{XXXXXXX}} 115200
   ```

1. Tentukan tindakan yang sesuai, berdasarkan keadaan dewan Anda:
   + Jika sesi shell berakhir dengan a`#`, boot terputus. Gunakan `boot` perintah untuk memulai OS Linux, lalu lanjutkan dengan sisa langkah ini. 
   + Jika sesi shell meminta Anda untuk masuk, ketik kata sandi Anda.
   + Jika layar kosong, tekan Enter.
   + Jika layar menunjukkan kesalahan`Cannot exec '/dev/tty.usbserial-XXXXXXX': No such file or directory`, periksa kembali semua koneksi fisik antara papan dan mesin host Anda.

## Pasang kartu micro SD di papan tulis
<a name="t31-mount-card"></a>

1. Buat direktori:
**catatan**  
Untuk contoh ini, kita menggunakan`sdcard`.

   ```
   mkdir /tmp/sdcard
   ```

1. Ketik berikut ini untuk memasang kartu micro SD ke folder:

   ```
   mount /dev/mmcblk0p1 /tmp/sdcard
   ```

1. Tinjau isi folder:

   ```
   ls /tmp/sdcard
   ```

## Jalankan aplikasi
<a name="t31-run-app"></a>

1. Arahkan ke direktori yang dipasang:

   ```
   cd /tmp/sdcard
   ```

1. Ekspor kredensi Anda dan informasi lainnya dari papan:

   ```
   export AWS_ACCESS_KEY_ID=ID
   export AWS_SECRET_ACCESS_KEY=key
   export AWS_DEFAULT_REGION=us-west-2
   export AWS_KVS_CACERT_PATH=`pwd`/cert.pem
   ```

1. Jalankan aplikasi:

   ```
   ./kvswebrtcmaster-static {{channel-name}}
   ```

## Lihat media
<a name="t31-view-media"></a>

Untuk melihat media, sambungkan ke saluran pensinyalan sebagai **penampil**. Lihat bagian berikut untuk contoh: 
+ [JavaScript](kvswebrtc-sdk-js.md)
+ [Konsol Manajemen AWS](kvswebrtc-sdk-js.md#sdk-js-stream-console)
+ [Android](kvswebrtc-sdk-android.md)
+ [iOS](kvswebrtc-sdk-ios.md)

## Pemecahan masalah
<a name="t31-troubleshooting"></a>

Bagian ini berisi pertanyaan dan masalah umum yang kami temui.

### Ketika saya menghubungkan papan ke mesin host saya dan menjalankannya`ls /dev/tty.*`, perangkat tidak muncul.
<a name="q1"></a>

Verifikasi koneksi dan semua kabel diamankan, dan perangkat dihidupkan. Periksa apakah ada indikator LED pada USB-to-TTY perangkat Anda menyala. Jika Anda masih mengalami masalah, hubungi vendor untuk mendiagnosis lebih lanjut masalah yang terhubung ke papan.

### Aplikasi gagal terhubung ke pensinyalan
<a name="q2"></a>

Jika menerima salah satu kesalahan berikut: 

`SSL error: certificate is not yet valid` 

**atau**

```
2024-09-19 08:56:34.920 WARN    lwsHttpCallbackRoutine(): Received client http read response:  { "message": "Signature expired: 20240919T085634Z is now earlier than 20240919T155135Z (20240919T155635Z - 5 min.)" }
```

Ini berarti waktunya tidak tepat di papan Ingenic Anda. Verifikasi ini dengan menjalankan perintah tanggal. Atur waktu sesuai dengan instruksi vendor, lalu jalankan aplikasi lagi.

### Aplikasi gagal untuk memulai, meskipun file ada di sana
<a name="q3"></a>

Jika kesalahannya terlihat seperti:

```
-sh ./kvswebrtcmaster-static: not found
```

Ini berarti bahwa sistem operasi tidak dapat menemukan ketergantungan yang tercantum dalam header ELF aplikasi. Misalnya, `libc` pada perangkat. 

Biasanya, ini menunjukkan bahwa toolchain yang digunakan tidak kompatibel dengan board, atau bahwa flag linker (`LDFLAGS`) tidak menunjuk dengan benar ke jalur pustaka yang diperlukan, yang mengarah ke dependensi yang belum terselesaikan selama runtime. 

Pastikan rantai alat yang benar (`uclibc`vs `glibc` dan versinya) cocok dengan perangkat lunak di papan tulis dan atur `LDFLAGS` sesuai [Bangun Amazon Kinesis Video Streams dengan aplikasi WebRTC](#t31-build-app) dengan.

### Bagaimana cara melepas kartu micro SD?
<a name="q4"></a>

Untuk melepas kartu micro SD, gunakan perintah:

```
umount /tmp/sdcard
```