Senzor bleskov cjmcu AMS AS3935

www
Odpovědět
Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Tak ak sa niekto nenahnevá budem postupne asi upravovať prvý príspevok aby som vytvoril ucelenejší návod na tento senzor:

EDIT 2022:
nechce sa mi upravovať celý príspevok ale postnem tu link na vytvorenie senzoru v novej verzii v githube je tam všetko pekne popisane
https://github.com/tiimsvk/Esphome-Franklin-Lightining


Dnes bola menšia búrka a celkom ďaleko cca 25km od nás s množstvom bleskov a senzor ich aj pekne zaznamenal:

ZÁZNAM:
storm.jpg

ZARIADENIA A SÚČIASTKY:
- ESP8266 D1-MINI-PRO
- CJMCU AMS AS3935 https://www.aliexpress.com/item/3282911 ... 1802ahvNJh

Súčiastky kvôli rušeniu nakoľko senzor je veľmi citlivý!
- napájanie z power banky
- 5v solarny panel
- kábel pre senzor aspoň 1m od esp kvôli rušeniu
- 2x vodotesné krabičky (alebo skryt senzor niekde pod strechu


PRIPOJENIE:
SPI - VOLTAGE REGULATOR OFF

Kód: Vybrat vše

VCC		-	3V3
GND		-	GND
SCL		-	D5
MOSI		-	D7
MISO		-	D6
CS		-	D8
SI		-	GND
IRQ		-	D1
EN_V		-	NEPRIPOJENÉ
A0		-	NEPRIPOJENÉ
A1		-	NEPRIPOJENÉ
Skúšal som aj pripojenie do i2c ale vyhadzoval chyby v logu,

KÓD:

Kód: Vybrat vše

substitutions:
  friendly_name: ESP-Lightining
  device_name: esp-lightining
  device_description: "Lightining sensor CJMCU AMS AS3935 (https://www.homeassistant-cz.cz/viewtopic.php?f=56&t=379&p=3711#p3711), Deep Sleep and internal meteoalarm integrate"

esphome:
  name: esp-lightining

esp8266:
  board: d1_mini_pro

# Enable logging
logger:
# level: warn

mqtt:
  broker: '192.168.31.212'
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
#  discovery_retain: false
  birth_message:
    topic: $device_name/status
    payload: online
  will_message:
    topic: $device_name/status1
    payload: offline
  on_message:
##OTA UPDATE
#    - topic: $device_name/ota_mode
#      payload: 'ON'
#      then:
#        - deep_sleep.prevent: deep_sleep_component
#        - logger.log: "OTA blocking deep sleep"
#    - topic: $device_name/ota_mode
#      payload: 'OFF'
#      then:
#        - logger.log: "OTA finished run deep sleep"
#        - deep_sleep.allow: deep_sleep_component


#METEOALARM HASSIO SENSOR
    - topic: $device_name/meteoalarm_safe
      payload: 'OFF'
      then:
        - deep_sleep.prevent: deep_sleep_component
        - logger.log: "meteoalarm unsafe or ota"
    - topic: $device_name/meteoalarm_safe
      payload: 'ON'
      then:
        - logger.log: "meteoalarm safe or ota finished"
        - deep_sleep.allow: deep_sleep_component

deep_sleep:
  id: deep_sleep_component
  sleep_duration: 600s
  run_duration: 30s

ota:
  safe_mode: false

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.31.120
    gateway: 192.168.31.1
    subnet: 255.255.255.0
  fast_connect: True
  power_save_mode: high

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp-Lightining Fallback Hotspot"
    password: "passlightining"

captive_portal:

spi:
  clk_pin: GPIO14 #D5
  mosi_pin: GPIO13 #D7
  miso_pin: GPIO12 #D6
# Example configuration for SPI (decide for one!)
as3935_spi:
  cs_pin: GPIO15 #D8
  irq_pin: D1
  indoor: false
  noise_level: 2
  spike_rejection: 4      # Default 2
  lightning_threshold: 1
  mask_disturber: false
  div_ratio: 0
  capacitance: 5
  watchdog_threshold: 2
# Example lightning and energy sensor
sensor:

##BATTERY
  - platform: adc
    pin: A0
    name: "${friendly_name} Battery Voltage"
    accuracy_decimals: 3
    update_interval: 4s
    filters:
      - multiply: 16.75
      - median:
          window_size: 7
          send_every: 4
          send_first_at: 1
    icon: mdi:battery
    id: batlevel
    internal: true
    device_class: battery
    entity_category: diagnostic

  - platform: template
    name: "${friendly_name} Battery"
    unit_of_measurement: "%"
    accuracy_decimals: 0
    device_class: battery
    entity_category: diagnostic
    filters:
      - calibrate_linear:
          - 2.5 -> 0
          - 4.20 -> 100
      # No value lower than 0
      - lambda: 'return max((float)0.0, x);'
      # No value greater than 100
      - lambda: 'return min((float)100.0, x);'
    lambda: |-
      return (id(batlevel).state);
    update_interval: 20s
    icon: mdi:battery

##AS3935
  - platform: as3935
    lightning_energy:
      name: "${friendly_name} Lightning Energy"
      unit_of_measurement: "lightining"
      icon: mdi:lightning-bolt-outline
      accuracy_decimals: 0
      on_value:
        then:
          - number.increment: light_counter
    distance:
      name: "${friendly_name} Distance Storm"
      icon: mdi:access-point
      accuracy_decimals: 0
#daily counter
#  - platform: total_daily_energy
#    name: "${friendly_name} Lightning Daily"
#    power_id: light_counter_temp
#    icon: mdi:lightning-bolt-circle
#    filters:
#        # Multiplication factor from W to kW is 0.001
#      - multiply: 60
#counter
  - platform: template
    name: "${friendly_name} Lightning Counter"
    id: light_counter_temp
    lambda: |-
      return (id(light_counter).state);
    unit_of_measurement: "pcs"
    accuracy_decimals: 0
    icon: mdi:lightning-bolt-circle
#    internal: true
      
# Wifi signal 
  - platform: wifi_signal
    name: "${friendly_name} Signal"
#    update_interval: 10s

number:
  - platform: template
    name: "${friendly_name} Lightning Counter number"
    optimistic: true
    min_value: 0
    max_value: 1000
    step: 1
    id: light_counter
    internal: true

binary_sensor:
  - platform: as3935
    name: "${friendly_name} Storm Alert"
    icon: mdi:flash-alert-outline

switch:
##RESTART ESP
  - platform: restart
    name: "${friendly_name} Restart"

time:
  - platform: sntp
    id: esptime
    timezone: "Europe/Bratislava"
PREVEDENIE:
284509166_685761829170129_6562788780381834444_n.jpg
284399689_696218498330195_4402120954393625093_n.jpg
284347357_568426161460673_4975556405420244430_n.jpg

UMIESTNENIE:
Zatial som ho umiestnil vonku pod hojdačku kde je dostatočný signla wifi ale žiadne iné rušenie.
!Pozor! senzor je veľmi ale veľmi citlivý na rušenie akéhokoľvek mikročipového zariadenia preto najlepšie umiestniť vonku kde nie je v blízkosti apsoň 2m ine zariadenie.
Mne dokonca dáva celkom dobré hodnoty aj keď sme obklopený elektrickým vedením v dedine.

PLÁNY A TESTY:
- Plánujem skúsiť zapojiť pri najbližšej búrke esp z normálneho zdroja aby som nemusel riešiť batériu. (Zatial neskúšal)
Uvidím či bude dávať nejaké alebo dobré hodnoty.
- Solarne nabijanie funguje dobre 2x18650 3.7v s 5v solarnym panelom a zapnutym deepsleep.
- Ak nevíde ani druhy bod tak plán je zapojiť pomocou esp32 s deep sleep a zobudením na ďialku pomocou senzoru "meteoalaram" v ha, ktorý uvádza či budú blesky alebo nie a potom sa esp zapne. Vipne sa až vtedy keď meteoalaram nezaznamená žiadnu hrozbu. (Takto to mam zapojene a funguje)

Ak máte nejaké vylepšenia alebo rady sem s tým
Naposledy upravil(a) tiimsvk dne 08. únor 2023, 21:56, celkem upraveno 5 x.

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od Pete30 »

Kdysi dávno jsem o tomto senzoru přemýšlel, ale asi tě zklamu.
Po mnoha hledání jsem zjistil že ho nikdo nerozchodil a že je to jen udělátko které nefunguje korektně, tak jsem to vzdal.
Pokud se ti to povede, dej vědět třeba budeš první komu se to podařilo :P
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Tak skúšam skúšam a zatialžiaden výsledok. Problém je ale ten že mi nenajde i2c device. ćo veľmi zvláštne nakoľko mammam zapojene podľa datasheet. Dokonca aj s pull up resistorom 10kohm.
To je drahá vecička ktora nefunguje :D

Máte niekto sketch na arduino na esp8266 alebo 32 aby som to skúsil či to funguje vobec ?

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od Pete30 »

Tady je o tom celé vlákno na fóru en, jen pro zajímavost https://community.home-assistant.io/t/e ... lue/209621
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

To mam preštudovane od A po Z 🤣.
Neviem ako to funguje lebo na nete su aj tutorialy na arduino kde to funguje len su chabo popisane a arduino este nie je zatiaľ moja salka kávy.

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od Pete30 »

Ok zatím to nezavrhuj když už ho máš třeba někdo vytvoří alespoň vlastní komponentu která bude nějak fungovat pod ESPhome.
Jen zamrzí že to není zrovna nejlevnější senzor.
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Ešte to nezavrhujem hneď ako budem mať čas tak začnem zase skúšať čo sa dá z toho senzoru vyťiahnuť. Niekde na videu bolo vidno, že testovanie sa dá pomocou paralizera alebo niečoho veľmi silného generujúceho iskru.. Bolo ale aj vidno, že zapalovač nepostačoval na detekciu. Musim doma pozrieť čo by generovalo silné iskrenie.

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Aktualizácia:
Zatial bez úspechov :D
Ale skusim som podľa tohto projektu https://github.com/shred/kaminari či vôbec funguje tento modul,
A vo vysledkoch v log systéme zaznámenáva iskru zo zapalovača

Kód: Vybrat vše

	
lightnings	
0	
age	0
energy	2097151
distance	null
1	
age	1
energy	2097151
distance	null
2	
age	8
energy	2097151
distance	null
3	
age	33
energy	2097151
distance	null
To znamená že senzor funguje aspoň myslím. Teraz už len ako toto implementovať do home assistantu. Relativne aj ine zapojenie je ako uvádzaju oficialne navody.
Ak má niekto nejaký nápad sem s tým.
20220228_114254.jpg
ESPHOME
Tu mi stále vyskakuje problém s tým, že nevie detekovať i2c zariadenie. Ai by to chcelo lepši tutoriál návod možno aj aktualizácia knižníc priamo od oficialnej stránky.

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Aktualizacia po čase.
Vyskytli sa nam burky po dlhšom čase kludu tak ma to trochu nakoplo oprášiť sensor bleskov:

Pripojenie do esphome pomocou spi
Senzor môžem povedať že funguje aj keď ukazuje veľmi veľa falošných bleskov.
Ale pri udere skutočného blesku aj senzor ponukne nejaku hodnotu.
Senzor je veľmi veľmi a do tretice veľmi citlivý na akúkoľvek elektroniku dokonca aj polohu zvisla poloha je uplne neprijateľná. Napajanie mam z baterie a pripojene dočasne na nepajivom poli.
Planujem osadiť vonku v plastovej krabicke samostatne senzor a aspoň pol metra esp s bateriou.

Mate nejaky napad ako zapojiť tento senzor do esp-čka s čo najmenším rušením z napajania (mam namysli nejaky kondenzator alebo dačo ine čo pomôže)?

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 800
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Senzor bleskov cjmcu AMS AS3935

Příspěvek od tiimsvk »

Upravil som prvý príspevok aby z toho bol ucelený návod nakoľko dnes bola búrka a senzor v stave indoor: false fungoval skvelo

Odpovědět

Zpět na „ESPHome“