Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

@Septillion thanks! Dat is alvast zeker een heel goed/fijn hulpmiddel _/-\o_

Maar helaas wilt het ook nadat ik het daarmee heb "omgezet" niet werken...

Op de een of andere manier is mijn output toch nét (?) wat anders dan het "origineel" dat in code wordt mee gecompileerd...

De ESP vind het zelfs zo niet leuk dat hij ervan opnieuw opstart O-)

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@Atmoz

code:
1
2
 size_t filesize = soundFile.size(); 
 unsigned char TestSound[filesize + 1];


Dat kan niet in C. De size van de array moet bekend zijn tijdens compiler tijd. Daar filesize nog niet bekend is zal dit niet werken Denk dat er alleen een pointer voor de array wordt aangemaakt maar niet de array ruimte. Ofwel, je gaat zitten lezen is het onbekende.

Ik zou wel wat kunnen bedenken met malloc() maar ik denk dat dit het moment is om Google aan te slingeren.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zaterdag 19 juni 2021 @ 10:31:
@Atmoz

code:
1
2
 size_t filesize = soundFile.size(); 
 unsigned char TestSound[filesize + 1];


Dat kan niet in C. De size van de array moet bekend zijn tijdens compiler tijd. Daar filesize nog niet bekend is zal dit niet werken Denk dat er alleen een pointer voor de array wordt aangemaakt maar niet de array ruimte. Ofwel, je gaat zitten lezen is het onbekende.
Thanks!
Dat is interessante informatie en klinkt nu "redelijk logisch" :D
Ik zou wel wat kunnen bedenken met malloc() maar ik denk dat dit het moment is om Google aan te slingeren.
Nou, dat valt als ik eerlijk ben nog wel wat tegen O-)
Ik heb namelijk al flink wat uren (verdeeld over meerdere dagen) zitten zoeken.
Wat ik vooral tegen kom is hoe je échte WAV-files (of zelfs MP3-files) kunt afspelen.
Maar dat werkt niet met de hardware die ik gebruik: alleen de interne DAC en een klein versterkertje.

Ik heb letterlijk nog nergens iets kunnen vinden hoe ze -tijdens runtime- "WAV-data" in deze vorm uit een file van SPIFFS halen, en meegeven aan de muziek-classe.

Inmiddels is het alleen nog maar erger geworden :P

Ik ben even (omdat het me te veel boven de pet begon te gaan) afgestapt van het WAV-idee, en wil nu (om te beginnen) gewoon wat "notes" af spelen.

Dat gaat met dezelfde library (XTronical_XT_DAC_Audio). Maar daar loop ik vervolgens weer tegen een nieuw probleem aan:

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
// Playing a simple melody using the XTronical DAC Audio library
// Demonstrates use of the music score object
// See www.xtronical.com for write ups on sound and for hardware required

#include "MusicDefinitions.h"
#include "XT_DAC_Audio.h"

// Data for the melody. Note followed by optional change in playing length in 1/4 beats. See documentation for more details
int8_t PROGMEM TwinkleTwinkle[] = {
  NOTE_C5,NOTE_C5,NOTE_G5,NOTE_G5,NOTE_A5,NOTE_A5,NOTE_G5,BEAT_2,
  NOTE_F5,NOTE_F5,NOTE_E5,NOTE_E5,NOTE_D5,NOTE_D5,NOTE_C5,BEAT_2,
  NOTE_G5,NOTE_G5,NOTE_F5,NOTE_F5,NOTE_E5,NOTE_E5,NOTE_D5,BEAT_2,
  NOTE_G5,NOTE_G5,NOTE_F5,NOTE_F5,NOTE_E5,NOTE_E5,NOTE_D5,BEAT_2,
  NOTE_C5,NOTE_C5,NOTE_G5,NOTE_G5,NOTE_A5,NOTE_A5,NOTE_G5,BEAT_2,
  NOTE_F5,NOTE_F5,NOTE_E5,NOTE_E5,NOTE_D5,NOTE_D5,NOTE_C5,BEAT_4,  
  NOTE_SILENCE,BEAT_5,SCORE_END
};

XT_DAC_Audio_Class DacAudio(25,0);                                            // Create the main player class object. Use GPIO 25 (DAC pin) and timer 0
XT_MusicScore_Class Music(TwinkleTwinkle,TEMPO_ALLEGRO,INSTRUMENT_PIANO);     // Music score object, handles tunes. Pass Music Data,Tempo, Instrument 
                                                                              // You can just pass the music data and the rest will default to... well.... default values!

void setup() {
  DacAudio.Play(&Music);           
}

void loop() {
  DacAudio.FillBuffer();          // This needs only be in your main loop once, suggest here at the top.
  // put whatever code you want here that you would normally have on your loop
}


Ik moet schijnbaar dat XT_MusicScore_Class Music(TwinkleTwinkle,TEMPO_ALLEGRO,INSTRUMENT_PIANO); aanroepen vóór de setup()

Maar het probleem daarbij is dat ik de data die ik wil afspelen (TwinkleTwinkle[]) straks pas "weet" in een functie verderop.
In bovenstaande voorbeeld werkt het wel omdat daar de data al bekend is, maar hoe kan ik nu deze data (die noten) pas meegeven in mijn eigen functie?

Dat moet toch gewoon mogelijk zijn, right? :D

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
Atmoz schreef op zaterdag 19 juni 2021 @ 11:51:
Wat ik vooral tegen kom is hoe je échte WAV-files (of zelfs MP3-files) kunt afspelen.
Maar dat werkt niet met de hardware die ik gebruik: alleen de interne DAC en een klein versterkertje.
@Atmoz Wat is er bijzonder aan je hardware dan? En als ik even kijk naar de array die je eerder plaatste, de eerste paar bytes zijn gewoon " RIFF*' WAVEfmt" ofwel het IS gewoon een echte wav. Alleen niet als file.
Maar het probleem daarbij is dat ik de data die ik wil afspelen (TwinkleTwinkle[]) straks pas "weet" in een functie verderop.
In bovenstaande voorbeeld werkt het wel omdat daar de data al bekend is, maar hoe kan ik nu deze data (die noten) pas meegeven in mijn eigen functie?

Dat moet toch gewoon mogelijk zijn, right? :D
Waarschijnlijk is het antwoord iets met pointers en / of vooraf ruimte definiëren en je muziek erheen kopiëren.

Of hier, het maakt niet uit waar je dat XT_MusicScore_Class-object aanmaakt, dit mag je ook in de loop doen.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zaterdag 19 juni 2021 @ 12:18:
[...]

@Atmoz Wat is er bijzonder aan je hardware dan?
Niets. Daarom juist :)
In de meeste voorbeelden die ik (wel veel) tegen komen gebruiken ze een externe DAC die het decoden van de audio doet.
En als ik even kijk naar de array die je eerder plaatste, de eerste paar bytes zijn gewoon " RIFF*' WAVEfmt" ofwel het IS gewoon een echte wav. Alleen niet als file.
Precies. En dat laatste is wél wat ik wil. En dat heb ik -na veel zoeken en proberen- nog niet werkend gekregen.
Waarschijnlijk is het antwoord iets met pointers en / of vooraf ruimte definiëren en je muziek erheen kopiëren.
Jammer dat het niet zo simpel gaat zoals gedacht/gehoopt :'( Op de PC gaat dat een stuk makkelijker allemaal :P
Of hier, het maakt niet uit waar je dat XT_MusicScore_Class-object aanmaakt, dit mag je ook in de loop doen.
Nee, dat werkt écht niet.
Als ik het pas in m'n functie in de loop doe, dan werkt het niet.

Ik moet deze aanroep boven de setup() doen.

Dat is natuurlijk ook de reden dat ik ook alleen maar dat aanmaken van een instantie van een classe op die plek zie staan. In ALLE voorbeelden en stukjes code die ik ooit ben tegen gekomen worden die allemaal boven setup() gedaan. Maar het verbaast me dat iemand zoals jij (die er veeeeel meer verstand van heeft) dit dan zegt, dus ik ga nu twijfelen haha :+


Hoe dan ook: als ik die aanroep daar weghaal, dan werkt het 100% niet!

Dus nu ben ik wel heel benieuwd geworden hoe dit precies zit...

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
Atmoz schreef op zaterdag 19 juni 2021 @ 12:38:
Niets. Daarom juist :)
In de meeste voorbeelden die ik (wel veel) tegen komen gebruiken ze een externe DAC die het decoden van de audio doet.
Geen ervaring met audio libs maar de ESP8266Audio kan het ook met een enkele pin door misbruik te maken van de I2S pin
Precies. En dat laatste is wél wat ik wil. En dat heb ik -na veel zoeken en proberen- nog niet werkend gekregen.
Maak tijdens compilen een lege array waar je nummer in zou passen. Of maak deze ruimte met malloc(). Lees SPIFFS byte voor byte uit naar die array. Speel de array.
Jammer dat het niet zo simpel gaat zoals gedacht/gehoopt :'( Op de PC gaat dat een stuk makkelijker allemaal :P
Heeft deels wel met het platform te maken, op een PC heb je resources te over. Maar in dit geval ligt het volgens mij gewoon aan je gebrek aan C++ kennis.
Nee, dat werkt écht niet.
Als ik het pas in m'n functie in de loop doe, dan werkt het niet.
Dan moeten ze is heeeeeel raars gedaan hebben. Zou geen verschil tussen een global en een local moeten zijn. Voorbeeld van wat je geprobeerd hebt?

Maar nogmaals, geen ervaring met de libraries. En heb ook niet 123 een setup (of tijd om die te maken) om te kunnen testen.

Acties:
  • 0 Henk 'm!

  • zierbeek
  • Registratie: Maart 2016
  • Laatst online: 19-09 09:20
heeft er iemand ervaring met de ds18b20 temp sensor, esp8266 in samenwerking met Blynk?
Ik zou graag een temperatuurreading krijgen van een sensor in Blynk, omdat ik zo ook via een appje kan raadplegen. Geen optie om een homeserver op te stellen voor HA

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
#include <SimpleTimer.h>
#define BLYNK_PRINT Serial 
#include <Blynk.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define BLYNK_TEMPLATE_ID "XXXXXXX"
#define BLYNK_DEVICE_NAME "Temperature"

#define ONE_WIRE_BUS 2        // This is the ESP8266 pin
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DeviceAddress tempSensor001 = { 0x28, 0xFF, 0x3A, 0xD4, 0x89, 0x16, 0x03, 0x36 };

SimpleTimer timer;

int temperature001;   // Variables for storing temperatures

void setup()
{
  // Debug console
  Serial.begin(9600);

  //Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
  Blynk.begin(auth, ssid, pass,"Blynk-cloud.com",8442);
}

sensors.begin();                        // Starts the DS18B20 sensor(s).
  sensors.setResolution(tempSensor001, 10);              // More on resolution: http://www.homautomation.org/2015/11/17/ds18b20-how-to-change-resolution-9101112-bits/
  timer.setInterval(500L, sendSensor001);  // Temperature sensor read interval. 1000 (ms) = 1 seconds.
}

void loop()
{
  Blynk.run();
  timer.run();
}


void sendSensor001()
{
  sensors.requestTemperatures();                  // Polls the sensors.
  temperature001 = sensors.getTempC(tempSensor001);   // Stores temperature. Change to getTempCByIndex(0) for celcius.
  Blynk.virtualWrite(5, temperature001);         // Send temperature to Blynk app virtual pin 1.
}

[ Voor 74% gewijzigd door zierbeek op 19-06-2021 17:42 ]


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zaterdag 19 juni 2021 @ 13:04:


Maak tijdens compilen een lege array waar je nummer in zou passen. Of maak deze ruimte met malloc(). Lees SPIFFS byte voor byte uit naar die array. Speel de array.
Thanks! Straks eens op het gemak naar kijken :)
Heeft deels wel met het platform te maken, op een PC heb je resources te over. Maar in dit geval ligt het volgens mij gewoon aan je gebrek aan C++ kennis.
Beide zijn 100% waar :P
Maar; ik doe m'n best en probeer letterlijk iedere dag bij te leren 8)
Dan moeten ze is heeeeeel raars gedaan hebben.
Klopt, het is heel raar (vanmorgen met een collega gebeld en die vond het ook gek).
Maar: dan komen we toch weer terug op wat ik al eerder zei/vroeg: waarom zijn dan letterlijk ALLE (tenminste, die ik ben tegen gekomen) aanroepen van een class ook op dát punt? Dus boven de setup()? Ik bedoel; dat kan toch geen toeval zijn?
Zou geen verschil tussen een global en een local moeten zijn. Voorbeeld van wat je geprobeerd hebt?
Dit werkt niet (ESP32 reboot ervan zelfs)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void PlaySound1(String Note){

  SoundAangezet = true;
  SoundAangezetMillis = millis();
  digitalWrite(PAMPOWER, HIGH);
  delay(100);

  XT_MusicScore_Class Music(TwinkleTwinkle2,TEMPO_ALLEGRO,INSTRUMENT_ORGAN);  //INSTRUMENT_PIANO

  DacAudio.FillBuffer();  

  if(Music.Playing==false)       // if not playing,
    DacAudio.Play(&Music);       // play it, this will cause it to repeat and repeat...  

}


En dit werkt perfect:

Boven setup() komt dit:

code:
1
XT_MusicScore_Class Music(TwinkleTwinkle2,TEMPO_ALLEGRO,INSTRUMENT_ORGAN);  //INSTRUMENT_PIANO


En verderop komt m'n functie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
void PlaySound1(String Note){

  SoundAangezet = true;
  SoundAangezetMillis = millis();
  digitalWrite(PAMPOWER, HIGH);
  delay(100);

  DacAudio.FillBuffer();  

  if(Music.Playing==false)       // if not playing,
    DacAudio.Play(&Music);       // play it, this will cause it to repeat and repeat...  

}


Alleen kan ik hierdoor dus nooit tijdens runtime mijn eigen "muziek" in zetten :|


[edit]

@zierbeek wat is je vraag/probleem precies? Ik ken Blynk niet, maar wellicht kunnen anderen je beter helpen als je een iets concretere vraag stelt.

[ Voor 3% gewijzigd door Atmoz op 19-06-2021 20:57 ]


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:02
Septillion schreef op zaterdag 19 juni 2021 @ 10:31:
@Atmoz

code:
1
2
 size_t filesize = soundFile.size(); 
 unsigned char TestSound[filesize + 1];


Dat kan niet in C. De size van de array moet bekend zijn tijdens compiler tijd
C99 heeft VLAs

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zaterdag 19 juni 2021 @ 13:04:
Dan moeten ze is heeeeeel raars gedaan hebben. Zou geen verschil tussen een global en een local moeten zijn.
Ik heb inmiddels nog ergens een stukje code gevonden. Dit komt uit het (Duitse) blad Make. Ook daar vind ik dat ze het vreemd gebruiken, wellicht omdat het écht niet anders kan?


Afbeeldingslocatie: https://lumatronix.nl/FOK/XT_MusicScore.png

Bron

Is toch eigenlijk van de gekke dat ze voor iedere "note" een nieuwe class definiëren?
Een hele hoop code, wat in principe toch maar iets heel kleins hoeft te zijn?!
Ik zou een functie verwachten waar je als parameter de "note" kunt geven en klaar.

En ook hier weer zie je dat hele "class gebeuren" boven de setup() staan.

En helaas zijn die lang niet alle noten die beschikbaar zijn in de library.
Als je ze allemaal zou willen hebben moet je een kleine 90 classes gaan aanmaken 8)7

Dit moet toch anders kunnen? Wie heeft hier een goede en nette oplossing voor? _/-\o_

Wellicht ten overvloede, maar het gaat dus om deze library: https://github.com/Weeken...nical_XT_DAC_Audio_Mirror

Acties:
  • 0 Henk 'm!

  • Rrob
  • Registratie: Augustus 2005
  • Laatst online: 18:55
zierbeek schreef op zaterdag 19 juni 2021 @ 13:37:
heeft er iemand ervaring met de ds18b20 temp sensor, esp8266 in samenwerking met Blynk?
Ik zou graag een temperatuurreading krijgen van een sensor in Blynk, omdat ik zo ook via een appje kan raadplegen. Geen optie om een homeserver op te stellen voor HA

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
#include <SimpleTimer.h>
#define BLYNK_PRINT Serial 
#include <Blynk.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define BLYNK_TEMPLATE_ID "XXXXXXX"
#define BLYNK_DEVICE_NAME "Temperature"

#define ONE_WIRE_BUS 2        // This is the ESP8266 pin
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DeviceAddress tempSensor001 = { 0x28, 0xFF, 0x3A, 0xD4, 0x89, 0x16, 0x03, 0x36 };

SimpleTimer timer;

int temperature001;   // Variables for storing temperatures

void setup()
{
  // Debug console
  Serial.begin(9600);

  //Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
  Blynk.begin(auth, ssid, pass,"Blynk-cloud.com",8442);
}

sensors.begin();                        // Starts the DS18B20 sensor(s).
  sensors.setResolution(tempSensor001, 10);              // More on resolution: http://www.homautomation.org/2015/11/17/ds18b20-how-to-change-resolution-9101112-bits/
  timer.setInterval(500L, sendSensor001);  // Temperature sensor read interval. 1000 (ms) = 1 seconds.
}

void loop()
{
  Blynk.run();
  timer.run();
}


void sendSensor001()
{
  sensors.requestTemperatures();                  // Polls the sensors.
  temperature001 = sensors.getTempC(tempSensor001);   // Stores temperature. Change to getTempCByIndex(0) for celcius.
  Blynk.virtualWrite(5, temperature001);         // Send temperature to Blynk app virtual pin 1.
}
Ik gebruik altijd V5 voor een virtual pin
code:
1
Blynk.virtualWrite(V5, temperature001);


En zoals ik het lees wordt je sensors.begin nooit gestart omdat deze niet in je void setup staat, ik zou het zo doen:
code:
1
2
3
4
5
6
7
8
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass,"Blynk-cloud.com",8442);
  sensors.begin(); 
  sensors.setResolution(tempSensor001, 10);      
  timer.setInterval(500L, sendSensor001);  
}

en het lijkt er op dat de tempsensor001 nergens wordt gedefinieerd als als sensor maar dat is een gokje

[ Voor 9% gewijzigd door Rrob op 20-06-2021 11:55 ]


Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
Atmoz schreef op zaterdag 19 juni 2021 @ 20:56:
Maar: dan komen we toch weer terug op wat ik al eerder zei/vroeg: waarom zijn dan letterlijk ALLE (tenminste, die ik ben tegen gekomen) aanroepen definities van een class ook op dát punt? Dus boven de setup()? Ik bedoel; dat kan toch geen toeval zijn?
Mwa, voor voorbeelden is dat nu eenmaal het makkelijkste om ze als global te maken. Staan alle library definities bij elkaar en bovenaan. Maakt het vaak mooi duidelijk.

Maar in dit geval weet ik al waarom de boel flipt :+ Eerst niet bij stil gestaan maar het is natuurlijk niet de m.play() methode die het werkelijke spelen doet. Dan zou je ondertussen niets anders kunnen doen. Dan had je ook niet hoeven te checken of er überhaupt nog wat speelde. Het spelen wordt gedaan door een timer interrupt. Maar deze moet dus wel de hele tijd de beschikking hebben over de data. Dat is redelijk makkelijk als we dingen als semi-constanten global definiëren. Maar als we dat lokaal doen in de loop zal het object steeds gedefinieerd worden en aan het einde van de loop vernietigd worden.

Oplossing zal dan ook zijn om te zorgen dat de gebruikte variabele niet vernietigd wordt. Dit kan je doen door de variabele als static te definiëren in de functie. Of door hem dynamisch aan te maken met new.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
Atmoz schreef op zondag 20 juni 2021 @ 07:29:
Is toch eigenlijk van de gekke dat ze voor iedere "note" een nieuwe class definiëren?
Een hele hoop code, wat in principe toch maar iets heel kleins hoeft te zijn?!
Ik zou een functie verwachten waar je als parameter de "note" kunt geven en klaar.
Ja en nee.

Op zich kan ik het snappen omdat er anders wel wat overhead zit om het aanmaken / wisselen. Ook zou je met losse objecten kunnen mixen. En de meer code komt deels doordat ze er geen array van maken.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zondag 20 juni 2021 @ 13:54:
[...]

Mwa, voor voorbeelden is dat nu eenmaal het makkelijkste om ze als global te maken. Staan alle library definities bij elkaar en bovenaan. Maakt het vaak mooi duidelijk.

Maar in dit geval weet ik al waarom de boel flipt :+ Eerst niet bij stil gestaan maar het is natuurlijk niet de m.play() methode die het werkelijke spelen doet. Dan zou je ondertussen niets anders kunnen doen. Dan had je ook niet hoeven te checken of er überhaupt nog wat speelde. Het spelen wordt gedaan door een timer interrupt. Maar deze moet dus wel de hele tijd de beschikking hebben over de data. Dat is redelijk makkelijk als we dingen als semi-constanten global definiëren. Maar als we dat lokaal doen in de loop zal het object steeds gedefinieerd worden en aan het einde van de loop vernietigd worden.

Oplossing zal dan ook zijn om te zorgen dat de gebruikte variabele niet vernietigd wordt. Dit kan je doen door de variabele als static te definiëren in de functie. Of door hem dynamisch aan te maken met new.
Ah cool _/-\o_ Thanks!

Het werkt helaas nog niet (krijg nieuwe foutmeldingen waarvan ik de laatste niet opgelost krijg*) maar ik weet nu wel zeker dat we eruit gaan komen 8) Cool!

*dit is nu mijn code:


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
void TestSjrot(String dataaa){

  intervalSound = 5000;
  SoundAangezet = true;
  SoundAangezetMillis = millis();
  digitalWrite(PAMPOWER, HIGH);
  delay(100);

  static int8_t TwinkleTwinkle4[] = {NOTE_D3,NOTE_D3,NOTE_B2,NOTE_A2,NOTE_F2,NOTE_C2,SCORE_END};

  XT_MusicScore_Class* Musikkk;

  Musikkk = new XT_MusicScore_Class(TwinkleTwinkle4,TEMPO_ALLEGRO,INSTRUMENT_ORGAN);

  //XT_MusicScore_Class Musikkk(TwinkleTwinkle4,TEMPO_ALLEGRO,INSTRUMENT_ORGAN);  //INSTRUMENT_PIANO

  DacAudio.FillBuffer();  

  if(Musikkk->Playing==false)       // if not playing,
    DacAudio.Play(&Musikkk);       // play it, this will cause it to repeat and repeat...  

  //sampleSource = new WAVFileReader(dataaa.c_str());  //("/sample.wav");
  //Serial.println("Starting I2S Output");
  //output = new DACOutput();
  //output->start(sampleSource); //https://github.com/atomic14/esp32_audio/tree/master/dac_i2s_output/src

}


Eerst ging het al mis bij if(Musikkk.Playing==false) daar heb ik if(Musikkk->Playing==false) van moeten maken (gaf die zelf aan).

Maar nadat ik dat gedaan had kwam ook een foutmelding bij DacAudio.Play(&Musikkk);, namelijk:
no matching function for call to 'XT_DAC_Audio_Class::Play(XT_MusicScore_Class**)'
Die gaat niet weg als ik -> ervan maak :|

Wat gaat hier nog mis? O-)

Acties:
  • 0 Henk 'm!

  • zierbeek
  • Registratie: Maart 2016
  • Laatst online: 19-09 09:20
Rrob schreef op zondag 20 juni 2021 @ 11:32:
[...]

Ik gebruik altijd V5 voor een virtual pin
code:
1
Blynk.virtualWrite(V5, temperature001);


En zoals ik het lees wordt je sensors.begin nooit gestart omdat deze niet in je void setup staat, ik zou het zo doen:
code:
1
2
3
4
5
6
7
8
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass,"Blynk-cloud.com",8442);
  sensors.begin(); 
  sensors.setResolution(tempSensor001, 10);      
  timer.setInterval(500L, sendSensor001);  
}

en het lijkt er op dat de tempsensor001 nergens wordt gedefinieerd als als sensor maar dat is een gokje
Dankje, ik ben eigenlijk op zoek naar iemand die nu de sensor heeft draaien op de nieuwe blynk ipv de oude versies.

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@Atmoz Aangezien Musikkk nu een pointer is wil je niet het adres van de pointer (dus &Musikkk) hebben maar de pointer zelf (Musikkk). Deze bevat namelijk al het adres van het XT_MusicScore_Class-object.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 19-09 11:32

Atmoz

Techno!!

Septillion schreef op zondag 20 juni 2021 @ 15:48:
@Atmoz Aangezien Musikkk nu een pointer is wil je niet het adres van de pointer (dus &Musikkk) hebben maar de pointer zelf (Musikkk). Deze bevat namelijk al het adres van het XT_MusicScore_Class-object.
WOEHOOOOWWWW 8) :D

Het werkt! Je bent geweldig. Thanks! Echt super fijn dit hahaha YES _/-\o_

Bedankt voor de hulp en je geduld! Het heeft me zéker 20 uur in totaal gekost 8)7
Maar: nu werkt het wel. Hoppa!

Op naar de volgende uitdaging :9

Acties:
  • 0 Henk 'm!

  • Rrob
  • Registratie: Augustus 2005
  • Laatst online: 18:55
zierbeek schreef op zondag 20 juni 2021 @ 15:08:
[...]


Dankje, ik ben eigenlijk op zoek naar iemand die nu de sensor heeft draaien op de nieuwe blynk ipv de oude versies.
volgens mij zit je probleem niet in blynk maar in de rest van je code. Voeg om dat te controleren even de regel
code:
1
Serial.println(temperature001);
toe aan de void sendSensor dan weet je of die überhaupt iets doet ik denk van niet namelijk maar ik kan er natuurlijk totaal naast zitten

Acties:
  • 0 Henk 'm!

  • LinuxMan
  • Registratie: September 2000
  • Laatst online: 21:31
Ik zet met een probleem: Ik heb een SHT21 sensor die ik niet werkend krijg. Ik heb begrepen dat deze sensor identiek is aan een HTU21D. Ik heb ook een HTU21D liggen en die werkt wel. Dus mijn code is tot zo ver goed, en de bedrading ook. Ik gebruik de sparkfun library voor HTU21D van https://github.com/sparkf...Breakout_Arduino_Library/

De niet-werkende SHT21 geeft het maximum getal als vochtigheid (raw value 65536), en de temperatuur geeft wel verschillende waardes, maar zit veel te laag (rond de 11 graden als het 20 graden is).

Echter, als ik naar de PCB kijk van mijn HTU21D sensor en de SHT21 sensor dan lijken er andere componenten op te zitten. Aangezien ik weinig verstand van elektronica heb kan ik niet zien of ik de SHT21 nou anders moet aansluiten dan de HTU21D. Heeft iemand een idee hoe deze anders zijn en wat ik kan doen om het werkend te krijgen? Is hij gemaakt voor 5V ipv 3.3V of wat is er nou mis mee? Iemand een advies?

de SHT21 is deze:
Afbeeldingslocatie: https://ae01.alicdn.com/kf/HTB1resWraSWBuNjSsrbq6y0mVXah/1Pcs-Nieuwe-SHT21-Digitale-Vochtigheid-En-Temperatuur-Sensor-Module-Vervangen-SHT11-SHT15-GY-21-HTU21.jpg_Q90.jpg_.webp

en Afbeeldingslocatie: https://ae01.alicdn.com/kf/HTB1Ob8irr1YBuNjSszhq6AUsFXav/1Pcs-Nieuwe-SHT21-Digitale-Vochtigheid-En-Temperatuur-Sensor-Module-Vervangen-SHT11-SHT15-GY-21-HTU21.jpg_Q90.jpg_.webp

de HTU21D die wel werkt is identiek aan het plaatje op de sparkfun library website:
Afbeeldingslocatie: https://camo.githubusercontent.com/375136c0594a3bfaeeed2b0539d30904fcf744431bc16c5b8fbc33344c66062c/68747470733a2f2f646c6e6d6839697036763275632e636c6f756466726f6e742e6e65742f696d616765732f70726f64756374732f312f322f302f362f342f31323036342d30342e6a7067

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@LinuxMan Als eerste is de pinout al anders. CL = SCL, DA = SDA, - = GND en + = Vcc.

Daarnaast lijkt de SHT21 een spanningsregulator erop te hebben zitten. Kan je daar de markering van lezen? Grote kans dat het een 3V3 regulator is. Als je die vervolgens met 3V3 loopt te voeden vindt de boel dat niet zo leuk. Dan zal je hem inderdaad moeten voeden met 5V of de regulator eraf slopen.

Acties:
  • 0 Henk 'm!

  • LinuxMan
  • Registratie: September 2000
  • Laatst online: 21:31
Septillion schreef op dinsdag 22 juni 2021 @ 11:44:
@LinuxMan Als eerste is de pinout al anders. CL = SCL, DA = SDA, - = GND en + = Vcc.

Daarnaast lijkt de SHT21 een spanningsregulator erop te hebben zitten. Kan je daar de markering van lezen? Grote kans dat het een 3V3 regulator is. Als je die vervolgens met 3V3 loopt te voeden vindt de boel dat niet zo leuk. Dan zal je hem inderdaad moeten voeden met 5V of de regulator eraf slopen.
de pinout had ik gezien, dus ik had hem correct verbonden. Die spanningsregulator was inderdaad waar ik bang voor was. Welk component moet ik proberen te lezen?

Stel dat het inderdaad een spanningsregulator is. Kan ik dan de Vin van de SHT21 veilig op 5V zetten terwijl alle andere pinnen op een ESP8266 pin zitten die 3.3V gebruikt?

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@LinuxMan Leek mij ook wel duidelijk maar toch :+

De spanningsregulator zal waarschijnlijk de grote 3-poot chip boven het montagegat zijn. Als dit een 3v3 is dan kan je zonder problemen 5V aanbieden aan de module en hem laten werken met een 3V3 device. Maar als het geheel op batterijen moet werken is dat natuurlijk niet gunstig voor het energieverbruik.

Acties:
  • 0 Henk 'm!

  • LinuxMan
  • Registratie: September 2000
  • Laatst online: 21:31
Septillion schreef op woensdag 23 juni 2021 @ 11:08:
@LinuxMan Leek mij ook wel duidelijk maar toch :+

De spanningsregulator zal waarschijnlijk de grote 3-poot chip boven het montagegat zijn. Als dit een 3v3 is dan kan je zonder problemen 5V aanbieden aan de module en hem laten werken met een 3V3 device. Maar als het geheel op batterijen moet werken is dat natuurlijk niet gunstig voor het energieverbruik.
ik snap alleen software. achteraf denk ik "oh logisch die zit aan de Vin vast", maar ja, achteraf had ik nu veel bitcoin ;-)

op die component staat "662K"
als ik daar op zoek krijg ik "3.3V 200mA Positive Fixed LDO Voltage Regulator in SOT-23 package". Betekent dit dat deze sensor gemaakt is voor 5V ?

bij de specs van de sensor zoals ik hem gekocht heb staat "2.1 V tot 3.6 V Voedingsspanning".. Maar ja, Aliexpress, dus wellicht niet zo betrouwbaar..

Acties:
  • 0 Henk 'm!

  • tafkaw
  • Registratie: December 2002
  • Laatst online: 13:32
Internet zegt: input 1,8 t/m 6v. Output 3,3v. En internet heeft altijd gelijk. Dus je kan er zowel 3,3v als 5v op blaffen.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@LinuxMan Het is in ieder geval een LDO (Low Drop Out). Niet heel netjes om een regulator onder zijn dropout te voeden maar het zou moeten werken, de sensor zal dus nu zo'n 3V krijgen. Op zich zou ik zeggen dat het genoeg zou moeten zijn en niet te laag voor de ESP.

Maar goed, je zou dus eens kunnen proberen om de module met 5V te voeden.

Anders is het denk ik tijd om de libray eens te laten liggen en eens proberen om er even direct mee te praten. Dan kan je zien of je überhaupt data terug krijgt.

Acties:
  • +2 Henk 'm!

  • ocmer
  • Registratie: Juni 2001
  • Laatst online: 22:24
_ferry_ schreef op vrijdag 4 juni 2021 @ 06:56:
[...]

De kabel van frequentie regelaar naar pomp is wel afgeschermd?
En die hangen ze altijd alleen bij de regelaar aan aarde. In tegenstelling tot afgeschermde kabels voor datasignalen.
Spot on. Ik heb de kabel van de frequentieregelaar naar de pomp vervangen door een afgeschermde kabel en dit heeft de problemen met het uitlezen van nabije sensors opgelost. Thanks !

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

vraagje die esp's in (buiten)behuizingen worden mooie 40 graden oid .. heeft hier iemand een oplossing voor gevonden ?


btw die tuya convert werkt niet .. weet iemand of er een ander alternatief is behalve openslopen en zelf flashen

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@vso Met 40 graden mag je nog blij zijn... Maar the guy with the Swiss accent gaat er binnenkort een video over doen.

En Tuya convert is de enige hoop dat je zonder fysiek toegang je Tuya uit de cloud kunt halen. Dus als dat niet werkt blijft echt alleen solderen over :/

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Septillion schreef op woensdag 30 juni 2021 @ 09:00:
@vso Met 40 graden mag je nog blij zijn... Maar the guy with the Swiss accent gaat er binnenkort een video over doen.
jup eerst gaat hij toch nog ff fietsen oid hij twist of tie omhoog of omlaag gaat via de Rijn.. :?

Maar vroeg me af of hier nog intressante oplossingen zijn gepasseerd ? zou leuk zijn als ik ze beetje de buiten temp kan aan laten nemen ..
En Tuya convert is de enige hoop dat je zonder fysiek toegang je Tuya uit de cloud kunt halen. Dus als dat niet werkt blijft echt alleen solderen over :/
ja vrees het ook wel .. alhoewel er wel een tussenweg blijkbaar is via Node-red
https://flows.nodered.org...contrib-tuya-smart-device

Btw die tussenweg gaat hem niet uit de cloud halen natuurlijk maar zou wellicht wel een tussen weg geven zodat je niet met een app op je telefoon de boel moet besturen (uitermate irritant) maar via een HA/Domoticz wek (lees losse schakelaar)

Als ik ze uit de cloud ga halen wil ik wel een soort pin connectie oid geven (magnetisch) .. zodat je niet elke keer open hoeft te schroeven

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@vso Dat is een oplossing ja maar inderdaad met cloud. Voor HA is er ook gewoon de Tuya integratie.

Daarnaast is er nog de Local Tuya integratie die ze wel weg haalt uit de cloud zonder reflash. Maar hoe goed dat blijft werken is de vraag.

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Septillion schreef op woensdag 30 juni 2021 @ 10:22:
@vso Dat is een oplossing ja maar inderdaad met cloud. Voor HA is er ook gewoon de Tuya integratie.

Daarnaast is er nog de Local Tuya integratie die ze wel weg haalt uit de cloud zonder reflash. Maar hoe goed dat blijft werken is de vraag.
m.a.w gewoon tasmota / espeasy erop mikken :)

Tja vanalles


Acties:
  • 0 Henk 'm!

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

Copitano

Hoorn NH

Zijn hier mensen die ervaring hebben met het operationeel krijgen van deze licht meter? OPT101 Light Analog Light Intensity Sensor Module Single Chip Photoelectric Diode 14KHz CJMCU-101

Heb die al een tijdje liggen, maar ik kan met google niet veel vinden over het aansluiten van het ding op een RPi via een NoduMCU ESP8266 v3. In ESPeasy kan ik alleen de BH1750 en de TSL2561 vinden. Die kan ik natuurlijk gewoon bestellen, maar de OPT101 heb ik liggen ;)

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!

  • The Fatal
  • Registratie: Maart 2009
  • Laatst online: 21:27
sinds kort ook een aantal ESP's gehaald.
Waaronder de Wemos D1 Mini Pro
Hierop ESPHome gezet en draait eigenlijk goed, zolang ik maar via de USB poort opstart.
Start ik op via een losse 5V voeding dan komt hij nergens.

Ik gebruik de volgende pins:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
output:
  - id: relay_verlichting_voortuin
    platform: gpio
    pin: D3
 
sensor:
  - platform: dht
    pin: D5

binary_sensor:
  - platform: gpio
    pin:
      number: D4
      inverted: True


Waarbij op D4 een schakelaar zit om het licht manueel aan en uit te kunnen schakelen.
Op D3 zit een relais kaartje om zo de verlichting te schakelen.

Dit werkt allemaal goed totdat er een power cycle komt.
Dan moet ik hem weer aan de USB hangen om hem werkend te krijgen.

Waar zou ik naar kunnen kijken of wat doe ik verkeerd?

Acties:
  • 0 Henk 'm!

  • DurkVell
  • Registratie: Augustus 2011
  • Laatst online: 23:43
Levert de losse voeding wel voldoende mA? Het opstarten van de ESP vraagt nogal wat.

Acties:
  • 0 Henk 'm!

  • The Fatal
  • Registratie: Maart 2009
  • Laatst online: 21:27
Zo ongeveer 650mA = 3Watt.

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Wat zou het beste zijn voor een diy Chime/gong (iets wat ding dong doet) ?

max98357 of zijn er betere/simpelere opties ?


Ik wil een esp32 gebruiken voor per verdieping temp/luchtvochtigheid/rookmelder en "chime/gong" ik gebruik een esp32-wroom-02 als basis de luchtvochtigheid/temp heb ik al .. rookmelder zag ik ook al voorbij komen.

[ Voor 12% gewijzigd door vso op 04-07-2021 20:13 ]

Tja vanalles


Acties:
  • +1 Henk 'm!

  • Dr.Roelski
  • Registratie: Juni 2001
  • Laatst online: 04-09 21:02

Dr.Roelski

Walk on ....

The Fatal schreef op vrijdag 2 juli 2021 @ 19:38:
sinds kort ook een aantal ESP's gehaald.
Waaronder de Wemos D1 Mini Pro
Hierop ESPHome gezet en draait eigenlijk goed, zolang ik maar via de USB poort opstart.
Start ik op via een losse 5V voeding dan komt hij nergens.

Ik gebruik de volgende pins:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
output:
  - id: relay_verlichting_voortuin
    platform: gpio
    pin: D3
 
sensor:
  - platform: dht
    pin: D5

binary_sensor:
  - platform: gpio
    pin:
      number: D4
      inverted: True


Waarbij op D4 een schakelaar zit om het licht manueel aan en uit te kunnen schakelen.
Op D3 zit een relais kaartje om zo de verlichting te schakelen.

Dit werkt allemaal goed totdat er een power cycle komt.
Dan moet ik hem weer aan de USB hangen om hem werkend te krijgen.

Waar zou ik naar kunnen kijken of wat doe ik verkeerd?
Wellicht een pin gebruikt die tijdens opstarten een bepaalde functie heeft?
Werkt het wel als je power cycle doet met de blink sketch (met alle aansluitingen zoals je nu hebt intakt)?
Voor pinouts zie ook https://randomnerdtutoria...6-pinout-reference-gpios/

Als ik het zo zie heb jij:
D3 GPIO0 pulled up OK connected to FLASH button, boot fails if pulled LOW

Acties:
  • +1 Henk 'm!

  • ranjo
  • Registratie: April 2004
  • Laatst online: 18-09 22:44
vso schreef op zondag 4 juli 2021 @ 20:12:
Wat zou het beste zijn voor een diy Chime/gong (iets wat ding dong doet) ?

max98357 of zijn er betere/simpelere opties ?


Ik wil een esp32 gebruiken voor per verdieping temp/luchtvochtigheid/rookmelder en "chime/gong" ik gebruik een esp32-wroom-02 als basis de luchtvochtigheid/temp heb ik al .. rookmelder zag ik ook al voorbij komen.
Je zou de lcs alarm van de Action kunnen kopen (waar eigenlijk een RTL chip in zit, die je er dan uit met slopen). Hier zit een passieve piezo in die je met een ESP prima kan aansturen. Ik heb dit met esphome en rtttl werkend gekregen. Voordeel van rtttl is dat je heel makkelijk leuke melodieën kan gebruiken.

Uiteindelijk is het een ESP met wat draadjes verbinden aan de printplaat van het alarm en zorgen dat de oorspronkelijke processor niet meer werkt.

[ Voor 8% gewijzigd door ranjo op 08-07-2021 06:34 ]


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

ranjo schreef op donderdag 8 juli 2021 @ 06:33:
[...]

Je zou de lcs alarm van de Action kunnen kopen (waar eigenlijk een RTL chip in zit, die je er dan uit met slopen). Hier zit een passieve piezo in die je met een ESP prima kan aansturen. Ik heb dit met esphome en rtttl werkend gekregen. Voordeel van rtttl is dat je heel makkelijk leuke melodieën kan gebruiken.

Uiteindelijk is het een ESP met wat draadjes verbinden aan de printplaat van het alarm en zorgen dat de oorspronkelijke processor niet meer werkt.
Thx dat is een leuk idee !

Tja vanalles


Acties:
  • 0 Henk 'm!

  • Dr.Roelski
  • Registratie: Juni 2001
  • Laatst online: 04-09 21:02

Dr.Roelski

Walk on ....

vso schreef op donderdag 8 juli 2021 @ 08:18:
[...]

Thx dat is een leuk idee !
Bluetooth speaker is misschien ook nog een optie, maar heb dat zelf nog niet geprobeerd.

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Dr.Roelski schreef op donderdag 8 juli 2021 @ 11:43:
[...]

Bluetooth speaker is misschien ook nog een optie, maar heb dat zelf nog niet geprobeerd.
tja ik zoek gewoon een "ding-dong" .. die optie van @ranjo kan ik nog een esp aan koppelen en bv de extra gpio pinnen gebruiken voor een temp/vocht / rookmelder /bewegingssensor + trap verlichting .. (lees ledstrip met kleuren) .

Bluetooth bereik is helemaal bagger, en dat betreft voldoen de 433mhz, zigbee/zwave ook wel

Wat het eind doel is een oude gsm / tablet + bovenstaande per verdieping in te zetten als "huis besturing" ..

Tja vanalles


Acties:
  • +1 Henk 'm!

  • tsjoender
  • Registratie: April 2005
  • Laatst online: 19:09
vso schreef op zondag 4 juli 2021 @ 20:12:
Wat zou het beste zijn voor een diy Chime/gong (iets wat ding dong doet) ?

max98357 of zijn er betere/simpelere opties ?


Ik wil een esp32 gebruiken voor per verdieping temp/luchtvochtigheid/rookmelder en "chime/gong" ik gebruik een esp32-wroom-02 als basis de luchtvochtigheid/temp heb ik al .. rookmelder zag ik ook al voorbij komen.
Ik heb een dergelijke module al voor verschillende projectjes gebruikt:

https://www.hobbyelectron...t/mini-mp3-player-module/

Speakertje eraan en met eenvoudige seriele commandos aan te sturen. Dan kun je zelfs ervoor kiezen dat de bel geluiden afgestemd zijn op het seizoen, overdag luider dan 's avonds etc. Maar een MP3 bestandje met ding dong zal ook prima werken :)

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

tsjoender schreef op donderdag 8 juli 2021 @ 14:58:
[...]


Ik heb een dergelijke module al voor verschillende projectjes gebruikt:

https://www.hobbyelectron...t/mini-mp3-player-module/

Speakertje eraan en met eenvoudige seriele commandos aan te sturen. Dan kun je zelfs ervoor kiezen dat de bel geluiden afgestemd zijn op het seizoen, overdag luider dan 's avonds etc. Maar een MP3 bestandje met ding dong zal ook prima werken :)
ik zit meer met de volume van die dingen :) en dan heb je nodig die voeding dat was met @ranjo een mooi 1-2tje imho (moet er nog 1 halen en openschroeven trouwens)

Tja vanalles


Acties:
  • +1 Henk 'm!

  • ranjo
  • Registratie: April 2004
  • Laatst online: 18-09 22:44
vso schreef op donderdag 8 juli 2021 @ 15:25:
[...]

ik zit meer met de volume van die dingen :) en dan heb je nodig die voeding dat was met @ranjo een mooi 1-2tje imho (moet er nog 1 halen en openschroeven trouwens)
Gek genoeg gaat de sirene met een ESP een stuk harder dan wat die standaard kan. (Naast dat de standaard "zoemer" meer een piepsignaal is dan een alarmsignaal). Toen ik experimenteerde op de hobbyzolder moest ik een geluidsbescherming op doen en mijn vrouw klaagde vanuit de tuin dat het zo veel herrie maakte. (En ja, ik wilde toch even wat rtttl melodieën uittesten)

YouTube: LSC siren with esp8266 and esphome with rtttl

Ik moet alleen nog kijken hoe ik echt sirene geluid kan maken, met rtttl zijn het melodieën met vaste toonhoogtes. Een "slow whoop" achtig effect gaat dan niet.

Trouwens nog een waarschuwing. Bij het experimenteren NIET aansluiten op het stopcontact maar los met een lab voeding aansluiten. Je kan op de Elco 5volt zetten en dan doet die het prima.

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

ranjo schreef op vrijdag 9 juli 2021 @ 14:36:
[...]

Gek genoeg gaat de sirene met een ESP een stuk harder dan wat die standaard kan. (Naast dat de standaard "zoemer" meer een piepsignaal is dan een alarmsignaal). Toen ik experimenteerde op de hobbyzolder moest ik een geluidsbescherming op doen en mijn vrouw klaagde vanuit de tuin dat het zo veel herrie maakte. (En ja, ik wilde toch even wat rtttl melodieën uittesten)

YouTube: LSC siren with esp8266 and esphome with rtttl

Ik moet alleen nog kijken hoe ik echt sirene geluid kan maken, met rtttl zijn het melodieën met vaste toonhoogtes. Een "slow whoop" achtig effect gaat dan niet.

Trouwens nog een waarschuwing. Bij het experimenteren NIET aansluiten op het stopcontact maar los met een lab voeding aansluiten. Je kan op de Elco 5volt zetten en dan doet die het prima.
dat van die 230 lijke me logisch maar thx voor de reminder, veiligheid voor alles.

_/-\o_ voor het filmpje, kan je een foto delen met hoe je het bedraad hebt of is alles zoals het uit de box komt op de esp na ?

https://picaxe.com/rtttl-ringtones-for-tune-command/ zit daar iets tussen ? oplopende toonladder oid moet toch ook kunnen ?

ik ben er nog niet over uit of ik dit wil --> WAF speelt mee

Tja vanalles


Acties:
  • +2 Henk 'm!

  • ranjo
  • Registratie: April 2004
  • Laatst online: 18-09 22:44
Wat betreft de WAF factor klopt het dat ik eerder werd uitgelachen met deze melodiën dan dat dit ding als een goed alternatief werd gezien voor onze deurbel -O- . Want ik zoek vooral iets luids wat aparte geluiden kan maken voor: deurbel, achterdeur, inbraakalarm (en eventueel een apart geluid vanuit de keuken om signaal naar de thuiswerkplek te geven dat het eten klaar is :9 ). De RTTTL files zijn leuk maar niet ideaal. Er circuleren ook PTTTL library's (de beroemde Polyphonic ringtones van vroeger) maar die kon ik nog niet makkelijk vinden voor ESPhome/Tasmota/espeasy. En zelf mijn image maken heb ik nog geen zin in. Eventueel handmatig een paar tonen bedenken en programmeren kan ook nog.

Wat betreft het aansluiten heb ik een spoor gevonden van de uitgang van de RTL chip die naar de Piezo gaat. Er zit nog wat electronica achter wat dit signaal verwerkt/versterkt voordat het signaal de piezo in gaat. (zie blauwe pijl) hier heb ik toen een draad aan vast gesoldeerd en rechtstreeks op een GPIO pin van de ESP gehangen. De rode pijl is voor de leds die er zitten die je evt kan laten oplichten. De sporen van de knoppen heb ik nog niet getraceerd. Voor de zekerheid heb ik ook nog de elco gemarkeerd op de foto voor de 5V, op die manier heb ik die aan mijn losse ESP dev board gehangen om te kijken of zou kunnen werken.

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

Op de printplaat zit trouwens ook een AMS1117 die 3v3 maakt voor de processor, maar ik was nog niet zo ver om na te zoeken waar ik de 3v3 kon aftappen om daar eventueel de ESP mee te voeden (voordeel is dan dat je een simpele ESP01 kan pakken zonder eigen stabilisator ipv het "opofferen" van een NodeMCU of ander development ESP bord wat dus best overkill is).

Overigens is het me nog niet gelukt om de RTL chip er af te krijgen (deze heeft tijdens het testen dus ook de hele tijd stroom gehad en dus "aan gestaan" terwijl de ESP de piëzo al had over genomen, maar ik geef verder weinig meer om deze RTL chip). Ik heb weinig desoldeer tools. En met een verfbrander wilde het ook niet echt lukken om hem los te krijgen. Ik hoop stiekem dat dit RTL printje dezelfde pinout zou hebben als een ESP 12* boardje, maar zo ver ben ik nog niet om dat te checken.

Trouwens.. ik heb dit Action spul ook nog liggen wat ik gekocht heb toen dit LSC connect net uit kwam. Hier zitten dus nog ESP's in.. Stuur me een DM als je interesse hebt, want deursensoren en bewegingsmelders wil ik toch liever via zigbee laten lopen.

Acties:
  • 0 Henk 'm!

  • Dr.Roelski
  • Registratie: Juni 2001
  • Laatst online: 04-09 21:02

Dr.Roelski

Walk on ....

vso schreef op donderdag 8 juli 2021 @ 14:40:
[...]

tja ik zoek gewoon een "ding-dong" .. die optie van @ranjo kan ik nog een esp aan koppelen en bv de extra gpio pinnen gebruiken voor een temp/vocht / rookmelder /bewegingssensor + trap verlichting .. (lees ledstrip met kleuren) .

Bluetooth bereik is helemaal bagger, en dat betreft voldoen de 433mhz, zigbee/zwave ook wel

Wat het eind doel is een oude gsm / tablet + bovenstaande per verdieping in te zetten als "huis besturing" ..
Ik heb ook nog zoiets liggen:
https://nl.aliexpress.com...455c-bb92-ea944de4dd6c-35

Moet je wel een 433MHz module aan je esp koppelen om te gebruiken.
Heb tot nu toe alleen met mn kaku afstandsbediening gekeken hoe het werkt, maar ik kan op elke knop een andere melodie koppelen. Dus in principe kan ik met de esp alle melodieen van de deurbel op een apart kanaal zetten. Deze unit was onderdeel van een ring deurbel kloon, maar is ook apart te gebruiken en bestellen.
Wilde deze op zelfde manier gaan gebruiken als wat jij van plan bent: verschillende acties koppelen aan aparte melodie/geluid. Alleen ik wil het gaan koppelen aan mn pimatic/node-red installatie.

Acties:
  • 0 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
Hoi,
Ik ben vrij nieuw op het gebied van ESP8266 en domotica in het algemeen.
Onlangs heb ik domoticz en een sonof aan elkaar geknoopt voor wat lampjes en dat smaakt naar meer. Nou wilde ik een wemos met esp_easy inzetten icm wat magneet schakelaars om de 3 deuren van mijn garage een beetje in de gaten te houden. Nou kan ik zonder probleem pin D3 en D4 (+ ground) gebruiken welke via MQTT richting domoticz gaan maar een 3e magneet schakelaar kan ik niet gebruiken.
Heeft de wemos nou een beperking van 2 pins die hier voor ingezet kunnen worden of mis ik iets?
thx!

Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

Dr.Roelski schreef op zaterdag 10 juli 2021 @ 14:11:
[...]

Ik heb ook nog zoiets liggen:
https://nl.aliexpress.com...455c-bb92-ea944de4dd6c-35

Moet je wel een 433MHz module aan je esp koppelen om te gebruiken.
Heb tot nu toe alleen met mn kaku afstandsbediening gekeken hoe het werkt, maar ik kan op elke knop een andere melodie koppelen. Dus in principe kan ik met de esp alle melodieen van de deurbel op een apart kanaal zetten. Deze unit was onderdeel van een ring deurbel kloon, maar is ook apart te gebruiken en bestellen.
Wilde deze op zelfde manier gaan gebruiken als wat jij van plan bent: verschillende acties koppelen aan aparte melodie/geluid. Alleen ik wil het gaan koppelen aan mn pimatic/node-red installatie.
net eigenlijk mijn hele kaku 433mhz set (3 stopcontacten 2 remotes en zonnescherm ding ) aan het uitfaseren ze moeten alleen nog op V&A

De bedoeling is dat ik de modus "als deurbel ingedrukt" --> "deur open" kan activeren met safeguards zoals pincode oid en "timer" (dus voor 3 uur of tot middernacht .) en geen gerinkel .. als je 1:1 koppelt met een bluetooth moet je weer andere trucken uithalen

Dus je verwacht gasten (feestje oid) "push to open" modus, met gezichts herkenning oid in de toekomst

dus vandaar dat ik iets zoek dat ik via een udp/tcp bericht de bel signaal activeer .. afhankelijk v.d stand.
iets wat in het stopcontact plugt heeft nog een voordeel .. je kan wellicht wat stroom aftappen voor wat andere sensors ..

[ Voor 7% gewijzigd door vso op 10-07-2021 18:23 ]

Tja vanalles


Acties:
  • 0 Henk 'm!

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

dietje75 schreef op zaterdag 10 juli 2021 @ 17:45:
Hoi,
Ik ben vrij nieuw op het gebied van ESP8266 en domotica in het algemeen.
Onlangs heb ik domoticz en een sonof aan elkaar geknoopt voor wat lampjes en dat smaakt naar meer. Nou wilde ik een wemos met esp_easy inzetten icm wat magneet schakelaars om de 3 deuren van mijn garage een beetje in de gaten te houden. Nou kan ik zonder probleem pin D3 en D4 (+ ground) gebruiken welke via MQTT richting domoticz gaan maar een 3e magneet schakelaar kan ik niet gebruiken.
Heeft de wemos nou een beperking van 2 pins die hier voor ingezet kunnen worden of mis ik iets?
thx!
een esp heeft een cpu van x mhz .. zeg bv 128mhz dat is meer dan genoeg om je lezer elke 10miliseconden elke magneet sensor te "pollen"

je kan je pinnen uitbreiden via gio extenders, en dus sensor voor sensor uitlezen .. probeer zoveel mogelijk met zo min mogelijk te doen ..

Tja vanalles


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
dietje75 schreef op zaterdag 10 juli 2021 @ 17:45:
Hoi,
Ik ben vrij nieuw op het gebied van ESP8266 en domotica in het algemeen.
Onlangs heb ik domoticz en een sonof aan elkaar geknoopt voor wat lampjes en dat smaakt naar meer. Nou wilde ik een wemos met esp_easy inzetten icm wat magneet schakelaars om de 3 deuren van mijn garage een beetje in de gaten te houden. Nou kan ik zonder probleem pin D3 en D4 (+ ground) gebruiken welke via MQTT richting domoticz gaan maar een 3e magneet schakelaar kan ik niet gebruiken.
Heeft de wemos nou een beperking van 2 pins die hier voor ingezet kunnen worden of mis ik iets?
thx!
Je hebt toch meer Dx pinnen dan D3 en D4.
Kan zijn dat je in espeasy ze niet ziet (als je dat bedoelt) omdat ze in de hardware tab voor I2C Interface zijn ingevuld. Dan moet je die even op None zetten.

Acties:
  • +1 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
vso schreef op zaterdag 10 juli 2021 @ 18:25:
[...]

een esp heeft een cpu van x mhz .. zeg bv 128mhz dat is meer dan genoeg om je lezer elke 10miliseconden elke magneet sensor te "pollen"

je kan je pinnen uitbreiden via gio extenders, en dus sensor voor sensor uitlezen .. probeer zoveel mogelijk met zo min mogelijk te doen ..
Daar maak ik me ook geen zorgen om, ik heb enkel het vermoede dat er hardware beperkingen zijn...
'Heul veul met heul weinig is altijd geinig!'

Acties:
  • 0 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
jobr schreef op zaterdag 10 juli 2021 @ 18:41:
[...]


Je hebt toch meer Dx pinnen dan D3 en D4.
Kan zijn dat je in espeasy ze niet ziet (als je dat bedoelt) omdat ze in de hardware tab voor I2C Interface zijn ingevuld. Dan moet je die even op None zetten.
Ik zie inderdaad maar een beperkt aantal poorten
Afbeeldingslocatie: https://tweakers.net/i/NX3jlOgcg3J91Sz-lL5Gg7iM14U=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/SCswL4iZ2IMwqIZG0dF436Ml.png?f=user_large
Gek genoeg is niet alles op de wemos zelf te vinden enken:
D3 en D4 die het vooralsnog prima lijken te doen, D5, D6, D7, D8 en D0
Behalve de 3 en 4 doen de andere niets, of... ik kan ze in ieder geval zien in de logging in domoticz, en de log van de wemos zelf blijft vrij leeg.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@dietje75 Dat is dan toch echt een ding van ESPEasy dan, niet van de Wemos (neem aan een D1 Mini?). De ESP kent wel wat beperkingen maar je hebt zeker wel meer pinnen. Zelf wel eens gespeeld met ESPeasy maar vond het niet fijn werken. Kan je dus niet helpen waar je de aanpassing moet maken.

[ Voor 20% gewijzigd door Septillion op 10-07-2021 19:43 ]


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
dietje75 schreef op zaterdag 10 juli 2021 @ 19:38:
Ik zie inderdaad maar een beperkt aantal poorten
[Afbeelding]
heb je de in de hardware tab voor I2C Interface alles op None gezet?

Acties:
  • 0 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
@Septillion ja dat klopt, de D1 Mini.
ik heb inderdaad meerdere pinnen zoals je ook in de screendump (van 19:38) kan zien maar die lijken niets te doen. dat bljft beperkt tot D3 en D4 :(

Acties:
  • 0 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
@jobr Nee, dat had ik nog niet gedaan maar nu wel :)
daar stonden D1 en D2 gereserveerd maar helaas, ook die werken niet... of.. ik zie niets gebeuren.

Acties:
  • 0 Henk 'm!

  • dietje75
  • Registratie: Juli 2021
  • Laatst online: 28-10-2024
Dank voor de reacties....
Ik heb zojuist een oudere versie van ESP_Easy (versie 1.20 zonder de mega) geprobeerd en daar lukte het initieel ook niet. Alleen D3 en D4 werkte. Daar heb ik de 2 gebruikte pins in 12C leeg gehaald en warempel, less is more ... ik kon D2 nu wel gebruiken.
Waarom het met de nieuwste mega versie dan niet lukte is me een raadsel,

Acties:
  • 0 Henk 'm!

  • ocmer
  • Registratie: Juni 2001
  • Laatst online: 22:24
Iemand ervaring met Nextion Displays en een ESP8266 (NodeMCU)? Probleem waar ik tegenaan loop is dat commando's vanaf het display (zoals het indrukken van een button), soms wel en soms niet worden ontvangen.

Als ik een prototype-programma maak wat alleen maar bezig is met het display, dan gaat het goed. Netjes een maal "nexLoop(nex_listen_list)" aanroepen in "void loop()" en buttons worden netjes afgevangen.

Maar zodra ik allerlei extra code aan de loop() toevoeg, dan wordt vaak niet op buttons gereageerd; alsof de commando's niet ontvangen worden. Het wordt wat beter als ik op 10 plekken in de loop() een aanroep naar nexLoop(..) opneem, maar dat is geen nette oplossing.

[ Voor 3% gewijzigd door ocmer op 29-07-2021 22:59 ]


Acties:
  • 0 Henk 'm!

  • Zorg
  • Registratie: Maart 2001
  • Laatst online: 23:21
Zorg schreef op vrijdag 26 maart 2021 @ 14:09:
[...]


Het was een combinatie van beiden :) solderen was effectief beter. Maar denk ook dat mijn sensor niet ok was. Heb het met een andere gedaan en die werkte wel. Na het solderen werkte de eerste toch ook niet
een stukje verder en loop toch nog tegen iets aan. Momenteel heb ik een prototype gemaakt welke drie sensoren uitleest en naar een mosquitto server de data stuurt. Vervolgens wordt de data opgeslagen in een database en live weergegeven op een website via flask. So far so good!

Maar ik merk dat de sensor data niet altijd soepel wordt doorgestuurd. Natuurlijk zit er een zekere delay op omdat het via WiFi wordt doorgestuurd maar er zijn af en toe gewoon gaps en toch wel serieuze lag. Het ligt niet aan de flask & database scripting want als ik gewoon command line subscribe op het topic dan merk ik hetzelfde. Nu denk ik dat het door mijn micropython code komt maar wat ik ook probeer, ik krijg het enkel werkende zoals ik het nu heb. Ik ben geen python programmeur maar zoals ik het heb doe ik een constante loop van verbind, send, disconnect. In mijn simpele benadering zou ik eerder denken verbinding maken, dan de loop, en dan disconnecten. Dus gewoon de verbinding open houden?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// nog wat ervoor (verbinding maken en libraries open thats it ...


SERVER = "192.168.0.10"
CLIENT_ID = ubinascii.hexlify(machine.unique_id())
MESS2 = str(driver.read())


print(MESS2)
print(CLIENT_ID,SERVER)

while True:
    
    def main(server=SERVER):
        MESS2 = str(driver.read())
        c = MQTTClient(CLIENT_ID, server)
        c.connect()
        c.publish(b"foo_topic", MESS2)
        c.disconnect()
        
        
    if __name__ == "__main__":
        main()

Acties:
  • +1 Henk 'm!

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
ocmer schreef op donderdag 29 juli 2021 @ 22:28:

Maar zodra ik allerlei extra code aan de loop() toevoeg, dan wordt vaak niet op buttons gereageerd; alsof de commando's niet ontvangen worden. Het wordt wat beter als ik op 10 plekken in de loop() een aanroep naar nexLoop(..) opneem, maar dat is geen nette oplossing.
Maak je gebruik van softserial of iets dergelijks? Dit kan problemen opleveren.
Ik gebruik een nextion op een ESP8266 aangesoten op de harware serial poort.

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Nu online

Septillion

Moderator Wonen & Mobiliteit
@ocmer Ik gok hetzelfde als @Piepersnijder. Nu hoeft SoftSerial echt geen probleem te zijn. Je moet alleen de loop wel lekker laten gaan en dus niet ophangen in while-loops of ook maar ergens delay() gebruiken.

Acties:
  • 0 Henk 'm!

  • ocmer
  • Registratie: Juni 2001
  • Laatst online: 22:24
Display zat gewoon op TX/RX pinnen aangesloten. Delay() gebruik ik nooit; dat doen we netjes met millis() in loop()

Ik heb inmiddels een paar patches op de Nextion library gevonden die het probleem lijken te fixen: https://forum.arduino.cc/...working-gui-events/596412

Acties:
  • 0 Henk 'm!

  • vonkkie
  • Registratie: Januari 2014
  • Laatst online: 19:43
ik ben sinds deze week met home assistent en esp home bezig
met eeen nodemcu lua v3 lolin
om temperatuur druk luchtvochtigheid en pm 1 / 2,5/10 te meten
dit lukt
ik heb en een lcd1602 i2c deze geeft temp en vochtigheid al weer
nou zou ik graag scrollend de waardes druk en pm willen weer geven
zodat ik van dat scherm alle gemeten waardes om de beurt voor bij zie komen
maar kan niet echt iets vinden hoe ik dat zou moeten bereiken
zoekterm voor google zou al helpen
ik zet mijn YAMl hier onder om te laten zien wat ik al heb bereikt

het stuk met wifi en dergelijke laat ik er uit voor logische redenen

i2c:
sda: GPIO04
scl: GPIO05


uart:
tx_pin: GPIO12
rx_pin: GPIO13
baud_rate: 9600


sensor:
- platform: bmp085
temperature:
name: "BMp180 Temperature"

pressure:
name: "BMp180 Pressure"

address: 0x77
update_interval: 60s

- platform: pmsx003
type: PMSX003
pm_1_0:
name: "Particulate Matter <1.0µm Concentration"
pm_2_5:
name: "Particulate Matter <2.5µm Concentration"
pm_10_0:
name: "Particulate Matter <10.0µm Concentration"

- platform: dht
pin: GPIO14
temperature:
name: "Temperatuur"
id: temp
humidity:
name: "luchtvochtigheid"
id: hum
update_interval: 10s
model: DHT22


display:
- platform: lcd_pcf8574
dimensions: 18x4
address: 0x27

lambda: |-
it.printf(0, 0, "Temp: %.1f C", id(temp).state);
it.printf(0, 1, "LvH : %.1f ", id(hum).state);
switch:
- platform: gpio
pin:
number: GPIO0
id: pms_set
name: "Start measuring"

interval:
- interval: 120s
then:
- switch.turn_on: pms_set
- delay: 20s
- switch.turn_off: pms_set

Acties:
  • +1 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 20:58
Normaal zou je cursor position in combinatie met een array loop gebruiken.

Je vult dus feitelijk het hele display helemaal opnieuw op de interval die je wenst om characters te verschuiven van positie.
Hoe dat in lua zou moeten: geen idee.

- knip -


Acties:
  • 0 Henk 'm!

  • vonkkie
  • Registratie: Januari 2014
  • Laatst online: 19:43
@Raymond P

Kennelijk kan dat alleen met grafische displays

Acties:
  • 0 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 20:58
@vonkkie Bij gebruik van een grafisch display heb je per-pixel controle.
Met het LCD wat jij gebruikt heb je per-character controle. Met een kleine 'maar': Je kan zelf een characterset maken met de pixels en vervolgens per groep laten zien.

Info van arduino: https://www.arduino.cc/en...es/LiquidCrystalSetCursor

edit: tenzij je bedoelt dat het in lua niet kan, daar heb ik geen weet van. :)

[ Voor 10% gewijzigd door Raymond P op 07-08-2021 10:02 ]

- knip -


Acties:
  • +1 Henk 'm!

  • vonkkie
  • Registratie: Januari 2014
  • Laatst online: 19:43
@Raymond P

Inderdaad ik werk nog alleen met esphome begin net en daar schijnt het alleen dus met grafische displays te kunnen

In arduino heb ik geen idee

Acties:
  • 0 Henk 'm!

  • KrL
  • Registratie: Oktober 2001
  • Laatst online: 18-09 14:51

KrL

Foto foto..

Iemand deze al gezien/uitgevoerd?

https://hackaday.com/2021...ikeas-air-quality-sensor/
https://github.com/Hypfer...driktning-particle-sensor
https://community.home-as...air-quality-sensor/324599

Ik heb op dit moment al per kamer een Wemos D1 mini bordje met MHZ-19 CO2 sensor en aanvullend in de keuken een PM sensor op basis van PMSX003. Ik heb net een aantal van deze vindriktning sensoren besteld met als doel een aantal gecombineerde CO2/PM sensoren te maken op basis van ESPHOME door de ESP8266 en MHZ-19 in de vindriktning behuizing te plaatsen. Mooiste zou zijn als ik vervolgens de LED ook kan aansturen op basis van de CO2 waarde, even afwachten of iemand anders dat ook verzint zodat ik kan afkijken :)

Acties:
  • 0 Henk 'm!

  • bitjeverkeerd
  • Registratie: Augustus 2019
  • Laatst online: 13:03
KrL schreef op zondag 8 augustus 2021 @ 18:05:
Iemand deze al gezien/uitgevoerd?

https://hackaday.com/2021...ikeas-air-quality-sensor/
https://github.com/Hypfer...driktning-particle-sensor
https://community.home-as...air-quality-sensor/324599

Ik heb op dit moment al per kamer een Wemos D1 mini bordje met MHZ-19 CO2 sensor en aanvullend in de keuken een PM sensor op basis van PMSX003. Ik heb net een aantal van deze vindriktning sensoren besteld met als doel een aantal gecombineerde CO2/PM sensoren te maken op basis van ESPHOME door de ESP8266 en MHZ-19 in de vindriktning behuizing te plaatsen. Mooiste zou zijn als ik vervolgens de LED ook kan aansturen op basis van de CO2 waarde, even afwachten of iemand anders dat ook verzint zodat ik kan afkijken :)
Ben benieuwd hoe de Vindriktning sensoren bevallen. Ik heb er ook 1 gekocht met het idee om er een esp wemos bordje + SGP30 air quality sensor in te bouwen.

Ik ben de Vindriktning (nog niet getweakt) nu een paar dagen aan het testen (thuis en op het werk) wat opvalt is dat de fan bijna continu aanstaat (20 seconden aan / 10 seconden uit), hierdoor is het eigenlijk niet geschikt op slaapkamers (in de woonkamer is het 's avonds ook al irritant). De luchtkwaliteit is volgens de sensor altijd goed, zelfs op het werk in het printerhok??

Acties:
  • 0 Henk 'm!

  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 20:41

aawe mwan

Wat ook leuk is:

bitjeverkeerd schreef op maandag 9 augustus 2021 @ 08:59:
Ik ben de Vindriktning (nog niet getweakt) nu een paar dagen aan het testen (thuis en op het werk) wat opvalt is dat de fan bijna continu aanstaat (20 seconden aan / 10 seconden uit), hierdoor is het eigenlijk niet geschikt op slaapkamers (in de woonkamer is het 's avonds ook al irritant). De luchtkwaliteit is volgens de sensor altijd goed, zelfs op het werk in het printerhok??
Hier precies hetzelfde. Doordat ik zelf een PM2.5 mondkapje draag weet ik zeker dat er stof in de lucht zit, maar toch geeft de Vindriktning altijd aan dat alles „groen” is.

„Ik kan ook ICT, want heel moeilijk is dit niet”


Acties:
  • 0 Henk 'm!

  • Toets
  • Registratie: Februari 2007
  • Laatst online: 26-08 13:42
Ik heb hem hier sinds gisteren in gebruik met Homeassistant integratie. De fan heb ik via de D1 op 3.3v continu draaien. Maakt nauwelijks meer geluid. Volgens de datasheet is de onnauwkeurigheid van de sensor 20% maar direct na het solderen zag ik de waardes wel onhoog schieten.

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

Acties:
  • 0 Henk 'm!

  • aawe mwan
  • Registratie: December 2002
  • Laatst online: 20:41

aawe mwan

Wat ook leuk is:

Toets schreef op vrijdag 27 augustus 2021 @ 16:49:
direct na het solderen zag ik de waardes wel onhoog schieten.
In jouw grafiek komt de piek dan net boven de 20 µg/m³. In de gebruiksaanwijziging van de Vindriktning zie ik dat hij pas vanaf 36 µg/m³ amber gaat aangeven en pas vanaf 86 µg/m³ rood. Dat is ver boven Europese en Amerikaanse standaarden voor luchtvervuiling, dus het is logisch dat hij altijd groen aangeeft. Met deze grenswaarden heeft het Ikea apparaat zoals het in de winkel ligt alleen nut in grote steden in China.
Voor mij een miskoop, voor jou gelukkig niet.

[ Voor 16% gewijzigd door aawe mwan op 28-08-2021 09:10 ]

„Ik kan ook ICT, want heel moeilijk is dit niet”


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 23:11
Ik gebruik in een project ESP8266WebServer. Nu valt me op dat bij het posten van een formulier het geheugengebruik één keer oploopt, en daarna hoger blijft. Nu ben ik zelf voornamelijk een C programmeur, maar als ik naar de code kijk heb ik sterk de indruk dat hier een onhandige implementatie aan ten grondslag ligt:

Er spelen in de _parseForm twee variabelen een rol. Namelijk _postArgs en _currentArgs. Er is zover ik zie geen mogelijkheid ze vrij te geven wanneer je klaar bent met verwerken (zoals in mijn geval de inhoud op te slaan op LittleFS). Ze worden beide pas weer vrijgegeven bij een nieuwe _parseForm aanroep. Klopt die aanname? Zo ja, dan kijk ik even of ik een PR kan maken waarbij die variabelen worden vrijgegeven in de httpServer->client()->close();
https://github.com/esp826...r/src/Parsing-impl.h#L348

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • heggico
  • Registratie: Augustus 2011
  • Laatst online: 19-09 11:44
Ik heb problemen met een D1 Mini V3.0.0

Ik krijg hiervan via esphome de seriele communicatie gewoon niet werkend. TX werkt prima, maar RX komt gewoon niets binnen. Als ik deze RX en TX rechtstreeks aan elkaar koppel, zie ik op de scope alsof er constant communicatie is, tot de D1 mini een reboot lijkt te krijgen.

Als ik via arduino IDE heel simpel een serial bus aanmaakt werkt het wel, en het flashen ook, dus dit lijkt me niet een hardware probleem te zijn dat de RX niet meer werkt.

Mis ik iets? Ik heb de logger baudrate op 0 staan, zodat deze de UART niet gebruikt. Ik had meteen 2 D1 mini's besteld, maar beide doen ze dit..

Software die ik probeer te draaien is deze: https://github.com/MiguelAngelLV/esphaier en https://github.com/albetaCOM/esp-haier
(beide zouden ze hetzelfde moeten doen)

Via scope heb ik bevestigd dat deze daadwerkelijk data op de TX zet, maar data op de RX komt gewoon niet binnen (dit getest door een debug log te zetten net na de Serial.available > 0)

Mis ik iets voor esphome? Heb ik misschien een clone D1 mini te pakken die hier problemen geeft?
Kan ik misschien beter gewoon een nieuw topic aanmaken?

Acties:
  • +1 Henk 'm!

  • Merwede
  • Registratie: Januari 2016
  • Laatst online: 27-04 20:56
@heggico Soortgelijk probleem heb ik met een Chinese Clone van de Mini V3.0.0 voor het uitlezen van de Duco box gehad. Met de CH340 maak je verbinding met je PC via USB naar de D1 Mini. De TX van de CH340 chip zit op de RX van de D1 mini. Bij de Chinese versie is in deze verbinding geen weerstand geplaatst waardoor deze te sterk is en in jouw geval het signaal van je Haier Airco wegdrukt. Je kan op de D1 mini de printbaan naar de TX van de CH340 door snijden/krassen. Ik heb het voor elkaar gekregen om pootje 2 van de CH340 chip los te solderen waarna bij mij het probleem was verholpen. Als je een van de 2 oplossingen doet dan kan je niet meer via USB communiceren of software op de D1 Mini zetten.

  • heggico
  • Registratie: Augustus 2011
  • Laatst online: 19-09 11:44
@Merwede dat was ik nog vergeten te zeggen. Ik heb die chip al een keer los gehaald. Als ik met een externe usb serial converter data op de rx zet, zie ik op de scope de line van 3.3v naar 0v en weer terug gaan. Met die chip erop was dit idd 3.3 naar iets van 1.5v. Zelfs dan werkt het bij mij dus niet..

Denk dat ik maar eens begin door ergens anders een d1 te bestellen.. maar deze kwamen toch van een nl webshop.

Het vreemdste vind ik gewoon dat ik niets ontvang met ESPHome.
Ik heb de uart chip losgesoldeerd en met een usb naar serieel converter op de TX en RX aangesloten kan ik de chip gewoon flashen via tasmotizer, dus de RX werkt 100% met een externe bron.. Dan moet het software gerelateerd zijn.

[ Voor 26% gewijzigd door heggico op 15-09-2021 14:52 ]


  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Weet iemand toevallig een overzicht met uitleg van wat de verschillende versies van ESPEasy allemaal zijn? Ik kan niet zo gauw iets vinden met verschillen tussen, "custom", "display", "energy", "hard", "minimal", "normal", "test a", "test b", "test c" en "vcc", plus die wat ik nog vergeet. Dit komt allemaal uit één release, onoverzichtelijk is een understatement :P

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


  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 19:21
heggico schreef op woensdag 15 september 2021 @ 09:19:
@Merwede dat was ik nog vergeten te zeggen. Ik heb die chip al een keer los gehaald. Als ik met een externe usb serial converter data op de rx zet, zie ik op de scope de line van 3.3v naar 0v en weer terug gaan. Met die chip erop was dit idd 3.3 naar iets van 1.5v. Zelfs dan werkt het bij mij dus niet..

Denk dat ik maar eens begin door ergens anders een d1 te bestellen.. maar deze kwamen toch van een nl webshop.

Het vreemdste vind ik gewoon dat ik niets ontvang met ESPHome.
Ik heb de uart chip losgesoldeerd en met een usb naar serieel converter op de TX en RX aangesloten kan ik de chip gewoon flashen via tasmotizer, dus de RX werkt 100% met een externe bron.. Dan moet het software gerelateerd zijn.
Maak een software serial op wat andere pins en probeer het daarmee.

Inventaris - Koop mijn meuk!


Acties:
  • +1 Henk 'm!

  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 19:00

Gizz

Dunder-Mifflin, Inc.

Raven schreef op woensdag 22 september 2021 @ 10:16:
Weet iemand toevallig een overzicht met uitleg van wat de verschillende versies van ESPEasy allemaal zijn? Ik kan niet zo gauw iets vinden met verschillen tussen, "custom", "display", "energy", "hard", "minimal", "normal", "test a", "test b", "test c" en "vcc", plus die wat ik nog vergeet. Dit komt allemaal uit één release, onoverzichtelijk is een understatement :P
Per versie is een andere combinatie aan plugins geladen. Hier vind je een grof overzicht, maar dat is verre van volledig. Zo worden custom, hard en minimal daar niet genoemd.

Als je zelf de firmware gaat builden kun je zelf kiezen welke plugins je (de)activeert. Waar je rekening mee moet houden is het geheugen van je ESP, je kunt niet alles aanvinken want dan past het niet in een standaard ESP met 4MB geheugen :)

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


  • Raven
  • Registratie: November 2004
  • Niet online

Raven

Marion Raven fan

Gizz schreef op woensdag 22 september 2021 @ 10:43:
[...]

Per versie is een andere combinatie aan plugins geladen. Hier vind je een grof overzicht, maar dat is verre van volledig. Zo worden custom, hard en minimal daar niet genoemd.
En een die daar wel bij staat (max) zit niet in de waslijst met bin's.
Gizz schreef op woensdag 22 september 2021 @ 10:43:
Als je zelf de firmware gaat builden kun je zelf kiezen welke plugins je (de)activeert. Waar je rekening mee moet houden is het geheugen van je ESP, je kunt niet alles aanvinken want dan past het niet in een standaard ESP met 4MB geheugen :)
Dat zou een optie kunnen zijn, hier overigens iets niet standaard: Een ESP01 waarvan ik de flashchip heb vervangen door een 4MB chip :) Koste wel 2 gesloopte ESP01's en de aanschaf van een heteluchtstation :P

Vraag mij trouwens af of 16MB ook werkt.

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!

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
Iemand ervaring met HTTP Advanced naar InfluxDB op ESP Easy?

Ik draai versie: ESP_Easy_mega_20210802_test_A_ESP8266_4M1M Aug 2 2021 en heb het geconfigureerd volgens:
https://www.letscontrolit..._Generic_HTTP_Advanced.29

Het vervelende is dat ik noch via de controller noch via cmd ook een fatsoenlijke foutmelding krijg. De waardes lijken goed geparsed te worden echter gaat het posten niet goed. Iemand enig idee waar ik het moet zoeken?

Afbeeldingslocatie: https://tweakers.net/i/Iuc0gRUeNjSOndYpPzj-NgT7z3g=/232x232/filters:strip_exif()/f/image/eqquxCbqQmJtadrgu0y5wbBm.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/DHEzwIPaIWjB_JiYG0CV8hm_75Q=/232x232/filters:strip_exif()/f/image/ay8kojXBQB3nL9FJDYTlWsf6.png?f=fotoalbum_tile

Acties:
  • 0 Henk 'm!

  • Younes
  • Registratie: Mei 2006
  • Laatst online: 14-09 15:30

Younes

Wie, Wat, Waar?

significant schreef op maandag 27 september 2021 @ 12:35:
Iemand ervaring met HTTP Advanced naar InfluxDB op ESP Easy?

Ik draai versie: ESP_Easy_mega_20210802_test_A_ESP8266_4M1M Aug 2 2021 en heb het geconfigureerd volgens:
https://www.letscontrolit..._Generic_HTTP_Advanced.29

Het vervelende is dat ik noch via de controller noch via cmd ook een fatsoenlijke foutmelding krijg. De waardes lijken goed geparsed te worden echter gaat het posten niet goed. Iemand enig idee waar ik het moet zoeken?

[Afbeelding][Afbeelding]
Een 400 is, zoals je misschien wel weet, een bad request. Klopt de URI wel?

...en waarom?


Acties:
  • 0 Henk 'm!

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
In postman gaat het goed, dus dat zou de URL uitsluiten.
Echter weet ik niet wat er in espeasy nu precies mis gaat. Als ik postman het bewust "verkeerd" doe krijg ik vanuit influxdb een error terug. Dat kan ik nu ook niet uit espeasy krijgen.

Acties:
  • 0 Henk 'm!

  • Younes
  • Registratie: Mei 2006
  • Laatst online: 14-09 15:30

Younes

Wie, Wat, Waar?

significant schreef op maandag 27 september 2021 @ 17:30:
In postman gaat het goed, dus dat zou de URL uitsluiten.
Echter weet ik niet wat er in espeasy nu precies mis gaat. Als ik postman het bewust "verkeerd" doe krijg ik vanuit influxdb een error terug. Dat kan ik nu ook niet uit espeasy krijgen.
Hier...

https://espeasy.readthedocs.io/en/latest/Tools/Tools.html

...staat hoe je de loglevel aan kan passen zodat je meer logging kunt genereren. Misschien is dat een eerste stap.

btw, in de printscreen zie ik staan: URI en jij hebt 't over een URL. Kan, maar hoeft niet dezelfde waarde te bevatten

[ Voor 9% gewijzigd door Younes op 27-09-2021 17:34 ]

...en waarom?


Acties:
  • 0 Henk 'm!

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
Younes schreef op maandag 27 september 2021 @ 17:32:
[...]


Hier...

https://espeasy.readthedocs.io/en/latest/Tools/Tools.html

...staat hoe je de loglevel aan kan passen zodat je meer logging kunt genereren. Misschien is dat een eerste stap.

btw, in de printscreen zie ik staan: URI en jij hebt 't over een URL. Kan, maar hoeft niet dezelfde waarde te bevatten
Ik had debug dev al aangezet, echter valt de error message weg zoals te zien in het screenshot. Zowel op serial als webpagina.
Misschien daar maar eerst bug report voor inschieten.

Acties:
  • 0 Henk 'm!

  • Younes
  • Registratie: Mei 2006
  • Laatst online: 14-09 15:30

Younes

Wie, Wat, Waar?

significant schreef op maandag 27 september 2021 @ 17:53:
[...]

Ik had debug dev al aangezet, echter valt de error message weg zoals te zien in het screenshot. Zowel op serial als webpagina.
Misschien daar maar eerst bug report voor inschieten.
Op de webpagina zou je eventueel 'Pagina bron weergeven' kunnen gebruiken om de html code te zien. Hoop dat dat iets meer laat zien. :)

...en waarom?


Acties:
  • 0 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
significant schreef op maandag 27 september 2021 @ 12:35:
Iemand ervaring met HTTP Advanced naar InfluxDB op ESP Easy?
Zit er niet toevallig een spatie in de devicename ?
Anders eerst even proberen door die %tskname% te vervangen door een vaste string

Ik gebruik zoiets en werkt prima:
Temp,name=TempCV %vname1%=%val1%,%vname2%=%val2%

  • fluppie007
  • Registratie: April 2005
  • Laatst online: 11-09 12:06
Iemand een idee waarom strtok een ESP laat crashen wanneer hij geen delimiter meer kan vinden?
Code gebaseerd op https://forum.arduino.cc/...put-basics-updated/382007

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
//============

void parseData() {      // split the data into its parts
// Publish ditiseenmqtttopic 123              // Dit werkt perfect
// Publish ditiseenmqtttopic                  // ESP crash
// Publish                                    // ESP crash

    char * strtokIndx; // this is used by strtok() as an index

    strtokIndx = strtok(tempChars," ");       // get the first part - the string //  \040 = SPACE
    strcpy(msgCmd, strtokIndx);               // copy it to msgCmd

    strtokIndx = strtok(NULL, " ");           // this continues where the previous call left off
    //msgTopic = atoi(strtokIndx);            // convert this part to an integer
    strcpy(msgTopic, strtokIndx);             // copy it to msgTopic
    
    strtokIndx = strtok(NULL, " ");
    //msgPayload = atof(strtokIndx);          // convert this part to a float
    strcpy(msgPayload, strtokIndx);           // copy it to msgPayload

}

//============

void showParsedData() {
    Serial.print("Command ");
    Serial.println(msgCmd);
    Serial.print("Topic ");
    Serial.println(msgTopic);
    Serial.print("Payload ");
    Serial.println(msgPayload);
}

Acties:
  • +1 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 23:11
@fluppie007 omdat je niet checked of de output NULL is wanneer er niks meer te vinden is.




Wat overigens het voordeel van C is, is dat er weinig talen zijn die zó goed gedocumenteerd zijn en waarvan ook de stackoverflow e.d. antwoorden ook meestal van hoog niveau zijn. Mede omdat het al een lange tijd een weinig courante taal is.

Moet je alleen niet zoeken op "strtok arduino" or "strtok ESP", want dan krijg je wel weer alle script kiddie antwoorden ;)

In dit geval dus ook RTFM:
This function returns a pointer to the first token found in the string. A null pointer is returned if there are no tokens left to retrieve.
Aangevuld met een voorbeeld met als kern regel #13
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string.h>
#include <stdio.h>

int main () {
   char str[80] = "This is - www.tutorialspoint.com - website";
   const char s[2] = "-";
   char *token;
   
   /* get the first token */
   token = strtok(str, s);
   
   /* walk through other tokens */
   while( token != NULL ) {
      printf( " %s\n", token );
    
      token = strtok(NULL, s);
   }
   
   return(0);
}

https://www.tutorialspoin...ary/c_function_strtok.htm

[ Voor 85% gewijzigd door CurlyMo op 29-09-2021 09:04 ]

Sinds de 2 dagen regel reageer ik hier niet meer


  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
jobr schreef op maandag 27 september 2021 @ 18:50:
[...]


Zit er niet toevallig een spatie in de devicename ?
Anders eerst even proberen door die %tskname% te vervangen door een vaste string

Ik gebruik zoiets en werkt prima:
Temp,name=TempCV %vname1%=%val1%,%vname2%=%val2%
Ook dat biedt geen soelaas, hoe zijn je andere settings?

Acties:
  • +1 Henk 'm!

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
significant schreef op woensdag 29 september 2021 @ 13:39:
Ook dat biedt geen soelaas, hoe zijn je andere settings?
Wat jij ook hebt.

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
Dan ben ik benieuwd welke release jij draait want dan ga ik dat eens proberen.

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
significant schreef op woensdag 29 september 2021 @ 19:06:
[...]

Dan ben ik benieuwd welke release jij draait want dan ga ik dat eens proberen.
mega-20190301

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
@significant
Doe eens een tcpdump op de server waar influxdb draait:

sudo tcpdump -i ens160 -A host 192.168.7.23

Dat ip-adres moet het ip-adres zijn van je espeasy device.
En ens160 moet je netwerk device zijn op je server. Kun je opzoeken met: ifconfig

Dan moet er iets voorbij komen wat lijkt op:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
19:15:39.850419 IP CVRadiator-Achter-1.iotNet.49176 > ubuntu1.homeNet.8086: Flags [P.], seq 1:232, ack 1, win 2144, length 231
E........./.................Q9..P..`....POST /write?db=Test HTTP/1.1
Host: 192.168.1.159:8086
User-Agent: ESP Easy/20103/Mar  1 2019 03:18:48
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 34

Temp,name=TempCV T1=18.90,T2=18.80

19:15:39.850441 IP ubuntu1.homeNet.8086 > CVRadiator-Achter-1.iotNet.49176: Flags [.], ack 232, win 64009, length 0
E..(N.@.@.a.............Q9......P..     .!..
19:15:39.851186 IP ubuntu1.homeNet.8086 > CVRadiator-Achter-1.iotNet.49176: Flags [P.], seq 1:268, ack 232, win 64009, length 267
E..3N.@.@.`.............Q9......P..     .,..HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: dea73a62-2148-11ec-bc61-000c29be63c5
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.3
X-Request-Id: dea73a62-2148-11ec-bc61-000c29be63c5
Date: Wed, 29 Sep 2021 17:15:39 GMT
Connection: close


Dan kun je zien wat er verstuurd wordt.

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
jobr schreef op woensdag 29 september 2021 @ 19:20:
@significant
Doe eens een tcpdump op de server waar influxdb draait:

sudo tcpdump -i ens160 -A host 192.168.7.23

Dat ip-adres moet het ip-adres zijn van je espeasy device.
En ens160 moet je netwerk device zijn op je server. Kun je opzoeken met: ifconfig

Dan moet er iets voorbij komen wat lijkt op:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
19:15:39.850419 IP CVRadiator-Achter-1.iotNet.49176 > ubuntu1.homeNet.8086: Flags [P.], seq 1:232, ack 1, win 2144, length 231
E........./.................Q9..P..`....POST /write?db=Test HTTP/1.1
Host: 192.168.1.159:8086
User-Agent: ESP Easy/20103/Mar  1 2019 03:18:48
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 34

Temp,name=TempCV T1=18.90,T2=18.80

19:15:39.850441 IP ubuntu1.homeNet.8086 > CVRadiator-Achter-1.iotNet.49176: Flags [.], ack 232, win 64009, length 0
E..(N.@.@.a.............Q9......P..     .!..
19:15:39.851186 IP ubuntu1.homeNet.8086 > CVRadiator-Achter-1.iotNet.49176: Flags [P.], seq 1:268, ack 232, win 64009, length 267
E..3N.@.@.`.............Q9......P..     .,..HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: dea73a62-2148-11ec-bc61-000c29be63c5
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.3
X-Request-Id: dea73a62-2148-11ec-bc61-000c29be63c5
Date: Wed, 29 Sep 2021 17:15:39 GMT
Connection: close


Dan kun je zien wat er verstuurd wordt.
Die had ik al gemaakt, ter vergelijking ook een regel tussen gezet met een unit die wel succesvol naar influx schrijft. Mijn kennis is onvoldoende om hier iets uit te halen.
Afbeeldingslocatie: https://tweakers.net/i/h1acPc-olvqYIz99xt_FyJNMST4=/800x/filters:strip_exif()/f/image/3bRU79TfWf59LlCdDLTYY8Tb.png?f=fotoalbum_large

  • jobr
  • Registratie: Januari 2009
  • Laatst online: 26-07 21:40
significant schreef op woensdag 29 september 2021 @ 19:28:
[...]

Die had ik al gemaakt, ter vergelijking ook een regel tussen gezet met een unit die wel succesvol naar influx schrijft. Mijn kennis is onvoldoende om hier iets uit te halen.
[Afbeelding]
De betreffende regel wordt niet verstuurd en daarom krijg je een 400 terug.
In mijn voorbeeld: "Temp,name=TempCV T1=18.90,T2=18.80"

Het lijkt net of je ook authorization aan hebt staan. Dacht ik niet nodig.
Post eens alle settings van die controller.

En dat 2de voorbeeld die is niet compleet. Er komt nog wat onder als het goed is.

En vul in de body op de plek van de variabelen even iets hardcoded in. Maak de dump dan nog een keer.

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
jobr schreef op woensdag 29 september 2021 @ 19:39:
[...]


De betreffende regel wordt niet verstuurd en daarom krijg je een 400 terug.
In mijn voorbeeld: "Temp,name=TempCV T1=18.90,T2=18.80"

Het lijkt net of je ook authorization aan hebt staan. Dacht ik niet nodig.
Post eens alle settings van die controller.

En dat 2de voorbeeld die is niet compleet. Er komt nog wat onder als het goed is.

En vul in de body op de plek van de variabelen even iets hardcoded in. Maak de dump dan nog een keer.
TCPdump draait via SSH client, om de communicatie daarvan eruit te laten heb ik getracht e.e.a. te filteren. Volgens mij staat de gevraagde info in onderstaande screenshots.
Afbeeldingslocatie: https://tweakers.net/i/6Uxv82dc0M3OlUGubdfVJMwcKWA=/232x232/filters:strip_exif()/f/image/gbBKLPDb1aJwcja79Fry4EXe.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/kRo7zjNiLF3CU2p6oIe2esacTDQ=/232x232/filters:strip_exif()/f/image/WhxExUYE9I7D3uC3no4pI3vy.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/kXbshl6JQG2yIaVHenU71-GyX0Q=/232x232/filters:strip_exif()/f/image/n2cQmbxCMq4h79Xgaa3lJsbC.png?f=fotoalbum_tile

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 23:46
significant schreef op woensdag 29 september 2021 @ 22:23:
[...]

TCPdump draait via SSH client, om de communicatie daarvan eruit te laten heb ik getracht e.e.a. te filteren. Volgens mij staat de gevraagde info in onderstaande screenshots.
[Afbeelding][Afbeelding][Afbeelding]
Zoals je de informatie deelt is niet handig om vlot te helpen. Een terminal window kun je ook info uit copy/pasten tussen [ code ] tags hier. Stukken handiger dan screenshots.

En als je met tcpdump verkeer wilt filteren kun je dat specificeren (zie man page) of wellicht door grep pipen met de influxdb port: tcpdump ... | grep 8086

Ik weet niet wat ik zie in de screensots, want in de een is wel een body en in de andere niet.

Het configuratiescherm biedt nog wel een hint, want er staat een vinkje bij 'binary' terwijl url-encoded verwacht dat de body escaped wordt.

  • significant
  • Registratie: Juni 2008
  • Laatst online: 17:20
Ik was het ondertussen beu, aangezien deze mate van debuggen voor mij een steile leercurve is (zoals TCPdump...). Heel eigenwijs de versie MEGAA20190301 erop gezet. Tadaaa, het werkt.

code:
1
2
3
4
5
6
7
8
9
23:03:48.303842 IP ESP-Easy.hidden.local.49164 > PImeterkast.hidden.local.                                                                                                             8086: Flags [P.], seq 13166:13404, ack 1986521097, win 2144, length 238
E....W....![..............3nvg. P..`.G..POST /write?db=home HTTP/1.1
Host: 192.168.1.12:8086
User-Agent: ESP Easy/20103/Mar  1 2019 03:18:48
Connection: close
Content-type: application/x-www-form-urlencoded
Content-Length: 42

underfloorHeating,group=groep_1 temp=19.50
Pagina: 1 ... 62 ... 80 Laatste