Inhaltsverzeichnis:
- Schritt 1: Grove-Relais
- Schritt 2: Hardware-Schema
- Schritt 3: Installation des CSR UEnergy SDK
- Schritt 4: Softwarearchitektur
- Schritt 5: Codebeispiel zur Handhabung des GPIOs-Zugriffs
Video: CSR1011 - Auslöserelais - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Der CSR1011 ist ein Single-Mode-Bluetooth-Smart-Chip und dieses Tutorial zeigt, wie Sie auf seine GPIOs zugreifen und ein Relais auslösen.
Schritt 1: Grove-Relais
Die in diesem Tutorial verwendete Komponente war das Grove-Relais. Dieses Modul ist ein digitaler Schließer. Dadurch können Sie den Stromkreis der Hochspannung mit der Niederspannung steuern, sagen wir 5V auf dem Controller. Auf der Platine befindet sich eine Anzeige-LED, die aufleuchtet, wenn die gesteuerten Klemmen geschlossen werden.
Schritt 2: Hardware-Schema
Zum Anschluss des Relaismoduls im CSR1011 wurde eine Hardware zur Stromversorgung des Relais entwickelt, da der CSR1011 mit 3v3 versorgt wird und die Komponente 5v benötigt, um zu funktionieren. Bei CSR wurde Pin 4 (GPIO 10) verwendet, um das Relais anzuschließen.
Schritt 3: Installation des CSR UEnergy SDK
Um die Anwendung auf CSR1011 zu handhaben, wird die integrierte Entwicklungsumgebung (xIDE) verwendet, die mit den μEnergy Software Development Kits (SDKs) geliefert wird. Die Software wird auf der CD-ROM bereitgestellt, kann aber auch hier heruntergeladen werden.
Schritt 4: Softwarearchitektur
Auf CSR1011 kommuniziert die Anwendung mit der Firmware über API-Aufrufe, die mithilfe von Firmware-Callbacks für verschiedene Ereignisse im Anwendungslebenszyklus implementiert werden. Beim Anlegen eines Projekts sind einige Funktionen bereits implementiert, diese Funktionen werden im Lebenszyklus der Anwendung genutzt:
- AppPowerOnReset(): Anwendungsfunktion, die direkt nach einem Power-On-Reset aufgerufen wird;
- AppInit(): Diese Funktion wird bei jedem Booten aufgerufen und sollte die Anwendungsinitialisierung enthalten;
- AppProcessSystemEvent(): Funktion, die von der Firmware aufgerufen wird, um Ereignisse auf Systemebene zu verarbeiten, wie z. B. niedrige Batterie- und PIO-Ebenenänderung;
- AppProcessLmEvent(): Funktion zum Behandeln von kommunikationsverbindungsbezogenen Ereignissen von der Firmware;
- Timer: Läuft auf dem Hardware-Timer mit Mikrosekunden-Genauigkeit.
Schritt 5: Codebeispiel zur Handhabung des GPIOs-Zugriffs
Der verfügbare Code zeigt, wie Sie den Status des GPIO konfigurieren und einstellen, um ein Relais auszulösen, das an das GPIO10 des CSR1011 angeschlossen ist. Um den Zugriff auf das GPIO zu verwalten, wurden Funktionen verwendet, die in der pio.h-Bibliothek auf group_PIO_B.html im uEnergy SDK verfügbar sind.