OpenHaystack und ESPHome Logos

OpenHaystack in ESPHome

Veröffentlicht am 23. Juni 2022

Portierung von OpenHaystack als ESPHome-Komponente. Kompatibel mit allen Espressif BLE-Geräten.

OpenHaystack ist eine Anwendung, die es Ihnen ermöglicht, eigene Zubehörteile zu erstellen, die vom Find My-Netzwerk von Apple verfolgt werden. Sie haben Apples Protokoll reverse-engineered und dokumentiert, ein ziemlich beeindruckendes Projekt.

Ich wollte meinen Elektroroller verfolgen, falls er gestohlen wird. Obwohl die “offizielle” Methode zum Erstellen Ihrer Zubehörteile “akzeptabel” war, stellte sich heraus, dass sie mit mehreren Kompatibilitätsproblemen auf verschiedenen Espressif-Boards ziemlich problematisch ist.

Also habe ich es als eine Komponente von ESPHome portiert, einer Software, die ich bereits für die Bedürfnisse meiner eingebetteten Geräte verwende.

Warum ESPHome? Ist es nicht “für das Zuhause”?

Ich bin ein wenig besessen davon, meine IoT/Eingebetteten Geräte so aktuell wie möglich zu halten (und natürlich, wenn möglich, ohne Cloud), daher ist ESPHome eine attraktive Lösung, um Ihre Geräte mit Arduino und Espressif-Frameworks zu aktualisieren. Durch ESPHome kann ich meinen Roller aktualisieren, wann immer ich will.

Warum ist dies keine offizielle Komponente?

Ich habe es versucht! Ich habe Unterstützung für OpenHaystack hinzufügen #3584 und seine Unterstützungsdokumentation geöffnet, aber verständlicherweise wollten sie es nicht zusammenführen.

ESPHome Beispiel - ESP32

external_components:
  - source:
      type: git
      url: https://github.com/barrenechea/esphome-config-files
      ref: main
    components: [openhaystack]

esphome:
  name: openhaystack-demo

esp32:
  board: wemos_d1_mini32

wifi:
  ssid: <Ihr-WLAN-SSID>
  password: <Ihr-WLAN-Passwort>

# Logs aktivieren
logger:

# Home Assistant API aktivieren
api:

ota:
  password: !secret ota_password

openhaystack:
  # Hier geht der OpenHaystack-Schlüssel kodiert in Base64
  # Ich schlage dringend vor, dass Sie es als Geheimnis behandeln
  key: !secret openhaystack_key

ESPHome Beispiel - ESP32-C3

external_components:
  - source:
      type: git
      url: https://github.com/barrenechea/esphome-config-files
      ref: main
    components: [openhaystack]

esphome:
  name: openhaystack-demo
  platformio_options:
    board_build.flash_mode: dio

esp32:
  board: esp32-c3-devkitm-1
  variant: ESP32C3
  framework:
    type: esp-idf
    version: latest
    sdkconfig_options:
      CONFIG_FREERTOS_UNICORE: y
      CONFIG_COMPILER_OPTIMIZATION_SIZE: y
      # WPA3-Unterstützung aktivieren, nur weil wir können
      CONFIG_WPA_SUITE_B_192: y
      # Spezifisch für die Bluetooth-Nutzung
      CONFIG_BT_BLE_50_FEATURES_SUPPORTED: y
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      # "Payload size error" beheben - Watchdog-Timeout verlängern
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: '10'

wifi:
  ssid: <Ihr-WLAN-SSID>
  password: <Ihr-WLAN-Passwort>

# Logs aktivieren
logger:

# Home Assistant API aktivieren
api:

ota:
  password: !secret ota_password

openhaystack:
  # Hier geht der OpenHaystack-Schlüssel kodiert in Base64
  # Ich schlage dringend vor, dass Sie es als Geheimnis behandeln
  key: !secret openhaystack_key
Inhalt übersetzt von gpt-4-1106-preview

©2022-2024 Sebastian Barrenechea. Alle Rechte vorbehalten.

Erstellt mit Astro v4.15.9.