Heim >Backend-Entwicklung >Golang >CO-Überwachung in Echtzeit mit der MacOS-App mit Go

CO-Überwachung in Echtzeit mit der MacOS-App mit Go

Linda Hamilton
Linda HamiltonOriginal
2025-01-20 20:24:14559Durchsuche

Dieses Tutorial zeigt den Aufbau eines Echtzeit-CO₂-Monitors mit Go, einem BleuIO BLE USB-Dongle und einem HibouAir BLE-Luftqualitätssensor. Diese Go-Anwendung sucht effizient nach CO₂-Daten, dekodiert sie und stellt macOS-Echtzeitbenachrichtigungen bereit, wenn der CO₂-Wert einen kritischen Schwellenwert überschreitet. Die Verwendung der AT-Befehle von BleuIO vereinfacht die BLE-Interaktion und ermöglicht die Konzentration auf die Anwendungslogik.

Projektziel:

Die Anwendung wird:

  1. Verwenden Sie BleuIO, um nach HibouAir BLE-Werbungen zu suchen, die CO₂-Werte anzeigen.
  2. Entschlüsseln Sie diese Anzeigen, um die CO₂-Konzentration zu ermitteln.
  3. Zeigen Sie eine macOS-Benachrichtigung in Echtzeit an, wenn der CO₂-Gehalt einen vordefinierten Schwellenwert überschreitet (z. B. 1000 ppm).

MacOS-Benachrichtigungen werden über das Dienstprogramm osascript implementiert und sorgen für sofortige Benachrichtigungen.

Warum das nützlich ist:

Diese Anwendung befasst sich mit dem Problem unbemerkter Umweltveränderungen. Es ist besonders vorteilhaft für:

  • Büroangestellte:Überwachen Sie Besprechungsräume oder gemeinsame Arbeitsbereiche auf ausreichende Belüftung.
  • Remote-Mitarbeiter:Aufrechterhaltung eines gesunden Heimarbeitsplatzes.
  • Bildungseinrichtungen:Gewährleistung sicherer CO₂-Werte in Klassenzimmern und Laboren.

Technische Daten:

  • Programmiersprache: Go (ausgewählt aufgrund seiner Einfachheit, Leistung und Community-Unterstützung).
  • BLE-USB-Dongle: BleuIO (vereinfacht die BLE-Kommunikation mithilfe von AT-Befehlen).
  • CO₂-Sensor: HibouAir (liefert BLE-Luftqualitätsdaten in Echtzeit).

Workflow:

  1. Dongle-Initialisierung: BleuIO ist als zentrales Gerät zum Scannen nach BLE-Geräten konfiguriert.
  2. Datenscan: Der Befehl AT FINDSCANDATA sucht nach HibouAir-Werbungen, die CO₂-Daten enthalten.
  3. CO₂-Datenextraktion: Relevante Werbedaten werden extrahiert und in ppm umgewandelt.
  4. Benachrichtigung: Go's exec.Command führt osascript aus, um eine Desktop-Benachrichtigung anzuzeigen, wenn der CO₂-Grenzwert überschritten wird.

Implementierung (Go-Code):

<code class="language-go">package main

import (
    "bufio"
    "fmt"
    "log"
    "os/exec"
    "strconv"
    "strings"
    "time"

    "go.bug.st/serial"
)

// ... (rest of the Go code remains the same) ...</code>

(Der vollständige Go-Code ist verfügbar unter https://www.php.cn/link/b270a720f6ac2e8a8c53d968243d5971)

Ausgabe:

Real-Time CO Monitoring MacOS App with Go

Dieses Projekt nutzt die Effizienz von Go und die Einfachheit von BleuIO, um eine praktische, anpassungsfähige Echtzeit-CO₂-Überwachungslösung zu schaffen.

Das obige ist der detaillierte Inhalt vonCO-Überwachung in Echtzeit mit der MacOS-App mit Go. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn