Prima probeer ik die eerste. Kijken of dat helpt. Voor de prijs hoef ik het niet te laten.heintjeput schreef op vrijdag 9 september 2022 @ 21:29:
[...]
Die eerste lijkt prima te doen wat jij wilt toch? Lijkt me makkelijker integreren dan de 2e.
@Toppe hoe is het met je aardappelweegschaal?
Goed!heintjeput schreef op vrijdag 9 september 2022 @ 21:29:
[...]
Die eerste lijkt prima te doen wat jij wilt toch? Lijkt me makkelijker integreren dan de 2e.
@Toppe hoe is het met je aardappelweegschaal?
Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!
Die eerste gebruik ik ook. Werkt prima. Heb er wel een pcbtje omheen gebouwd.
All-electric | Deye 12KSG04LP3 met 2x Yixiang V2, 32x MB31 314 Ah | Panasonic Aquarea J 5kW | Tesla MY, SmartEVSE | 5.2 kWp PV | Proxmox met HomeAssistant, Docker host, PfSense, TrueNas & Mailcow
Wat voor ESP gebruik je en hoever van de strip zit je ESP?Waah schreef op vrijdag 9 september 2022 @ 21:09:
Voor mijn trap led project heb ik een logic level shifter nodig denk ik. Korte stukken werkten prima. Lange niet. Zelfs niet als ik elke strip apart voed.
De data-lijn is 1 lengte, en officieel is het 5v voor de data-lijn maar een esp geeft 3.3v op de data-lijn. Dus een logic level shifter is nodig.
Ik heb hier geen problemen mee en heb een WS2812B strip van 5m aan een wemos en 5 stukken SK6812 van 1m in serie (aparte voeding/data in serie) aan een wemos, beide zonder problemen.
Bij beide strips zit de wemos op ongeveer 10cm van de aansluiting.
Wemos D1 mini. De afstand tot de eerste strip is een halve meter al (zodat ik alles netjes kan wegwerken maar toch toegankelijk houd). Daarbij heb ik niet 5 meter... Ik heb 10 meter aan ledstrips er aan zitten (WS2815). 5V voor 10 meter zou ik een 80amp voeding moeten hebben (of meerdere 20A voedingen) wat ik niet zag zitten.AteGjalt schreef op maandag 12 september 2022 @ 11:18:
[...]
Wat voor ESP gebruik je en hoever van de strip zit je ESP?
Ik heb hier geen problemen mee en heb een WS2812B strip van 5m aan een wemos en 5 stukken SK6812 van 1m in serie (aparte voeding/data in serie) aan een wemos, beide zonder problemen.
Bij beide strips zit de wemos op ongeveer 10cm van de aansluiting.
Zoals altijd bij dit soort strips: Ja, het kan werken op 3.3v. Maar het is toch echt gespecificeerd op 5v. En een logic level shifter kost nog geen euro, dus als ik daar hoofdpijn of vaag gedrag mee kan voorkomen
Heb die logic level shifter nog niet binnen, dus nog ff afwachten of dat het probleem daadwerkelijk is. Maar als ik de youtube filmpjes zie die het probleem aantonen, heb ik exact hetzelfde issue. Plus dat met een paar meter (getest met 5 treden, zo'n 4 meter) ik het probleem niet heb.
Het is ook niet vreemd. Het signaal moet door 10 meter strip + dan nog zo'n 10 meter om de strips met elkaar te verbinden. Over 20 meter op 3.3v voor iets dat op 5v hoort te draaien? Niet zo vreemd dat het op een gegeven moment problemen gaat geven.
De data input range van je strip ligt ook net wat hoger dan die van mij, dus dan heb je daar sneller problemen mee. Die shifter lost het probleem dan wel op ja, had zelf ook een paar besteld maar bleken niet nodig in mijn geval. Elke LED-chip heeft als het goed is een klein versterk circuit ingebouwd die het signaal versterkt en doorstuurt, hierdoor hoeft alleen de 1e LED een goed signaal te ontvangen.Waah schreef op maandag 12 september 2022 @ 11:26:
[...]
Wemos D1 mini. De afstand tot de eerste strip is een halve meter al (zodat ik alles netjes kan wegwerken maar toch toegankelijk houd). Daarbij heb ik niet 5 meter... Ik heb 10 meter aan ledstrips er aan zitten (WS2815). 5V voor 10 meter zou ik een 80amp voeding moeten hebben (of meerdere 20A voedingen) wat ik niet zag zitten.
Zoals altijd bij dit soort strips: Ja, het kan werken op 3.3v. Maar het is toch echt gespecificeerd op 5v. En een logic level shifter kost nog geen euro, dus als ik daar hoofdpijn of vaag gedrag mee kan voorkomen![]()
Heb die logic level shifter nog niet binnen, dus nog ff afwachten of dat het probleem daadwerkelijk is. Maar als ik de youtube filmpjes zie die het probleem aantonen, heb ik exact hetzelfde issue. Plus dat met een paar meter (getest met 5 treden, zo'n 4 meter) ik het probleem niet heb.
Het is ook niet vreemd. Het signaal moet door 10 meter strip + dan nog zo'n 10 meter om de strips met elkaar te verbinden. Over 20 meter op 3.3v voor iets dat op 5v hoort te draaien? Niet zo vreemd dat het op een gegeven moment problemen gaat geven.
80 Ampère? Houdt er rekening mee dat je dan hele dikke kabels nodig gaat hebben. Ook wellicht handig dat je op meerdere plekken op je LED strip de voeding (zowel de 5V en de 0V draad) aansluit, zodat de 80 Ampère niet 10 meter door de 5V lijn in de LED strip heen moet. Door de weerstand van de 5V lijn in de LED strip heb je natuurlijk ook een flinke spanningsdrop te pakken.
Hoezo 80A voor 10 meter ledstrip? Een 60-led per meter WS2812B doet zo'n 3,6A per meter, dus dan kom je op 36A. De SK67812 zit op 3A per meter bij 60 leds. Als je de leds nooit op volle sterkte gebruikt en bijvoorbeeld in de firmware beperkt kun je in veel gevallen ook nog wel met 20A uit de voeten, of nog minder.Waah schreef op maandag 12 september 2022 @ 11:26:
[...]
Ik heb 10 meter aan ledstrips er aan zitten (WS2815). 5V voor 10 meter zou ik een 80amp voeding moeten hebben (of meerdere 20A voedingen) wat ik niet zag zitten.
Gebruik jij 120leds/meter op 100% van het maximale vermogen of zo? 400W aan leds is niet niks, zeg maar
* Gizz gebruikt zijn ledstrips (achter de tv, achter het hoofdbord van het bed, in een koof en als losse spiraallamp) meestal op maximaal 25% vermogen. Vaak minder.
[ Voor 14% gewijzigd door Gizz op 12-09-2022 13:07 ]
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
Daarom had ik ook geen 5v maar 12v, omdat ik geen 80 ampere voeding en megadikke kabels wilde. Daarnaast heb ik een "hoofdkabel" die ik dan per strip afsplits. Zo is kabelmanagement ook beter te doen. Als ik dan teveel stroom door die hoofdkabel trek, dan kan ik altijd de kabel splitsen en 2 hoofdkabels trekken ipv 1.SebasFM schreef op maandag 12 september 2022 @ 12:26:
80 Ampère? Houdt er rekening mee dat je dan hele dikke kabels nodig gaat hebben. Ook wellicht handig dat je op meerdere plekken op je LED strip de voeding (zowel de 5V en de 0V draad) aansluit, zodat de 80 Ampère niet 10 meter door de 5V lijn in de LED strip heen moet. Door de weerstand van de 5V lijn in de LED strip heb je natuurlijk ook een flinke spanningsdrop te pakken.
That said, dat was nog in de veronderstelling dat ik 120 of 144 leds/meter nodig had. Uiteindelijk voor 60 gegaan omdat het een prima concessie was. Dan is inderdaad 36A voldoende, maar met 12v is dat toch fijner te doen want dan heb ik aan een 16A voeding meer dan genoeg.Gizz schreef op maandag 12 september 2022 @ 13:01:
[...]
Hoezo 80A voor 10 meter ledstrip? Een 60-led per meter WS2812B doet zo'n 3,6A per meter, dus dan kom je op 36A. De SK67812 zit op 3A per meter bij 60 leds. Als je de leds nooit op volle sterkte gebruikt en bijvoorbeeld in de firmware beperkt kun je in veel gevallen ook nog wel met 20A uit de voeten, of nog minder.
Gebruik jij 120leds/meter op 100% van het maximale vermogen of zo? 400W aan leds is niet niks, zeg maar
* Gizz gebruikt zijn ledstrips (achter de tv, achter het hoofdbord van het bed, in een koof en als losse spiraallamp) meestal op maximaal 25% vermogen. Vaak minder.
Helderheid is inderdaad niet echt een issue ben ik wel achter

Weet nu wel dat ik voor de hoeveelheid licht echt geen 60 leds/m nodig heb. Maar voor mooie ambilight bijvoorbeeld (of trapverlichting) is 60 wel nodig en 120 eigenlijk wel mooier. Maar dat wordt wel wat extreem ja

Nog genoeg led-projectjes in het vooruitzicht
[ Voor 9% gewijzigd door Waah op 12-09-2022 13:29 ]
Ik heb alles op 5V gehouden, want die zijn zuiniger en het scheelt weer een step-down convertertje om de ESP te voeden. En mijn langste strips zijn een meter of 4 dus dan valt het wel te overzien qua voltage drop, zeker als je ze niet op vol vermogen gebruikt. Met 10 meter vind ik 12V niet gek hoor, ik snapte alleen je 80A bij 5V niet.Waah schreef op maandag 12 september 2022 @ 13:23:
[...]
Dan is inderdaad 36A voldoende, maar met 12v is dat toch fijner te doen want dan heb ik aan een 16A voeding meer dan genoeg.
Let daarbij wel op of je leds hun warmte kwijt kunnen raken. In een alu-profiel zal dat geen probleem zijn, maar als je de leds in een hout hebt verwerkt (bijvoorbeeld een gefreesd kanaaltje) en/of in siliconen zijn verpakt zou ik ze zelf niet even lekker een uurtje op vol vermogen laten brandenDaarnaast wil ik wel gewoon op max brightness kunnen draaien voor overdag als ik dat wil.
Als je de boel goed instelt kan er eigenlijk weinig verkeerd gaan. In WLED kun je het maximaal vermogen voor een strip instellen. Stel je je 16A strip in op maximaal 4A, dan krijgen ze ook maar maximaal 4A als je de leds vertelt om op 100% brightness te gaan. Het is niet zo dat je dan zelf moet opletten dat je het schuifje van brightness op maximaal 25% zet en je partner dat een keer vergeet en je voeding overvraagd wordtEn iets wat rated is voor 16A, aansluiten op 4A omdat ik het toch op max 25% aan zet is ook niet helemaal een fijn gevoel
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
@Gizz die 80A was gebaseerd op 2x zoveel leds (120/144 leds/m). Zo kwam ik op 80 (2x36=72A, en je wilt toch wat speling in je voeding lijkt me).
Leds staat altijd maar kort aan dat scheelt. Is allemaal op basis van motion sensors (extern, via Home Assistant). Dus warmte is sowieso geen issue.
En klopt, met WLED kan er als je hem limiteert weinig misgaan. Maar weinig is niet niets. En gezien de geringe meerprijs ga ik daar niet op besparen. Maar het kan inderdaad zeker op die manier.
Miss Waah heeft sowieso geen sliders of mogelijkheden. Het is home automation, en dat betekent dat het automatisch moet werken zonder in de weg te zitten.
Miss Waah heeft de hele WLED interface nog nooit gezien
Leds staat altijd maar kort aan dat scheelt. Is allemaal op basis van motion sensors (extern, via Home Assistant). Dus warmte is sowieso geen issue.
En klopt, met WLED kan er als je hem limiteert weinig misgaan. Maar weinig is niet niets. En gezien de geringe meerprijs ga ik daar niet op besparen. Maar het kan inderdaad zeker op die manier.
Miss Waah heeft sowieso geen sliders of mogelijkheden. Het is home automation, en dat betekent dat het automatisch moet werken zonder in de weg te zitten.


[ Voor 18% gewijzigd door Waah op 12-09-2022 13:40 ]
Ik ben mij wat aan het oriënteren op een ultra-low-power sensor op batterijen die eens per kwartier een meting doet en dan weer in deepsleep mag. Mijn soldeerskills zijn alleen geschikt voor het grove werk, dus een chip of led lossolderen zie ik niet zitten. Kortom: ik ben aan het zoeken naar bordjes die kant en klaar ontworpen zijn voor low power usage. Bijvoorbeeld de FireBeetle ESP32 heeft een ontwerp voor zeer laag stroomverbruik. Maar die is moeilijk te krijgen lijkt het. Wat zijn nog meer alternatieven voor ultra laag stroomverbruik zonder soldeerskills? Als het wifi heeft, een HTU21D sensor kan aansturen (temperatuur en vochtigheid) en ik kan het via de Arduino IDE programmeren ben ik al tevreden.
b.t.w. tips voor een bijbehorende batterij ben ik ook blij mee.
b.t.w. tips voor een bijbehorende batterij ben ik ook blij mee.
@LinuxMan Waar heb je gezocht?
Een li-po batterij met correcte connector werkt ok.
De FireBeetle kan die lipo ook gelijk laden, een zonnepaneeltje (of twee) op Vin geeft je wat meer speelruimte.
In alle gevallen geldt dat je zal moeten solderen. Een fatsoenlijke soldeerbout is 90% van het werk.
Een li-po batterij met correcte connector werkt ok.
De FireBeetle kan die lipo ook gelijk laden, een zonnepaneeltje (of twee) op Vin geeft je wat meer speelruimte.
In alle gevallen geldt dat je zal moeten solderen. Een fatsoenlijke soldeerbout is 90% van het werk.
- knip -
@LinuxMan dan zou ik sowieso naar een ESP8266 kijken ipv een '32. Een wemos D1-mini bordje is prima natuurlijk, als je echt minimalistisch wilt kun je een ESP-01 pakken maar dat maakt het allemaal wel wat lastiger qua programmeren etc.
@Waah Misschien mosterd na de maaltijd, maar je kan dus ook een sectie strip dicht bij de ESP plaatsen als "levelshifter". Verder nooit aan doen ofzo, maar die zorgt dan voor level-shifting naar de "echte" strip.
Verder verstandig om overal waar je wat lengte in de datalijn hebt en losse power invoer om een 330Ω - 1k in de datapijn op te nemen zodat eventueel spanningsverschil tussen de pixels niet zo erg is.
Verder verstandig om overal waar je wat lengte in de datalijn hebt en losse power invoer om een 330Ω - 1k in de datapijn op te nemen zodat eventueel spanningsverschil tussen de pixels niet zo erg is.
@LinuxMan Juist het lossolderen is juist het grove werk
Gewoon lekker vegen.
En als ik zo kijk heeft een ESP32 inderdaad een lagere sleep current. Maar denk dat het onder aan de streep niet heel veel uit zal maken. Zo kort mogelijk wakker zijn, en vooral zo kort mogelijk het modem aan, zal denk ik belangrijker zijn.
En als ik zo kijk heeft een ESP32 inderdaad een lagere sleep current. Maar denk dat het onder aan de streep niet heel veel uit zal maken. Zo kort mogelijk wakker zijn, en vooral zo kort mogelijk het modem aan, zal denk ik belangrijker zijn.
Verwijderd
@LinuxMan om solderen te beperken zou ik voor een Wemos D1 gaan. De ESP-01 ga je namelijk niet in/uit deepsleep krijgen. De esp32 is wat overkill.
Met esphome is het programmeren een fluitje van een cent, en dus je alles zo de MQTT op.
Elk kwartier een update, ga er vanuit dat je op 2 AA batterijen ongeveer een maand kunt draaien.
Maar voor een temp/hum sensor? is een zigbee opstelling niet handiger?
Deze doen het jaren op een 2032 knoopje.
Met esphome is het programmeren een fluitje van een cent, en dus je alles zo de MQTT op.
Elk kwartier een update, ga er vanuit dat je op 2 AA batterijen ongeveer een maand kunt draaien.
Maar voor een temp/hum sensor? is een zigbee opstelling niet handiger?
Deze doen het jaren op een 2032 knoopje.
[ Voor 14% gewijzigd door Verwijderd op 13-09-2022 09:39 . Reden: zigbee? ]
De prijs valt juist reuze mee. Het verbruik kan lager zijn dan een bare minimum ESP8266.Verwijderd schreef op dinsdag 13 september 2022 @ 09:39:
[...]
Duurder en hoger stroomverbruik gok ik zo maar.
Daarbij, voor een temp/hum sensor wat overkill
Het DFRobot bordje wat hij aan heeft gehaald kan naar de 10 μA bijvoorbeeld.
Overkill? Dat is een ESP8266 ook voor enkel een temperatuursensor. Daarbij geldt dan ook dat Espressif de EPS32-C3 expliciet bedoeld heeft als vervanger van de ESP8266.
Het grote nadeel van zigbee is dat je je in moet kopen, je zal immers ook een powered node moeten hebben én een vertaling naar ethernet.
Een ander nadeel is dat als je ook eens wat anders wilt meten je ineens in de kou staat met je zigbee.
- knip -
@Septillion @mcDavidmcDavid schreef op dinsdag 13 september 2022 @ 09:25:
@LinuxMan dan zou ik sowieso naar een ESP8266 kijken ipv een '32. Een wemos D1-mini bordje is prima natuurlijk, als je echt minimalistisch wilt kun je een ESP-01 pakken maar dat maakt het allemaal wel wat lastiger qua programmeren etc.
De chip is het probleem niet. De layout en componenten van de PCB zijn het probleem. Zie bijvoorbeeld https://diyi0t.com/reduce-the-esp32-power-consumption/
Er zit een factor 1000 verschil in het stroomverbruik gedurende deepsleep tussen verschillende PCB's met de zelfde ESP chip. Volgens verschillende websites zit de D1 mini rond de 0.17 mA in deepsleep, terwijl de Firebeetle 0.008 mA in deepsleep gebruikt.
Hee die shop had ik nog niet gezien! Thanks!Raymond P schreef op dinsdag 13 september 2022 @ 09:24:
@LinuxMan Waar heb je gezocht?
Een li-po batterij met correcte connector werkt ok.
De FireBeetle kan die lipo ook gelijk laden, een zonnepaneeltje (of twee) op Vin geeft je wat meer speelruimte.
In alle gevallen geldt dat je zal moeten solderen. Een fatsoenlijke soldeerbout is 90% van het werk.
Dit soort soldeerwerk durf ik wel aan, maar een led of LDO lossolderen op een PCB die vol componmenten zit durf ik niet aan (al te vaak dingen kapot gemaakt).
Heb je ergens de info hoe dat laden van die lipo dan werkt? want dat heb ik nog nergens gezien?
Het blijft natuurlijk niet bij deze ene sensor als het eenmaal werkt, dus ik ga er vast nog heel vaak dingen aan doorontwikkelenVerwijderd schreef op dinsdag 13 september 2022 @ 09:35:
Maar voor een temp/hum sensor? is een zigbee opstelling niet handiger?
Deze doen het jaren op een 2032 knoopje.
Ik heb een tiental Lolin/Wemos/Robotdyn D1 mini bordjes in huis met Arduino geprogrammeerd, maar die krijgen netstroom, en dan is stroomgebruik niet zo'n ding.
@LinuxMan Het mooie van ESP32 is dat er default helemaal niet zo veel extra aan (actieve) componenten op hoeft omdat 'ie dat allemaal al onboard heeft. 
Zie bijvoorbeeld de Wemos S2 mini, crystal + ldo.

Op de Firebeetle EPS32 zit een TP4056 connected aan USBVCC die het laden van de Li-Po voor z'n rekening neemt. Laden werkt dus door het op USB aansluiten.
Hardware rev.3 heeft solder pads voor een externe charger waar je dus ook solar aan kan hangen. (Bij rev.4 weet ik niet hoe ze dat bedoeld hebben)
Zelf heb ik geen ervaring met dat bordje van hun.
Zie bijvoorbeeld de Wemos S2 mini, crystal + ldo.

Op de Firebeetle EPS32 zit een TP4056 connected aan USBVCC die het laden van de Li-Po voor z'n rekening neemt. Laden werkt dus door het op USB aansluiten.
Hardware rev.3 heeft solder pads voor een externe charger waar je dus ook solar aan kan hangen. (Bij rev.4 weet ik niet hoe ze dat bedoeld hebben)
Zelf heb ik geen ervaring met dat bordje van hun.
[ Voor 3% gewijzigd door Raymond P op 14-09-2022 00:03 . Reden: dead link ]
- knip -
Beste tweakers,
Heb een brievenbus sensor gemaakt met een PIR en ESP32 op basis van ESPHome. Alles werkt behalve deepsleep krijg ik niet goed werkend. Als ik de debug info lees krijg ik wakeup reason 2 (RTC).
Maar ik krijg het dus niet werkend. Dat is wel vervelend want deze sensor draait op een powerbank die nu in 2 dagen leeg is bijna elke minuut aangaat (is niet duidelijk patroon of event te ontdekken).
Heb een brievenbus sensor gemaakt met een PIR en ESP32 op basis van ESPHome. Alles werkt behalve deepsleep krijg ik niet goed werkend. Als ik de debug info lees krijg ik wakeup reason 2 (RTC).
Maar ik krijg het dus niet werkend. Dat is wel vervelend want deze sensor draait op een powerbank die nu in 2 dagen leeg is bijna elke minuut aangaat (is niet duidelijk patroon of event te ontdekken).
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
| esphome: name: brievenbus # test wakeup reason on_boot: priority: 900 then: lambda: |- id(wake_up_reason) = esp_sleep_get_wakeup_cause(); globals: - id: wake_up_reason type: int restore_value: no initial_value: '0' esp32: board: nodemcu-32s framework: type: arduino # Enable logging logger: # Enable Home Assistant API api: encryption: key: "" wifi: fast_connect: true ssid: !secret wifi_tplink_ssid password: !secret wifi_tplink_password manual_ip: static_ip: 10.50.2.9 gateway: 10.50.2.1 subnet: 255.255.255.0 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Brievenbus Fallback Hotspot" password: "" captive_portal: substitutions: # Modify variables based on your settings hostname: 'brievenbus' # Enable Web web_server: port: 80 ota: password: "" binary_sensor: - platform: status name: $hostname status - platform: gpio pin: number: GPIO14 mode: input: true pullup: true inverted: false name: "Brievenbus PIR Sensor" device_class: motion filters: - delayed_off: 400ms time: - platform: sntp id: my_time timezone: Europe/Amsterdam deep_sleep: id: deep1 run_duration: 50s sleep_duration: 36000min wakeup_pin: GPIO14 #wakeup_pin_mode: INVERT_WAKEUP sensor: # - platform: adc # pin: 34 # attenuation: 11db # name: "Brievenbus battery voltage" # id: esp32_1_vbatt # update_interval: 10s - platform: template name: "Wake-up Reason" accuracy_decimals: 0 lambda: |- return (id(wake_up_reason)); # end test wakeup reason #mqtt: # broker: # birth_message: # topic: brievenbus/status # payload: online # will_message: # topic: brievenbus/status # payload: online # on_message: # - topic: brievenbus/ota_mode # payload: 'ON' # then: # - deep_sleep.prevent: deep1 # - topic: brievenbus/ota_mode # payload: 'OFF' # then: # - deep_sleep.enter: deep1 |
Verwijderd
Hoe heb je de bedrading zitten? Want je moet wel een signaal naar de wake-pin sturen...Vaevictis_ schreef op woensdag 14 september 2022 @ 08:33:
Beste tweakers,
Heb een brievenbus sensor gemaakt met een PIR en ESP32 op basis van ESPHome. Alles werkt behalve deepsleep krijg ik niet goed werkend. Als ik de debug info lees krijg ik wakeup reason 2 (RTC).
Maar ik krijg het dus niet werkend. Dat is wel vervelend want deze sensor draait op een powerbank die nu in 2 dagen leeg is bijna elke minuut aangaat (is niet duidelijk patroon of event te ontdekken).
Daarbij, gaat je PIR het alleen doen als hij uit sleep is volgens mij, dus of dit gaat werken...
PIR sensor op GPIO14. Maar dan zou ik verwachten dat de ESP32 helemaal niet wakker wordt maar krijgt gewoon wakeup vanuit RTC interrupt.Verwijderd schreef op woensdag 14 september 2022 @ 08:47:
[...]
Hoe heb je de bedrading zitten? Want je moet wel een signaal naar de wake-pin sturen...
Daarbij, gaat je PIR het alleen doen als hij uit sleep is volgens mij, dus of dit gaat werken...
Verwijderd
Weet je zeker dat de PIR een LOW stuurt bij beweging?Vaevictis_ schreef op woensdag 14 september 2022 @ 09:04:
[...]
PIR sensor op GPIO14. Maar dan zou ik verwachten dat de ESP32 helemaal niet wakker wordt maar krijgt gewoon wakeup vanuit RTC interrupt.
De vraag ging over deep sleepVerwijderd schreef op woensdag 14 september 2022 @ 09:14:
[...]
Weet je zeker dat de PIR een LOW stuurt bij beweging?
Verwijderd
Je hebt de PIR op GPIO14 zitten, dat is ook de poort die wake_up_pin is.Vaevictis_ schreef op woensdag 14 september 2022 @ 10:01:
[...]
De vraag ging over deep sleepDe PIR sensor werkt.
Dan moet de PIR dus een LOW signaal op die poort zetten om hem uit deepsleep te halen.
(of als je hem inverted doet een HIGH)
Is dat het geval? (Heb helaas geen esp32 liggen om even te testen voor je)
Als ik de PIR eraf haal gaat ie dus ook al uit deep sleep (wakeup reason RTC) dus er is iets anders aan de hand. Dat wil ik graag eerst opgelost hebben.Verwijderd schreef op woensdag 14 september 2022 @ 10:34:
[...]
Je hebt de PIR op GPIO14 zitten, dat is ook de poort die wake_up_pin is.
Dan moet de PIR dus een LOW signaal op die poort zetten om hem uit deepsleep te halen.
(of als je hem inverted doet een HIGH)
Is dat het geval? (Heb helaas geen esp32 liggen om even te testen voor je)
Verwijderd
Als er niets aan die pin hangt, is de input LOW toch?Vaevictis_ schreef op woensdag 14 september 2022 @ 10:39:
[...]
Als ik de PIR eraf haal gaat ie dus ook al uit deep sleep (wakeup reason RTC) dus er is iets anders aan de hand. Dat wil ik graag eerst opgelost hebben.
Haal hem eens leeg en zet de pin op inverted? Wat doet het dan? Blijft hij dan slapen?
Ook al gedaan maar helpt niet.Verwijderd schreef op woensdag 14 september 2022 @ 11:20:
[...]
Als er niets aan die pin hangt, is de input LOW toch?
Haal hem eens leeg en zet de pin op inverted? Wat doet het dan? Blijft hij dan slapen?
Inmiddels gekocht, Lipo batterij opgeladen en stukje code geschreven in Arduino. De code zorgt dat elke 20 minuten de wifi verbinding op wordt gezet (hardcoded op channel en BSSID zodat hij niet hoeft te scannen, hardcoded IP adres zodat er geen DHCP nodig is). De VCC van de sensor (HTU21D) heb ik op een IO port gezet, dus die krijgt pas stroom als ik de meting ga doen, en dan stuur ik de meting over MQTT naar de server en gaat het ding in deepsleep. Ik log ook de tijd tussen start en deepsleep, dat is ~250ms. Het meeste is nodig voor het opzetten van de wifi verbinding. De esp8266 was sneller (~200ms), maar ja, die gebruikte 100x meer stroom tijdens deepsleep.Raymond P schreef op dinsdag 13 september 2022 @ 23:56:
Op de Firebeetle EPS32 zit een TP4056 connected aan USBVCC die het laden van de Li-Po voor z'n rekening neemt. Laden werkt dus door het op USB aansluiten.
Het was even prutsen om de on-board led uit te krijgen in deepsleep. Ik moet nog even uitzoeken of ik de batterijspanning kan meten, er lijkt iets te kunnen met IO34 maar dat snap ik nog niet helemaal of ik daar nou ook iets voor moet solderen.
Hij staat nu drie dagen stabiel te draaien, dus dat lijkt allemaal goed te gaan. Ondertussen een behuizing aan het maken om hem achter in de tuin te hangen. Iets met piepschuim rondom de sensor om te zorgen dat de temperatuur niet wordt beïnvloed door de zonnestraling, maar wel voldoende luchtdoorstroming.
@LinuxMan Ik kan mij niet herinneren dat vBat nog ergens anders aan verbonden zat.
Je kan dat even bekijken op de schematics, als het niet het geval is kan je dmv een voltage divider gaan meten met een analoge pin.
Klinkt spannender dan dat het is, gewoon doen dus.
Je kan dat even bekijken op de schematics, als het niet het geval is kan je dmv een voltage divider gaan meten met een analoge pin.
Klinkt spannender dan dat het is, gewoon doen dus.
- knip -
@Septillion 2μA. En 0.1μA als je de enable pin gaat gebruiken van die LDO. Componenten zijn netjes uitgezocht.
- knip -
Het is mij nog steeds niet duidelijk of de Firebeetle een ingebouwde voltage divider heeft aangesloten op IO34. In het kader van beter-goed-gejat-dan-slecht-gedaan heb ik de volgende code overgenomen van https://github.com/Torxgewinde/Firebeetle-2-ESP32-E die op de foto ook niks aan extra weerstanden heeft staan:
nu krijg ik readings als 4296705.50, dat lijkt me niet echt correct.. Wat doe ik verkeerd?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| float readBattery() { uint32_t value = 0; int rounds = 11; esp_adc_cal_characteristics_t adc_chars; //battery voltage divided by 2 can be measured at GPIO34, which equals ADC1_CHANNEL6 adc1_config_width(ADC_WIDTH_BIT_12); adc1_config_channel_atten(ADC1_CHANNEL_6, ADC_ATTEN_DB_11); //to avoid noise, sample the pin several times and average the result for(int i=1; i<=rounds; i++) { value += adc1_get_raw(ADC1_CHANNEL_6); } value /= (uint32_t)rounds; //due to the voltage divider (1M+1M) values must be multiplied by 2 //and convert mV to V return esp_adc_cal_raw_to_voltage(value, &adc_chars)*2.0/1000.0; } |
nu krijg ik readings als 4296705.50, dat lijkt me niet echt correct.. Wat doe ik verkeerd?
Ik heb de DFR0478 v4.0, dus dan moet ik ADC1_CHANNEL_0 gebruiken begrijp ik. Many thanks!Raymond P schreef op woensdag 21 september 2022 @ 13:27:
@LinuxMan Welk board (en revisie) heb je exact?
De DFR0478 V4 heeft een trace van vBatt naar A0 (IO36) inclusief voltage divider:
[Afbeelding]
Je voorbeeldcode is voor een DFR0654, daar is A2 (IO34) gebruikt.
Waar heb je dit plaatje nou gevonden? Ik kan er in de hele product manual niks over vinden?
@LinuxMan Dat plaatje kwam ik tegen in m'n screenshot folder. 
De gelinkte PDFs heb ik van hun wiki:
https://wiki.dfrobot.com/...&_Bluetooth__SKU__DFR0478
Ik heb wat sensors van dfrobot in gebruik en moest de eeste keer ook even zoeken.
De gelinkte PDFs heb ik van hun wiki:
https://wiki.dfrobot.com/...&_Bluetooth__SKU__DFR0478
Ik heb wat sensors van dfrobot in gebruik en moest de eeste keer ook even zoeken.
- knip -
Hmm nog geen instant succes:LinuxMan schreef op woensdag 21 september 2022 @ 16:15:
Ik heb de DFR0478 v4.0, dus dan moet ik ADC1_CHANNEL_0 gebruiken begrijp ik. Many thanks!
code:
1
2
3
4
5
6
7
8
| adc1_config_width(ADC_WIDTH_BIT_12); adc1_config_channel_atten(ADC1_CHANNEL_0, ADC_ATTEN_DB_11); esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, &adc_chars); for(int i=1; i<=rounds; i++) { value += adc1_get_raw(ADC1_CHANNEL_0); } value /= (uint32_t)rounds; return esp_adc_cal_raw_to_voltage(value, &adc_chars)*2.0/1000.0; |
geeft nu 0.28 als waarde terug...
@LinuxMan Met voeding op USB toevallig?
- knip -
nee, hij hangt nu alleen aan de batterij en geeft 0.28
@LinuxMan Wat geeft een ruwe read zonder het aanpassen/setten van vref met cal_characterize?
Ik heb nul praktijkervaring met analoge reads op een ESP32... Als het daar niet zit kan ik van het weekend (of morgen als ik tijd heb) wel meekijken op een generic bordje als niemand anders een idee heeft.
Ik ga er dan wel van uit dat je ff een multimeter gepakt hebt en er niet werkelijk 0.28V op die pin staat.
Ik heb nul praktijkervaring met analoge reads op een ESP32... Als het daar niet zit kan ik van het weekend (of morgen als ik tijd heb) wel meekijken op een generic bordje als niemand anders een idee heeft.
Ik ga er dan wel van uit dat je ff een multimeter gepakt hebt en er niet werkelijk 0.28V op die pin staat.
- knip -
Wat krijg je er uit als je een analogRead op de pin doet zoals in de Espressif documentatie?
@LinuxMan Ik heb je schematics erbij gepakt, probeer eens ADC1_CH3 (pin4).
- knip -
zo slim was ik nog niet. Ik meet helemaal niks op A0. Rechtstreeks op de batterij meet ik 4.2V, dus als het schema klopt zou ik 2.1V moeten meten. Ook op de andere analoge pinnen meet ik niks, behalve op A4 een 3.3V (dus die lijkt als digital output op HIGH te staan).Raymond P schreef op woensdag 21 september 2022 @ 20:12:
Ik ga er dan wel van uit dat je ff een multimeter gepakt hebt en er niet werkelijk 0.28V op die pin staat.
Ik heb 3 Wemos D1 Mini verspreid door het huis. Alle 3 zijn sinds een week niet meer bereikbaar. Ik heb er nu eentje aangesloten op mijn laptop om de logging te bekijken. Deze kan het wifi netwerk niet meer vinden. Mijn wifi netwerk is een UniFi setup met 3 UAP-AC-PRO access points. Aan de configuratie is niets veranderd, behalve mogelijk een automatische firmware update van de AP's.
Ik draai ESPHome op de Wemos D1 microcontrollers. Deze heb ik net nog bijgewerkt naar de laatste versie (via HomeAssistant), maar zonder resultaat. Ik heb inmiddels ook geprobeerd de firmware van mijn access points te downgraden naar 6.0.21. Die zaten op 6.2.35. Ook zonder resultaat.
Het gekke is dat er maar weinig netwerken gevonden worden. Heb hier zeker 10 netwerken in de buurt. En ik weet zeker dat ik eerder meer netwerken gezien heb op mijn ESP. Maar de 3 netwerken met de naam '' lijken van mijn UniFi access points te komen. (de BSSID's, die lijken op MAC addressen, lijken op de BSSID's van mijn wifi netwerken). Maar het netwerk waar ze mee moeten verbinden staat er niet tussen.
Iemand hier die ook issues heeft met UniFi en Wemos Mini D1 controllers?
--- edit ---
Ik ben inmiddels weer wat stappen verder. 1 van de 3 ESP's werkt weer. Het gekke was namelijk dat die ESP wel mijn Guest netwerk zag, maar niet mijn IoT (en home) netwerk. Het grootste verschil tussen die wifi netwerken is het Guest profiel, welke wat minder instellingen heeft.
Ik heb in UniFi de "2G Data Rate Control" aangepast naar 1Mbps. Daarbij verscheen de melding "Full device compatibility and range". Daarna kon de ESP die mijn guest netwek zag ook weer verbinden met mijn IoT netwerk.
Die ene ESP komt net uit een andere batch dan de andere 2. Die zien nog steeds alleen maar de bovenstaande netwerken. Ik heb werkelijk waar geen idee wat er nu precies aan de hand is. Ik ga denk ik maar 2 nieuwe ESP's bestellen
Ik draai ESPHome op de Wemos D1 microcontrollers. Deze heb ik net nog bijgewerkt naar de laatste versie (via HomeAssistant), maar zonder resultaat. Ik heb inmiddels ook geprobeerd de firmware van mijn access points te downgraden naar 6.0.21. Die zaten op 6.2.35. Ook zonder resultaat.
Het gekke is dat er maar weinig netwerken gevonden worden. Heb hier zeker 10 netwerken in de buurt. En ik weet zeker dat ik eerder meer netwerken gezien heb op mijn ESP. Maar de 3 netwerken met de naam '' lijken van mijn UniFi access points te komen. (de BSSID's, die lijken op MAC addressen, lijken op de BSSID's van mijn wifi netwerken). Maar het netwerk waar ze mee moeten verbinden staat er niet tussen.
code:
1
2
3
4
5
6
| [D][wifi:399]: Found networks: [D][wifi:447]: - '' (EE:63:DA:ED:71:89) ▂▄▆█ [D][wifi:447]: - '' (0A:EC:DA:B1:D7:AD) ▂▄▆█ [D][wifi:447]: - '' (EE:63:DA:ED:68:18) ▂▄▆█ [D][wifi:447]: - 'UPC1088218' (44:32:C8:33:B3:F3) ▂▄▆█ [W][wifi:453]: No matching network found! |
Iemand hier die ook issues heeft met UniFi en Wemos Mini D1 controllers?
--- edit ---
Ik ben inmiddels weer wat stappen verder. 1 van de 3 ESP's werkt weer. Het gekke was namelijk dat die ESP wel mijn Guest netwerk zag, maar niet mijn IoT (en home) netwerk. Het grootste verschil tussen die wifi netwerken is het Guest profiel, welke wat minder instellingen heeft.
Ik heb in UniFi de "2G Data Rate Control" aangepast naar 1Mbps. Daarbij verscheen de melding "Full device compatibility and range". Daarna kon de ESP die mijn guest netwek zag ook weer verbinden met mijn IoT netwerk.
Die ene ESP komt net uit een andere batch dan de andere 2. Die zien nog steeds alleen maar de bovenstaande netwerken. Ik heb werkelijk waar geen idee wat er nu precies aan de hand is. Ik ga denk ik maar 2 nieuwe ESP's bestellen
[ Voor 22% gewijzigd door EWS99 op 22-09-2022 19:57 ]
Hier had uw advertentie kunnen staan!
Check ook even de kanaalbreedte van je eigen WiFi netwerk goed staat op 20MHz. Bij mijn weten werken ESPs (8266) niet met 40MHz channels (ESP32 wel). Goede kans dat je guest network op 20 staat.EWS99 schreef op donderdag 22 september 2022 @ 17:28:
Ik heb 3 Wemos D1 Mini verspreid door het huis. Alle 3 zijn sinds een week niet meer bereikbaar. Ik heb er nu eentje aangesloten op mijn laptop om de logging te bekijken. Deze kan het wifi netwerk niet meer vinden. Mijn wifi netwerk is een UniFi setup met 3 UAP-AC-PRO access points. Aan de configuratie is niets veranderd, behalve mogelijk een automatische firmware update van de AP's.
Ik draai ESPHome op de Wemos D1 microcontrollers. Deze heb ik net nog bijgewerkt naar de laatste versie (via HomeAssistant), maar zonder resultaat. Ik heb inmiddels ook geprobeerd de firmware van mijn access points te downgraden naar 6.0.21. Die zaten op 6.2.35. Ook zonder resultaat.
Het gekke is dat er maar weinig netwerken gevonden worden. Heb hier zeker 10 netwerken in de buurt. En ik weet zeker dat ik eerder meer netwerken gezien heb op mijn ESP. Maar de 3 netwerken met de naam '' lijken van mijn UniFi access points te komen. (de BSSID's, die lijken op MAC addressen, lijken op de BSSID's van mijn wifi netwerken). Maar het netwerk waar ze mee moeten verbinden staat er niet tussen.
code:
1 2 3 4 5 6 [D][wifi:399]: Found networks: [D][wifi:447]: - '' (EE:63:DA:ED:71:89) ▂▄▆█ [D][wifi:447]: - '' (0A:EC:DA:B1:D7:AD) ▂▄▆█ [D][wifi:447]: - '' (EE:63:DA:ED:68:18) ▂▄▆█ [D][wifi:447]: - 'UPC1088218' (44:32:C8:33:B3:F3) ▂▄▆█ [W][wifi:453]: No matching network found!
Iemand hier die ook issues heeft met UniFi en Wemos Mini D1 controllers?
--- edit ---
Ik ben inmiddels weer wat stappen verder. 1 van de 3 ESP's werkt weer. Het gekke was namelijk dat die ESP wel mijn Guest netwerk zag, maar niet mijn IoT (en home) netwerk. Het grootste verschil tussen die wifi netwerken is het Guest profiel, welke wat minder instellingen heeft.
Ik heb in UniFi de "2G Data Rate Control" aangepast naar 1Mbps. Daarbij verscheen de melding "Full device compatibility and range". Daarna kon de ESP die mijn guest netwek zag ook weer verbinden met mijn IoT netwerk.
Die ene ESP komt net uit een andere batch dan de andere 2. Die zien nog steeds alleen maar de bovenstaande netwerken. Ik heb werkelijk waar geen idee wat er nu precies aan de hand is. Ik ga denk ik maar 2 nieuwe ESP's bestellen
Gechecked, die staat op 20MhzThedr schreef op zaterdag 24 september 2022 @ 14:42:
[...]
Check ook even de kanaalbreedte van je eigen WiFi netwerk goed staat op 20MHz. Bij mijn weten werken ESPs niet met 40MHz channels. Goede kans dat je guest network op 20 staat.
Hier had uw advertentie kunnen staan!
Het solderen heb ik nog niet aangedurfd, maar inmiddels heb ik twee 1M weerstandjes van VCC naar GND, en het midden aan A0 verbonden: en plots werkt de code! Ik krijg 3.89VRaymond P schreef op donderdag 22 september 2022 @ 12:11:
@LinuxMan Dan weet ik het ook niet meer.
Als de trace niet op het bord zit wordt het lastig natuurlijk. Je bent al wel langer bezig dan twee weerstandjes solderen (inclusief leren hoe dat moet).
(b.t.w. VCC is direct de ingangsspanning begrijp ik uit de documentatie?)
Ik heb afgelopen vrijdag per ongeluk op een ESP32 de stroom "verkeerd om" gezet (- op VIN, + op ground). Het LEDje brand nog, maar hij lijkt overleden. Geen verbinding met wifi, op PC wordt de seriële interface wel nog aangemaakt (/dev/ttyUSB0). Maar in ieder geval de esphome container knalt er uiteindelijk uit met "geen seriële communicatie" mogelijk of iets dergelijks. Toen ik eens ging kijken waarom die het niet deed was die ook aardig warm (het metaal bovenop de daadwerkelijke ESP, PCB van devboard niet).
Lijkt mij gevalletje jammer maar helaas, pak maar een nieuwe?
Lijkt mij gevalletje jammer maar helaas, pak maar een nieuwe?
@RobertMe Een 'kale'? Zo ja: yes, esp32 heeft geen bescherming daarvoor onboard.
- knip -
Nope, geen kale, maar ik meen een devkit-C. En de opmerking m.b.t. LEDje is natuurlijk ook niet helemaal correct. LEDje zit natuurlijk niet op de ESP zelf.Raymond P schreef op zondag 2 oktober 2022 @ 13:48:
@RobertMe Een 'kale'? Zo ja: yes, esp32 heeft geen bescherming daarvoor onboard.
Dacht nu nog dat de "converter" om 5V naar 3.3V om te zetten wellicht bescherming geeft. Maar het kan natuurlijk wel zijn dat de ground overal direct is aangesloten (/geen converter of zo ertussen zit) en ik via die route de boel gefrituurd heb.
@RobertMe Ik had ook beter moeten lezen, devboard gemist. Welke is dat exact?
(Al gok ik dat het over is als de ESP zelf heet wordt)
edit: deze dus? https://docs.espressif.co...r-guide-s2-devkitc-1.html
Ik zie enkel een diode tussen VUSB en VCC5V (schematics)
(Al gok ik dat het over is als de ESP zelf heet wordt)
edit: deze dus? https://docs.espressif.co...r-guide-s2-devkitc-1.html
Ik zie enkel een diode tussen VUSB en VCC5V (schematics)
[ Voor 55% gewijzigd door Raymond P op 02-10-2022 14:01 ]
- knip -
Nope. Heeft 1 micro USB poort met de knopjes ernaast. Even de andere paginas bekeken en ook die zijn het allemaal net niet. En de AliExpress pagina is verdwenen helaas. Chip zelf staat "ESP32-WROOM-32" op, en op onderkant van het PCB alleen maar "ESP32S".Raymond P schreef op zondag 2 oktober 2022 @ 13:55:
@RobertMe Ik had ook beter moeten lezen, devboard gemist. Welke is dat exact?
(Al gok ik dat het over is als de ESP zelf heet wordt)
edit: deze dus? https://docs.espressif.co...r-guide-s2-devkitc-1.html
Ik zie enkel een diode tussen VUSB en VCC5V (schematics)
Maar ik heb hem ook al een jaar of 2 denk ik. Dus mogelijk dat hij daardoor verdwenen is uit de documentatie als "legacy device".
@RobertMe Ah duidelijk, geen schematics dus. 
Als het reference design is dan zal er ook geen polarity protection op zitten wat kapot zou kunnen zijn.
Als het reference design is dan zal er ook geen polarity protection op zitten wat kapot zou kunnen zijn.
- knip -
Als je nog een tipje hebt hoe ik de ESP zelf zou kunnen testen / doormeten zou ik dat later vandaag nog wel eens kunnen proberen. Als F1 eens gestart is. Dat ik met multimeter meet of ik bv nog de 3.3V er doorheen zie gaan of zo.Raymond P schreef op zondag 2 oktober 2022 @ 14:21:
@RobertMe Ah duidelijk, geen schematics dus.
Als het reference design is dan zal er ook geen polarity protection op zitten wat kapot zou kunnen zijn.
Je kunt de LDO meten om te checken of daar nog wel de juiste spanning uit komt.
Het opgenomen vermogen zal ook wat zeggen (als je multimeter dat kan meten).
Een labvoeding is fijn om te hebben.
Het opgenomen vermogen zal ook wat zeggen (als je multimeter dat kan meten).
Een labvoeding is fijn om te hebben.
- knip -
Hmm, blijkbaar ben ik een enorme prutsenRobertMe schreef op zondag 2 oktober 2022 @ 14:16:
[...]
Nope. Heeft 1 micro USB poort met de knopjes ernaast. Even de andere paginas bekeken en ook die zijn het allemaal net niet. En de AliExpress pagina is verdwenen helaas. Chip zelf staat "ESP32-WROOM-32" op, en op onderkant van het PCB alleen maar "ESP32S".
Maar ik heb hem ook al een jaar of 2 denk ik. Dus mogelijk dat hij daardoor verdwenen is uit de documentatie als "legacy device".

Ooit op AliExpress voor projectje een ESP32 besteld, en daarna nog een keer een onbekend aantal besteld in 1x zodat ik "er nog had liggen". Aangezien ik recentelijk pas een van die laatste gepakt had moest ik er dus nog hebben liggen. Tegelijkertijd ben ik nu de eerste keer met esphome dashboard aan het prutsen (daarvoor esphome lokaal gebruikt) en nu ik eindelijk de boel geflasht heb blijkt (ook deze) geen verbinding met wifi te maken, maar er zit wel een mooie antenne connector op, en dat heeft die kapotte niet , die heeft een groter strookje uitsteken aan het metaal met wat lijnen in waarvan ik vermoed dat het de antenne is. Dus ik bedenk mij nog net om dan ook maar eens de pinout te bekijken... En die wijkt dus af, en die wat ik nu "nieuw" gepakt heb blijkt de "devkitc_v4" te zijn (staat ook onderop).
En aangezien ik deze al in gebruik heb met een zelf gesoldeerd "PCB" (/prototyping board) is eenzelfde eigenlijk dus een stuk handiger. En bij TinyTronics blijken ze dan in de ESP32 variant deze te hebben, die exact hetzelfde lijkt te zijn als de nu defecte: https://www.tinytronics.n...nd-bluetooth-board-cp2102 Waarbij ik potentieel dus die DOIT variant heb, waarvan ik hier een schema vind: https://github.com/Tronix...SP-WROOM-32-DATASHEET.pdf Alleen ben ik een totale noob, dus snap ik daar toch niks van
@RobertMe Zolang er geen mosfet of diode is gebruikt om ervoor te zorgen dat stroom maar 1 kant op vloeit is er geen bescherming.
Wat ik hier zie is er geen bescherming voor de LDO/ESP.
:fill(white):strip_exif()/f/image/0A7lb0BiCGTarAvpTtX0Ym9S.png?f=user_large)
Zo'n LDO is vaak direct kaduuk, hoe gevoelig een ESP32 daarvoor is durf ik niet te zeggen. Als je 3.3V aan kan bieden dan kan je dat natuurlijk proberen, als de current draw binnen verwachtingen vallen hoef je dan wellicht enkel die LDO te vervangen.
M.a.w. Wat meet je ná de LDO?
Wat ik hier zie is er geen bescherming voor de LDO/ESP.
:fill(white):strip_exif()/f/image/0A7lb0BiCGTarAvpTtX0Ym9S.png?f=user_large)
Zo'n LDO is vaak direct kaduuk, hoe gevoelig een ESP32 daarvoor is durf ik niet te zeggen. Als je 3.3V aan kan bieden dan kan je dat natuurlijk proberen, als de current draw binnen verwachtingen vallen hoef je dan wellicht enkel die LDO te vervangen.
M.a.w. Wat meet je ná de LDO?
- knip -
Noob incoming. Ik heb gezocht wat een LDO is (of in ieder geval dat het staat voor Low Dropout). En vanuit het plaatje NCP1117 gezocht. En dat lijkt een voltage regulator te zijn? En "toevallig" laatst gekeken naar hoe & wat v.w.b. voltages* van deze ESP en daarvoor zit dan vermoed ik een AMS1117 er op? Dan zou ik dus moeten opzoeken wat de pinout daar van is en in die regionen meten? Aan de ingang zou ik dan dus 5V van USB (of VIN) moeten zien en aan de uitgang 3.3V (en dan even kijken of die drie ogenschijnlijke pins ook de ground bevatten of dat ik dan aan een ground van het bordje moet meten). Waarbij ik eigenlijk natuurlijk ook al de 3.3V & GND pins van het bordje zelf kan meten?Raymond P schreef op zondag 2 oktober 2022 @ 21:24:
@RobertMe Zolang er geen mosfet of diode is gebruikt om ervoor te zorgen dat stroom maar 1 kant op vloeit is er geen bescherming.
Wat ik hier zie is er geen bescherming voor de LDO/ESP.
[Afbeelding]
Zo'n LDO is vaak direct kaduuk, hoe gevoelig een ESP32 daarvoor is durf ik niet te zeggen. Als je 3.3V aan kan bieden dan kan je dat natuurlijk proberen, als de current draw binnen verwachtingen vallen hoef je dan wellicht enkel die LDO te vervangen.
M.a.w. Wat meet je ná de LDO?
En met 3.3V direct voeden zou ik ook met een andere ESP heeft die een 3.3V pin heeft?
* Combineren meerdere adapters / voedingen (en voltages) . En de fuckup hangt hier kinda mee samen. Boel netjes aangesloten nu op 12V adapter, buck converter er op voor 5V. Rood op +, zwart op -. En vervolgens deed de ESP het niet. Ding ligt ook nog op een kast dus voordat ik er bij was waarschijnlijk al te laat en toen was die al warm. Nu alles wel correct gedaan. Maar voorheen was deze aangesloten op een USB adapter, waarbij ik zelf een USB stekker aan de kabel gesoldeerd heb. En aan de kant van "PCB" een JST XH connector. Nu, after the fact en bij inspectie, begin het mij te dagen dat ik toentertijd de USB stekker verkeerd om gesoldeerd had. En i.p.v. dat te fixen heb ik toen de zelf gekrimpte JST-XH connector "omgedraaid". Daardoor dus dat ik nu met correct aansluiten op de buck converter de boel verkeerd aangesloten had. Uiteraard nu dan de aders/connectors in de header omgedraaid, maarja dat mocht niet baten.
@RobertMe Zo'n unit kan je ook wel meten zonder de pinouts op te zoeken. 
Maar inderdaad, als je 2x 5V meet ipv 5V en 3.3V dan heb je de reden gevonden waarom je ESP heet wordt.
Als je de unit nu al als defect beschouwd dan zou ik vooral zo veel mogelijk testen/proberen. Zolang er nog rook in de componenten zit is er nog magie te beleven.
Maar inderdaad, als je 2x 5V meet ipv 5V en 3.3V dan heb je de reden gevonden waarom je ESP heet wordt.
Als je de unit nu al als defect beschouwd dan zou ik vooral zo veel mogelijk testen/proberen. Zolang er nog rook in de componenten zit is er nog magie te beleven.
- knip -
Gisteravond nog even snel de multimeter aan de 3.3V & GND pins van het bordje gehouden en daar kwam ik meen 4,4V uit. Dus in ieder geval "veel te hoog". Maar ik ga er vanuit dat de ESP zelf ook gefrituurd is. Aangezien juist die initieel ook zo warm was, maar intussen/nu dus helemaal niks doet. Testen als ik 3.3V op de pins zet moet ik nog doen. Had op dat moment geen female-female duponts bij de hand.Raymond P schreef op maandag 3 oktober 2022 @ 04:19:
@RobertMe Zo'n unit kan je ook wel meten zonder de pinouts op te zoeken.
Maar inderdaad, als je 2x 5V meet ipv 5V en 3.3V dan heb je de reden gevonden waarom je ESP heet wordt.
Meteen weggooien was ik nog niet van plan neeAls je de unit nu al als defect beschouwd dan zou ik vooral zo veel mogelijk testen/proberen. Zolang er nog rook in de componenten zit is er nog magie te beleven.
Er lijkt een nieuwe ESP32-C6 uitgekomen te zijn: https://www.dataweek.co.za/17486r en https://www.espressif.com/en/products/devkits . Is nog niet in (web) winkels te bestellen dus maar even wachten
Intussen geprobeerd. Ik ga kijken om een (/meerdere) AMS1117 te bestellen bij ome Ali of zo.RobertMe schreef op maandag 3 oktober 2022 @ 07:21:
Testen als ik 3.3V op de pins zet moet ik nog doen. Had op dat moment geen female-female duponts bij de hand.
Aangesloten via 3.3V van een andere ESP en binnen 5 seconden zijn de sensoren zichtbaar in Home Assistant. Dus de ESP zelf lijkt in orde te zijn, alleen zou die AMS1117 dan 4.4V outputten waardoor de ESP niet werkt, maar dus ook niet stuk is gegaan. Maar dan zul je vervolgens natuurlijk zien dat ik het niet gesoldeerd krijg
Was het al gelukt met solderen. Heb je hete lucht en/of een gewone soldeerbout. Ervaring.RobertMe schreef op woensdag 5 oktober 2022 @ 19:09:
[...]
Intussen geprobeerd. Ik ga kijken om een (/meerdere) AMS1117 te bestellen bij ome Ali of zo.
Aangesloten via 3.3V van een andere ESP en binnen 5 seconden zijn de sensoren zichtbaar in Home Assistant. Dus de ESP zelf lijkt in orde te zijn, alleen zou die AMS1117 dan 4.4V outputten waardoor de ESP niet werkt, maar dus ook niet stuk is gegaan. Maar dan zul je vervolgens natuurlijk zien dat ik het niet gesoldeerd krijg
Of een GSM, mobile repair shop in de buurt. Daar staat soms een ro(n)kende soldeerbout/hete lucht soldeer station. En YT eevblog. Flux gebruiken of eerst extra soldeer toevoegen. SMD solderen is geen sinecure ;-P
[ Voor 0% gewijzigd door pentode op 08-10-2022 00:28 . Reden: hakies ]
De mens leert. De mensheid niet.
Tot nu toe heb ik nog alleen een (aantal) nieuwe ESPs besteld bij AliExpresspentode schreef op vrijdag 7 oktober 2022 @ 23:24:
[...]
Was het al gelukt met solderen. Heb je hete lucht en/of een gewone soldeerbout. Ervaring.
Of een GSM, mobile repair shop in de buurt. Daar staat soms een ro(n)kende soldeerbout/hete lucht soldeer station. En YT eevblog. Flux gebruiken of eerst extra soldeer toevoegen. SMD solderen is geen sinecure ;-P
V.w.b. het solderen. Ik heb een TS100 met verschillende punten, waaronder een vrij kleine. Hopelijk dat ik daarmee goed er aan kom. Maar ook daarbij zal ik wat uitzoekwerk moeten doen hoe dus bv de chip dan op zijn plek te houden tijdens het solderen.
Vroegerrr, in mijn jonge jaren had je elektronica winkeltjes. Te over. Maar helaas die zijn langzaam aan het verdwijnen.RobertMe schreef op zaterdag 8 oktober 2022 @ 10:09:
[...]
Tot nu toe heb ik nog alleen een (aantal) nieuwe ESPs besteld bij AliExpressAMS117 heb ik intussen ook in mandje. Maar wil eens kijken om wat extra spullen toe te voegen. Momenteel heb ik alleen een set weerstanden in huis en een paar relais & buck converters. Maar bv wat dioden en capasitoren lijkt mij ook niet onverstandig. Ondanks dat ik er (nog) totaal geen verstand van heb wellicht niet onvoorstandig om er daar van wat in huos te hebben voor het geval ik iets ga doen waarbij het wel nodig is. Tips welkom dus
V.w.b. het solderen. Ik heb een TS100 met verschillende punten, waaronder een vrij kleine. Hopelijk dat ik daarmee goed er aan kom. Maar ook daarbij zal ik wat uitzoekwerk moeten doen hoe dus bv de chip dan op zijn plek te houden tijdens het solderen.
In Andijk zit nog zo'n winkeltje. Waar je één x2 condensator kan bestellen. Om bijvoorbeeld een Senseo te repareren. Die C komt dan gewoon per briefpost. Ook in Apeldoorn(Van Essen Electronics). Misschien zijn er nog meer laatste der Mohikanen. Vaak moet je nu bij de grotere shops tien onderdelen tegelijk kopen.
Er zijn vele trucjes en handigheidjes om SMD te solderen.
Niet de beef hebben. A steady hand. Op een gewone stoel zitten. Niet op je game rig chair, die alle kanten uit draait.
Bij désolderen mag de bout wat heter. Snel werken, maar niet gehaast. Omringende componenten beschermen. De pads niet beschadigen. Bij opnieuw component plaatsen mag de bout zo laag mogelijk. Qua temperatuur. Hoe low is laag, tja dat is toch een kwestie van uitproberen. En liefst geen gewoon soldeertin, of hele dunne. Maar soldeerpasta gebruiken, lager smelttraject. Bijkomend plakt het component vast. Een pincet gebruiken. Dat scheelt echt blaren. En meestal vloeit het component automagisch op z'n plek. Echt waar.
Het boutje de TS100 ken ik. Is prima. Eerst even proef proberen op een oud stukje smd elektronica.
De 'chisel' de beitelvormige soldeerpunt is het beste om te gebruiken. Imho. Dus met het schuine vlakje. Niet die met een punt. Dan breng je sneller warmte over, meer contact oppervlakte, ja ja.
De AMS117 is een (ge)piel componentje. Maar te doen. Heb even een geschikt YT tutorial voor je gevonden. Het is niet een geroutineerde (dé)soldeerder. Maar hij komt er aardig mee weg ;-P Krijgt van mij een 6+ Misschien de video al gezien. Don't know how goed jor English is. Suc6. Weggooien kan altijd nog.
[ Voor 4% gewijzigd door pentode op 08-10-2022 14:02 . Reden: aanvulling ]
De mens leert. De mensheid niet.
Nou, ik dacht weer een stekkerblokje erbij te kopen en Tasmota op de ESP te flashen.
Blijkt m'n nieuwe blokje een WB2S onboard te hebben, en dat werkt dus niet. Na een paar uur klooien had ik die chip eindelijk zo dood dat ik 'm eruit kon solderen en vervangen met (mijn laatste) ESP8266.
Heeft er iemand recente ervaring met een powerstrip waar nog wel een ESPtje onboard zit?
Ik heb er namelijk nog een nodig maar wil liever niet te veel hoeven klooien daaraan.
Blijkt m'n nieuwe blokje een WB2S onboard te hebben, en dat werkt dus niet. Na een paar uur klooien had ik die chip eindelijk zo dood dat ik 'm eruit kon solderen en vervangen met (mijn laatste) ESP8266.
Heeft er iemand recente ervaring met een powerstrip waar nog wel een ESPtje onboard zit?
Ik heb er namelijk nog een nodig maar wil liever niet te veel hoeven klooien daaraan.
- knip -
Ik heb heel wat powerplugs, waaronder de Gosund SP111 en Blitzwolf SHP16, allemaal vergelijkbaar. Tasmota erop geflasht, en steeds bijgehouden met nieuwe tasmota releaes.
Maar .. nu lijkt het alsof ze steeds minder goed hun wifi-verbinding vasthouden, gaan daardoor steeds in de acces point modus, om daarmee het wifi-netwerk nog verder dwars te zitten. Niet prettig!
Ik weet niet goed hoe ik dit kan oplossen. Zou een oudere firmware helpen? Of zou ik iets aan de instellingen (setOption) kunnen veranderen om de wifi-verbinding stabieler te krijgen?
Maar .. nu lijkt het alsof ze steeds minder goed hun wifi-verbinding vasthouden, gaan daardoor steeds in de acces point modus, om daarmee het wifi-netwerk nog verder dwars te zitten. Niet prettig!
Ik weet niet goed hoe ik dit kan oplossen. Zou een oudere firmware helpen? Of zou ik iets aan de instellingen (setOption) kunnen veranderen om de wifi-verbinding stabieler te krijgen?
Ik heb gisteren 5v door n ESP32CMA gejankt bij het flashen + 5v stroom erop (ipv alleen de 3.3v voor t flashen aangesloten).. Niet goed gekeken, meende zeker te weten dat de adpater op 3.3.v stond.. was dus niet zo. en meende zeker te weten de stroom van de 5v kan eraf te hebben.. was OOK niet zo..RobertMe schreef op zondag 2 oktober 2022 @ 13:35:
Ik heb afgelopen vrijdag per ongeluk op een ESP32 de stroom "verkeerd om" gezet (- op VIN, + op ground). Het LEDje brand nog, maar hij lijkt overleden. Geen verbinding met wifi, op PC wordt de seriële interface wel nog aangemaakt (/dev/ttyUSB0). Maar in ieder geval de esphome container knalt er uiteindelijk uit met "geen seriële communicatie" mogelijk of iets dergelijks. Toen ik eens ging kijken waarom die het niet deed was die ook aardig warm (het metaal bovenop de daadwerkelijke ESP, PCB van devboard niet).
Lijkt mij gevalletje jammer maar helaas, pak maar een nieuwe?
Dus ik denk dat ik in t zelfde schuitje zit.. CAM flitste 1x en toen niets meer.. flashen lukt dus niet..
maar aangezien ik hiervoor ook de lijm moet verwijderen en dat ook niet best lukt, slachtoffer ik deze denk ik als trial-en-error device om straks de 2e in 1x goed te doen
[ Voor 10% gewijzigd door Koepert op 18-10-2022 10:47 ]
Lastig inderdaad. Ik liep hier in mei ook tegenaan met een Gosund SP1: ThinkPad in "Sonoff: goedkope schakelaar op afstand via wifi (ESP8266)"Raymond P schreef op zondag 9 oktober 2022 @ 15:14:
Nou, ik dacht weer een stekkerblokje erbij te kopen en Tasmota op de ESP te flashen.
Blijkt m'n nieuwe blokje een WB2S onboard te hebben, en dat werkt dus niet. Na een paar uur klooien had ik die chip eindelijk zo dood dat ik 'm eruit kon solderen en vervangen met (mijn laatste) ESP8266.
Heeft er iemand recente ervaring met een powerstrip waar nog wel een ESPtje onboard zit?
Ik heb er namelijk nog een nodig maar wil liever niet te veel hoeven klooien daaraan.
Vol goede moed een leuke smartplug met verbruiksmeting gekocht met het idee om er Tasmota op te flashen, bleek er ook een of ander vage chip in te zitten (W701). Gezien de beperkte fysieke ruimte en een ESP geen drop-in replacement zou zijn en ik dus draadbruggen moest gaan leggen heb ik hem maar weggekeild

Mocht er iemand recentelijk nog een smartplug (met verbruiksmeting) hebben gekocht en geflashed naar Tasmota dan houd ik mij aanbevolen voor merk + model.
[ Voor 15% gewijzigd door ThinkPad op 18-10-2022 11:40 ]
@ThinkPad Dat laatste was ook mijn plan, maar m'n vriendin was mij aan het uitlachen. 
Bovenstaande AOFO heeft de WB2S haaks op het bordje gesoldeerd in een slot (lees: inkeping).
Die was vrij makkelijk te desolderen en die setup lijkt gangbaar.
Omdat ik dus nul strips heb gevonden was ik van plan zelf een pcbtje te tekenen om die WB2S makkelijk (en netjes) te vervangen.
Maar ik ben gelukkig een keer te laat: https://templates.blakadder.com/WT32C3-01N.html (ESP32) & https://templates.blakadder.com/WT-01N.html (ESP8285)
zoiets dus:

edit: in de AOFO was inderdaad ruim voldoende ruimte om veilig een draadbrug te leggen.
Bovenstaande AOFO heeft de WB2S haaks op het bordje gesoldeerd in een slot (lees: inkeping).
Die was vrij makkelijk te desolderen en die setup lijkt gangbaar.
Omdat ik dus nul strips heb gevonden was ik van plan zelf een pcbtje te tekenen om die WB2S makkelijk (en netjes) te vervangen.
Maar ik ben gelukkig een keer te laat: https://templates.blakadder.com/WT32C3-01N.html (ESP32) & https://templates.blakadder.com/WT-01N.html (ESP8285)
zoiets dus:

edit: in de AOFO was inderdaad ruim voldoende ruimte om veilig een draadbrug te leggen.
[ Voor 6% gewijzigd door Raymond P op 18-10-2022 11:39 ]
- knip -
Ik heb vorige week nog 4 Avatar AWP16L plugs (amazon.de) gekocht en daar zit een ESP8266 op die met Tasmota te flashen is (well effe solderen: https://sylvainzimmer.com/blog/2021/09/smart-plugs-tasmota/).ThinkPad schreef op dinsdag 18 oktober 2022 @ 10:54:
[...]
Mocht er iemand recentelijk nog een smartplug (met verbruiksmeting) hebben gekocht en geflashed naar Tasmota dan houd ik mij aanbevolen voor merk + model.
Verder een paar maanden geleden een Oneplug smart wifi powerstrip die ook met tasmota te flashen is.
@ThinkPad Ik heb een paar weken geleden deze besteld, komen kant-en-klaar met Tasmota erop. https://nl.aliexpress.com/item/4001230982267.html
*zucht*
@Albert12 De Oneplug ook op Amazon.de aangeschaft?
Ik vind deze: https://www.amazon.de/-/e...ible-White/dp/B09Q5YNP25/ (en dat lijkt dezelfde te zijn als m'n Gosund sp1). Klopt dat?
Ik vind deze: https://www.amazon.de/-/e...ible-White/dp/B09Q5YNP25/ (en dat lijkt dezelfde te zijn als m'n Gosund sp1). Klopt dat?
- knip -
Dit is degene die ik 2 maanden geleden gekocht heb (weet niet of er nu alweer nieuwere met een andere chip in omloop zijn): https://www.amazon.de/gp/product/B09NSSTNX5Raymond P schreef op woensdag 19 oktober 2022 @ 15:13:
@Albert12 De Oneplug ook op Amazon.de aangeschaft?
Ik vind deze: https://www.amazon.de/-/e...ible-White/dp/B09Q5YNP25/ (en dat lijkt dezelfde te zijn als m'n Gosund sp1). Klopt dat?
@Albert12 Duidelijk. Een gebruikte zie ik dan weer minder zitten.
- knip -
Mee eens. Ik heb toendertijd nog een nieuwe kunnen kopen. Of jouw gevonden variant een ESP8266 heeft durf ik niet te zeggen.Raymond P schreef op woensdag 19 oktober 2022 @ 15:27:
@Albert12 Duidelijk. Een gebruikte zie ik dan weer minder zitten.
@Albert12 Gezien het een 'P1' model is en de nieuwere Gosund's ook niet meer met ESP komen heb ik wel een vaag vermoeden.
- knip -
Deze is wel wat duurder maar wel met Tasmota: https://www.amazon.de/Tas...ip-USB-Hub/dp/B0054PSH9C/Raymond P schreef op woensdag 19 oktober 2022 @ 15:34:
@Albert12 Gezien het een 'P1' model is en de nieuwere Gosund's ook niet meer met ESP komen heb ik wel een vaag vermoeden.
Een beetje ja... De Gosund's heb ik toen gekocht voor 24 euro per stuk.
Dan soldeer ik er zelf wel een chip naar keuze in, geeft ook een beetje voldoening: https://www.amazon.nl/usm...iksbewaking/dp/B09J8C9SCG
--
Nu kom ik ook dit leuke schermpje tegen: T-Display-S3.
Wellicht de slaapkamer klok van m'n vriendin eens vervangen, dat hobbyproject staat ook alweer een tijdje open.
Dan soldeer ik er zelf wel een chip naar keuze in, geeft ook een beetje voldoening: https://www.amazon.nl/usm...iksbewaking/dp/B09J8C9SCG
--
Nu kom ik ook dit leuke schermpje tegen: T-Display-S3.
Wellicht de slaapkamer klok van m'n vriendin eens vervangen, dat hobbyproject staat ook alweer een tijdje open.
- knip -
Weet iemand een (goede) tutorial waar ze precies het tegenovergestelde van deze doen?
Dus Server Sent Events "uitlezen" met de ESP32?
Ik heb een webpagina draaien op: http://192.168.1.221:1222...Rsdfsfdmcdj2kJ/SSE-events waar steeds nieuwe data aan toe wordt gevoegd. Deze data zou ik graag uitlezen middels SSE. Maar ik kom dus echt alleen maar tutorials tegen waarin ze juist een SSE server maken met de ESP32. Precies het tegenovergestelde van wat ik zoek...
[edit]
Ik ben inmiddels iets verder
Met onderstaande VB.NET code werkt het:
Dus ik neem aan dat ik opzoek moet naar een "StreamReader" voor de ESP32.
Maar ook dát valt helaas tegen:
Het is lang geleden dat ik Google maar 2 pagina's aan resultaten zag geven...
Dus Server Sent Events "uitlezen" met de ESP32?
Ik heb een webpagina draaien op: http://192.168.1.221:1222...Rsdfsfdmcdj2kJ/SSE-events waar steeds nieuwe data aan toe wordt gevoegd. Deze data zou ik graag uitlezen middels SSE. Maar ik kom dus echt alleen maar tutorials tegen waarin ze juist een SSE server maken met de ESP32. Precies het tegenovergestelde van wat ik zoek...
[edit]
Ik ben inmiddels iets verder
Met onderstaande VB.NET code werkt het:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Public Async Sub Test() Dim client As HttpClient = New HttpClient() client.Timeout = TimeSpan.FromSeconds(5) Dim url As String = "http://192.168.1.221:1222/api/i3nISfsdfzdd2njNmkNddfRsdfsfdmcdj2kJ/SSE-events" While True Try Using streamReader = New StreamReader(Await client.GetStreamAsync(url)) While Not streamReader.EndOfStream Dim message = Await streamReader.ReadLineAsync() ProcessMessage(message, "") End While End Using Catch ex As Exception End Try End While End Sub |
Dus ik neem aan dat ik opzoek moet naar een "StreamReader" voor de ESP32.
Maar ook dát valt helaas tegen:
Het is lang geleden dat ik Google maar 2 pagina's aan resultaten zag geven...

[ Voor 45% gewijzigd door Atmoz op 25-10-2022 07:02 ]
Iemand ervaring met BluetoothSerial en het ontvangen van een JSON van meer dan 512 karakters? Ik krijg netjes m'n JSON data vanaf bluetooth binnen, maar na 512 karakters ontvangen te hebben (grofweg de helft van de JSON-data die ik verzend) stopt het ding ermee.
Kleinere JSONs zijn geen probleem. Alternatief is dat ik de data ga opdelen aan de verzendende kant, maar is eigenlijk niet helemaal de bedoeling.
code:
1
2
3
4
5
6
7
8
| if (SerialBT.available()) { int jsonSize = 1024; char jsonData[jsonSize]; while (SerialBT.available() > 0) { for(int i = 0; i < jsonSize; i++){ jsonData[i] = SerialBT.read(); } } |
Kleinere JSONs zijn geen probleem. Alternatief is dat ik de data ga opdelen aan de verzendende kant, maar is eigenlijk niet helemaal de bedoeling.
@kroegtijger Klinkt alsof je te traag uitleest ofwel dit stukje code aanroept. En dat voor je dit aanroept je serial buffer al vol hebt zitten, die is meen ik 512 bytes lang.
Daarnaast kan dit ook niet goed gaan, wat je nu doet is kijken of je post hebt en dan 1024 enveloppen proberen te lezen. Maar het had net zo goed een enkel poststuk kunnen zijn. Ofwel, definieer jsonData ergens hoger of global en vul deze steeds verder al naar gelang je nieuwe data binnen krijgt aka hoeveel .available() aangeeft dat er werkelijk beschikbaar zijn .
Vergeet ook niet jezelf te verzekeren dat je de string (char array) afsluit met een nullchar
Daarnaast kan dit ook niet goed gaan, wat je nu doet is kijken of je post hebt en dan 1024 enveloppen proberen te lezen. Maar het had net zo goed een enkel poststuk kunnen zijn. Ofwel, definieer jsonData ergens hoger of global en vul deze steeds verder al naar gelang je nieuwe data binnen krijgt aka hoeveel .available() aangeeft dat er werkelijk beschikbaar zijn .
Vergeet ook niet jezelf te verzekeren dat je de string (char array) afsluit met een nullchar
[ Voor 6% gewijzigd door Septillion op 26-10-2022 18:36 ]
Ik heb als test al even alles eruit geschoffeld en uitsluitend de bluetooth-verbinding erin staan; zelfs dan blijft het bij 512 karakters uit met de koopman. Toch lijkt het aannemelijk dat de serial buffer er wel wat mee van doen heeft.Septillion schreef op woensdag 26 oktober 2022 @ 18:35:
@kroegtijger Klinkt alsof je te traag uitleest ofwel dit stukje code aanroept. En dat voor je dit aanroept je serial buffer al vol hebt zitten, die is meen ik 512 bytes lang.
Die 1024 is omdat ik weet dat er 1024 bytes verzonden gaan worden; de JSON is altijd met hetzelfde aantal bytes in dit geval dus dat zou geen probleem moeten opleveren. Wel is het inderdaad een stukje netter zoals je het nu voorstelt. Mocht ooit de inhoud nog eens wijzigen, dan hoef ik daar in ieder geval niet meer aan te denkenDaarnaast kan dit ook niet goed gaan, wat je nu doet is kijken of je post hebt en dan 1024 enveloppen proberen te lezen. Maar het had net zo goed een enkel poststuk kunnen zijn. Ofwel, definieer jsonData ergens hoger of global en vul deze steeds verder al naar gelang je nieuwe data binnen krijgt aka hoeveel .available() aangeeft dat er werkelijk beschikbaar zijn .
Da's zeker nog wel een goede tip inderdaad.Vergeet ook niet jezelf te verzekeren dat je de string (char array) afsluit met een nullchar
Ik ben bang dat ik er dus niet helemaal aan ga ontkomen om de data in 2 delen te verzenden. Geen ramp, maar een stukje meer werk dan wat de bedoeling was. Alternatief zou anders zijn om via BLE het op te lossen, maar dat ziet er nou niet direct heel eenvoudig allemaal uit. Vermoedelijk ben ik sneller klaar door 2 JSONs aan te gaan bieden en de limitatie waar ik nu op loop te respecteren. Verdiend alleen niet echt de schoonheidsprijs dan

Dat is een methode om data je browser in te krijgen. Je ESP is geen browser en een HTTP/2 client die verbindingen open houdt om eventueel te profiteren van een voordeel heb je dus niet.Atmoz schreef op maandag 24 oktober 2022 @ 18:08:
Weet iemand een (goede) tutorial waar ze precies het tegenovergestelde van deze doen?
Dus Server Sent Events "uitlezen" met de ESP32?
[...]
Ik denk dat je heel wat minder overhead hebt als je ff kijkt naar MQTT of zelfs Websockets.
Als je toch zo verder wilt dan kan je kijken naar een lib die het al doet, ik vind deze: https://github.com/yhirose/cpp-httplib
- knip -
Tijd om daar alles van te delen. Want als je dat als enige erin hebt staan verwacht ik juist minder dan 512 char. Nog daargelaten dat er dan geen manier is om het te bekijkenkroegtijger schreef op woensdag 26 oktober 2022 @ 18:53:
[...]
Ik heb als test al even alles eruit geschoffeld en uitsluitend de bluetooth-verbinding erin staan; zelfs dan blijft het bij 512 karakters uit met de koopman. Toch lijkt het aannemelijk dat de serial buffer er wel wat mee van doen heeft.
Je zegt het goed, gaan worden. Ik wacht ook nog op 10 pakketjes. Maar als er eentje bezorgd is (aka er is wat available) kan ik best in de problemen komen als ik er dan 10 probeer uit te pakken. Aardige kans dat het ze nog niet alle 10 warenDie 1024 is omdat ik weet dat er 1024 bytes verzonden gaan worden; de JSON is altijd met hetzelfde aantal bytes in dit geval dus dat zou geen probleem moeten opleveren. Wel is het inderdaad een stukje netter zoals je het nu voorstelt. Mocht ooit de inhoud nog eens wijzigen, dan hoef ik daar in ieder geval niet meer aan te denken
En als je dus 1024 chars verwacht moet de string waar je het in op wilt slaan dus 1025 lang zijn zodat het nullchar er ook nog bij past.Da's zeker nog wel een goede tip inderdaad.
Waarom? Je moet gewoon zorgen dat je de buffer gewoon al leegt voor deze vol is en de data ergens anders opslaan. Is dit echt het enige dat je wilt lezen zou je volgens mij de buffergrootte kunnen verhogen. Maar goed, als je er later mee wilt werken moet je het er toch uit halen dus handig is dat niet.Ik ben bang dat ik er dus niet helemaal aan ga ontkomen om de data in 2 delen te verzenden. Geen ramp, maar een stukje meer werk dan wat de bedoeling was.
Septillion schreef op woensdag 26 oktober 2022 @ 19:45:
[...]
Tijd om daar alles van te delen. Want als je dat als enige erin hebt staan verwacht ik juist minder dan 512 char. Nog daargelaten dat er dan geen manier is om het te bekijken
Ah ja, dat klinkt best logisch zoals je dat stelt. Ik zal dat in ieder geval nog even corrigeren.[...]
Je zegt het goed, gaan worden. Ik wacht ook nog op 10 pakketjes. Maar als er eentje bezorgd is (aka er is wat available) kan ik best in de problemen komen als ik er dan 10 probeer uit te pakken. Aardige kans dat het ze nog niet alle 10 warenSerial is niet instantaan, het is een stream. En .available() geeft aan hoeveel bytes er al binnen zijn (en dus true als het er meer dan 0 zijn). Maar het kan best zijn dat je opvraagt hoeveel er binnen zijn terwijl de stream aan data nog loopt. Die komen nog, maar zijn er nog niet. Nooit meer lezen dan /available() aangeeft dat er binnen is.
Voornamelijk omdat ik niet zo'n heel handige donder met programmeren benEn als je dus 1024 chars verwacht moet de string waar je het in op wilt slaan dus 1025 lang zijn zodat het nullchar er ook nog bij past.
[...]
Waarom? Je moet gewoon zorgen dat je de buffer gewoon al leegt voor deze vol is en de data ergens anders opslaan. Is dit echt het enige dat je wilt lezen zou je volgens mij de buffergrootte kunnen verhogen. Maar goed, als je er later mee wilt werken moet je het er toch uit halen dus handig is dat niet.
In dit geval gaat de ESP32 in een bootje dat je met RC kan besturen, maar ook op GPS een eigen route moet kunnen varen. Als je dan via bluetooth ernaar kan verbinden en de nieuwe waypoints erin kan schieten is het wat dat aangaat verder allemaal al wel goed. Waypoints (latitude/longitude) kan je op 6 of 7 decimalen nemen, eventueel aan laten vullen met wat voorloop-nullen en je JSON is altijd een fixed size daarmee geworden. (zoals ik al aangaf, ik ben geen heel goede programmeur
Ik snap ook helemaal wat je bedoelt en da's zeker de betere methode, maar het functionerend krijgen is alleen een klein issue voor alsnog...
@kroegtijger KISS of terug naar de basis kan altijd helpen. Als ik iets nieuws wil doen probeer ik dat eerst lekker los en dan pas om het toe te passen in een groter project. Scheelt me genoeg parameters tijdens het debuggen. En als je er dan niet uit komt is het ook nog eens te behappen voor een ander.
Maar threads? Wat draai je dat je treads hebt? Een RTOS? Want iets beperkt nu sterk hoe vaak je uitleest schijnbaar.
Maar threads? Wat draai je dat je treads hebt? Een RTOS? Want iets beperkt nu sterk hoe vaak je uitleest schijnbaar.
Over 10 PWM pinnen lees ik de RC-receiver uit, waarmee ik naast de 4 assen (waarvan 2 noodzakelijk voor besturen van de boot) nog 4 schakelaars en 2 potmeters kan gebruiken. Vanaf die potmetertjes krijg ik een waarde tussen de 0 en de 255 waar ik onder meer kleurtjes van een WS2812b ledstrip kan selecteren. De schakelaars gebruik ik voor wat ledjes en andere rommel te schakelen via zowel relais (rook-generator) als via NPN transistortjes (LEDs).Septillion schreef op woensdag 26 oktober 2022 @ 21:28:
@kroegtijger KISS of terug naar de basis kan altijd helpen. Als ik iets nieuws wil doen probeer ik dat eerst lekker los en dan pas om het toe te passen in een groter project. Scheelt me genoeg parameters tijdens het debuggen. En als je er dan niet uit komt is het ook nog eens te behappen voor een ander.
Maar threads? Wat draai je dat je treads hebt? Een RTOS? Want iets beperkt nu sterk hoe vaak je uitleest schijnbaar.
Over de ene thread draait dus alles wat de besturing van de boot betreft en absoluut geen onderbrekingen moeten kennen, en over de andere thread loopt de bluetooth-verbinding voor het ontvangen van waypoints, maar ook het ophalen van de GPS-data en de info op het display te tonen (wel zo praktisch dat je niet elke keer dat ding aan een laptop moet knopen om te weten wat er op de ESP gebeurt als je langs de waterkant staat).
Nagenoeg alles werkt en functioneert allemaal al, maar momenteel dus nog met hard gecodeerde waypoints. Dat moet dus nog anders. Over WiFi heb ik dergelijke data-overdrachten probleemloos werkend gekregen, maar omdat ik verder nooit wat met BT doe, vond ik dit wel een mooi projectje om daar eens wat mee te stoeien. Dat blijkt alleen niet zo eenvoudig als ik had gehoopt. Niet alleen op de arduino (waar ik ook nog even met een schuin oog naar BLE zat te kijken, maar da's helemaal een klap ingewikkelder) maar ook voor Python op Windows is implementatie van bluetooth nog een pijnpuntje geweest voordat ik dat werkend had. Blijkt ook pas native vanuit Python 3.9 te worden ondersteund, anders ben je aangewezen op Pybluez (waar Visual Studio voor nodig is, wat wel enorm met een kanon op een mug schieten wordt).
Met MQTT en/of Websockets gaat helaas niet lukken omdat de "aanbiedende partij" alleen maar werkt met SSE. Ik zal dus daarop moeten inhaken. (heb 0,0 controle over wat hun doen/aanbieden).Raymond P schreef op woensdag 26 oktober 2022 @ 19:10:
Dat is een methode om data je browser in te krijgen. Je ESP is geen browser en een HTTP/2 client die verbindingen open houdt om eventueel te profiteren van een voordeel heb je dus niet.
Ik denk dat je heel wat minder overhead hebt als je ff kijkt naar MQTT of zelfs Websockets.
Dus ik zal inderdaad op deze (SSE) manier verder moeten.Als je toch zo verder wilt dan kan je kijken naar een lib die het al doet, ik vind deze: https://github.com/yhirose/cpp-httplib
Helaas, want veel verstand heb ik hier niet van... Ik had er tot enkele dagen geleden zelfs nog nooit van gehoord...
Als ik naar de lib kijk waar jij naar verwijst, dan bedoel je denk ik dit SSE-client voorbeeld? https://github.com/yhiros.../master/example/ssecli.cc
Ik snap niet hoe dit moet werken? Er moet toch ergens iets van een "loop" of constante connectie zien om de connectie open te houden of in ieder geval constant te checken? Dat mis ik hier toch in deze code?

@Atmoz Yes, de lib lijkt de optie te ondersteunen en zal het http deel voor je opvangen.
De stream is natuurlijk gewoon een stream. Zolang de connectie geopend blijft zal je daarvan kunnen lezen.
In het voorbeeld wordt geen hapklaar event gebruikt, wellicht vind je een andere lib die dat wel doet.
De stream is natuurlijk gewoon een stream. Zolang de connectie geopend blijft zal je daarvan kunnen lezen.
In het voorbeeld wordt geen hapklaar event gebruikt, wellicht vind je een andere lib die dat wel doet.
- knip -
@kroegtijger ESP32 via Arduino IDE? Maar wat draai je voor framework dan? Want standaard doet een ESP toch niet aan threads?
En zoals gezegd, leuk om wat nieuws op te pakken. Maar om dit gelijk in een groot project te willen verwerken is wel uitdagend. Waarom niet gewoon even een stap terug? En dan alleen de overdracht via BT testen. Eventueel dan uitbreiden met parsing van de JSON enz. Heb je dat dan werkend kan je het in een groter programma drukken.
En zoals gezegd, leuk om wat nieuws op te pakken. Maar om dit gelijk in een groot project te willen verwerken is wel uitdagend. Waarom niet gewoon even een stap terug? En dan alleen de overdracht via BT testen. Eventueel dan uitbreiden met parsing van de JSON enz. Heb je dat dan werkend kan je het in een groter programma drukken.
Zeker wel, dat is juist het grote voordeel van dat ding, dat je er 2 cores op hebt die je onafhankelijk van elkaar taken kan laten verwerken.Septillion schreef op donderdag 27 oktober 2022 @ 12:08:
@kroegtijger ESP32 via Arduino IDE? Maar wat draai je voor framework dan? Want standaard doet een ESP toch niet aan threads?
Zie onder meer https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/ waar het uitgebreid wordt uitgelegd.
Alle afzonderlijke onderdelen (met uitzondering van Bluetooth) heb ik in het verleden al wel vaker werkend gehad, dus daar had ik wel alle vertrouwen in. Bluetooth over socket is niet heel veel anders dan wanneer je dat op wifi met tcp/ip doet voor zover ik het begrijp. Alleen je manier van opzetten van de verbinding is anders, maar verder is het voor alsnog allemaal niet zo heel complex. Ook aan de python-kant is dat nagenoeg hetzelfde vanuit een soocket-connect. Mijn redenatie was dan ook dat als ik het op wifi kan bouwen, dat het ook op bluetooth moet kunnen.En zoals gezegd, leuk om wat nieuws op te pakken. Maar om dit gelijk in een groot project te willen verwerken is wel uitdagend. Waarom niet gewoon even een stap terug? En dan alleen de overdracht via BT testen. Eventueel dan uitbreiden met parsing van de JSON enz. Heb je dat dan werkend kan je het in een groter programma drukken.
Inmiddels ben ik wel al even aan het stoeien met een aparte sketch om een proof of concept ervan te maken, in de hoop dat ik daaruit wat duidelijkheid kan krijgen waar het steeds weer stuk op loopt. To be continued dus...
@kroegtijger Ah, ja, als je een ESP32 hebt dan heb je inderdaad twee cores. Met de term thread dacht ik eerder aan een RTOS thread. En volgens mij draait de het standaard Arduino ESP32 framework zaken ook in een RTOS. Waar loop() volgens mij ook gewoon een task is.
Maar zie je maar weer, gewoon eerst los proberen
Hoe veel ik er ook vanaf denk te weten, ik zal altijd een proof of concept maken voor ik iets nieuws in een groter project integreer. En dat doe ik niet alleen voor software 
Maar goed, zoals gezegd, als je nu toch zo veel data binnen krijgt verwacht ik ergens best een zware vertraging in het programma. Kan ook zijn dat je gewoon veel doet. Of BT serial doet toch niet echt een een stream en dumpt toch alles in één keer. Iets dat een voorbeeld programma mooi aan kan geven.
Maar zie je maar weer, gewoon eerst los proberen
Maar goed, zoals gezegd, als je nu toch zo veel data binnen krijgt verwacht ik ergens best een zware vertraging in het programma. Kan ook zijn dat je gewoon veel doet. Of BT serial doet toch niet echt een een stream en dumpt toch alles in één keer. Iets dat een voorbeeld programma mooi aan kan geven.
@Septillion Ik vond het zelf toch eerlijk gezegd wel mee vallen wat ik aan data wil ontvangen... het is een JSON waarin 10x een id (0 tm 9), een status (0 of 1) en latitude / longitude (alle twee doubles op 7 digits nauwkeurig) in zitten. Veel meer dan dat is het allemaal niet. Dat lijkt me toch niet iets heel vreemds verder, maar het is toch taaiere kost dan ik had gehoopt.
Zoals gezegd, alternatief zou zijn om niet 1 JSON met 10 waypoints, maar 10 JSONs met elk 1 waypoint te laten verzenden, maar dat vergt nogal wat aanpassingen aan zowel de ESP-kant als aan de python-kant wat imho niet nodig zou moeten zijn.
Ik laat nog wel even weten wat er uit de POC komt. Ben al wel een beetje aan het schrijven ervoor, maar heb de ESP niet in de buurt dus kan vanavond pas testen of het ook resultaat geeft.
Zoals gezegd, alternatief zou zijn om niet 1 JSON met 10 waypoints, maar 10 JSONs met elk 1 waypoint te laten verzenden, maar dat vergt nogal wat aanpassingen aan zowel de ESP-kant als aan de python-kant wat imho niet nodig zou moeten zijn.
Ik laat nog wel even weten wat er uit de POC komt. Ben al wel een beetje aan het schrijven ervoor, maar heb de ESP niet in de buurt dus kan vanavond pas testen of het ook resultaat geeft.