SILICON LABS Lab 3B – Ubah suai Panduan Pengguna Hidup/Mati Suis
Latihan tangan ini akan menunjukkan cara membuat pengubahsuaian pada salah satu sampaplikasi yang dihantar sebagai sebahagian daripada Z-Wave SDK.
Latihan ini adalah sebahagian daripada siri "Kursus 1-Hari Gelombang Z".
- Sertakan menggunakan SmartStart
- Nyahsulit Bingkai RF Gelombang Z menggunakan Zniffer
- 3A: Susun Hidupkan/Mati dan Dayakan Nyahpepijat
3B: Ubah Suai Hidup/Mati - Fahami peranti FLiRS
CIRI-CIRI UTAMA
- Tukar GPIO
- Melaksanakan PWM
- Gunakan LED RGB on-board
1. Pengenalan
Latihan ini dibina di atas latihan sebelumnya "3A: Susun Suis Hidup/Mati dan dayakan nyahpepijat", yang menunjukkan cara menyusun dan menggunakan Suis Hidup/Mati samppermohonan itu.
Dalam latihan ini kita akan membuat pengubahsuaian kepada sampaplikasi, dengan menukar GPIO yang mengawal LED. Selain itu, kami akan menggunakan LED RGB dan mempelajari cara menggunakan PWM untuk menukar warna.
1.1 Keperluan Perkakasan
- 1 Papan Pembangunan Utama WSTK
- 1 Papan Pembangunan Radio Gelombang Z: Modul SiP ZGM130S
- 1 Pengawal UZB
- 1 USB Zniffer
1.2 Keperluan Perisian
- Simplicity Studio v4
- Z-Wave 7 SDK
- Pengawal PC Gelombang Z
- Zniffer Gelombang Z
Rajah 1: Papan Pembangunan Utama dengan Modul SiP Gelombang Z
1.3 Prasyarat
Latihan Hands-On sebelumnya telah merangkumi cara menggunakan Pengawal PC dan aplikasi Zniffer untuk membina rangkaian Gelombang Z dan menangkap komunikasi RF untuk tujuan pembangunan. Latihan ini menganggap anda sudah biasa dengan alatan ini.
Latihan Hands-On sebelumnya juga telah merangkumi cara menggunakan sampaplikasi yang dihantar dengan Z-Wave SDK. Latihan ini menganggap anda sudah biasa menggunakan dan menyusun salah satu sample aplikasi.
Rangka kerja Gelombang Z disertakan dengan lapisan abstraksi perkakasan (HAL) yang ditakrifkan oleh board.h dan board.c, memberikan kemungkinan pelaksanaan untuk setiap platform perkakasan anda.
Lapisan Abstraksi Perkakasan (HAL) ialah kod program antara perkakasan sistem dan perisiannya yang menyediakan antara muka yang konsisten untuk aplikasi yang boleh berjalan pada beberapa platform perkakasan yang berbeza. Untuk mengambil advantagDengan keupayaan ini, aplikasi harus mengakses perkakasan melalui API yang disediakan oleh HAL, bukannya secara langsung. Kemudian, apabila anda beralih ke perkakasan baharu, anda hanya perlu mengemas kini HAL.
2.1 Buka Sample Projek
Untuk latihan ini anda perlu membuka Suis Hidup / Mati samppermohonan itu. Jika anda menyelesaikan latihan "3A Compile Switch OnOff dan dayakan nyahpepijat", ia sepatutnya telah dibuka dalam Simplicity Studio IDE anda.
Dalam bahagian ini kita akan melihat papan files dan fahami cara LED dimulakan.
- Dari yang utama file "SwitchOnOff.c", cari "ApplicationInit()" dan perhatikan panggilan ke Board_Init().
- Letakkan kursus anda pada Board_Init() dan tekan pada F3 untuk membuka pengisytiharan.
3. Dalam Board_Init() perhatikan bagaimana LED yang terkandung dalam BOARD_LED_COUNT sedang dimulakan dengan dipanggil Board_Con-figLed()
4. Letakkan kursus anda pada BOARD_LED_COUNT dan tekan pada F3 untuk membuka pengisytiharan.
5. LED yang ditakrifkan dalam led_id_t adalah seperti berikut:
6. Kembali ke papan.c file.
7. Letakkan kursus anda pada Board_ConfigLed() dan tekan pada F3 untuk membuka pengisytiharan.
8. Perhatikan semua LED yang ditakrifkan dalam led_id_t kemudiannya dikonfigurasikan dalam Board_ConfigLed() sebagai output.
Ini bermakna, semua LED pada papan pembangunan telah pun ditakrifkan sebagai output dan sedia untuk digunakan.
3. Buat Pengubahsuaian kepada Gelombang Z Sample Permohonan
Dalam latihan ini kita akan mengubah suai GPIO yang digunakan untuk LED dalam Suis Hidup/Mati samppermohonan itu. Dalam bahagian sebelumnya, kami mengetahui bagaimana semua LED pada papan pembangunan sudah dimulakan sebagai output dan sedia untuk digunakan.
3.1 Gunakan LED RGB
Kami akan menggunakan LED RGB onboard pada modul pembangunan Z-Wave, bukannya LED pada papan butang.
1. Cari fungsi RefreshMMI, seperti yang dilihat dalam Rajah 6, dalam aplikasi utama SwitchOnOff.c file.
Rajah 6: RefreshMMI tanpa sebarang pengubahsuaian
2. Kami akan menggunakan fungsi "Board_SetLed" tetapi menukar GPIO kepada
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Panggil “Board_SetLed” 3 kali dalam kedua-dua keadaan OFF dan dalam keadaan ON, seperti yang ditunjukkan dalam Rajah 7.
Pengubahsuaian baharu kami kini dilaksanakan dan anda sudah bersedia untuk menyusun.
Langkah-langkah untuk memprogramkan peranti diliputi dalam latihan "Kompilasi Suis Hidupkan Mati dan dayakan nyahpepijat", dan diulang secara ringkas di sini:
- Klik pada "Bina"
butang untuk mula membina projek.
- Apabila binaan selesai, kembangkan folder "Binaries" dan klik kanan pada *.hex file untuk memilih “Denyar ke Peranti..”.
- Pilih perkakasan yang disambungkan dalam tetingkap pop timbul. "Flash Programmer" kini telah diisi terlebih dahulu dengan semua data yang diperlukan, dan anda sudah bersedia untuk mengklik "Program".
- Klik "Program".
Selepas seketika pengaturcaraan selesai, dan peranti akhir anda kini dipancarkan dengan versi Tukar Hidup/Mati anda yang diubah suai.
3.1.1 Menguji kefungsian
Dalam latihan sebelumnya, kami telah memasukkan peranti ke dalam rangkaian Z-Wave yang selamat menggunakan SmartStart. Rujuk latihan "Sertakan menggunakan SmartStart" untuk arahan.
Petunjuk Dalaman file sistem tidak dipadamkan antara pengaturcaraan semula. Ini membolehkan nod kekal dalam rangkaian dan menyimpan kunci rangkaian yang sama apabila anda memprogramnya semula.
Jika anda perlu menukar cth frekuensi di mana modul beroperasi atau DSK, anda perlu "Padam" cip sebelum frekuensi baharu akan ditulis ke NVM dalaman.
Oleh itu, peranti anda sudah disertakan dalam rangkaian.
Uji kefungsian dengan mengesahkan anda boleh HIDUPKAN dan MATI LED RGB.
- Uji kefungsian menggunakan "Set Asas ON" dan "Set Asas OFF" dalam Pengawal PC. LED RGB sepatutnya dihidupkan dan dimatikan.
- LED RGB juga boleh dihidupkan dan dimatikan menggunakan BTN0 pada perkakasan.
Kami kini telah mengesahkan bahawa pengubahsuaian berfungsi seperti yang diharapkan dan telah berjaya menukar GPIO yang digunakan dalam Sample Permohonan
3.2 Tukar komponen warna RGB
Dalam bahagian ini, kami akan mengubah suai LED RGB dan cuba mencampurkan komponen warna.
“Warna dalam model warna RGB diterangkan dengan menunjukkan jumlah setiap merah, hijau dan biru disertakan. Warna dinyatakan sebagai triplet RGB (r,g,b), yang setiap komponen boleh berbeza dari sifar hingga nilai maksimum yang ditentukan. Jika semua komponen berada pada sifar hasilnya adalah hitam; jika semuanya berada pada tahap maksimum, hasilnya adalah putih yang boleh diwakili paling terang."
Daripada Wikipedia pada Model Warna RGB.
Memandangkan kami mendayakan semua komponen warna dalam bahagian sebelumnya, LED RGB berwarna putih apabila HIDUP. Dengan menghidupkan dan mematikan komponen individu, kita boleh menukar LED. Di samping itu, dengan melaraskan keamatan setiap komponen warna, kita boleh membuat semua warna di antaranya. Untuk itu, kami akan menggunakan PWM untuk mengawal GPIO.
- Dalam ApplicationTask() mulakan PwmTimer dan sediakan pin RGB ke PWM, seperti ditunjukkan dalam Rajah 9.
- Dalam RefreshMMI(), kami akan menggunakan nombor rawak untuk setiap komponen warna. Gunakan rand() untuk mendapatkan nilai baharu setiap kali LED dihidupkan.
- Gunakan DPRINTF() untuk menulis nilai yang baru dijana pada port nyahpepijat bersiri.
- Gantikan Board_SetLed() dengan Board_RgbLedSetPwm(), untuk menggunakan nilai rawak.
- Rujuk Rajah 10 untuk RefreshMMI() yang dikemas kini.
Rajah 10: RefreshMMI dikemas kini dengan PWM
Pengubahsuaian baharu kami kini dilaksanakan dan anda sudah bersedia untuk menyusun.
- Klik pada "Bina"
butang untuk mula membina projek.
- Apabila binaan selesai, kembangkan folder "Binaries" dan klik kanan pada *.hex file untuk memilih “Denyar ke Peranti..”.
- Pilih perkakasan yang disambungkan dalam tetingkap pop timbul. "Flash Programmer" kini telah diisi terlebih dahulu dengan semua data yang diperlukan, dan anda sudah bersedia untuk mengklik "Program".
- Klik "Program".
Selepas seketika pengaturcaraan selesai, dan peranti akhir anda kini dipancarkan dengan versi Tukar Hidup/Mati anda yang diubah suai.
3.2.1 Menguji Kefungsian
Uji kefungsian dengan mengesahkan anda boleh menukar warna LED RGB.
- Uji kefungsian menggunakan "Basic Set ON" dalam Pengawal PC.
- Klik pada “Basic Set ON” untuk melihat perubahan dalam warna.
Kami kini telah mengesahkan bahawa pengubahsuaian berfungsi seperti yang diharapkan dan telah berjaya menukar GPIO untuk menggunakan PWM.
4 Perbincangan
Dalam latihan ini kami telah mengubah suai Hidupkan/Mati daripada mengawal LED mudah kepada mengawal LED berbilang warna. Bergantung pada nilai PWM, kita kini boleh menukar kepada sebarang warna dan keamatan.
- Sekiranya "Suis Binari" digunakan sebagai Jenis Peranti untuk aplikasi ini?
- Kelas arahan manakah yang lebih sesuai untuk LED berbilang warna?
Untuk menjawab soalan, anda harus merujuk kepada spesifikasi Gelombang Z:
- Spesifikasi Jenis Peranti Z-Wave Plus v2
- Spesifikasi Kelas Perintah Aplikasi Gelombang Z
Ini menyimpulkan tutorial tentang cara mengubah suai dan menukar GPIO bagi Z-Wave Sample Permohonan.
Baca Lebih Lanjut Mengenai Manual Ini & Muat Turun PDF:
Dokumen / Sumber
![]() |
SILICON LABS Lab 3B - Ubah Suai Hidup/Mati [pdf] Panduan Pengguna Makmal 3B, Ubah Suai Suis, Hidupkan, Mati, Gelombang Z, SDK |