Auteur Topic: Het is gelukt, een clone van de lichtkrant FireCom.  (gelezen 194 keer)

GertS, Alwin, Jos Budel (en 1 gast) bekijken dit topic.

Offline PD7AC

  • Alarmerings functionaris
  • Gevorderd Lid
  • ***
  • Berichten: 484
    • PD7AC
Het is gelukt, een clone van de lichtkrant FireCom.
« Gepost op: Vandaag om 13:38:53 »
Hieronder dadelijk een lang verhaal, maar het is gelukt de lichtkrant te maken op basis van een ESP32 met leddisplay.

Uitleg:

# HD-WF2 Multi Meldingsscherm (lichtkrant op basis van FireCom scherm 😊) #

Dit project is opgebouwd rond een **Huidu HD-WF2 LED-controller** die oorspronkelijk bedoeld is om HUB75 LED-panelen aan te sturen met Huidu-software. In plaats van de standaard firmware is de controller omgebouwd tot een volledig programmeerbare **ESP32-S3 meldingscontroller**.
Als display wordt een **K716 128×64 32S V3.3 HUB75E LED-paneel** gebruikt. De HD-WF2 haalt automatisch meldingen op vanaf de eigen server van PD7AC en toont steeds de meest recente melding duidelijk op het LED-paneel.

## 1. Hardware
Voor het project zijn de volgende onderdelen gebruikt:
* Huidu **HD-WF2**
* ingebouwde **ESP32-S3**
* 8 MB flashgeheugen
* **K716 128×64 32S HUB75E** LED-paneel
* 5 V voeding
* UTS-T01 USB-naar-TTL programmeeradapter
* HUB75-kabel
* Windows-pc met Arduino IDE
De HD-WF2 beschikt over twee HUB75-aansluitingen. Voor dit project wordt **75EX1** gebruikt, omdat daarop ook de benodigde **E-lijn** beschikbaar is voor het 1/32-scan K716-paneel.
## 2. Originele firmware veiliggesteld
Voordat de controller opnieuw werd geprogrammeerd, is eerst de volledige originele Huidu-firmware uitgelezen.
De ESP32-S3 werd via de UTS-T01 aangesloten op:
* TX
* RX
* GND
* GPIO0
Door GPIO0 tijdens het inschakelen met GND te verbinden, werd de ESP32-S3 in downloadmodus gezet.
Met `esptool` is vervolgens gecontroleerd welke processor en flash aanwezig waren.
De controller werd herkend als:
* ESP32-S3
* dual-core
* Wi-Fi
* Bluetooth LE
* 8 MB flash
* 3,3 V flashspanning

Daarna is de volledige 8 MB flash opgeslagen als:
`HD-WF2-ORIGINAL.bin`
Hierdoor kan de originele HD-WF2-firmware altijd worden teruggezet.
## 3. Arduino IDE
Na de backup is de HD-WF2 vanuit Arduino IDE geprogrammeerd als:
**ESP32S3 Dev Module**
De eerste test bestond uit een klein programma dat iedere seconde een tekst via de seriële monitor verstuurde.
Toen deze test correct werkte, was bevestigd dat de HD-WF2 succesvol als gewone ESP32-S3 kon worden gebruikt.
## 4. K716 128×64 LED-paneel
Het gebruikte paneel is:
**K716-128x64-32S-V3.3**
Het paneel heeft:
* 128 pixels breed
* 64 pixels hoog
* HUB75E-aansluiting
* 1/32 scan
De ESP32 HUB75 DMA-library wordt gebruikt om het paneel rechtstreeks vanuit de ESP32-S3 aan te sturen.
Voor het K716-paneel bleek onder andere deze configuratie noodzakelijk:
`clkphase = false`
en als driverinstelling:
`ICN2038S`
## 5. RGB-volgorde aangepast
Tijdens de eerste kleurtest werden vier vlakken getoond:
* rood
* groen
* blauw
* wit
Het paneel gaf echter achtereenvolgens:
* blauw
* rood
* groen
* wit
Daaruit bleek dat de RGB-volgorde van het K716-paneel afweek van de standaard pinconfiguratie.
De pinmapping is daarom aangepast zodat de kleuren nu correct worden weergegeven.
## 6. HD-WF2 HUB75 pinmapping
Voor aansluiting **75EX1** wordt onder andere deze mapping gebruikt:
* R1 → GPIO 6
* G1 → GPIO 10
* B1 → GPIO 2
* R2 → GPIO 7
* G2 → GPIO 11
* B2 → GPIO 3
* A → GPIO 39
* B → GPIO 38
* C → GPIO 37
* D → GPIO 36
* E → GPIO 21
* LAT → GPIO 33
* OE → GPIO 35
* CLK → GPIO 34

Hiermee wordt het volledige 128×64-paneel rechtstreeks vanuit de ESP32-S3 aangestuurd.
## 7. Meldingen ophalen van de server
De HD-WF2 maakt via Wi-Fi verbinding met internet en leest de API elke 15 seconden. Dit is om serverdata te besparen. En ja wat is nu 15 seconden hè
Iedere bron wordt via HTTPS opgehaald.
De firmware leest uit ieder bestand de **laatste geldige melding**.
## 8. Opbouw van een melding
Een melding kan bijvoorbeeld zo in het tekstbestand staan:

`113388810:24:03 08-07-26 Ongeval wegvervoer letsel Kastanjelaan Eindhoven`

met daaronder:
`- Politie Persalarm -`
De software splitst deze regel automatisch op in:
* capcode
* tijd
* datum
* meldingstekst
Daarna worden alle bronnen met elkaar vergeleken.
De melding met de nieuwste datum en tijd wordt op het LED-paneel weergegeven.
## 9. Tekstfilters
Niet alle informatie uit de bronbestanden is nuttig op het display.
Daarom worden bepaalde teksten automatisch verwijderd.
De firmware filtert momenteel onder andere:
* `Rit:`
* `rit:`
* `RIT:`
* `- Politie Persalarm -`

Na het verwijderen worden dubbele spaties en losse streepjes automatisch opgeschoond.
Een oorspronkelijke melding zoals:
`Rit: Ongeval wegvervoer letsel Kastanjelaan Eindhoven - Politie Persalarm -`
wordt daardoor bijvoorbeeld:
`Ongeval wegvervoer letsel Kastanjelaan Eindhoven`
## 10. Statische meldingsweergave
In eerste instantie werd de melding als lichtkrant over het scherm gescrold.
Later is gekozen voor een duidelijkere weergave waarbij de **complete melding statisch zichtbaar blijft**.
De tekst wordt automatisch:
* over meerdere regels verdeeld;
* horizontaal gecentreerd;
* als compleet tekstblok verticaal gecentreerd.
Voor korte en normale meldingen wordt een groter **FreeSans-lettertype** gebruikt.
Hierdoor is de tekst beter leesbaar dan met het standaard kleine ESP32-lettertype.
Wanneer een melding te lang is om met het grote lettertype te passen, schakelt de firmware automatisch terug naar een kleiner lettertype.
Ook dan blijft de tekst gecentreerd.
## 11. Bronvermelding
Boven de melding wordt klein aangegeven uit welk bestand de melding afkomstig is.
Voorbeelden:
`22-101`
`22-132`
`DEURNE`
`POLITIE`
Daarnaast wordt ook de tijd van de melding weergegeven.
Een groene statusindicator betekent dat de HD-WF2 met Wi-Fi verbonden is.
Een rode indicator betekent dat de Wi-Fi-verbinding niet beschikbaar is.
## 12. Automatische kleuren
De kleur van de melding wordt automatisch bepaald.
Brandweer meldingen worden **rood** weergegeven.
### Politie capcode 1133888 ###
Wanneer de melding capcode: `1133888`heeft, wordt de melding **blauw** weergegeven.
### Overige meldingen
Alle andere meldingen worden **wit** weergegeven.
De prioriteit is:
1. Brandweer → rood
2. Politie → blauw
3. Ambulance / en overige bronnen → wit
Hierdoor valt een specifieke categorie meldingen direct op.
## 13. Standby na vijf minuten
Wanneer er gedurende **vijf minuten geen nieuwe melding** binnenkomt, gaat het display automatisch in een rustige standby-weergave.
Het scherm toont dan gecentreerd: **GEEN MELDINGEN** de helderheid wordt daarbij verlaagd.
Belangrijk is dat alleen de displayweergave in standby gaat.
De ESP32-S3 blijft:
* verbonden met Wi-Fi;
* de server controleren;
* alle tekstbestanden uitlezen.
Zodra in één van de bestanden een nieuwere melding verschijnt:
* wordt standby automatisch beëindigd;
* de normale helderheid wordt hersteld;
* de nieuwe melding verschijnt direct op het scherm.
## 14. Webinterface
De HD-WF2 heeft daarnaast een eenvoudige ingebouwde webserver.
De controller maakt een eigen Wi-Fi-accesspoint: `HD-WF2-****`
Via: `http://192.168.4.1`kan de webinterface worden geopend.
Daarin zijn onder andere zichtbaar:
* laatste melding;
* bron;
* Wi-Fi-status;
* HTTP-status;
* aantal uitgevoerde servercontroles;
* aantal nieuwe meldingen.
Ook kunnen enkele instellingen worden aangepast, zoals:
* helderheid;
* controle-interval.
Er is tevens een knop aanwezig om de server direct opnieuw te controleren.
## 15. Werking in het kort
De complete gegevensstroom is:
**Webserver**

**API aanroep**

**Wi-Fi / HTTPS**

**HD-WF2 met ESP32-S3**

**meldingen uitlezen en ontleden**

**nieuwste datum en tijd bepalen**

**onnodige tekst filteren**

**kleur bepalen**

**tekst automatisch verdelen en centreren**

**K716 128×64 HUB75 LED-paneel**

## 16. Eindresultaat

Het resultaat is een zelfstandig netwerkgestuurd meldingsscherm waarbij een standaard commerciële HD-WF2-controller is omgebouwd tot een eigen ESP32-S3 toepassing.
De HD-WF2 doet nu zelfstandig het volgende:
* maakt verbinding met Wi-Fi;
* controleert meerdere bestanden op de eigen webserver;
* selecteert de nieuwste melding;
* herkent de bron;
* filtert ongewenste informatie;
* past automatisch de tekstkleur aan;
* centreert de melding;
* kiest automatisch een geschikt lettertype;
* toont de melding statisch op een 128×64 RGB LED-paneel;
* gaat na vijf minuten zonder nieuwe melding in standby;
* wordt automatisch wakker bij een nieuwe melding.

Hierdoor is een compacte, volledig zelfstandige en op afstand gevoede **multi-bronnen meldingsmonitor** ontstaan op basis van de HD-WF2 en ESP32-S3.


Bron: https://nl.aliexpress.com/item/1005010323236647.html?spm=a2g0o.refund_spm.0.0.5f88575eRmeTTU&_gl=1*uyzdd2*_gcl_aw*R0NMLjE3ODY4NjU4MDIuQ2owS0NRand2NFhVQmhEQkFSSXNBRTZiUVVTWjRPOUJjUXFpM185cEw4TlkxYy12VExmajFYdkh4Smh2NGRvNm1qYU9uejZUSFducXRfTWFBaE1JRUFMd193Y0I.*_gcl_dc*R0NMLjE3ODY4NjU4MDIuQ2owS0NRand2NFhVQmhEQkFSSXNBRTZiUVVTWjRPOUJjUXFpM185cEw4TlkxYy12VExmajFYdkh4Smh2NGRvNm1qYU9uejZUSFducXRfTWFBaE1JRUFMd193Y0I.*_gcl_ag*Mi4xLmswQUFBQUJDbHZGVnJNX3JtSGdvMnZ2QXowZ3RiTVNmYkNzJGkxNzg2NTE5Mzk4*_gcl_au*MTM0NDQ3MTU4Ni4xNzg2Mzg5MjQx*_ga*MTIxMTE1ODkzMi4xNzg2Mzg5MjQy*_ga_VED1YSGNC7*czE3ODY4ODI2NTEkbzgkZzEkdDE3ODY4ODI3MjAkajU0JGwwJGgw&gatewayAdapt=glo2nld

Afbeeldingen:





Offline woestric

  • Beginnend Lid
  • **
  • Berichten: 79
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #1 Gepost op: Vandaag om 15:53:00 »
Goed bezig Theo met al die DIY projecten. Netjes weer.

Offline 7243

  • Gevorderd Lid
  • ***
  • Berichten: 472
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #2 Gepost op: Vandaag om 16:04:16 »
Netjes, ik heb ook al eens zo'n schermpje willen bestellen voor andere projectjes.
Hoe is de leesbaarheid in daglicht/zon ?

Offline PD7AC

  • Alarmerings functionaris
  • Gevorderd Lid
  • ***
  • Berichten: 484
    • PD7AC
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #3 Gepost op: Vandaag om 16:13:59 »
Netjes, ik heb ook al eens zo'n schermpje willen bestellen voor andere projectjes.
Hoe is de leesbaarheid in daglicht/zon ?

Helderheid is met je telefoon in te stellen via IP adres.

Offline www.SemafoonWinkel.nl

  • Top Lid
  • ****
  • Berichten: 3978
    • http://www.SemafoonWinkel.nl
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #4 Gepost op: Vandaag om 16:33:55 »
Gaaf !
Ik was ook al bezig met een Raspberry voor zelfde idee.
Probleem is een goede API.
FC Gebruikt die van brandweerrooster.
Ik zocht nog een goede API, maar kon niks vinden. Daarom standalone ontvanger.
Beetje mee verder knutselen nog.

Netjes gedaan Theo.

Offline PD7AC

  • Alarmerings functionaris
  • Gevorderd Lid
  • ***
  • Berichten: 484
    • PD7AC
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #5 Gepost op: Vandaag om 16:57:43 »
Gaaf !
Ik was ook al bezig met een Raspberry voor zelfde idee.
Probleem is een goede API.
FC Gebruikt die van brandweerrooster.
Ik zocht nog een goede API, maar kon niks vinden. Daarom standalone ontvanger.
Beetje mee verder knutselen nog.

Netjes gedaan Theo.

Dank je, en ik heb me ook verdiept in Brandweerrooster, echter laat deze alleen mijn eigen post zien als ik de API aanroep. Dus ja voor je eigen lichtkrant is het leuk, maar ja heb ook een pager dus dat is dubbel op. Zag wel een betaalde API die alles laat zien, en je kan dan je eigen filter (Python) erop zetten. Heb de 7 dagen deze API getest maar ja heb dan alleen geen eigen controle.
Het werkt wel trouwens, maar om 25 euro permaad hier voor neer te leggen vindt ik te veel.
Daarvoor mijn eigen data api en de server is een NUC, low energie en heb toch zonnenpanelen :-)

Offline MCS2000

  • Gevorderd Lid
  • ***
  • Berichten: 252
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #6 Gepost op: Vandaag om 20:42:09 »
Ziet er goed uit Theo!
Groeten, Martijn

Offline www.SemafoonWinkel.nl

  • Top Lid
  • ****
  • Berichten: 3978
    • http://www.SemafoonWinkel.nl
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #7 Gepost op: Vandaag om 20:59:12 »
Hoi Theo,
Ik had exact hetzelfde.
Ook via BRWRooster, maar alleen eigen regio (tenzij we gekoppeld worden, dan ook andere regio erbij).
De betaalde API werkte erg goed, maar voor het leuke ernaast/hobby i.d.d. te veel geld.
Kon geen andere API's vinden die nog betrouwbaar werken.
Nu op een PI gedaan met L2 modem en scanner. Wordt nog vervangen door een RTL Stick.
Voordeel van de PI is wel de 2x HDMI-out. Maar afleesbaarheid LED is wel erg goed.
ESP32 Is nog nieuw voor me, leuk project voor van de winter denk ik.
Mooi werk wat je hebt gedaan !

Offline PD7AC

  • Alarmerings functionaris
  • Gevorderd Lid
  • ***
  • Berichten: 484
    • PD7AC
Re: Het is gelukt, een clone van de lichtkrant FireCom.
« Reactie #8 Gepost op: Vandaag om 21:25:15 »
Nog wat kleine aanpassingen gedaan, gewoon omdat het kan.