Acties:
  • 0 Henk 'm!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Ik heb een projectje (esp8266, wemos d1 mini V2 , CH340G ) omgezet vanuit Arduino IDE naar VSC+platformio.
Alles werkt, maar vreemd genoeg kan ik met platformio niet de upload speed gebruiken die ik in de Arduino IDE gebruik(921600 baud).
Als ik in platformio 460800 als baudrate zet, werkt het wel.
De foutmelding is:
code:
1
A fatal error occurred: Invalid head of packet (0x01)

Op zich niet zo'n probleem, zo groot is de code niet, maar ik snap niet waaron 8)7
Iemand enig idee?

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Acties:
  • +1 Henk 'm!

  • RoadXY
  • Registratie: September 2005
  • Laatst online: 17-09 16:17
RudolfR schreef op vrijdag 31 december 2021 @ 12:43:
@Nickhubers1988

De suggestie van hierboven lijkt me wel de oplossing.
De getter verwacht een out-parameter van het type uint32_t& om het resultaat in te zetten, die moet je bij de aanroep wel declareren en meegeven.


Ik wil graag m'n Shelly 2.5 OTA van ESPHome voorzien, volgens deze guide, maar dat lukt niet.
Ik heb met succes Tasmota geïnstalleerd, maar ik krijg nu mijn ESPHome image er niet overheen.
(Ook niet na SetOption78 1)

Ik krijg dat er te weinig ruimte beschikbaar is.
Ook tasmota-minimal.bin past niet.
Iemand nog tips?

code:
1
2
3
4
5
6
7
ESP Chip Id 7013188 (ESP8266EX)
Flash Chip Id   0x15701C
Flash Size  2048 kB
Program Flash Size  1024 kB
Program Size    616 kB
Free Program Space  384 kB
Free Memory 26.5 kB


Edit: Kennelijk kun je ook de .gz-file uploaden, dan past het wel.
Ik heb een oudere minimaal versie geïnstalleerd en daarna de ESPHome bin-file als firmware update via de web interface geïnstalleerd

Acties:
  • 0 Henk 'm!

  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Ik heb hier 3 identieke ESP32's liggen
Afbeeldingslocatie: https://i.ebayimg.com/images/g/rVIAAOSwR0dcRocF/s-l1600.jpg

2 van de 3 kon ik, na IO0 met GND te hebben verbonden, flashen, de 3e wil niet meewerken. Esptool zegt telkens "A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header" na een tijdje proberen te verbinden.

Open ik de Arduino IDE terminal, terwijl IO0 aan GND hangt, dan krijg ik (na een reset) dit te zien:
code:
1
2
3
4
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

Dat lijkt mij de te verwachten output, als ik de verbinding tussen IO0 en GND weghaal, verloopt het bootproces normaal, met de firmware die er al op zit.

Ik heb de COM-poortnummer meerdere keren gechecked, verschillende baudrates geprobeerd, andere USB poorten, maar esptool blijft bij de 3e identieke ESP32 moeilijk doen.

Weet iemand wat dit zou kunnen zijn? :?

edit: Zelfde met FTDI kabel aan Rx/Tx/GND, USB chip daarmee uitgesloten, nieuwe(re) esptool versie geeft "No serial data received" terwijl de serial monitor van de Arduino IDE gewoon data oppikt, met multimeter gecheckt of de Rx pin van de ESP chip met header verbonden is (check) ..... ik heb geen ideeën meer :/

[ Voor 13% gewijzigd door Raven op 03-01-2022 15:05 ]

After the first glass you see things as you wish they were. After the second you see things as they are not. Finally you see things as they really are, and that is the most horrible thing in the world...

Oscar Wilde


Acties:
  • 0 Henk 'm!

  • 19roland70
  • Registratie: Augustus 2013
  • Laatst online: 17-09 21:22
Is het mogelijk om met een esp xxxx een Zigbee netwerk te maken wat werkt zoals Philips Hue?
Ik heb op internet voorbeelden gevonden waarbij een esp gekoppeld wordt met een Hue bridge en ook bediend kan worden , alleen wordt hier niet gesproken op een netwerk wat elkaar verlengt.

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 11:43
19roland70 schreef op donderdag 6 januari 2022 @ 22:29:
Is het mogelijk om met een esp xxxx een Zigbee netwerk te maken wat werkt zoals Philips Hue?
Ik heb op internet voorbeelden gevonden waarbij een esp gekoppeld wordt met een Hue bridge en ook bediend kan worden , alleen wordt hier niet gesproken op een netwerk wat elkaar verlengt.
Er is een Zigbee variant van de ESP32 aangekondigd, maar die heeft dan weer geen wifi. Maar elke Zigbee chip zal waarschijnlijk een seriële interface naar de buitenwereld hebben dus je zou wel een Zigbee chip aan een ESP moeten kunnen knopen via die weg.

Maar houdt er dan wel rekening mee dat Zigbee 2,4GHz gebruikt en de ESPs IIRC ook alleen 2,4GHz wifi ondersteunen. Dus kans op storing/interferentie is best groot.

Acties:
  • 0 Henk 'm!

  • kroonen
  • Registratie: Augustus 2008
  • Laatst online: 18-09 21:06
Hoi,

Ik wil voor mijn project op de ESP32, graag ipv6 ook geconfigureerd hebben, en dan vooral ipv6 Slaac.

Nu zie ik wel dat het zou moeten kunnen, maar dan moet je wel de esp-idf zelf compilen?

https://docs.espressif.co...fig.html#config-lwip-ipv6

Iemand ervaring hoe je dat het beste kunt doen, eventueel kan het ook zie ik via docker, maar als hij klaar met compilen is, hoe zorg ik dat hij dan gekoppeld wordt aan de arduino ide?

Acties:
  • 0 Henk 'm!

  • hneel
  • Registratie: Maart 2001
  • Laatst online: 11:52

hneel

denkt er het zijne van

Heeft er eigenlijk al eens iemand hier iets gedaan met .Net nanoFramework?
Als ik op dit forum zoek op "nanoFramework" vind ik helemaal niets...

Acties:
  • 0 Henk 'm!

  • Yoki1985
  • Registratie: Augustus 2007
  • Laatst online: 08:07
Ik weet niet of dit het juiste topic is maar ik heb mijn esphome dashboard via docker draaien. Als ik daar draadloos connectie wil maken met mijn ESP dan krijg ik de volgende error te zien:

Afbeeldingslocatie: https://tweakers.net/i/TsAmsmKAWfWBK-Oaeftfi-oulT0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/ujs6NRQZ0Iz6pXAC7Pu3y6pC.png?f=user_large

Ik heb gevonden dat het probleem opgelost zou zijn met het volgende commando:

code:
1
2
sudo sysctl -w net.ipv4.igmp_max_memberships=50
sudo sysctl -w net.ipv4.igmp_max_msf=30


Echter is dit blijkbaar niet mogelijk in een docker. Iemand een idee?

Bump: Niemand een idee om mij in de goede richting te wijzen?

[ Voor 5% gewijzigd door Yoki1985 op 24-01-2022 14:09 ]


  • Flappie
  • Registratie: Februari 2001
  • Nu online
Even een vraagje aan de ESP specialisten onder ons.

Ik wil met een ESP bordje mijn radiator booster aansturen middels PWM.
Ik heb nog geen ESP bordje. Mijn huidige 15 x Arctic P14 PWM PST stuur ik aan met een simpel PWM bordje met een potmeter. Maar daarop moet ik dus met de schroevendraaier 1 vaste stand instellen.

Ik heb diverse zaken gelezen over een ESP32 bordje (een ESP8266 zou niet goed genoeg zijn ivm frequentie van het PWM signaal). Ik zie vaak de IRF520 mosfet voorbijkomen als oplossing om fans dan met PWM aan te sturen. Maar die IRF520 is dan eigenlijk weer niet zo geschikt voor 3.3v van de ESP.
Wellicht dat dat met 1 fan wel werkt, maar ik heb er 15.

Kan ik gewoon zo'n IRF520 bordje kopen en de mosfet simpelweg vervangen door een IRLZ44N (Heb gelezen dat deze beter werkt icm de 3.3v van de ESP).

Aangezien ik PWM fans gebruik... is er eventueel nog een andere oplossing zonder mosfet?
Volgens mij blijven de fans sowieso draaien op de laagste stand, dus uitzetten met PWM is volgens mij niet mogelijk.

En wat is het meest geschikt ESP32 bordje hiervoor? Ik zie zo veel soorten, merken en types, dat ik twijfel van nu de juiste is. Ik wil er ESPEasy opdraaien waarbij ik dan de PWM via URL kan aansturen vanuit Domoticz.

Graag even wat adviezen :)

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@Flappie Sterker nog, de IRF520 is ook niet geschikt voor 5V :) Alleen onder lichte load.

Maar goed, wil je ze aansturen via de PWM pin op de 4-pin connector? Want dan hoef je eigenlijk geen stroom te schakelen, dan is de transistor er alleen voor de spanninsvertaling. BC547 + weerstandjes kan dat ook prima. Maar schijnbaar wordt 3v3 ook wel direct gebruikt voor het PWM signaal.

Verder maakt het dus niet zo veel uit wat je pakt. Al die complete bordjes hebben vaak alleen wat extra's. Bijvoorbeeld batterij manegment of een schermpje. Maar als je alleen wilt sturen is elke standaard module prima.

Acties:
  • 0 Henk 'm!

  • tsjoender
  • Registratie: April 2005
  • Laatst online: 11:27
Flappie schreef op donderdag 17 februari 2022 @ 19:24:
Even een vraagje aan de ESP specialisten onder ons.

Ik wil met een ESP bordje mijn radiator booster aansturen middels PWM.
Ik heb nog geen ESP bordje. Mijn huidige 15 x Arctic P14 PWM PST stuur ik aan met een simpel PWM bordje met een potmeter. Maar daarop moet ik dus met de schroevendraaier 1 vaste stand instellen.

Ik heb diverse zaken gelezen over een ESP32 bordje (een ESP8266 zou niet goed genoeg zijn ivm frequentie van het PWM signaal). Ik zie vaak de IRF520 mosfet voorbijkomen als oplossing om fans dan met PWM aan te sturen. Maar die IRF520 is dan eigenlijk weer niet zo geschikt voor 3.3v van de ESP.
Wellicht dat dat met 1 fan wel werkt, maar ik heb er 15.

Kan ik gewoon zo'n IRF520 bordje kopen en de mosfet simpelweg vervangen door een IRLZ44N (Heb gelezen dat deze beter werkt icm de 3.3v van de ESP).

Aangezien ik PWM fans gebruik... is er eventueel nog een andere oplossing zonder mosfet?
Volgens mij blijven de fans sowieso draaien op de laagste stand, dus uitzetten met PWM is volgens mij niet mogelijk.

En wat is het meest geschikt ESP32 bordje hiervoor? Ik zie zo veel soorten, merken en types, dat ik twijfel van nu de juiste is. Ik wil er ESPEasy opdraaien waarbij ik dan de PWM via URL kan aansturen vanuit Domoticz.

Graag even wat adviezen :)
Ik heb een poosje terug een radiator booster gebouwd "on the cheap" met 5 80mm twee draads 12V fans uit oude PCs en voedingen waarbij een ESP01 en een IRLZ44N mosfet de fans aanstuurt (ESPeasy die twee DS18B20 sensoren uitleest en dan rules die de fans aan/uit zetten).

Op zich werkt het wel, maar een 1000uF elco was wel nodig om bij de lagere snelheden gepiep te voorkomen die uit de fans kwamen. Verder viel het me tegen hoever ik de fans terug kon regelen. Het lijkt niet zo lineair te zijn. Dus PWM 512 is niet vergelijkbaar met de fans op 6V draaien. Pas bij PWM 70 of zo leek dat qua geluid een beetje in de buurt van 7-8V te komen en lager kon ik dan niet echt gaan want dan wilden de fans niet meer draaien (ook niet als ik ze even een "zetje" gaf met eerst kort PWM 512 of zo). Met een buck down converter van 12V 6V maken bleek een betere oplossing voor mij dan waren de fans stiller en draaiden ze prima (met een even aantal fans zou ik er ook setjes van twee in serie kunnen doen op 12V). Op 5V draaien ze ook goed, maar dan is de airflow wel erg beperkt.

Voor nu heb ik de buck down converter op 6,5V afgesteld. Daarmee lijk ik een goede balans te hebben gevonden voor weinig geluid en redelijke airflow. Vergeleken met 120/140mm fans is de geluidsproductie nog redelijk hoog, maar dit alles kon ik zo bouwen met bestaand materiaal wat ik had liggen en daarmee was het een leuk experiment waarbij ik zelf niet direct de behoefte voel om het nog eens over te doen met betere materialen.

edit:
Verkeerde eenheid aangepast van nF naar uF

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@tsjoender Op welke frequentie had je de PWM lopen? En die condensator had je parallel aan de fans? 1000nF aka 1uF?

Acties:
  • 0 Henk 'm!

  • tsjoender
  • Registratie: April 2005
  • Laatst online: 11:27
Septillion schreef op vrijdag 18 februari 2022 @ 08:59:
@tsjoender Op welke frequentie had je de PWM lopen? En die condensator had je parallel aan de fans? 1000nF aka 1uF?
Die elco was inderdaad parallel aan de fans. Geen idee welke PWM frequentie gebruikt wordt. Het zit op GPIO 0 van de ESP01 en ESPeasy laat ik die pin aansturen met het PWM,0,<waarde> commando.

Die 1000nF was een fout van mij. Dat moet micro farad (uF) zijn.

Acties:
  • 0 Henk 'm!

  • Flappie
  • Registratie: Februari 2001
  • Nu online
Mijn Arctic P14 fans zijn inderdaad 4 pins, dus met PWM.
Echter op de laagste mogelijke stand zijn ze nog steeds aan en stoppen dus niet met draaien.

Vandaar mijn idee voor het IRF520 mosfet bordje en de mosfet dan vervangen door een IRLZ44N. Dan heb ik alles mooi op een printje.

Dat het niet helemaal 100% traploos regelbaar is vind ik niet een zo erg. Als ik bijv via de webinterface van ESPEasy kan schakelen tussen bijv. 6 standen is het prima.

Dus de vraag: is het mogelijk om een standaard IRF520 bordje te kopen en de mosfet te vervangen door een IRLZ44N. En werkt dit dan?

Bedoel dus dit bordje:Afbeeldingslocatie: https://tweakers.net/i/Uvx9vZ-RauEBwAADbnu7qpqd8Eo=/800x/filters:strip_icc():strip_exif()/f/image/CnJKZCwKJRkxo6RlleDGIJNB.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@Flappie Probeer nu eerst eens de PWM gewoon met 3v3. En anders voldoet een simpele BC547 of elke andere jelly bean NPN al. En dan naar 5V. IRF520 of IRLZ44N zijn alleen nodig als je juist geen 4-pins fans hebt.

Acties:
  • 0 Henk 'm!

  • Flappie
  • Registratie: Februari 2001
  • Nu online
Ja, maar hoe schakel ik ze dan volledig uit? Op de laagste duty cycle blijven ze nog heel iets draaien.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@Flappie Ah, zo :) Ik had niet begrepen dat je dat ook werkelijk wilde doen. Dan heb je inderdaad nog een mosfet nodig. Maar goed, hoef je geen hele module voor te kopen. Enige wat je extra nodig hebt is een pull down op de gate. De IRLZ44N is wel een goede keuze verder.

Acties:
  • +1 Henk 'm!

  • JBS
  • Registratie: Januari 2004
  • Niet online

JBS

Na meerdere Wemos D1 Mini's en ESP32's te hebben voorzien van ESPHome, heb ik weer eens een SSD1306 OLED scherpje uit de la gehaald om deze aan een projectje toe te voegen.
Ik merk echter op dat wanneer ik dit schermpje (via I²C) aansluit, de ESP niet wil verbinden met WiFi:
[15:20:44][W][wifi_esp8266:482]: Event: Disconnected ssid='xxx' bssid=xxx reason='Auth Expired'
Trek ik het OLED schermpje los, dan gaat het verbinden met WiFi zonder problemen.
Verbinden met WiFi gaat ook goed als ik de I²C en OLED config uit de ESPHome YAML haal (en nieuwe firmware compile en flash uiteraard).

Herkent iemand dit issue?

\\Edit: De oplossing: https://github.com/esphom...20#issuecomment-803429566

[ Voor 17% gewijzigd door JBS op 20-02-2022 18:57 ]


Acties:
  • 0 Henk 'm!

  • azerty
  • Registratie: Maart 2009
  • Laatst online: 08:38
Herken het issue wel, maar bij mij werd het getriggerd door het aanleggen van MQTT.

Voor zover ik kon vinden was het een probleem met een slecht geshielde chip die storingen kreeg bij bepaalde zaken, en dan dus niet meer met de wifi wou verbinden.

Edit: https://github.com/esphome/issues/issues/952

[ Voor 9% gewijzigd door azerty op 20-02-2022 19:05 ]


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Zucht programmeer je bijna 35 jaar, maak je nog dit soort denk fouten.

zoek de fout:

code:
1
2
3
4
5
uint8_t percentage;
percentage = map(bat_voltage, empty_bat_volt, full_bat_volt, 0, 100);
//om geen negative en percentages groter dan 100 af te vangen: 
if (percentage <0) {percentage = 0;}
if (percentage >100) {percentage = 100;}

All electric components run on smoke. If you let the smoke out, they won't work anymore.

@SnowDude Ik zie alleen overbodige code? :P

- knip -


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
Dat klopt, maar het duurde even voordat ik doorhad waarom het percentage naar 100% ging bij een erg lage batterij spanning.

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
SnowDude schreef op donderdag 24 februari 2022 @ 15:26:
Zucht programmeer je bijna 35 jaar, maak je nog dit soort denk fouten.

zoek de fout:

code:
1
2
3
4
5
uint8_t percentage;
percentage = map(bat_voltage, empty_bat_volt, full_bat_volt, 0, 100);
//om geen negative en percentages groter dan 100 af te vangen: 
if (percentage <0) {percentage = 0;}
if (percentage >100) {percentage = 100;}
Misschien bedoel je dat ook, maar het checken dat een waarde lager is dan 0 bij unsigned is raar...

Sinds de 2 dagen regel reageer ik hier niet meer


  • SnowDude
  • Registratie: Januari 2002
  • Laatst online: 13-09 18:52
CurlyMo schreef op donderdag 24 februari 2022 @ 15:43:
[...]

Misschien bedoel je dat ook, maar het checken dat een waarde lager is dan 0 bij unsigned is raar...
Dat gaat ook mis, het is een unsigned int inderdaad dus -1 wordt 255 en dat wordt een regel later afgerond op 100

All electric components run on smoke. If you let the smoke out, they won't work anymore.


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Als een waarde lager dan 0 (en ook hoger dan 100) een optie is bij de huidige parameters van map, dan is op de eerste plaats die functie al crap. Dan zou ik de hele functie al niet eens meer willen gebruiken.

[ Voor 5% gewijzigd door CurlyMo op 24-02-2022 16:40 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!

  • Tim_bots
  • Registratie: April 2004
  • Laatst online: 20-08 08:10
CurlyMo schreef op donderdag 24 februari 2022 @ 15:45:
Als een waarde lager dan 0 (en ook hoger dan 100) een optie is bij de huidige parameters van map, dan is op de eerste plaats die functie al crap. Dan zou ik de hele functie al niet eens meer willen gebruiken.
Waarom is dat? Nu hebben alle functies 1 actie en geen "side effects".

In mijn opinie is deze implementatie van map zo juist correct. Voor het limiteren van de range heb je constrain.

Anders zou de functie MapAndConstrain (ofzo) moeten worden genoemd.

Alvast hartelijk bedankt voor al jullie hulp en reacties, Tim Bots


Acties:
  • +2 Henk 'm!

  • Copitano
  • Registratie: Februari 2018
  • Laatst online: 17-09 00:04

Copitano

Hoorn NH

@andru123 Inmiddels de boel een beetje omgebouwd.
Afbeeldingslocatie: https://tweakers.net/i/cJikDEA5tGMWGAocxbKuHpe6OL4=/x800/filters:strip_icc():strip_exif()/f/image/8qXuU2bqRyGiN2TF1WlY7dAL.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/iV9CVbPHUE9DTRrOXjegO17pzMA=/800x/filters:strip_icc():strip_exif()/f/image/5yF78CjND3Gen5EJjLBWnKHa.jpg?f=fotoalbum_large
Krijg alleen nog niet lekker een algoritme om Lux om te zetten naar kWh/m². De verschillen van de TSL zijn dagelijks nogal groot als ik die vergelijk met de echte pyranometer die er nu hangt. Waarschijnlijk is dat voor een deel te verklaren uit reflecties in het glas.

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp


Acties:
  • 0 Henk 'm!

  • andru123
  • Registratie: Februari 2004
  • Laatst online: 18-09 22:41
Waar in deze constructie zit lichtsensoor?
(Hoe ga je dit schoonmaken..)

Acties:
  • +1 Henk 'm!

  • Copitano
  • Registratie: Februari 2018
  • Laatst online: 17-09 00:04

Copitano

Hoorn NH

andru123 schreef op zondag 27 februari 2022 @ 06:53:
Waar in deze constructie zit lichtsensoor?
(Hoe ga je dit schoonmaken..)
Afbeeldingslocatie: https://tweakers.net/i/FgtmP3QmV5fd5omaBT3YnL_2Yo0=/x800/filters:strip_icc():strip_exif()/f/image/68fEXoDkfW9j9W8vmeEm0npv.jpg?f=fotoalbum_large
Ik kan daar met een lader vanaf een strook platdak goed bij komen, maar schoonmaken is tot nu toe nog niet nog geweest. Spoelt goed schoon door de regen :+
Ik ga nog een versie maken met twee lichtsensors er in, maar dan met een vlakke doorzichtige bovenkant om reflecties zoveel mogelijk uit te sluiten. Daar haal ik dan met een script in domoticz het gemiddelde van binnen. Dat ga ik dan weer in lijn proberen te krijgen met de echte pyranometer die er nu naast hangt.

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp


Acties:
  • 0 Henk 'm!

  • andru123
  • Registratie: Februari 2004
  • Laatst online: 18-09 22:41
Mischien op die andere meter zit een lens, die van de zijkanten meer licht pakt?

Acties:
  • 0 Henk 'm!

  • jantje888
  • Registratie: Oktober 2017
  • Laatst online: 13-09 21:51
Met wat voor 'kabels' soldeer het beste sensoren aan een ESP? Knip ik simpelweg de connectors van een dupont kabel, strip ik het plastic en soldeer ik beide kanten vast?

Acties:
  • +1 Henk 'm!
@jantje888 Als je fatsoenlijke kwaliteit Dupont kabels hebt dan is dat een optie maar tegelijk ook een beetje zonde. Superdunne aluminium Duponts zijn lastig heel te houden.

Stuurkabel (0.14mm2 eventueel meeraderig, flexibel koper) is wat je waarschijnlijk zoekt. Denk aan een kleine 10 euro voor 10 meter 4 aders.

Wil je recyclen dan is een (koperen) patchkabel met kapotte connector natuurlijk een heel mooi alternatief. Netwerkkabel met de opdruk 26 AWG komt overeen met 0.14mm2, 24 AWG is dikker.

- knip -


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
jantje888 schreef op zondag 6 maart 2022 @ 19:29:
Met wat voor 'kabels' soldeer het beste sensoren aan een ESP? Knip ik simpelweg de connectors van een dupont kabel, strip ik het plastic en soldeer ik beide kanten vast?
Ik gebruik wel eens microphone of signaal kabel. Mooi afgeschermd ook.

Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 09:10
Ik probeer m'n IKEA vindriktning uit te breiden met epshome, maar al het compileren faalt.
Ook bestaande projecten geven deze fout, iets aan mijn omgeving omgevallen?
ESPHome draait als add-on onder Home Assistant.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
INFO Reading configuration /config/esphome/vindriktning.yaml...
INFO Generating C++ source...
INFO Core config or version changed, cleaning build files...
INFO Deleting /data/vindriktning/.pioenvs
INFO Deleting /data/vindriktning/.piolibdeps
INFO Compiling app...
Processing vindriktning (board: d1_mini; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Library Manager: Installing ESP8266WiFi
Library Manager: Installing ESP8266mDNS
No dependencies
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/api_connection.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/api_server.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/list_entities.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/proto.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/user_services.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/api/util.cpp.o
Compiling /data/vindriktning/.pioenvs/vindriktning/src/esphome/components/esp8266/core.cpp.o
In file included from /data/cache/platformio/packages/framework-arduinoespressif8266/cores/esp8266/Esp.h:26,
                 from /data/cache/platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:289,
                 from src/esphome/components/esp8266/core.cpp:6:
/data/cache/platformio/packages/framework-arduinoespressif8266/cores/esp8266/spi_vendors.h:32:10: fatal error: ../../bootloaders/eboot/spi_vendors.h: No such file or directory
   32 | #include <../../bootloaders/eboot/spi_vendors.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [/data/vindriktning/.pioenvs/vindriktning/src/esphome/components/esp8266/core.cpp.o] Error 1
========================= [FAILED] Took 36.71 seconds =========================


YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
esphome:
  name: vindriktning

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: none

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Vindriktning Fallback Hotspot"
    password: "IEdsgfeESFEzS"

# Ikea Vindriktning PM2.5 sensor
uart:
  rx_pin: D2
  baud_rate: 9600

sensor:
  - platform: pm1006
    pm_2_5:
      name: "Ikea Vindriktning PM25"
      filters:
        - sliding_window_moving_average:
            window_size: 10
            send_every: 10


SPI-library expliciet toevoegen heeft geen effect.

Acties:
  • 0 Henk 'm!

  • Emiel1984
  • Registratie: Maart 2005
  • Laatst online: 18-09 22:12

Emiel1984

Made in NL

RudolfR schreef op dinsdag 8 maart 2022 @ 17:20:
Ik probeer m'n IKEA vindriktning uit te breiden met epshome, maar al het compileren faalt.
Ook bestaande projecten geven deze fout, iets aan mijn omgeving omgevallen?
fatal error: ../../bootloaders/eboot/spi_vendors.h: No such file or directory


Blijkbaar mis je een file volgens de foutmelding. ;)

[LTS][MTS][HTS]


Acties:
  • +1 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 09:10
@Emiel1984

Bedankt, de add-on opnieuw installeren hielp.
(meteen uit de nieuwe add-on repo, maar dat terzijde)

Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 09:50

Gizz

Dunder-Mifflin, Inc.

jantje888 schreef op zondag 6 maart 2022 @ 19:29:
Met wat voor 'kabels' soldeer het beste sensoren aan een ESP? Knip ik simpelweg de connectors van een dupont kabel, strip ik het plastic en soldeer ik beide kanten vast?
Op aanraden van Andreas Spiess heb ik een keer 50 meter siliconendraad gekocht in een handig doosje. Fijn spul om mee te werken en ik heb voor de komende 10 jaar voldoende draad :P

Overigens probeer ik juist zoveel mogelijk wél met pinheaders en dupont-kabeltjes te werken. Ik maak ook zelf dupont-kabels van deze siliconenkabeltjes.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!
@Gizz Je eigen fatsoenlijke kabels krimpen kan natuurlijk voordelen hebben. De 30 AWG uit de video vind ik dan wel écht te dun, daar kan je op het randje een ESP mee voeden.

Zodra het bij mij 'ready to use' is en een PCBtje te veel moeite (of gewoon onzinnig) is soldeer ik alles permanent vast.

- knip -


Acties:
  • 0 Henk 'm!

  • Voggy
  • Registratie: Oktober 2011
  • Laatst online: 06:29
Ik wil een aantal sensoren maken met ESPHome en heb een Wemos D1 mini gekocht om wat te experimenteren. Ik heb een aantal tutorials gevolgd maar ik kom er niet uit. De code uploaden gaat prima, mijn sensoren worden zichtbaar in Home Assistant. Echter wanneer ik mijn ledje wil aansturen gebeurt er helemaal niets.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
esphome:
  name: esphome-web-1af8c4
  platform: ESP8266
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-1Af8C4"
    password: "grxsoymO3Wb2"

captive_portal:

#LED test
output:
  - platform: gpio
    id: "led"
    pin: D3
    
light:
  - platform: binary
    output: "led"
    name: "LED"


Wat doe ik fout? Dit zou toch niet zo moeilijk moeten zijn!

Acties:
  • 0 Henk 'm!

  • Copitano
  • Registratie: Februari 2018
  • Laatst online: 17-09 00:04

Copitano

Hoorn NH

andru123 schreef op zondag 27 februari 2022 @ 19:31:
Mischien op die andere meter zit een lens, die van de zijkanten meer licht pakt?
Zie je reactie nu pas. Zou kunnen, maar geeft ook een te hoge Watt/m² waarde. Daar ga ik binnenkort onderbouwd over in discussie met de fabriekant.

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik ben geloof ik een klein beetje begonnen met ESP. :)

Ik heb een ESP8266 bordje opgehaald, waar ik een wifi chip op zie zitten en een micro USB aansluiting.

Echter, ik zoek eigenlijk een bordje waar 220v input op zit. En waar ik mijn DS18B20 sensor op aan kan sluiten (geel, zwart & rode draad). Ik geloof dat ik ook nog een 4,7 weerstandje nodig heb tussen de zwarte en rode draad. Dat ik dan de esp8266 die ik nu heb liggen niet gebruik vind ik niet zo'n ramp. Die komt wel weer van pas bij iets anders. :)

En ik zoek een lasdoosje of vergelijkbaar, waterdicht, van maximal 70mm x 70mm. De andere afmeting mag een stuk groter uitvallen. Wil het lasdoosje met alles erin waterdicht kunnen afsluiten en dan door een 76mm gat in het plafond, op het plafond leggen.

Heeft iemand misschien wat linkjes waar zoiets uitgelegd wordt? En eventueel ook waar getoond wordt hoe dit bijvoorbeeld met ESPhome of vergelijkbaar wordt ingedeeld?

Ik wil uiteindelijk mijn data naar Home Assistant gaan sturen. Via ESPHome zou kunnen, via MQTT zou ook mooi zijn.

Ik ben dus een beetje op zoek naar mensen die zoiets al eens hebben gedaan en daar dan een YouTube video of een blog post o.i.d. van hebben gemaakt.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • +3 Henk 'm!

  • ocmer
  • Registratie: Juni 2001
  • Nu online
Tanuki schreef op donderdag 31 maart 2022 @ 00:00:
Echter, ik zoek eigenlijk een bordje waar 220v input op zit.
Ik gebruik altijd gewoon een USB-lader. Een ESP waar je direct 220V op zet heb ik nog nooit voorbij zien komen en zou ik zelf ook liever niet gebruiken. 220V en mijn ge-hobby houd ik graag fysiek gescheiden :-)

Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
ocmer schreef op donderdag 31 maart 2022 @ 01:22:
[...]

Ik gebruik altijd gewoon een USB-lader. Een ESP waar je direct 220V op zet heb ik nog nooit voorbij zien komen en zou ik zelf ook liever niet gebruiken. 220V en mijn ge-hobby houd ik graag fysiek gescheiden :-)
Mee eens. :) Maar het gaat in dit geval om een ESP die in een waterdichte lasdoos moet komen. Die lasdoos wordt gevoed met 220v, er is niet echt ruimte om een USB adapter o.i.d. aan te sluiten. En ergens een USB adapter aansluiten en dan vervolgens de USB kabel invoeren maakt het geloof ik niet helemaal beter?

Hoe wordt zoiets normaal aangepakt? Kan me niet voorstellen dat ik de enige ben. :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Tanuki schreef op donderdag 31 maart 2022 @ 07:48:
[...]
Hoe wordt zoiets normaal aangepakt? Kan me niet voorstellen dat ik de enige ben. :)
Grotere lasdoos zodat het wel past.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
CurlyMo schreef op donderdag 31 maart 2022 @ 07:57:
[...]

Grotere lasdoos zodat het wel past.
Ik zat net te denken: zou men normaal dan een USB oplader (gewoon, zo een waarmee je ook je smartphone oplaadt) uit elkaar halen en dan dat printplaatje met alle onderdelen erop ook in de lasdoos plaatsen?
En dan simpelweg 220v aansluiten op de contacten?

Dat kan best prima werken lijkt me.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • +2 Henk 'm!
@Tanuki Je zult toch een conversie moeten doen.
Veel kleiner dan een Hilink HLK-PM03 gaat dat niet echt worden, als je daar een PCBtje mee maakt ben je al een heel eind.

Sonoff maakt de basic R3 waar je een aantal pinnen vrij kan gebruiken.

Fwiw, 'normaal' klooit men niet aan met alles boven 42 volt.

- knip -


Acties:
  • +1 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 11:52
Je hebt daar printplaatvoedingkjes voor zoals de 'Hi-Link'. Die gaan rechtstreeks van 230V AC naar 5V of 3.3V DC. Zie review. Bijv. bij TinyTronics te bestellen.

Wel goed opletten dat je blootliggende spanningsvoerende delen goed isoleert. En een klein glaszekeringetje aan de 230V kant is ook wel handig denk ik.
Raymond P schreef op donderdag 31 maart 2022 @ 08:02:
[...]
Sonoff maakt de basic R3 waar je een aantal pinnen vrij kan gebruiken.
[...]
Wel goed opletten, er zijn producten waar de GPIO ongeïsoleerd aan de netspanning hangt. O.a. op de Tasmota wiki heb ik hier wel eens over gelezen. Kan erg gevaarlijk worden als een sensor buiten de behuizing zit en aangeraakt kan worden.

Je moet goed weten wat je doet als je met 230V aan de gang gaat, daarom wordt over het algemeen de boel gewoon met een veilige USB-lader gevoed.

[ Voor 41% gewijzigd door ThinkPad op 31-03-2022 08:04 ]


Acties:
  • +2 Henk 'm!

  • JorisV
  • Registratie: September 2008
  • Laatst online: 18-09 17:31
@Tanuki https://sonoff.tech/product/diy-smart-switch/th10-th16/
Daarbij een temperatuur sensor en alles kant en klaar op 230v.

[ Voor 4% gewijzigd door JorisV op 31-03-2022 08:21 ]


Acties:
  • 0 Henk 'm!
@ThinkPad Dat klopt, ongeisoleerd. Dat was mij ontschoten.

- knip -


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Ik vind het nu al heel spannend om @Tanuki iets anders te adviseren dan een klant en klare usb kader te gebruiken. Gewoon zo'n platte ongeaarde stekken en een platte USB lader. Dat neemt niet veel ruimte in.

Ik zou de tip van @JorisV opvolgen.

[ Voor 8% gewijzigd door CurlyMo op 31-03-2022 08:23 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 09:50

Gizz

Dunder-Mifflin, Inc.

Alternatief, als het echt alleen om een simpele temperatuurmeting gaat: pak een Zigbee thermometer op een batterijtje dat 2 jaar meegaat :)

Ik heb zelf ook veel ESPs in huis (CO2-meters, fijnstofsensoren, watermeter, ESPs met 5 verschillende sensoren), maar soms bespaar je jezelf veel gedoe door iets kant-en-klaars te pakken.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
CurlyMo schreef op donderdag 31 maart 2022 @ 08:22:
Ik vind het nu al heel spannend om @Tanuki iets anders te adviseren dan een klant en klare usb kader te gebruiken. Gewoon zo'n platte ongeaarde stekken en een platte USB lader. Dat neemt niet veel ruimte in.

Ik zou de tip van @JorisV opvolgen.
Ik snap je comment wel. :) Maar iedereen heeft ooit een begin moeten maken hiermee. Waarschijnlijk zeg ik over een paar weken "dat was echt een stomme vraag van me, natuurlijk moet het anders".

Maar ik heb heel veel aan de input die in de afgelopen uren kwam in dit topic. Bedankt! :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Tanuki schreef op donderdag 31 maart 2022 @ 08:39:
[...]

Ik snap je comment wel. :) Maar iedereen heeft ooit een begin moeten maken hiermee. Waarschijnlijk zeg ik over een paar weken "dat was echt een stomme vraag van me, natuurlijk moet het anders".

Maar ik heb heel veel aan de input die in de afgelopen uren kwam in dit topic. Bedankt! :)
Je zet meestal niet je eerste stap met dodelijke hoogspanning.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
CurlyMo schreef op donderdag 31 maart 2022 @ 08:51:
[...]

Je zet meestal niet je eerste stap met dodelijke hoogspanning.
Nouja, toch wel. Maar in mijn geval heb ik een 220v 3x2,5mm2 in het plafond beschikbaar en geen stopcontact waar dus een USB oplader in kan. :) Dus ik zoek een manier om zonder de USB oplader te moeten aansluiten op een stopcontact de stroomvoorziening te kunnen maken.

Alles uit elkaar halen en de disassembled oplader ook in het lasdoosje stoppen is een optie. :)

Ik wilde graag wel met de DS18B20 meten, aangezien je die daadwerkelijk met de sensor op de waterleiding kunt bevestigen. Zo'n ZigBee of wifi temperatuur metertje met batterij is een alternatief, maar toch de mindere oplossing denk ik, zeker qua accuraatheid.

Sonoff is wellicht een alternatief, ik wil puur en alleen maar die waterleiding temperatuur meten, verder niet eens fysiek ermee schakelen o.i.d., simpelweg omdat de spullen die interessant zijn niet bedraad bereikbaar zijn vanaf die plek. En er moet wat meer logica plaatsvinden. Prima om enkel de waardes naar HA te sturen en daar alles aan elkaar te knopen.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Tanuki schreef op donderdag 31 maart 2022 @ 09:17:
[...]

Nouja, toch wel. Maar in mijn geval heb ik een 220v 3x2,5mm2 in het plafond beschikbaar en geen stopcontact waar dus een USB oplader in kan. :) Dus ik zoek een manier om zonder de USB oplader te moeten aansluiten op een stopcontact de stroomvoorziening te kunnen maken.
Die tip heeft @JorisV je al gegeven.
Alles uit elkaar halen en de disassembled oplader ook in het lasdoosje stoppen is een optie. :)
Als je niet 100% weet wat je doet kan dat levensgevaarlijk zijn (en niet alleen voor jou).
Sonoff is wellicht een alternatief, ik wil puur en alleen maar die waterleiding temperatuur meten, verder niet eens fysiek ermee schakelen o.i.d., simpelweg omdat de spullen die interessant zijn niet bedraad bereikbaar zijn vanaf die plek. En er moet wat meer logica plaatsvinden. Prima om enkel de waardes naar HA te sturen en daar alles aan elkaar te knopen.
Dan gebruik je hem niet als schakelaar, maar alleen voor temperatuur. Dat is aan jou. De Shelly 1 is er trouwens ook met een temperatuur module voor een DS18B20. Heb je nog een beetje keuze.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 11:52
Tanuki schreef op donderdag 31 maart 2022 @ 09:17:
[...]
Maar in mijn geval heb ik een 220v 3x2,5mm2 in het plafond beschikbaar en geen stopcontact waar dus een USB oplader in kan. :) Dus ik zoek een manier om zonder de USB oplader te moeten aansluiten op een stopcontact de stroomvoorziening te kunnen maken.
[...]
Pak de female kant van een verlengsnoer en knip dat eraf. Vervolgens met Wago lasklemmen voor soepel/massieve draad de boel aansluiten op je 2,5mm2 en dan kun je gewoon je USB-voeding inpluggen.

Veilig en geen 230V op blootliggende delen :) Of een stopcontact-deksel voor op lasdoos.

[ Voor 10% gewijzigd door ThinkPad op 31-03-2022 09:43 ]


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Welke dikte draad gebruiken jullie als jullie Dupont connectors crimpen?

Ik zie dat grofweg 18-28 awg compatible moet zijn. Ik neem aan dat 28 vrij onwenselijk is, maar wil ook niet per se 18 bestellen om er dan achter te komen dat het allemaal niet past.

Zou ik met 22 of 24 bijvoorbeeld prima uit de voeten kunnen?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!
@Tanuki Current rating, voltage drop. Dat zal je ongetwijfeld op weg helpen.

Voor wat je aan een ESP hangt is een kort stukje 28 AWG vaak voldoende. Als de ESP het zelf niet kan voeden dan is 28 AWG ook geen optie.

- knip -


Acties:
  • 0 Henk 'm!

  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 10:45
Tanuki schreef op donderdag 7 april 2022 @ 08:41:
Welke dikte draad gebruiken jullie als jullie Dupont connectors crimpen?
Ik gebruik meestal de aders van een oude (goede kwaliteit) netwerkkabel. Heb je gelijk kleurtjes.

Inventaris - Koop mijn meuk!


Acties:
  • 0 Henk 'm!

  • ElMacaroni
  • Registratie: November 2012
  • Laatst online: 17-09 20:32

ElMacaroni

Laat de zon maar komen!

Of https://domotic-hobby.com...mostat-for-small-radiator maar dan moet je toch iets solderen...

SE2200+14xSF170S & SE1500M+4xTSM-375


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Tanuki schreef op donderdag 31 maart 2022 @ 07:48:
[...]

Mee eens. :) Maar het gaat in dit geval om een ESP die in een waterdichte lasdoos moet komen. Die lasdoos wordt gevoed met 220v, er is niet echt ruimte om een USB adapter o.i.d. aan te sluiten. En ergens een USB adapter aansluiten en dan vervolgens de USB kabel invoeren maakt het geloof ik niet helemaal beter?

Hoe wordt zoiets normaal aangepakt? Kan me niet voorstellen dat ik de enige ben. :)
ik gebruik zoiets voor mijn "waterdichte" tempmeting

220 --> adapter ---> usb ---> lasdoos --> zoiets --> 3,3v OF 5v (kies goeie en je hebt beide) --> ESP

klikbare link
Afbeeldingslocatie: https://i.imgur.com/xywboPRt.jpg

je kan ook een 5v --> 3,3v stepdown converter nemen, de reden dat ik deze oplossing kies is dat mijn esp het wel overleeft met een goeie accu voor enige tijd .. en dab kan je die usb voeding dus ook voor iets anders benutten.. (zwembad stofzuiger even op te laden indien nodig)

zelfs de meest waardeloze 18650 (die wel werkt) trekt het paar uurtjes ..
Raymond P schreef op woensdag 9 maart 2022 @ 14:18:
@Gizz Je eigen fatsoenlijke kabels krimpen kan natuurlijk voordelen hebben. De 30 AWG uit de video vind ik dan wel écht te dun, daar kan je op het randje een ESP mee voeden.


Zodra het bij mij 'ready to use' is en een PCBtje te veel moeite (of gewoon onzinnig) is soldeer ik alles permanent vast.
Welk draad zou jij dan adviseren / pakken ? kan bedenken dat korte lengte een dun draadje niet al te erg is wellicht ook niet optimaal denk ik .. maar ligt ook aan de toepassing toch ?

Tja vanalles


Acties:
  • +1 Henk 'm!
vso schreef op donderdag 7 april 2022 @ 12:42:
[...]

Welk draad zou jij dan adviseren / pakken ? kan bedenken dat korte lengte een dun draadje niet al te erg is wellicht ook niet optimaal denk ik .. maar ligt ook aan de toepassing toch ?
Inderdaad, het ligt aan de toepassing. Vandaar ook de sleutelwoorden, als je snapt waarom een draadje een bepaalde dikte moet hebben kan je zelf de keuze maken.

Op een kort stukje is de voltage drop te verwaarlozen. Een ESPtje registreert ook al hoog bij iets meer dan 1 volt.
Een current draw op GPIO zou ook niet hoger dan 12mA mogen zijn. Een dev boardje levert vaak ook niet meer dan +/- 200mA extra vanuit de voltage regulator.

In dat soort situaties is 28 AWG dus gewoon te doen. Maar om zelf te strippen/krimpen/solderen vind ik dat een vervelende dikte, helemaal als het een stranded cable is. 24 AWG werkt een heel stukje fijner (en zelf recycle ik netwerkkabel 24 AWG, solid)

- knip -


Acties:
  • +1 Henk 'm!

  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 10:45
Raymond P schreef op donderdag 7 april 2022 @ 13:20:
[...]
Een ESPtje registreert ook al hoog bij iets meer dan 1 volt.
Ik kan uit zeer recente ervaring vertellen dat 0.8v ook al hoog genoeg is. :+

Inventaris - Koop mijn meuk!


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Raymond P schreef op donderdag 7 april 2022 @ 13:20:
[...]


Inderdaad, het ligt aan de toepassing. Vandaar ook de sleutelwoorden, als je snapt waarom een draadje een bepaalde dikte moet hebben kan je zelf de keuze maken.

Op een kort stukje is de voltage drop te verwaarlozen. Een ESPtje registreert ook al hoog bij iets meer dan 1 volt.
Een current draw op GPIO zou ook niet hoger dan 12mA mogen zijn. Een dev boardje levert vaak ook niet meer dan +/- 200mA extra vanuit de voltage regulator.

In dat soort situaties is 28 AWG dus gewoon te doen. Maar om zelf te strippen/krimpen/solderen vind ik dat een vervelende dikte, helemaal als het een stranded cable is. 24 AWG werkt een heel stukje fijner (en zelf recycle ik netwerkkabel 24 AWG, solid)
Dit was het antwoord dat ik zocht. Thanks!

Interessante wel, netwerkkabels hergebruiken op die manier. Ik heb hier nog ergens Belden cat5e liggen. Dat wil niemand meer gebruiken, dus kan ik evt. ook gebruiken. Even kijken welke awg dat heeft.

En ik ben overigens bekend met voltage drop etc, maar niet met hoeveel speling zo'n zwart Dupont connector dingetje heeft voor bepaalde draad diktes. Mijn connectoren zijn nog onderweg helaas.

Awg24 is die Belden cat5e, top. :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!
@Tanuki Waarschijnlijk 2.54mm ;)

- knip -


Acties:
  • +1 Henk 'm!

  • AteGjalt
  • Registratie: December 2019
  • Laatst online: 18-09 13:29
Tanuki schreef op donderdag 7 april 2022 @ 20:16:
[...]
En ik ben overigens bekend met voltage drop etc, maar niet met hoeveel speling zo'n zwart Dupont connector dingetje heeft voor bepaalde draad diktes. Mijn connectoren zijn nog onderweg helaas.

Awg24 is die Belden cat5e, top. :)
Dupont kan met 28-24 AWG (0.08-0.25mm2) maar heb ook wel dikker gekrimpt (0.5 en 0.75mm2), de kabel met isolatie in het plastic krijgen heb ik meer moeite mee gehad...

Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik probeer mijn ESP8266 bordje ("esp12e devkit v2" www.doit.am) te voorzien van een sketch. :) Ik heb hiervoor gewoonweg de microUSB kabel aan mijn MacBook Pro gehangen, via een Targus blokje dat op de USB-C aansluiting van de MacBook zit, waar ik dan weer in een van de USB poorten op het blokje de microUSB kabel heb geprikt.

Volgens tutorials die ik kan vinden zou dat voldoende moeten zijn om te kunnen flashen. Ik krijg hem heel soms zover dat hij gaat uploaden ("Uploading 11%... Uploading 18%...." etc krijg ik dan te zien).
Ik probeer o.a. deze stappen te volgen: https://www.instructables...NodeMCU-ESP12E-DEVKIT-V2/

Maar ik krijg eigenlijk in alle gevallen foutmeldingen zoals deze:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
esptool.py v3.0
Serial port /dev/cu.usbserial-14220
Connecting........_
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: b4:e6:2d:04:ce:bd
Uploading stub...
Traceback (most recent call last):
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module>
    esptool.main(cmdline)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 3575, in main
    esp = esp.run_stub()
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 722, in run_stub
    self.mem_block(stub[field][from_offs:to_offs], seq)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 609, in mem_block
    return self.check_command("write to target RAM", self.ESP_MEM_DATA,
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 413, in check_command
    val, data = self.command(op, data, chk, timeout=timeout)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 386, in command
    p = self.read()
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 331, in read
    return next(self._slip_reader)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 2648, in slip_reader
    raise FatalError('Invalid head of packet (0x%s)' % hexify(b))
esptool.FatalError: Invalid head of packet (0x00)
esptool.FatalError: Invalid head of packet (0x00)


Dat zegt mij dat de tooling wel netjes de informatie van het bordje kan ophalen (het zegt immers dat het een ESP8266EX kan vinden met WiFi features etc). Maar dat er iets fout gaat in de communicatie en/of stroomvoorziening o.i.d.?

Ik zie op andere plekken dat men speciale USB naar serial adaptertjes gebruikt. Dat zou een alternatief zijn, maar "het zou moeten werken op deze manier".

Iemand hier ervaringen mee?

Een paar andere die ik heb gehad:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Executable segment sizes:
ICACHE : 32768           - flash instruction cache 
IROM   : 231724          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 26793   / 32768 - code in IRAM          (IRAM_ATTR, ISRs...) 
DATA   : 1496  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 876   ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 25608 )         - zeroed variables      (global, static) in RAM/HEAP 
Sketch uses 260889 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 27980 bytes (34%) of dynamic memory, leaving 53940 bytes for local variables. Maximum is 81920 bytes.
esptool.py v3.0
Serial port /dev/cu.usbserial-14110
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: b4:e6:2d:04:ce:bd
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 265040 bytes to 195064...
Writing at 0x00000000... (8 %)
Writing at 0x00004000... (16 %)
Writing at 0x00008000... (25 %)
Writing at 0x0000c000... (33 %)
Writing at 0x00010000... (41 %)
Writing at 0x00014000... (50 %)
Writing at 0x00018000... (58 %)
Writing at 0x0001c000... (66 %)
Writing at 0x00020000... (75 %)
Writing at 0x00024000... (83 %)
Writing at 0x00028000... (91 %)
Traceback (most recent call last):
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", line 66, in <module>
    esptool.main(cmdline)
  File "/Users/me
    operation_func(esp, args)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 2987, in write_flash
    esp.flash_defl_block(block, seq, timeout=DEFAULT_TIMEOUT * ratio * 2)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 113, in inner
    return func(*args, **kwargs)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 761, in flash_defl_block
    self.check_command("write compressed data to flash after seq %d" % seq,
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 413, in check_command
    val, data = self.command(op, data, chk, timeout=timeout)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 386, in command
    p = self.read()
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 331, in read
    return next(self._slip_reader)
  File "/Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", line 2648, in slip_reader
    raise FatalError('Invalid head of packet (0x%s)' % hexify(b))
esptool.FatalError: Invalid head of packet (0x00)
esptool.FatalError: Invalid head of packet (0x00)


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Executable segment sizes:
ICACHE : 32768           - flash instruction cache 
IROM   : 231724          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 26793   / 32768 - code in IRAM          (IRAM_ATTR, ISRs...) 
DATA   : 1496  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 876   ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 25608 )         - zeroed variables      (global, static) in RAM/HEAP 
De schets gebruikt 260889 bytes (24%)  programma-opslagruimte. Maximum is 1044464 bytes.
Globale variabelen gebruiken 27980 bytes (34%) van het dynamisch geheugen. Resteren 53940 bytes voor lokale variabelen. Maximum is 81920 bytes.
esptool.py v3.0
Serial port COM3
Connecting........__
Traceback (most recent call last):
  File "C:\Users\Kuijpers\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py", line 66, in <module>
    esptool.main(cmdline)
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 3552, in main
    esp.connect(args.before, args.connect_attempts)
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 522, in connect
    last_error = self._connect_attempt(mode=mode, esp32r0_delay=True)
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 499, in _connect_attempt
    self.sync()
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 438, in sync
    timeout=SYNC_TIMEOUT)
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 396, in command
    if byte(data, 0) != 0 and byte(data, 1) == self.ROM_INVALID_RECV_MSG:
  File "C:/Users/Kuijpers/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py", line 138, in byte
    return bitstr[index]
IndexError: index out of range
IndexError: index out of range


Ik ben ook wel eens tot het moment gekomen waarop hij de md5 gaat bepalen en gaat vergelijken, maar dan geeft hij een md5 mismatch.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • +1 Henk 'm!
Inconsistente resultaten los je meestal op met stabiele voeding.

Heeft dat blokje meerdere poorten? Zo ja, hang er eens iets bij wat iets meer verbruikt. Wellicht helpt dat.

- knip -


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

Kan iemand mij hier aub de goede richting op duwen om het volgende voor elkaar te krijgen:

Ik zou graag een unsigned character array willen vullen met data uit een bestand dat ik met SPIFFS inlees.

Op het moment staat de data op deze manier "hard coded" in mijn programma:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
unsigned char PROGMEM soundData[ ] = {
0x52, 0x49, 0x46, 0x46, 0x42, 0x08, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45,
0x66, 0x6D, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
0x10, 0x27, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00,
0x64, 0x61, 0x74, 0x61, 0x1E, 0x08, 0x00, 0x00, 0x82, 0x83, 0x76, 0x77,
0x71, 0x70, 0x75, 0x76, 0x78, 0x79, 0x7D, 0x7D, 0x7E, 0x7E, 0x77, 0x78,
0x7D, 0x7B, 0x86, 0x86, 0x8A, 0x8A, 0x8C, 0x8B, 0x83, 0x83, 0x72, 0x73,
0x67, 0x67, 0x56, 0x56, 0x49, 0x4A, 0x4E, 0x50, 0x59, 0x59, 0x66, 0x67,
0x6D, 0x6E, 0x79, 0x77, 0x8C, 0x8B, 0xA8, 0xAA, 0xAE, 0xAC, 0xA3, 0xA0,
0x9C, 0x9F, 0xA1, 0x9F, 0xA5, 0xA0, 0xA4, 0xA6, 0x9B, 0x9B, 0x97, 0x92,
0x91, 0x94, 0x85, 0x85, 0x90, 0x8A, 0x86, 0x89, 0x7F, 0x81, 0x80, 0x7B,
0x7A, 0x7C, 0x7B, 0x80, 0x7D, 0x77, 0x65, 0x66, 0x59, 0x61, 0x58, 0x53,
0x3F, 0x3D, 0x38, 0x44, 0x49, 0x45, 0x5E, 0x55, 0x60, 0x6D, 0x73, 0x73,
0x85, 0x78, 0x91, 0x9C, 0xA8, 0xAD, 0xAA, 0x99, 0x9A, 0xA1, 0xA7, 0xB0,
0xBB, 0xA9, 0xB0, 0xB1, 0xAB, 0xB7, 0xA3, 0x95, 0x99, 0x95, 0x87, 0x96,
0x90, 0x87, 0x92, 0x8B, 0x7E, 0x8C, 0x82, 0x7E, 0x7C, 0x72, 0x71, 0x7D,
0x79, 0x7A, 0x73, 0x67, 0x53, 0x5D, 0x55, 0x5B, 0x4E, 0x43, 0x3C, 0x41,
0x41, 0x4C, 0x56, 0x4E, 0x5F, 0x5E, 0x5E, 0x68, 0x72, 0x6D, 0x83, 0x7D,
0x98, 0xA3, 0xA9, 0xA7, 0xA8, 0x9E, 0x9F, 0xA6, 0xAA, 0xAA, 0xAE, 0xA4,
0xA4, 0xA9, 0x9F, 0xA3, 0xA1, 0x98, 0x9E, 0xA0, 0x92, 0x98, 0x9E, 0x95}


Ik gebruik deze data vervolgens zo:

code:
1
Sound3 = new XT_Wav_Class(soundData);


In de huidige situatie is de data dus al "bekend" tijdens het compileren.

Maar graag zou ik de data in runtime kunnen aanpassen. Dus ik dacht dat moet vast gaan middels een (binair) bestand op SPIFFS, dat ik dan "omzet" naar de unsigned character array.


Ik heb deze code gemaakt:

code:
1
2
3
4
5
6
7
8
9
File dataFile = SPIFFS.open("/data.bin", "r");

size_t filesize = dataFile .size(); //the size of the file in bytes     
unsigned char sData[filesize];   // + 1 for '\0' char at the end      

dataFile .read((uint8_t *)string, sizeof(sData));  
dataFile .close(); 

Sound3 = new XT_Wav_Class(sData);


Maar helaas restart de ESP32 daarmee de hele tijd...

Wat doe ik verkeerd? :'(

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
@Atmoz Ik denk dat je tegen geheugen problemen aanloopt.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

@CurlyMo Thanks! Daar was ik heel voorzichtig ook al bang voor...

Ik had daarvoor als oplossing het volgende bedacht:

Die "originele" unsigned char PROGMEM soundData[ ] laat ik gewoon in mijn programma staan zodat tijdens het compileren dit stuk geheugen in feite "gereserveerd" wordt. En als ik er dan vervolgens (in runtime) nieuwe data wil inzetten (dus via een file in SPIFFS), dan schrijf ik die over (de originele) "soundData" heen. Op die manier zou er theoretisch toch geen geheugen probleem mogen ontstaan, of denk ik te simpel?

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Ja, je kan alleen tijdens het compileren naar PROGMEM schrijven. Er zijn twee dingen die je zou kunnen uitzoeken:
1. Kijk of je via een stream of via chunks de data kan inladen.
2. Kijk of je via de 2nd heap iets zou kunnen regelen.
Atmoz schreef op woensdag 13 april 2022 @ 11:52:
code:
1
unsigned char sData[filesize];   // + 1 for '\0' char at the end
Overigens zeg je hier wel dat je een +1 moet doen, maar dat doe je niet.

Hoe groot zijn die bestanden die je wil inlezen?

[ Voor 30% gewijzigd door CurlyMo op 13-04-2022 12:38 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op woensdag 13 april 2022 @ 12:31:
[...]

Ja, je kan alleen tijdens het compileren naar PROGMEM schrijven. Er zijn twee dingen die je zou kunnen uitzoeken:
1. Kijk of je via een stream of via chunks de data kan inladen.
Wat is de gedachte hierachter dat dit zo "moeilijk" moet? Of is het gewoonweg niet mogelijk om door die hele file op SPIFFS heen te fietsen en vervolgens iedere byte in dat character array te zetten?
2. Kijk of je via de 2nd heap iets zou kunnen regelen.
Oei, dit gaat me de pet te boven 8)7 Altijd interessant om nieuwe dingen te leren, maar dit gaat me voor nu denk ik te ver. Het is wegens tijdsdruk ook niet haalbaar, dus ik hoop dat er een simpelere/snellere oplossing is.
Overigens zeg je hier wel dat je een +1 moet doen, maar dat doe je niet.
Nee klopt, dat had ik weer verwijderd omdat ik dacht dat dat voor een ander stukje test-code toch niet hoefde.
Ik heb dat trouwens niet erbij geschreven, maar diegene waarvan ik dit stukje geklauwd heb :P
Hoe groot zijn die bestanden die je wil inlezen?
Het verschilt, maar max. ongeveer 200KB. (sommige "maar" 50KB ofzo)

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Atmoz schreef op woensdag 13 april 2022 @ 12:47:
[...]
Wat is de gedachte hierachter dat dit zo "moeilijk" moet? Of is het gewoonweg niet mogelijk om door die hele file op SPIFFS heen te fietsen en vervolgens iedere byte in dat character array te zetten?
Dat zou kunnen. Ik zou gewoon even checken hoeveel geheugen je vrij hebt na de verschillende stappen. Dus na het ophalen van het bestand, na het vullen van de WAV class enz.
Nee klopt, dat had ik weer verwijderd omdat ik dacht dat dat voor een ander stukje test-code toch niet hoefde.
Kan je dan wel exact laten zien wat je nu hebt?
Het verschilt, maar max. ongeveer 200KB. (sommige "maar" 50KB ofzo)
Hoe stuur je de nieuwe bestanden naar SPIFFS? Wat overigens deprecated is en vervangen door LittleFS. Via een webserver formulier?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op woensdag 13 april 2022 @ 12:51:


Dat zou kunnen. Ik zou gewoon even checken hoeveel geheugen je vrij hebt na de verschillende stappen. Dus na het ophalen van het bestand, na het vullen van de WAV class enz.
Ah sjiek, ik wist niet dat dat kon. Zometeen even uitzoeken hoe dat werkt _/-\o_ Thanks!
Kan je dan wel exact laten zien wat je nu hebt?
Dat is eigenlijk precies zoals ik eerder postte:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 File configFile = SPIFFS.open("/data3.bin", "r");

 size_t filesize = configFile.size(); //the size of the file in bytes     
 unsigned char string[filesize];   // + 1 for '\0' char at the end      

 configFile.read((uint8_t *)string, sizeof(string));  
 configFile.close(); 
 //string[filesize] = '\0';
 //Serial.print(string);    


  SendUDP(String(string[1])); //om te testen wat hieruit komt


  Tele3 = new XT_Wav_Class(string);


Alleen had ik daar de code wat opgeruimd en logischere namen ervan gemaakt.
Ik heb het geprobeerd met en zonder die '\0' (evenals tal van andere oplossingen sinds vanmorgen 5u :+ :P )
Hoe stuur je de nieuwe bestanden naar SPIFFS?
Via een webserver formulier?
Klopt ja :)
Wat overigens deprecated is en vervangen door LittleFS.
Thanks! Wist ik ook niet. Ga ik me ook in verdiepen _/-\o_

Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Kan je dat deel ook plaatsen? En na welke regel loopt hij nu exact vast. Heb je dat al debugged?

[ Voor 17% gewijzigd door CurlyMo op 13-04-2022 13:03 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op woensdag 13 april 2022 @ 13:00:
[...]

Kan je dat deel ook plaatsen? En na welke regel loopt hij nu exact vast. Heb je dat al debugged?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// handles uploads to the filserver
void handleUpload(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final) {
  // make sure authenticated before allowing upload
  if (checkUserWebAuth(request)) {
    String logmessage = "Client:" + request->client()->remoteIP().toString() + " " + request->url();
    //Serial.println(logmessage);

    if (!index) {
      logmessage = "Upload Start: " + String(filename);
      // open the file on first call and store the file handle in the request object
      request->_tempFile = SPIFFS.open("/" + filename, "w");
      //Serial.println(logmessage);
    }

    if (len) {
      // stream the incoming chunk to the opened file
      request->_tempFile.write(data, len);
      logmessage = "Writing file: " + String(filename) + " index=" + String(index) + " len=" + String(len);
      //Serial.println(logmessage);
    }

    if (final) {
      logmessage = "Upload Complete: " + String(filename) + ",size: " + String(index + len);
      // close the file handle as the upload is now done
      request->_tempFile.close();
      //Serial.println(logmessage);
      request->redirect("/");
    }
  } else {
    //Serial.println("Auth: Failed");
    return request->requestAuthentication();
  }
}



[edit]

Oh, excuses, ik zag je edit niet direct...
En na welke regel loopt hij nu exact vast. Heb je dat al debugged?
Dat weet ik helaas niet. Ik weet ook niet hoe ik kan debuggen... (wist niet eens dat dat überhaupt kon!)
Ook weer fijn om te weten. Of moet je daar speciale hardware/software voor hebben? Ik gebruik gewoon een ESP32 (die ik met OTA update) en ik heb de standaard Arduino IDE...

[ Voor 12% gewijzigd door Atmoz op 13-04-2022 13:09 ]


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
En je form html blokje?
Dat weet ik helaas niet. Ik weet ook niet hoe ik kan debuggen...
Simpelste is gewoon een:
code:
1
Serial.printf("%s#%d\n", __FILE__, __LINE__);

Overal neerzetten en dan in je console kijken wat de laatste output is die je ziet.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function showUploadButtonFancy() {
  document.getElementById("detailsheader").innerHTML = "<h3>Upload File<h3>"
  document.getElementById("status").innerHTML = "";
  var uploadform = "<form method = \"POST\" action = \"/\" enctype=\"multipart/form-data\"><input type=\"file\" name=\"data\"/><input type=\"submit\" name=\"upload\" value=\"Upload\" title = \"Upload File\"></form>"
  document.getElementById("details").innerHTML = uploadform;
  var uploadform =
  "<form id=\"upload_form\" enctype=\"multipart/form-data\" method=\"post\">" +
  "<input type=\"file\" name=\"file1\" id=\"file1\" onchange=\"uploadFile()\"><br>" +
  "<progress id=\"progressBar\" value=\"0\" max=\"100\" style=\"width:300px;\"></progress>" +
  "<h3 id=\"status\"></h3>" +
  "<p id=\"loaded_n_total\"></p>" +
  "</form>";
  document.getElementById("details").innerHTML = uploadform;
}
function _(el) {
  return document.getElementById(el);
}
function uploadFile() {
  var file = _("file1").files[0];
  // alert(file.name+" | "+file.size+" | "+file.type);
  var formdata = new FormData();
  formdata.append("file1", file);
  var ajax = new XMLHttpRequest();
  ajax.upload.addEventListener("progress", progressHandler, false);
  ajax.addEventListener("load", completeHandler, false); // doesnt appear to ever get called even upon success
  ajax.addEventListener("error", errorHandler, false);
  ajax.addEventListener("abort", abortHandler, false);
  ajax.open("POST", "/");
  ajax.send(formdata);
}


Maar hierbij moet ik ook bekennen dat dit volledig gepikt is van een standaard stukje code ergens...
Ik moest ook even flink zoeken/uitvogelen hoe het precies "aan elkaar geknoopt is" allemaal :P
Maar, ik ben natuurlijk SUPER blij dat 't werkt 8) Dat geldt hetzelfde voor jou hulp _/-\o_
Simpelste is gewoon een:
code:
1
Serial.printf("%s#%d\n", __FILE__, __LINE__);

Overal neerzetten en dan in je console kijken wat de laatste output is die je ziet.
Ah, nice. Ook dát is nieuw voor me. (__FILE__, __LINE__)

[edit]
Debuggen doe ik altijd via Wifi (UDP), daarvoor heb ik m'n eigen (best wel uitgebreide) debug-tool (voor de PC) geschreven :9
(Serial werkt hier niet omdat ik alleen met Wifi verbonden ben)

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Kan je checken of je daadwerkelijk multipart/form-data data verzend? Bijv. met Wireshark.
(Serial werkt hier niet omdat ik alleen met Wifi verbonden ben)
Dan verbind je even via USB. Je zult toch moeten debuggen.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
Wellicht van toegevoegde waarde om bewust te zijn dat de ESP8266 initieel in de markt werd gezet als low-cost serial to wifi bridge. :)

- knip -


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op woensdag 13 april 2022 @ 21:15:
Kan je checken of je daadwerkelijk multipart/form-data data verzend? Bijv. met Wireshark.
Is het ook mogelijk om op de een of andere manier te "testen" of de data uit de "platte tekstfile" (want dat is het in feite) goed aankomt in de code?

Ik had zelf gezien dat de boel van HEX naar ASCII werd omgezet:

Dit:
code:
1
2
nsigned char PROGMEM soundData[] = {
  0x52, 0x49, 0x46, 0x46, 0x42, 0x08, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45 ... }



Komt via dit:
code:
1
2
3
4
5
6
7
String s = "";

for (int i=0; i<100; i++) {
    s += soundData[i];
}

 request->send(200, "text/plain", s);



Er zo (in m'n browser even ter debug) uit:
code:
1
827370701248100876586691021091163216000102016390032780020801009711697248000127128128128128127128128127127128128128127128128127128128128127128128127128127128127128128128127128128128127128128127127128128127127128128127127128128127127128128127127


Het wordt dus omgezet van HEX naar ASCII:
Afbeeldingslocatie: https://lumatronix.nl/FOK/ASCII.png

Dus ik denk dat als het straks "de andere kant op werkt" (zoals ik de hele tijd dus wil), dat er dan nog een "conversie" moet plaatsvinden zodat de "character array" weer netjes met bytes gevuld is.

Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik was eens wat aan het kijken voor een klein waterdicht (las)doosje om een esp8266 + een aangesloten temperatuur sensor kabel (ds18b20) in te doen.

Het ESP bordje heeft de headers aan de onderkant en daar zou ik dan de jumper cables op aan moeten sluiten. Als ik het bordje op een stukje breadboard zou klikken, zou ik jumper cables in het breadboard kunnen klikken. En ook het 4,7k weerstandje daar op een fatsoenlijke manier kunnen bevestigen. Is dat the way to go? Of is er een makkelijkere manier?

Een alternatieve manier zou zijn om de kabeltjes rechtstreeks te solderen, maar ik geloof dat dan heel het nut van die headers weg is. En dat ik dus net zo goed een bordje zonder die headers kan gebruiken. Lijkt me ook wat minder handig.

Ik probeerde wat youtube video's te vinden, maar je ziet mensen eigenlijk vooral actief met test / development setups, niet met projectjes die ze dan "production ready" maken. Of ik zoek verkeerd? :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
@Atmoz Sowieso moet je je bestand niet als platte tekst sturen maar met de binary inhoud van je soundData variabele.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op donderdag 14 april 2022 @ 08:02:
@Atmoz Sowieso moet je je bestand niet als platte tekst sturen maar met de binary inhoud van je soundData variabele.
Je bedoeld daarmee dat het begin van de file dus zo moet uitzien?

code:
1
524946



:)

[edit]

Steeds die "0x" vooraf hoeft niet, toch? (en ook die komma's + spaties niet)
Dat is gewoon om aan te geven dat het bytes zijn, right?

Of zou dat de boel wel makkelijker maken?
Ik kan dat natuurlijk altijd erin zetten als dat "moet" c.q. fijner is :)

[ Voor 28% gewijzigd door Atmoz op 14-04-2022 08:06 ]


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Zoek even op internet hoe je met C een hex gepresenteerde variabele omzet naar een binary bestand. Jij blijft namelijk telkens vanuit ASCII denken.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!
Tanuki schreef op donderdag 14 april 2022 @ 07:52:
Ik was eens wat aan het kijken voor een klein waterdicht (las)doosje om een esp8266 + een aangesloten temperatuur sensor kabel (ds18b20) in te doen.

Het ESP bordje heeft de headers aan de onderkant en daar zou ik dan de jumper cables op aan moeten sluiten. Als ik het bordje op een stukje breadboard zou klikken, zou ik jumper cables in het breadboard kunnen klikken. En ook het 4,7k weerstandje daar op een fatsoenlijke manier kunnen bevestigen. Is dat the way to go? Of is er een makkelijkere manier?

Een alternatieve manier zou zijn om de kabeltjes rechtstreeks te solderen, maar ik geloof dat dan heel het nut van die headers weg is. En dat ik dus net zo goed een bordje zonder die headers kan gebruiken. Lijkt me ook wat minder handig.

Ik probeerde wat youtube video's te vinden, maar je ziet mensen eigenlijk vooral actief met test / development setups, niet met projectjes die ze dan "production ready" maken. Of ik zoek verkeerd? :)
Kan allemaal natuurlijk. Idealiter ga je wel solderen als iets van je bureau af gaat, maar in praktijk is een dupont connectie meestal ruim voldoende om het een tijdje uit te houden in thuisprutswerk.

De nette manier is om (in dit geval) female headers op een prototype boardje te solderen en daar je aansluiting(en) en ondersteunende componenten op te verwerken.

- knip -


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op donderdag 14 april 2022 @ 08:10:
[...]

Zoek even op internet hoe je met C een hex gepresenteerde variabele omzet naar een binary bestand. Jij blijft namelijk telkens vanuit ASCII denken.
Ik heb zojuist hier dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  0x52, 0x49, 0x46, 0x46, 0x42, 0x08, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45,
  0x66, 0x6D, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
  0x10, 0x27, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00,
  0x64, 0x61, 0x74, 0x61, 0x1E, 0x08, 0x00, 0x00, 0x82, 0x83, 0x76, 0x77,
  0x71, 0x70, 0x75, 0x76, 0x78, 0x79, 0x7D, 0x7D, 0x7E, 0x7E, 0x77, 0x78,
  0x7D, 0x7B, 0x86, 0x86, 0x8A, 0x8A, 0x8C, 0x8B, 0x83, 0x83, 0x72, 0x73,
  0x67, 0x67, 0x56, 0x56, 0x49, 0x4A, 0x4E, 0x50, 0x59, 0x59, 0x66, 0x67,
  0x6D, 0x6E, 0x79, 0x77, 0x8C, 0x8B, 0xA8, 0xAA, 0xAE, 0xAC, 0xA3, 0xA0,
  0x9C, 0x9F, 0xA1, 0x9F, 0xA5, 0xA0, 0xA4, 0xA6, 0x9B, 0x9B, 0x97, 0x92,
  0x91, 0x94, 0x85, 0x85, 0x90, 0x8A, 0x86, 0x89, 0x7F, 0x81, 0x80, 0x7B,
  0x7A, 0x7C, 0x7B, 0x80, 0x7D, 0x77, 0x65, 0x66, 0x59, 0x61, 0x58, 0x53,
  0x3F, 0x3D, 0x38, 0x44, 0x49, 0x45, 0x5E, 0x55, 0x60, 0x6D, 0x73, 0x73,
  0x85, 0x78, 0x91, 0x9C, 0xA8, 0xAD, 0xAA, 0x99, 0x9A, 0xA1, 0xA7, 0xB0,
  0xBB, 0xA9, 0xB0, 0xB1, 0xAB, 0xB7, 0xA3, 0x95, 0x99, 0x95, 0x87, 0x96,
  0x90, 0x87, 0x92, 0x8B, 0x7E, 0x8C, 0x82, 0x7E, 0x7C, 0x72, 0x71, 0x7D,
  0x79, 0x7A, 0x73, 0x67, 0x53, 0x5D, 0x55, 0x5B, 0x4E, 0x43, 0x3C, 0x41,
  0x41, 0x4C, 0x56, 0x4E, 0x5F, 0x5E, 0x5E, 0x68, 0x72, 0x6D, 0x83, 0x7D,
  0x98, 0xA3, 0xA9, 0xA7, 0xA8, 0x9E, 0x9F, 0xA6, 0xAA, 0xAA, 0xAE, 0xA4,
  0xA4, 0xA9, 0x9F, 0xA3, 0xA1, 0x98, 0x9E, 0xA0, 0x92, 0x98, 0x9E, 0x95



omgezet naar dit:

code:
1
RIFFB  WAVEfmt      '   N    data  ‚ƒvwqpuvxy}}~~wx}{††ŠŠŒ‹ƒƒrsggVVIJNPYYfgmnywŒ‹¨ª®¬£ œŸ¡Ÿ¥ ¤¦››—’‘”……Š†‰€{z|{€}wefYaXS?=8DIE^U`mss…x‘œ¨­ª™š¡§°»©°±«·£•™•‡–‡’‹~Œ‚~|rq}yzsgS]U[NC<AALVN_^^hrmƒ}˜£©§¨žŸ¦ªª®¤¤©Ÿ£¡˜ž ’˜ž•


(iets wat me overigens zéér bekend voorkomt, want dit gewoon rechtstreeks de data die in mijn "originele" WAV-file zit voordat ik deze met HxD omzet naar de character array die de sound-code nodig heeft)

Dit gezegde is dit volgens mij niet de juiste manier om dit aan te pakken, of wel?
Ik ben toch juist opzoek naar een "output" die ik rechtstreeks aan de sound-code kan voeren?
Dat moet mijns inziens dan "gewoon" een character array zijn, net zoals ik nu ook hardcoded in PROGMEM heb staan toch?

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Atmoz schreef op donderdag 14 april 2022 @ 09:13:
[...]
Ik ben toch juist opzoek naar een "output" die ik rechtstreeks aan de sound-code kan voeren?
Dat moet mijns inziens dan "gewoon" een character array zijn, net zoals ik nu ook hardcoded in PROGMEM heb staan toch?
En wat denk je dat die hard-coded binary string representeert?

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • +1 Henk 'm!

  • Rrob
  • Registratie: Augustus 2005
  • Laatst online: 11:01
Raymond P schreef op donderdag 14 april 2022 @ 08:27:
[...]
Kan allemaal natuurlijk. Idealiter ga je wel solderen als iets van je bureau af gaat, maar in praktijk is een dupont connectie meestal ruim voldoende om het een tijdje uit te houden in thuisprutswerk.
Op het moederbord van mijn pc zitten een groot aantal dupont (en soortgelijke) verbindingen die het lachend 10+ jaar volhouden ;)
De nette manier is om (in dit geval) female headers op een prototype boardje te solderen en daar je aansluiting(en) en ondersteunende componenten op te verwerken.
Female headers voor de esp en de rest solderen werkt top, bijkomend voordeel van een stukje prototype board is dat je ook ruimte over hebt voor montage gaten van het geheel aan de behuizing

[ Voor 12% gewijzigd door Rrob op 14-04-2022 11:21 ]


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Raymond P schreef op donderdag 14 april 2022 @ 08:27:
[...]


Kan allemaal natuurlijk. Idealiter ga je wel solderen als iets van je bureau af gaat, maar in praktijk is een dupont connectie meestal ruim voldoende om het een tijdje uit te houden in thuisprutswerk.

De nette manier is om (in dit geval) female headers op een prototype boardje te solderen en daar je aansluiting(en) en ondersteunende componenten op te verwerken.
Ik bedoel meer, mijn bordje ziet er nu zo uit:
Afbeeldingslocatie: https://tweakers.net/i/jj3X287aiz6Lmrv0gK16SL3zRJU=/800x/filters:strip_icc():strip_exif()/f/image/OBg96RgodKIWGpVO7GzdrjAw.jpg?f=fotoalbum_large
Ik zou het bordje op de kop (met de CPU naar beneden wijzend in de box) kunnen monteren, zodat de female headers naar boven wijzen. Daar kan ik dan idd de Dupont connectors op doen. En het zo aansluiten.

Alternatief zou wat jou betreft zijn om die hele header strook niet te gebruiken en rechtstreeks te solderen?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • +2 Henk 'm!
@Rrob JST en Molex is imho wel superieur, maargoed die power button kan inderdaad lang goed blijven zitten zolang je niet per ongeluk de bekabeling aanraakt.
Een DS18B20 aan een lang kabeltje verbonden met Dupont heeft een grote kans van falen, tenzij je een hele fancy hebt met een clip/lock.

@Tanuki Dat is male. De female kant soldeer je op een prototype PCB om een socket te maken waar je je boardje in kan drukken (en zonodig weer uit kan halen).

Afbeeldingslocatie: https://cdn-shop.adafruit.com/970x728/4254-02.jpg

Als je een beetje zoekt zal je bij een Nederlandse shop vast zo'n setje (of soortgelijk) vinden:
Afbeeldingslocatie: https://tweakers.net/i/uRhnKZalW66Pkh1omnNwGdF2-4Y=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/8KyUnt1IKISeuo2n98cttf0Z.jpg?f=user_large (https://www.amazon.nl/-/en/dp/B0875P5475)

----

fwiw, quick & dirty kent ook zijn plek. :P
Hier is nu een Nodemcu aan een "powerbank" bevestigd met tie-wraps om een ds18b20 en dht22 uit te lezen omdat m'n vriendin graag wilt weten hoe warm het is in haar vensterbank kweekbak.
Dat ding is over een aantal weken weg, dus recyclegehalte is hoog.

Afbeeldingslocatie: https://tweakers.net/i/V9a3_MI7zKjDkmVoi3TV3ItgxQQ=/x800/filters:strip_icc():strip_exif()/f/image/BcRlL9NME4uZqucCMPk4fahk.jpg?f=fotoalbum_large

[ Voor 27% gewijzigd door Raymond P op 14-04-2022 12:20 ]

- knip -


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op donderdag 14 april 2022 @ 09:19:
[...]

En wat denk je dat die hard-coded binary string representeert?
Ja, je hebt natuurlijk helemaal gelijk. Dat is gewoon precies DIE data 8)7

Maargoed, hoe krijg ik die (binaire) file (die ik dan op SPIFFS heb) op de juiste manier in die character array zodat ik hem aan m'n sound-functie kan geven?

Hoe kan het trouwens dat dit zo lastig is? Is dat omdat het ook écht lastig is, of omdat er (eventueel) andere problemen spelen waardoor het straks "verderop" alsnog fout gaat? (bijvoorbeeld memory-fouten omdat het over grote bestanden/veel data gaat?)

Hier ben ik eigenlijk wel extreem benieuwd naar :D

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Atmoz schreef op donderdag 14 april 2022 @ 13:55:
[...]

Maargoed, hoe krijg ik die (binaire) file (die ik dan op SPIFFS heb) op de juiste manier in die character array zodat ik hem aan m'n sound-functie kan geven?
Door hem in binary naar SPIFFS te schrijven en weer op te halen. Inladen in een unsigned char array. Ook je webformulier moet zorgen dat hij correct als binary data verzonden wordt.
Hoe kan het trouwens dat dit zo lastig is? Is dat omdat het ook écht lastig is, of omdat er (eventueel) andere problemen spelen waardoor het straks "verderop" alsnog fout gaat? (bijvoorbeeld memory-fouten omdat het over grote bestanden/veel data gaat?)
Alles staat en valt met kennis van de materie. Er spelen hier een aantal dingen tegelijk (mede door de microcontroller omgeving):
1. Geheugenproblemen voorkomen
2. Correcte omgang met binaire data
3. Correct gebruik van de modules

Op alle drie de punten ben ik je aan het toetsen, waarvan ik in ieder geval al zeker weet dat je onvoldoende begrip hebt hoe je met binary data werkt in C. Het kan dus zijn dat de WAV module daarop crashed.

[ Voor 3% gewijzigd door CurlyMo op 14-04-2022 14:50 ]

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op donderdag 14 april 2022 @ 14:49:

Door hem in binary naar SPIFFS te schrijven en weer op te halen. Inladen in een unsigned char array. Ook je webformulier moet zorgen dat hij correct als binary data verzonden wordt.
Ja precies, ik snap denk ik wat je bedoeld: het hébben van de juiste file (op de PC) is één ding! Het goed op de ESP32 (SPIFSS) krijgen is weer een heel ander ding... :)
Alles staat en valt met kennis van de materie. Er spelen hier een aantal dingen tegelijk (mede door de microcontroller omgeving):
1. Geheugenproblemen voorkomen
2. Correcte omgang met binaire data
3. Correct gebruik van de modules

Op alle drie de punten ben ik je aan het toetsen, waarvan ik in ieder geval al zeker weet dat je onvoldoende begrip hebt hoe je met binary data werkt in C. Het kan dus zijn dat de WAV module daarop crashed.
Je hebt hier helemaal gelijk in. Maar wat ik eigenlijk bedoelde (ik had dit tijdens het typen van mijn vorige post erbij gezet, maar had het voor het daadwerkelijke posten alweer verwijderd, mijn excuses voor de verwarring) is dat ik nergens niet echt verder kom hiermee. Het "project" staat op Fiverr, Upwork, hier op V&A en op het officiële Arduino forum... Hier in het topic ben ik het verst gekomen (met jou vooral dan _/-\o_ ) en heb ik sowieso weer het meeste bijgeleerd 8)

Maar het gekke is; ik WEET gewoon dat dit voor de echte kenners/vakmensen SUPER simpel is. Ik programmeer heel veel voor de PC (fijn: die hebben minder moeite met slordige code en herstarten ook wat minder vaak als je iets "fout" doet :P O-)), dus ik weet dat dit soort dingen gewoon easy moeten kunnen! En dat frustreert misschien nog wel het meeste :'(

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Atmoz schreef op donderdag 14 april 2022 @ 14:59:
[...]
Maar het gekke is; ik WEET gewoon dat dit voor de echte kenners/vakmensen SUPER simpel is. Ik programmeer heel veel voor de PC (fijn: die hebben minder moeite met slordige code en herstarten ook wat minder vaak als je iets "fout" doet :P O-)), dus ik weet dat dit soort dingen gewoon easy moeten kunnen! En dat frustreert misschien nog wel het meeste :'(
Begin eens met vast te stellen waar het precies fout gaat.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 11:32

Atmoz

Techno!!

CurlyMo schreef op donderdag 14 april 2022 @ 15:06:
Begin eens met vast te stellen waar het precies fout gaat.
Het is gelukt 8)
Woohoow eindelijk!! :9

Geluidsdata inladen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void LoadSoundWav(){

 File readStorage = SPIFFS.open("/sound.wav", "rb");
 if (readStorage) {

  byte buf;
  int i = 0;
  SendUDP("begin met file uitlezen");
  while(readStorage.available()){
    buf = readStorage.read();
    //SendUDP(String(buf));
    soundData[i] = buf;
    i++;
  }
  SendUDP("einde file uitlezen");
} 

  Tele3 = new XT_Wav_Class(soundData);
 
}



Geluid afspelen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void PlaySoundWav(){
  boolean SoundSpeelt = true;
  SoundAangezetMillis = millis();
  digitalWrite(PAMPOWER, HIGH);
  delay(50);

  while (SoundSpeelt){
    long currentMillis = millis();
    if (currentMillis - SoundAangezetMillis >= 3000) {SoundSpeelt = false;} //4000 voor tele1
    DacAudio.FillBuffer();             

    rainbowCycle2();

    Tele3->RepeatForever=false;

    if(Tele3->Playing==false){DacAudio.Play(Tele3, false);}  
  }   

   SendUDP("na spelen sound");
  
  digitalWrite(PAMPOWER, LOW); 
  wipe();
  DacAudio.StopAllSounds();
}



Het probleem is nu alleen dat ik dus over de "hardcoded" character array "soundData[]" (die tijdens het compileren in het PROGMEM gezet wordt) heen schrijf. Ik denk dat dat een stuk beter/netter c.q. minder foutgevoelig kan.

Als de nieuwe geluidsdata (sound.wav) die ik via SPIFSS kan inladen korter is dan de bestaande array in PROGMEM, dan wordt er tijdens het afspelen van het geluid ook nog "oude geluidsinformatie" afgespeeld. Dat zit dus nog niet lekker... En andersom is het volgens mij ook een probleem: als de nieuwe data groter is, dan past er op het einde v/d bestaande array niets meer bij.. (tenminste, zou werkt dat toch? of wordt die array dan vanzelf groter?)


Is op dit gebied nog een slimme oplossing te bedenken? _/-\o_


[edit]

Zou het een idee kunnen zijn om dat hele array in PROGMEM weg te laten, en dan tijdens runtime gewoon een array aanmaken met precies dezelfde grootte als de data die erin moet komen? (soms tot wel 200KB)

Of is dat vanwege te verwachten geheugen-problemen echt geen goed idee?

[ Voor 6% gewijzigd door Atmoz op 14-04-2022 20:36 ]


Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 18-09 22:57
Atmoz schreef op donderdag 14 april 2022 @ 20:10:
[...]

Het probleem is nu alleen dat ik dus over de "hardcoded" character array "soundData[]" (die tijdens het compileren in het PROGMEM gezet wordt) heen schrijf. Ik denk dat dat een stuk beter/netter c.q. minder foutgevoelig kan.
Daarvoor heb je drie opties:
- C++ String gebruiken
- C malloc & free
- Een vaste grootte aan statische buffer ergens anders dan in PROGMEM.

Realiseer je je wel dat (grote) geheugenallocaties op een ESP potentieel tot geheugen fragmentatie crashes kan leiden.
Als de nieuwe geluidsdata (sound.wav) die ik via SPIFSS kan inladen korter is dan de bestaande array in PROGMEM, dan wordt er tijdens het afspelen van het geluid ook nog "oude geluidsinformatie" afgespeeld.
Dan \0 terminate je de nieuwe string niet of je geeft een verkeerde grootte aan.
Dat zit dus nog niet lekker... En andersom is het volgens mij ook een probleem: als de nieuwe data groter is, dan past er op het einde v/d bestaande array niets meer bij.. (tenminste, zou werkt dat toch? of wordt die array dan vanzelf groter?)
Nee, dan krijg je buffer overflows wat vaak tot crashes leidt.
Zou het een idee kunnen zijn om dat hele array in PROGMEM weg te laten, en dan tijdens runtime gewoon een array aanmaken met precies dezelfde grootte als de data die erin moet komen? (soms tot wel 200KB)

Of is dat vanwege te verwachten geheugen-problemen echt geen goed idee?
Dat is niet te zeggen. Als dat het enige doel is en je zeker weet dat je dat geheugen ten alle tijde vrij houdt, dan kan je dat gewoon doen en dan is dat misschien ook wel verstandig om geheugen fragmentatie crashed te voorkomen. Ik reserveer voor een bepaald project 16KB aan geheugen uit de 2nd heap juist om die reden.

Overigens mist hier nog de HTML upload functionaliteit ;)

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • Waah
  • Registratie: Maart 2009
  • Laatst online: 11:41
Sinds kort ook bezig met ESP boards. Heb nu een ESP8266 en er komt een ESP32 voor mijn nieuwe toepassing aangezien de ESP826 niet genoeg is. Erg leuk tot nu toe als totale noob.

Pins aan het boardje zelf gesoldeerd (voor het eerst gesoldeerd) en WLED met addressable RGB erop gezet. Alles werkt tot nu toe prima.

Enige waar ik mee zit is de bedrading.... En ik verwacht dat dat een terugkerend probleem is.
Hoe werk je mooi de bedrading weg naar de LEDS? Zeker als je niet standaard 1 ledstrip hebt, en daarop nog Power Injection doet wordt het al snel een rommeltje.

Ben bezig met een vakkenkast waar ledstrips komen om de inhoud op te lichten
Afbeeldingslocatie: https://tweakers.net/i/sRhDhSDD2rsz9B1hvnYulnurfZw=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/cdeXX5cmrxpshhgdhw1lTIJ8.png?f=user_large

en heb nu het volgende bedradingsplan:
Afbeeldingslocatie: https://tweakers.net/i/v76_BVwO6DA0wEfnF1fWOXNv7wg=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/G1MqliJZrP3AP0g32KfsNL94.png?f=user_large
Rood is de stroomaanvoer (dus wit en rood), en groen/geel zijn de verschillende data-lines die de strips nodig hebben. Die zijn directional dus vandaar dat ze aan één kant van buitenaf gevoed worden. Op deze manier heb ik straks 4 groepen in WLED (vandaag de ESP32, de ESP8266 kan maar 3 groepen aan in WLED)

Hoe kun je de draden wat netjes bij elkaar langs de achterkant van de kast laten lopen, en vervolgens mij de LED's krijgen die vooraan de kast zitten? Hoe bepaal je wat voor connector je gebruikt?

Er zijn vele tutorials over het maken van een ledstrip met ESP boards, maar alles is in de versie "draadjes op het ontwikkelboard, Voila het eindresultaat". Hoe men de bedrading doet laten ze nooit zien :+

Acties:
  • 0 Henk 'm!

  • Sabbi
  • Registratie: December 2000
  • Laatst online: 08:58

Sabbi

je denkt aan mij.

@Waah Ik zou alle strips in een lange slang aansluiten, dat is veel makkelijker te bekabelen en weg te werken, voor 2 meter ledstrip heb je geen power injection halverwege nodig.
Je kan speciale connectors kopen maar als het nooit meer los hoeft zou ik het gewoon solderen.

Afbeeldingslocatie: https://cdn.commercev3.net/cdn.ecolocityled.com/images/trouble/ser_lrg.gif
(maar dan natuurlijk met 3/4 aders tussen de losse strips)
Pagina: 1 ... 64 ... 80 Laatste