Loghi di OpenHaystack e ESPHome

OpenHaystack su ESPHome

Pubblicato il 23 giu 2022

Porting di OpenHaystack come componente di ESPHome. Compatibile con tutti i dispositivi BLE di Espressif.

OpenHaystack è un’applicazione che ti permette di creare i tuoi accessori tracciabili dalla rete Find My network di Apple. Hanno fatto il reverse engineering del protocollo di Apple e lo hanno documentato, un progetto davvero impressionante.

Volevo tracciare il mio monopattino elettrico nel caso venisse rubato. Sebbene il modo “ufficiale” di costruire i tuoi accessori fosse “accettabile”, si è rivelato piuttosto problematico e con vari problemi di compatibilità su diverse schede di Espressif.

Così ho deciso di portarlo come un componente di ESPHome, un software che già utilizzo per le esigenze dei miei dispositivi embedded.

Perché ESPHome? Non è “per la casa”?

Sono un po’ ossessionato dal mantenere i miei dispositivi IoT/Embedded il più aggiornati possibile (e, naturalmente, lontani da qualsiasi cloud se possibile), quindi ESPHome è una soluzione attraente per mantenere i tuoi dispositivi aggiornati con i framework di Arduino ed Espressif. Attraverso ESPHome, posso “aggiornare” il mio monopattino quando voglio.

Perché non è questo un componente ufficiale?

Ho provato! Ho aperto Add support for OpenHaystack #3584, e la sua documentazione di supporto, ma comprensibilmente non hanno voluto integrarlo.

Esempio di ESPHome - 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: <il-tuo-ssid-wifi>
  password: <la-tua-password-wifi>

# Abilitare i log
logger:

# Abilitare l'API di Home Assistant
api:

ota:
  password: !secret ota_password

openhaystack:
  # Qui va la chiave codificata in Base64 di OpenHaystack
  # Ti suggerisco vivamente di trattarla come un segreto
  key: !secret openhaystack_key

Esempio di ESPHome - 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
      # Abilitare il supporto WPA3 solo perché possiamo
      CONFIG_WPA_SUITE_B_192: y
      # Specifico per l'uso del Bluetooth
      CONFIG_BT_BLE_50_FEATURES_SUPPORTED: y
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      # Correzione dell'errore "Payload size error" - Estendere il tempo di attesa del Watchdog
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: '10'

wifi:
  ssid: <il-tuo-ssid-wifi>
  password: <la-tua-password-wifi>

# Abilitare i log
logger:

# Abilitare l'API di Home Assistant
api:

ota:
  password: !secret ota_password

openhaystack:
  # Qui va la chiave codificata in Base64 di OpenHaystack
  # Ti suggerisco vivamente di trattarla come un segreto
  key: !secret openhaystack_key
Contenuto tradotto da gpt-4-1106-preview

©2022-2024 Sebastián Barrenechea. Tutti i diritti riservati.

Costruito con Astro v4.16.13.