SILICON LABS Lab 3B – Açma/Kapama Anahtarını Değiştirin Kullanıcı Kılavuzu
Bu uygulamalı alıştırma, s'lerden birinde nasıl değişiklik yapılacağını gösterecektir.ampZ-Wave SDK'nın bir parçası olarak gönderilen uygulamalar.
Bu alıştırma “Z-Wave 1 Günlük Kurs” serisinin bir parçasıdır.
- SmartStart'ı kullanmayı dahil et
- Zniffer kullanarak Z-Wave RF Çerçevelerinin Şifresini Çözün
- 3A: Derleme Açma/Kapatma ve Hata Ayıklamayı Etkinleştirme
3B: Açma/Kapama Anahtarını Değiştir - FLiRS cihazlarını anlayın
ANA ÖZELLİKLER
- GPIO'yu değiştir
- PWM'yi uygulayın
- Yerleşik RGB LED'i kullanın
1. Giriş
Bu alıştırma, Switch On/Off'ların nasıl derleneceğini ve kullanılacağını gösteren önceki "3A: Derleme Anahtarı Açma/Kapatma ve hata ayıklamayı etkinleştir" alıştırmasının üzerine inşa edilmiştir.ample uygulama.
Bu alıştırmada, s'de bir değişiklik yapacağız.ample uygulaması, LED'i kontrol eden GPIO'yu değiştirerek. Ayrıca RGB LED kullanacağız ve renkleri değiştirmek için PWM kullanmayı öğreneceğiz.
1.1 Donanım Gereksinimleri
- 1 WSTK Ana Geliştirme Kurulu
- 1 Z-Wave Radyo Geliştirme Kartı: ZGM130S SiP Modülü
- 1 UZB Denetleyici
- 1 USB Zniffer
1.2 Yazılım Gereksinimleri
- Sadelik Studio v4
- Z-Wave 7 SDK'sı
- Z-Wave PC Denetleyicisi
- Z-Dalga Zniffer
Şekil 1: Z-Wave SiP Modüllü Ana Geliştirme Kartı
1.3 Önkoşullar
Önceki Uygulamalı alıştırmalar, bir Z-Wave ağı oluşturmak ve geliştirme amacıyla RF iletişimini yakalamak için PC Denetleyicisi ve Zniffer uygulamasının nasıl kullanılacağını ele aldı. Bu alıştırma, bu araçlara aşina olduğunuzu varsayar.
Önceki Uygulamalı alıştırmalar ayrıca s'nin nasıl kullanılacağını da kapsıyordu.ampZ-Wave SDK ile birlikte gelen uygulamalar. Bu alıştırma, aşağıdakilerden birini kullanmaya ve derlemeye aşina olduğunuzu varsayar.ampuygulamalar.
Z-Wave çerçevesi, board.h ve board.c tarafından tanımlanan bir donanım soyutlama katmanı (HAL) ile birlikte gelir ve donanım platformlarınızın her biri için uygulamalara sahip olma olanağı sağlar.
Donanım Soyutlama Katmanı (HAL), bir sistemin donanımı ile birkaç farklı donanım platformunda çalışabilen uygulamalar için tutarlı bir arabirim sağlayan yazılımı arasındaki program kodudur. Advan almaktagBu yetenekten dolayı, uygulamalar donanıma doğrudan değil, HAL tarafından sağlanan API aracılığıyla erişmelidir. Ardından, yeni donanıma geçtiğinizde, yalnızca HAL'ı güncellemeniz gerekir.
2.1 Açık Sampproje
Bu alıştırma için Açma/Kapama s açmanız gerekir.ample uygulama. “3A Derleme Anahtarını Açın ve hata ayıklamayı etkinleştirin” alıştırmasını tamamladıysanız, Simplicity Studio IDE'nizde zaten açılmış olmalıdır.
Bu bölümde tahtaya bakacağız files ve LED'lerin nasıl başlatıldığını anlayın.
- Ana sayfadan file “SwitchOnOff.c”, “ApplicationInit()” öğesini bulun ve Board_Init() çağrısına dikkat edin.
- Seyircinizi Board_Init()'e yerleştirin ve bildirimi açmak için F3'e basın.
3. Board_Init() içinde, BOARD_LED_COUNT içinde bulunan LED'lerin Board_Con-figLed() tarafından nasıl başlatıldığına dikkat edin.
4. Yarış aracınızı BOARD_LED_COUNT üzerine yerleştirin ve bildirimi açmak için F3'e basın.
5. led_id_t içinde tanımlanan LED'ler aşağıdaki gibidir:
6. Board.c'ye geri dönün file.
7. Seyircinizi Board_ConfigLed()'e yerleştirin ve bildirimi açmak için F3'e basın.
8. led_id_t içinde tanımlanan tüm LED'lerin Board_ConfigLed() içinde çıktı olarak yapılandırıldığına dikkat edin.
Bunun anlamı, geliştirme kartındaki tüm LED'lerin zaten çıkış olarak tanımlanmış ve kullanıma hazır olmasıdır.
3. Z-Wave S'de Değişiklik YapınampUygulama
Bu alıştırmada, Switch On/Off s'deki LED için kullanılan GPIO'ları değiştireceğiz.ample uygulama. Önceki bölümde, geliştirme kartındaki tüm LED'lerin çıkış olarak nasıl başlatıldığını ve kullanıma hazır olduğunu öğrendik.
3.1 RGB LED'i kullanın
Düğme kartındaki LED yerine Z-Wave geliştirme modülündeki yerleşik RGB LED'i kullanacağız.
1. SwitchOnOff.c ana uygulamasında Şekil 6'da görüldüğü gibi RefreshMMI işlevini bulun file.
Şekil 6: Herhangi bir değişiklik yapmadan MMI'yi yenileyin
2. “Board_SetLed” işlevini kullanacağız ancak GPIO'yu şu şekilde değiştireceğiz:
BOARD_RGB1_R
BOARD_RGB1_G
BOARD_RGB1_B
3. Şekil 3'de gösterildiği gibi hem KAPALI hem de AÇIK durumda "Board_SetLed" öğesini 7 kez arayın.
Yeni modifikasyonumuz şimdi uygulandı ve derlemeye hazırsınız.
Bir cihazı programlama adımları, "3A Derleme Anahtarını Açma ve hata ayıklamayı etkinleştir" alıştırmasında ele alınmıştır ve burada kısaca tekrarlanmıştır:
- "Oluştur" u tıklayın
projeyi oluşturmaya başlamak için düğmesine basın.
- Derleme bittiğinde, “Binaries” klasörünü genişletin ve *.hex'e sağ tıklayın file “Cihaza Flash..” öğesini seçmek için.
- Açılır pencerede bağlı donanımı seçin. "Flash Programmer" artık gerekli tüm verilerle önceden doldurulmuştur ve "Program"a tıklamaya hazırsınız.
- "Program" ı tıklayın.
Kısa bir süre sonra programlama biter ve uç cihazınız artık Switch On/Off'un değiştirilmiş versiyonuyla yanıp söner.
3.1.1 İşlevselliği test edin
Önceki alıştırmalarda, cihazı SmartStart kullanarak güvenli bir Z-Wave ağına zaten dahil etmiştik. Talimatlar için "SmartStart'ı kullanmayı dahil et" alıştırmasına bakın.
İpucu Dahili file yeniden programlama arasında sistem silinmez. Bu, bir düğümün bir ağda kalmasına ve onu yeniden programladığınızda aynı ağ anahtarlarını korumasına izin verir.
Örneğin modülün çalıştığı frekansı veya DSK'yı değiştirmeniz gerekirse, yeni frekans dahili NVM'ye yazılmadan önce çipi “Silmeniz” gerekir.
Bu nedenle, cihazınız zaten ağa dahil edilmiştir.
RGB LED'i AÇIK ve KAPALI konuma getirebildiğinizi doğrulayarak işlevselliği test edin.
- PC Denetleyicisindeki "Temel Ayar AÇIK" ve "Temel Ayar KAPALI" öğelerini kullanarak işlevselliği test edin. RGB LED'i AÇIK ve KAPALI olmalıdır.
- RGB LED, donanımdaki BTN0 kullanılarak da açılıp kapatılabilir.
Şimdi değişikliğin beklendiği gibi çalıştığını doğruladık ve bir S'de kullanılan GPIO'yu başarıyla değiştirdik.ampUygulama
3.2 RGB renk bileşenini değiştirin
Bu bölümde RGB LED'i modifiye edeceğiz ve renk bileşenlerini karıştırmaya çalışacağız.
“RGB renk modelindeki bir renk, kırmızı, yeşil ve mavinin her birinin ne kadarının dahil edildiğini göstererek tanımlanır. Renk, her bir bileşeni sıfırdan tanımlanmış bir maksimum değere kadar değişebilen bir RGB üçlüsü (r,g,b) olarak ifade edilir. Tüm bileşenler sıfırdaysa sonuç siyahtır; hepsi maksimumdaysa, sonuç, temsil edilebilen en parlak beyazdır.”
Wikipedia'dan RGB Renk Modeli.
Önceki bölümde tüm renk bileşenlerini etkinleştirdiğimiz için RGB LED AÇIK olduğunda beyazdır. Tek tek bileşenleri açıp kapatarak LED'i değiştirebiliriz. Ayrıca her bir renk bileşeninin yoğunluğunu ayarlayarak aradaki tüm renkleri yapabiliriz. Bunun için GPIO'ları kontrol etmek için PWM kullanacağız.
- ApplicationTask()'ta PwmTimer'ı başlatın ve RGB pinlerini Şekil 9'da gösterildiği gibi PWM'ye ayarlayın.
- RefreshMMI()'de, her renk bileşeni için rastgele bir sayı kullanacağız. LED her AÇIK konuma getirildiğinde yeni bir değer elde etmek için Rand() kullanın.
- Yeni oluşturulan değeri seri hata ayıklama bağlantı noktasına yazmak için DPRINTF() kullanın.
- Rastgele değeri kullanmak için Board_SetLed() öğesini Board_RgbLedSetPwm() ile değiştirin.
- Güncellenmiş RefreshMMI() için Şekil 10'a bakın.
Şekil 10: PWM ile güncellenen RefreshMMI
Yeni modifikasyonumuz şimdi uygulandı ve derlemeye hazırsınız.
- "Oluştur" u tıklayın
projeyi oluşturmaya başlamak için düğmesine basın.
- Derleme bittiğinde, “Binaries” klasörünü genişletin ve *.hex'e sağ tıklayın file “Cihaza Flash..” öğesini seçmek için.
- Açılır pencerede bağlı donanımı seçin. "Flash Programmer" artık gerekli tüm verilerle önceden doldurulmuştur ve "Program"a tıklamaya hazırsınız.
- "Program" ı tıklayın.
Kısa bir süre sonra programlama biter ve uç cihazınız artık Switch On/Off'un değiştirilmiş versiyonuyla yanıp söner.
3.2.1 İşlevselliği Test Edin
RGB LED'in rengini değiştirebildiğinizi doğrulayarak işlevselliği test edin.
- PC Denetleyicisindeki “Temel Ayar AÇIK” özelliğini kullanarak işlevselliği test edin.
- Renk değişikliğini görmek için “Basic Set ON”a tıklayın.
Şimdi değişikliğin beklendiği gibi çalıştığını doğruladık ve GPIO'yu PWM kullanacak şekilde başarıyla değiştirdik.
4 Tartışma
Bu alıştırmada, Switch On/Off'u basit bir LED'i kontrol etmekten çok renkli bir LED'i kontrol etmeye değiştirdik. PWM değerlerine bağlı olarak artık herhangi bir renk ve yoğunluğa geçebiliriz.
- Bu uygulama için Cihaz Tipi olarak “İkili Anahtar” kullanılmalı mı?
- Çok renkli bir LED için hangi komut sınıfları daha uygundur?
Soruyu cevaplamak için Z-Wave spesifikasyonuna başvurmalısınız:
- Z-Wave Plus v2 Cihaz Tipi Spesifikasyonu
- Z-Wave Uygulama Komut Sınıfı Spesifikasyonu
Bu, bir Z-Wave S'nin GPIO'larının nasıl değiştirileceğine ve değiştirileceğine ilişkin öğreticiyi tamamlar.ample Uygulama.
Bu Kılavuz Hakkında Daha Fazlasını Okuyun ve PDF'i İndirin:
Belgeler / Kaynaklar
![]() |
SILICON LABS Lab 3B - Açma/Kapama Anahtarını Değiştir [pdf] Kullanıcı Kılavuzu Lab 3B, Değiştirme Anahtarı, Açık, Kapalı, Z-Wave, SDK |