Jak vytvořit digitální výstup a digitální ovládání pomocí modulu …

Naučte se, jak používat modul Microchip k prototypování digitálního výstupu a digitálních řídicích periferií.
V tomto článku, druhé ze třídílných sérií modulů Bluetooth RN487x společnosti Microchip, vám ukážu, jak vytvořit digitální výstup (přepínač) a digitální ovládání (LED).
V mém prvním článku najdete pozadí a pokyny ke konfiguraci modulu RN487x.
Projekt 1: Přepínač digitálního vstupu RN478x
Náš designový model má tři komponenty, které musíme poskytnout:
- Zařízení: Specifické vybavení mise pro generování digitálních signálů
- Nastavení: Příkazy modulu RN487x k přiřazení proměnné v databázi a přiřazení signálu k proměnné
- Nárok: Skript na pracovní stanici, který přijímá hodnotu z databáze
Níže je rozpis komponent.
Digitální vstupní hardware
Funkce „digitálního vstupu“ je zajištěna jednoduše přepínačem; SW1.
Modul RN487x má vnitřní piny na pinech, takže normálně otevřený spínač připojený k zemi v zavíracím bodě nám dá potřebnou 2-stavovou kontrolu.

Protože spravujeme pouze jeden signál a nepoužíváme PWM, vybrali jsme si RN4871. Obvod může být napájen dvojicí baterií AAA nebo dokonce knoflíkovou baterií.
Zbývající prvky obvodu;
- C1: Obtokový kondenzátor pro vyvážení výkonu.
- R1, C2: Zpoždění restartu procesoru po zapnutí napájení
- J1: Sériový port pro konfiguraci.
Konfigurace digitálního vstupu
Před vytvořením konfigurace pro tento příklad se ujistěte, že je modul ve známém stavu. To je popsáno v příloze obecného spuštění. Tento krok nevynechávejte!
K reprezentaci našeho stavu senzoru v databázi potřebujeme pouze jednu funkci. Proto v této službě vytváříme službu a funkci. Dva odpovídající příkazy jsou:
PS, 59c88760536411e7b114b2f933d5fe66
PC, 59c889e0536411e7b114b2f933d5fe66,10,01
První příkaz, PS, vytvoří službu. Druhý příkaz vytvoří funkci PC. V obou příkazech je prvním parametrem identifikátor, který umožňuje naší periferii existovat ve vesmíru jiných periferních zařízení Bluetooth a stále být jednoznačně přístupný. Tento parametr by měl odpovídat standardu UUID. Můžete použít ukázkové zobrazené hodnoty. Je také snadné vytvořit libovolný počet standardních UUID.
V příkazu PC druhý parametr říká vrstvě Bluetooth, jak by se změny hodnoty měly dostat ke klientovi. V tomto případě parametr (10) říká, že změny hodnoty mohou vést k okamžitému oznámení klientům. To je důležitá součást našeho záměru pro tento příklad. Nakonec v příkazu PC třetí parametr definuje velikost hodnoty v bajtech; v tomto případě pouze jeden (01).
Skriptová část našeho nastavení vypadá takto:
@PW_ON
SW, 0A, 09
@ PIO1H
SHW, 0072,01
@ PIO1L
SHW, 0072,00
V tomto skriptu jsou tři metody, z nichž každá začíná znakem „@“. Každá metoda funguje na konkrétní systémové události.
- PW_ON: Funguje po zapnutí. Metoda nastavuje náš sledovaný pin (P1_2) jako „otevřený“ digitální vstupní signál.
- PIO1H: Provádí se pokaždé, když stoupá spouštěcí signál. Metoda zapíše do databáze „1“.
- PIO1L: Provádí se vždy, když klesá spouštěcí signál. Metoda zapíše do databáze „0“.
Aplikace digitálního vstupu
Skript v Pythonu je switch.py a najdete ho zde. Upravte skript a nahraďte ukázkovou adresu MAC adresou MAC vašeho zařízení. Chcete-li implementovat příklad, napájejte periferní zařízení a poté spusťte skript v systému s příslušnými schopnostmi Bluetooth. Nápovědu k této konfiguraci v systému Linux najdete v příloze. Skript vydá zprávy ukazující postup při připojování k perifernímu zařízení. Po připojení periferie několikrát stiskněte a uvolněte spínač. Každá událost otevření / zavření jističe je protokolována zprávou ze spuštěného skriptu.
Skript je krátký a obsahuje popisy všech volání GATT API a funkčních bloků.
Vlastnost BLE, kterou používáme, jedinečná pro tento příklad, je deklarace.
- Metodu zpětného volání používáme ke zpracování, když dojde ke změně signálu z periferní jednotky. Pro zjištění stavu signálu nepotřebujeme prohledávat periferní jednotku.
- Musíme říct periferii, že chceme, aby tato oznámení byla zapsána do vlastnosti systému.
Projekt 2: Digitální ovládání RN487x
Náš designový model má tři komponenty, které musíme poskytnout:
- Zařízení: Specifický hardware pro poslání digitálního výstupu
- Nastavení: Příkazy modulu RN487x pro přiřazení proměnné v databázi a přiřazení proměnné signálu
- Nárok: Skript na pracovní stanici pro zápis hodnoty databáze
Níže je rozpis komponent.
Hardware pro digitální ovládání
Funkce „digitálního výstupu“ je zajištěna jednoduše pomocí LED; D1

Referenční obvody modulu RN487x doporučují GPIO s otevřeným kolektorem, takže snížíme proud a odpovídajícím způsobem rozsvítíme LED.

Protože spravujeme pouze jeden signál a nepoužíváme PWM, vybrali jsme si RN4871. Obvod může být napájen dvojicí baterií AAA nebo dokonce knoflíkovou baterií.
Zbývající prvky obvodu;
- C1: Obtokový kondenzátor pro vyvážení výkonu.
- R1, C2: Zpoždění restartu procesoru po zapnutí napájení
- J1: Sériový port pro konfiguraci.
Konfigurace digitálního ovládání
Před vytvořením konfigurace pro tento příklad se ujistěte, že je modul ve známém stavu. To je popsáno v příloze obecného spuštění.
Tento krok nevynechávejte!
K reprezentaci našeho stavu senzoru v databázi potřebujeme pouze jednu funkci. Proto v této službě vytváříme službu a funkci.
Dva odpovídající příkazy jsou:
PS, 59c88760536411e7b114b2f933d5fe66
PC, 59c889e0536411e7b114b2f933d5fe66,08,01
První příkaz, PS, vytvoří službu. Druhý příkaz vytvoří funkci PC. V obou příkazech je prvním parametrem identifikátor, který umožňuje naší periferii existovat ve vesmíru jiných periferních zařízení Bluetooth a stále být jednoznačně přístupný. Tento parametr by měl odpovídat standardu UUID. Můžete použít ukázkové zobrazené hodnoty. Je také snadné vytvořit libovolný počet standardních UUID.
V příkazu PC druhý parametr říká vrstvě Bluetooth, jak by se změny hodnoty měly dostat k periferii. V tomto případě parametr (08) říká perifernímu zařízení, aby při změně hodnoty poslalo klientovi potvrzení. Nakonec v příkazu PC třetí parametr definuje velikost hodnoty v bajtech; v tomto případě pouze jeden (01).
Skriptová část našeho nastavení vypadá takto:
@CONN
| O, 08,72
V tomto skriptu je pouze jedna metoda „@CONN“. Funguje to pokaždé, když se klient připojí k jeho periferii.
Jeden řádek skriptu je příkaz „asociatního deskriptoru“ s velmi výkonným výstupem. Přidruží proměnnou databáze k příkazu digitálního pinoutu. Parametr ’08’ je bitová maska označující pin, ke kterému je připojena naše LED. Parametr „72“ je jedinečný a trvalý identifikátor prvku, který jsme vytvořili v databázi. Proto se po připojení klienta pokaždé, když zákazník zapíše novou hodnotu do databázové proměnné, naše LED odpovídajícím způsobem rozsvítí nebo zhasne.
Aplikace digitálního ovládání
Skript Pythonu je light.py a najdete ho zde. Upravte skript a nahraďte ukázkovou adresu MAC adresou MAC vašeho zařízení. Dále implementujte příklad, napájejte periferní zařízení a poté spusťte skript v systému s příslušnými schopnostmi Bluetooth. Nápovědu k této konfiguraci v systému Linux najdete v příloze. Skript vydá zprávy ukazující postup při připojování k perifernímu zařízení. Po připojení periferie skript každou sekundu pošle perifernímu zařízení nový příkaz. Příkazy LED zapnou nebo vypnou.
Skript je krátký a obsahuje popisy všech volání GATT API a funkčních bloků. Vlastností BLE, kterou v tomto příkladu používáme, je její vztah identifikátoru.
Celý tento příklad můžete vidět v akci v přiloženém videu projektu.
Další kroky
Tím je dokončena část 2 naší třídílné řady na modulu RN487x.
Sekce 3 bude postupovat podle stejného vzorového vzoru pro vytvoření analogového snímače a analogového ovládání. Bude také zahrnovat některá témata pro další studium, která se vztahují na všechny ukázkové projekty.

