Digital I/O prototypen met Microchip's RN487x Bluetooth-module
Betrouwbare digitale input- en output-perferieën bouwen met de RN487x Bluetooth-module
In het tweede deel van onze driedelige serie over Microchip's RN487x Bluetooth-modules, lopen we door het maken van een digitale input (een schakelaar) en een digitale output (een LED). Voor achtergrond over module-configuratie, verwijzen we naar het eerste artikel.
Project 1: RN487x Digitale Input-schakelaar
Ons ontwerp volgt een drie-stappen patroon:
- Hardware – een schakelaar die het digitale signaal genereert.
- Configuratie – RN487x-commando's om een database-variabele toe te wijzen en de pin eraan te mappen.
- Applicatie – een workstation-script dat de database-waarde uitleest.
Digitale Input Hardware
De input is een simpele normally-open schakelaar (SW1). De RN487x biedt interne pull-ups, dus een schakelaar aangesloten op ground bij sluiting geeft een schone twee-toestands-signaal.


We gebruiken de RN4871, die single-pin GPIO ondersteunt. Het circuit kan gevoed worden van twee AAA-batterijen of een muntcel. Additionele componenten:
- C1: Bypass-condensator voor stroomstabiliteit.
- R1, C2: Vertraging voor processor-reset bij power-on.
- J1: Seriële poort voor configuratie.
Digitale Input Configuratie
Zorg ervoor dat de module in een bekende staat is voordat u begint (zie appendix voor initialisatie). Maak één service en één karakteristiek in de GATT-database om de schakelaar-status weer te geven:
PS,59c88760536411e7b114b2f933d5fe66 PC,59c889e0536411e7b114b2f933d5fe66,10,01
Hier creëert PS de service, en PC creëert de karakteristiek. De UUID's zijn placeholders; genereer uw eigen volgens de UUID-standaard. De tweede parameter in PC (10) vraagt directe notificaties bij waardewijzigingen, en de derde parameter (01) stelt de waardegrootte in op één byte.
Het perferie-script configureert de pin en handelt events af:
@PW_ON SW,0A,09 @PIO1H SHW,0072,01 @PIO1L SHW,0072,00
Elke methode voorvoegsel met @ draait op een systeem-event:
PW_ON– bij power-on, stelt P1_2 in als getriggerde digitale input.PIO1H– bij hoge transitie, schrijft1naar de database.PIO1L– bij lage transitie, schrijft0naar de database.
Digitale Input Applicatie
Gebruik het switch.py Python-script (link provided). Vervang het voorbeeld-MAC-adres door uw device's MAC. Na het voeden van de perferie, draai het script op een Bluetooth-capable machine. Het script verbindt met het device, luistert naar notificaties en print elk schakelaar-event. Zie de Linux-setup-gids in de appendix.
Belangrijke BLE-functie: notificaties – de perferie duwt staatwijzigingen naar de client zonder polling.
Project 2: RN487x Digitale Besturing (LED)
We passen hetzelfde drie-stappen patroon toe voor een output:
- Hardware – een LED aangedreven door de RN4871's open-collector GPIO.
- Configuratie – een database-variabele maken gemapt aan de LED-pin.
- Applicatie – een script dat waarden naar de database schrijft om de LED aan of uit te zetten.
Digitale Besturing Hardware
De LED (D1) is aangesloten als open-collector sink. Het schema volgt het RN487x-referentieontwerp.


Componenten:
- C1: Voeding-bypass-condensator.
- R1, C2: Reset-vertraging.
- J1: Seriële poort.
Digitale Besturing Configuratie
Initialiseer de module zoals beschreven in de appendix. Maak één service en karakteristiek:
PS,59c88760536411e7b114b2f933d5fe66 PC,59c889e0536411e7b114b2f933d5fe66,08,01
Hier geeft 08 aan dat de perferie schrijfbevestigingen moet geven, en 01 stelt een één-byte waarde in. Het script hanteert client-verbindingen:
@CONN |O,08,72
Wanneer een client verbindt, associeert het commando de database-variabele met de LED-pin (bitmask 08) en de karakteristiek-handle (72). Opvolgende schrijfacties door de client togglen de LED.
Digitale Besturing Applicatie
Draai light.py (link provided) na het vervangen van het MAC-adres. Het script verbindt met de perferie, stuurt dan elke seconde een nieuwe waarde om de LED aan en uit te zetten. Het script logt voortgang en illustreert de handle-associatie feature.
Bekijk de volledige demonstratie in de bijbehorende projectvideo.
Volgende stappen
Dit concludeert deel 2 van onze RN487x-serie. Deel 3 zal analoge sensoren en besturingen aanpakken, en additionele bronnen bieden toepasbaar op alle projecten.
Internet of Things-technologie
- Preventief onderhoud meesteren: Vaste en drijvende planningen bouwen en optimaliseren
- Lean Digital: Definitie, Voordelen en Hoe het Naadloos te Integreren
- Gratis, Krachtig en Klaar voor Onderzoek: RTI Connext DDS Universiteitslicentie
- Bluetooth LE vs. XLE: De Volgende Generatie Asset Tracking & Monitoring
- Bluetooth en Ultrasound Combineren voor Nauwkeurige, Kosten-Effectieve Real-Time Locatietracking
- Microchip RN487x Bluetooth-modules beheersen voor low-power perferieën
- IoT-producten Bouwen Die Klanten Liefhebben – En Waarvoor Ze Betalen
- Waterkrachtcentrales Beheren en Onderhouden: Expertstrategieën voor Betrouwbare Energieopwekking
- Verhoog uw operaties: IoT-tankmonitoring voor veiliger, slimmer en winstgevender petroleumbeheer
- RTUs benutten voor Big-Data-inzichten in industriële operaties
- C# Fundamentals: Invoer en Uitvoer Basis