• Pixelmagic
  • Registratie: September 2002
  • Laatst online: 03-11 18:51

Pixelmagic

Ubergeek

@ geertt: als je het 10 jaar weg gaat stoppen zou ik ten allen tijden een echt printplaatje laten maken, je maakt het nu op experimenteerboard en dat lijkt me niet bedoeld voor die periode, zeker niet omdat er 230v op staat.

Je kan voor €10 een tiental pcb's laten maken van 5x5 cm. dus daar hoef je het noet voor te laten. Met Eagle pcb kan je gratis ontwerpen tot 8x10 cm

PVoutput van mijn 4950Wp


  • wilmardo
  • Registratie: Februari 2011
  • Laatst online: 03-11 12:10
sebastius schreef op maandag 28 december 2015 @ 14:56:
[...]
Even los van het feit dat ik het absoluut niet eens ben met die alles in een voedingkjes uit china:
Niet om je tegen te spreken maar vooral ter informatie, op het mysensors folder loopt ook een discussie over het veilig voeden van de ESP:

http://forum.mysensors.or...all-ac-to-dc-transformers

Zoals daar ook te lezen is de HLK-PM01 opgestuurd naar een tester en daar kwam uit de test dat de voeding in orde is. Maar hij beveelt wel aan de voeding te gebruiken in combinatie met een zekering en een varistor (MOV).

  • costo
  • Registratie: Augustus 2015
  • Niet online
@ Geertt

Wel nuchter blijven , ik vind dat er paniekerig wordt gereageerd over jouw printje.
Gewoon alles in een plastic kastje inbouwen, in dat kastje een gat boren en daar een paneelzekeringhouder in plaatsen met een 5x20mm glaszekering van 100 of 200mA traag. En als je kastje niet vochtig wordt dan is dat gewoon helemaal veilig. Eventueel de aanwezige bedrading vastzetten met een hotglue klodder of met tiewraps.

Als je spanningen >42V AC als levensbedreigend ervaart dan kun je beter een andere hobby kiezen ;)

  • sebastius
  • Registratie: September 2000
  • Laatst online: 20:24

sebastius

Laten we lekker link gaan doen

wilmardo schreef op maandag 28 december 2015 @ 18:53:
[...]

Niet om je tegen te spreken maar vooral ter informatie, op het mysensors folder loopt ook een discussie over het veilig voeden van de ESP:

http://forum.mysensors.or...all-ac-to-dc-transformers

Zoals daar ook te lezen is de HLK-PM01 opgestuurd naar een tester en daar kwam uit de test dat de voeding in orde is. Maar hij beveelt wel aan de voeding te gebruiken in combinatie met een zekering en een varistor (MOV).
Okee, dat is beter dan verwacht. Wel onhandig dat er 5v uit komt ipv 3.3 meteen, maar goed.

Nog steeds vind ik de implementatie hierboven wel zorgwekkend omdat alle normale en speciaal voor deze module geadviseerde veiligheidsmaatregelen niet genomen zijn. Dit is gewoon een gevaarlijk bordje. Het is eenvoudig veilig te maken. Ik hoop dat hij dat ook doet.

  • wilmardo
  • Registratie: Februari 2011
  • Laatst online: 03-11 12:10
sebastius schreef op maandag 28 december 2015 @ 19:28:
[...]

Okee, dat is beter dan verwacht. Wel onhandig dat er 5v uit komt ipv 3.3 meteen, maar goed.
Er is ook een 3.3V variant, de HLK-PM03. Ik vraag mij dan ook elke keer af waarom mensen die niet gewoon bestellen in plaats van een stepdown :)

[ Voor 3% gewijzigd door wilmardo op 28-12-2015 19:48 ]


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

wilmardo schreef op maandag 28 december 2015 @ 19:48:
[...]

Er is ook een 3.3V variant, de HLK-PM03. Ik vraag mij dan ook elke keer af waarom mensen die niet gewoon bestellen in plaats van een stepdown :)
In mijn geval heb ik 5v nodig voor het relais wat ik er bij aansluit

Oost west, 127.0.0.1 best!


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Oké, wel, welke zekeringen en beveiligingen raden jullie aan? Ik heb er niet zoveel verstand van

Oost west, 127.0.0.1 best!


  • ThinkPad
  • Registratie: Juni 2005
  • Nu online
geerttttt schreef op maandag 28 december 2015 @ 20:03:
Oké, wel, welke zekeringen en beveiligingen raden jullie aan? Ik heb er niet zoveel verstand van
Dat staat in dit topic al beschreven volgens mij: http://forum.mysensors.or...all-ac-to-dc-transformers

  • base_
  • Registratie: April 2003
  • Laatst online: 21:23
Ben ik nou de enige die het eng vindt als mensen dingen op netspanning aansluiten maar niet weten hoe ze de juiste zekering moeten bepalen?
Waarom niet gewoon een simpele 5V adapter in het stopcontact?
Als alles in een volledig gesloten doosje gaat zal de veiligheid wat betreft netspanning misschien meevallen, maar vergeet dan niet de thermische dissipatie te berekenen, het zou vervelend zijn als je huis afbrandt!
Ik zie echter een humidity sensor dus ik vermoed dat e.e.a. niet in een geloten kastje gaat?

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

base_ schreef op maandag 28 december 2015 @ 20:25:
Ben ik nou de enige die het eng vindt als mensen dingen op netspanning aansluiten maar niet weten hoe ze de juiste zekering moeten bepalen?
Waarom niet gewoon een simpele 5V adapter in het stopcontact?
Als alles in een volledig gesloten doosje gaat zal de veiligheid wat betreft netspanning misschien meevallen, maar vergeet dan niet de thermische dissipatie te berekenen, het zou vervelend zijn als je huis afbrandt!
Ik zie echter een humidity sensor dus ik vermoed dat e.e.a. niet in een geloten kastje gaat?
Het moet in een inbouwdoos in de muur, een stekker in een stopcontact staat dan niet.

En thermische dissipatie? Wat bedoel je precies?

Oost west, 127.0.0.1 best!


  • base_
  • Registratie: April 2003
  • Laatst online: 21:23
Die voeding levert vermogen, 90+% daarvan wordt door diverse onderdelen omgezet in warmte in dit geval gok ik (plus een beetje verlies in de voeding). Die warmte moet je kwijt, ook als het 30 graden is in hartje zomer. Met die voeding van 3W zal e.e.a. best meevallen (er van uitgaande dat er geen andere stroom door de schakeling loopt) maar het is wel een van de vele factoren om rekening mee te houden.

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

base_ schreef op maandag 28 december 2015 @ 21:59:
Die voeding levert vermogen, 90+% daarvan wordt door diverse onderdelen omgezet in warmte in dit geval gok ik (plus een beetje verlies in de voeding). Die warmte moet je kwijt, ook als het 30 graden is in hartje zomer. Met die voeding van 3W zal e.e.a. best meevallen (er van uitgaande dat er geen andere stroom door de schakeling loopt) maar het is wel een van de vele factoren om rekening mee te houden.
Begrijp ik, daarom deel ik mijn proces ook, hopende op opbouwende tips.

Ik zit nu te overwegen om de 'final' build als pcb te maken. Dan wil ik dus ook de juiste zekeringen e.d. inbouwen waar nodig. Is een dergelijke zekering te vinden via eBay of conrad? Oftewel welke onderdelen moet ik hebben?

Oost west, 127.0.0.1 best!


  • jctjepkema
  • Registratie: Mei 2011
  • Laatst online: 09:09
Ik ben toevallig ook bezig met de hlk-pm01, en zie hier en daar iets over zekering en varistor. Maar welke is dan nodig voor 240? Ik zie veel waardes maar overall zijn die bepaald voor 150vac. Welke dan voor 240vac?

  • Kaj.
  • Registratie: Juni 1999
  • Niet online

Kaj.

1 LED is niet genoeg

geerttttt schreef op maandag 28 december 2015 @ 22:14:
[...]

Begrijp ik, daarom deel ik mijn proces ook, hopende op opbouwende tips.

Ik zit nu te overwegen om de 'final' build als pcb te maken. Dan wil ik dus ook de juiste zekeringen e.d. inbouwen waar nodig. Is een dergelijke zekering te vinden via eBay of conrad? Oftewel welke onderdelen moet ik hebben?
Je hebt een zekering nodig die groter is dan het normaal stroomverbruik van de voeding die je gebruikt, maar niet veel groter. Het bepalen van snelle en trage zekeringen zit 'm in de inrush current: als je een hoge inschakelpiek krijgt bij het onder spanning zetten, loont het de moeite om trage zekeringen te gebruiken.
Als het gaat om hele simpele oplossingen zoals de door jou gebruikte voeding is een zekeringetje van 100mA al voldoende. Je kunt lager, maar veel nut heeft het niet.
Zorg ook voor een zekeringhouder, zodat je de zekering netjes in je schakeling integreert.

Zie dat je er ook een printje voor ontwerpt: is netter en verlengt de levensduur van je schakeling. Dan kun je ook meteen rekening houden met ontwerpregels, spoorafstanden en dergelijke.

  • sjimmie
  • Registratie: November 2002
  • Laatst online: 14-10 14:20
Op mijn NodeMCU (v3) zitten 2 LED's, een rode die verbonden is met D0 / GPIO16 en een blauwe.
Die blauwe knippert tijdens flashen van een nieuw programma, maar als een programma draait knippert hij ook tijdens wifi activiteit. Hij lijkt dus niet zomaar aan TXD te hangen. Of zie ik dat verkeerd?

Punt van mijn vraag is, de rode LED aan GPIO16 kan ik niet gebruiken omdat GPIO16 al voor DeepSleep wordt gebruikt. Ik wil toch iets via een statusled laten weergeven. Ik kan dan een losse LED en een weerstand toevoegen maar ik hoop eigenlijk de reeds aanwezige blauwe te kunnen gebruiken.

Panasonic 7kW J-Series Split + 190 liter SWW, 2750+2100Wp Oost-West


  • costo
  • Registratie: Augustus 2015
  • Niet online
jctjepkema schreef op maandag 28 december 2015 @ 22:14:
Ik ben toevallig ook bezig met de hlk-pm01, en zie hier en daar iets over zekering en varistor. Maar welke is dan nodig voor 240? Ik zie veel waardes maar overall zijn die bepaald voor 150vac. Welke dan voor 240vac?
Als je een zo klein mogelijk printje maakt voor in een inbouwdoos dan moet je ook op zoek naar kleine zekeringen. Een glaszekering meet 5x20mm en met houder nog een stuk groter.
Er zijn radiale printzekeringen te koop, rond 8.4mm doorsnede 7.7mm hoog en als je daar zelfs geen plaats voor hebt kun je overgaan naar SMD zekeringen, die zijn ca 2x10 mm. Deze beide typen zekering worden gewoon op de print gesoldeerd.
(edit: SMD zekeringen van 2x10mm voor 230V AC zijn niet aan te raden, ze worden gebruikt voor lagere spanningen. Grotere van ca 12x5mm zijn wel voor 230 volt geschikt )

Varistors worden door hobbyisten niet zo vaak gebruikt. Ze zijn bedoeld om overspanningspieken te onderdrukken. Deze pieken ontstaan b.v. als er een bliksem ergens in het electriciteitsnet inslaat. In gebieden waar de stroomdraden aan palen boven de weg hangen zijn ze wel aan te raden. Dan neem je een varistor van b.v. 385 volt of wat hoger. Aansluiten achter de zekering, als dat dan een snelle zekering is dan is je electronica redelijk beschermd.
Zo'n HLK module heeft mogelijk intern al een varistor om de electronica te beschermen.

[ Voor 5% gewijzigd door costo op 29-12-2015 17:23 ]


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Die varistor, zit die al niet op de HLK?
Afbeeldingslocatie: http://lygte-info.dk/pic/USB%20PS/P01%20Hi-Link%20HLK-PM01/DSC_1456.jpg

Oost west, 127.0.0.1 best!


  • costo
  • Registratie: Augustus 2015
  • Niet online
Die blauwe varistor heeft hier zo te zien een andere functie, deze staat over de spleet die primair (230V) en secondair (5V) scheidt, de functie hier is om te voorkomen dat er een vonkbrug kan ontstaan.

  • wilmardo
  • Registratie: Februari 2011
  • Laatst online: 03-11 12:10
wilmardo schreef op zondag 27 december 2015 @ 15:01:
Ik ga in ieder geval een schetsje in elkaar gooien die millis() vergelijkt met mijn DS1302 en die laat ik vannacht wel lopen tenzij iemand het al eerder geprobeerd heeft natuurlijk :9
De schets in elkaar gooien was iets meer werk dan gedacht maar ik heb een resultaat.
De interne clock van de ESP is vrij precies zoals het nu lijkt. Tussen de 2.15 en de 2.30 uur is er achterstand van 1 seconde ontstaan t.o.v de DS1302. Tussen de 4.30 en de 4.45 is de achterstand opgelopen tot 2 seconden. Zoals het lijkt is het dus per 2.15 uur 1 seconde vertraagt ten opzichte van realtime.
Ik ga hem nog door laten lopen vannacht om de afwijking nog wat preciezer te kunnen bekijken.

Deze schets heb ik er nu instaan, hij stuurt de millis() tijd en de uitgelezen RTC tijd eens per kwartier naar mijn Domoticz log.
Het is niet de meeste nette code maar het is puur om te testen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <PString.h>
#include <virtuabotixRTC.h>
#include <SPI.h>
#include <Time.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <IPAddress.h>

/* if you are using a ESP8266 module with NodeMCU
 * pin labels, you can use this list to keep
 * your code and the lables in-sync
 */
#define NODEMCU_D0 16
#define NODEMCU_D1 5
#define NODEMCU_D2 4
#define NODEMCU_D3 0
#define NODEMCU_D4 2
#define NODEMCU_D5 14
#define NODEMCU_D6 12
#define NODEMCU_D7 13
#define NODEMCU_D8 15
#define NODEMCU_D9 3
#define NODEMCU_D10 1
#define NODEMCU_D12 10

const char* SSID = "*knip*";
const char* PASS = "*knip*";

IPAddress DOMOTICZIP(192,168,1,215);
WiFiClient CLIENT;

////SCLK -> D2, I/O -> D1, CE -> D0
virtuabotixRTC RTC(NODEMCU_D2, NODEMCU_D1, NODEMCU_D0);

boolean firstRun = true;

unsigned long startMillis;

unsigned long lastTick = 0; 
byte millisDay = 0;
byte millisHour = 0;
byte millisMinute = 0;
byte millisSecond = 0;

boolean sendDom = true;

void setup() {
  Serial.begin(9600);

  WiFi.begin(SSID, PASS);
  WiFi.config(IPAddress(192,168,1,18), IPAddress(192,168,1,1), IPAddress(255,255,255,0));

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(200);
  }
  sendLog("RTCTEST_startup_succesfull");
}

void vergelijk() {
  if(firstRun) {
    RTC.setDS1302Time(00, 00, 00, 7, 1, 12, 2015);
    startMillis = millis();
    firstRun = false;
  }

  //Millis will rollover after 50 days
  if(millis() - lastTick - startMillis >= 1000) {
    RTC.updateTime(); //update RTC at same second
    millisSecond++;
    startMillis = 0; //after first run not needed
    
    if (millisSecond == 60) {
      millisMinute++;
      millisSecond = 0;
      sendDom = true;
    }
    
    if(millisMinute == 60){
      millisHour++;
      millisMinute = 0;
    }
    if(millisHour == 24) {
      millisDay++;
      millisHour = 0;
    }
    lastTick = millis();
  } 

  if((RTC.minutes % 15) == 0 && sendDom) {
    char buffer[50];
      PString senddata(buffer, sizeof(buffer), "MILLIS:");
      senddata += millisHour;
      senddata += ":";
      senddata += millisMinute;
      senddata += ":";
      senddata += millisSecond;
      senddata += "__RTC:";
      senddata += RTC.hours;
      senddata += ":";
      senddata += RTC.minutes;
      senddata += ":";
      senddata += RTC.seconds;
      sendLog(senddata);
      sendDom = false; 
  }
}

/* Function to add message to the Domoticz log */
void sendLog(const char* message) {
  char buffer[400];
  PString logUrl(buffer, sizeof(buffer), "/json.htm?type=command&param=addlogmessage&message=RCTTEST:%20"); //%20 is a space
  logUrl +=  message;
  sendRequest(logUrl);
}

/*
 * Function to send request to Domoticz by URL
 */
void sendRequest(PString &url) {
  char buffer[16];
  PString ipaddress(buffer, sizeof(buffer));
  ipaddress += DOMOTICZIP[0];
  ipaddress += ".";
  ipaddress += DOMOTICZIP[1]; 
  ipaddress += ".";
  ipaddress += DOMOTICZIP[2];
  ipaddress += ".";
  ipaddress += DOMOTICZIP[3];
   
  if (CLIENT.connect(DOMOTICZIP, 8080)) {
    // Make a HTTP request:
    CLIENT.print("GET ");
    CLIENT.print(url);
    CLIENT.print(" HTTP/1.1\r\n");
    CLIENT.print("Host: ");
    CLIENT.print(ipaddress);
    CLIENT.print("\r\n");
    CLIENT.print("Accept: */*\r\n");
    CLIENT.print("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n");
    CLIENT.print("Authorization: Basic *knip*\r\n");
    CLIENT.print("\r\n");
    Serial.println(F("Data send succesfully"));
  } else {
    // if you didn't get a connection to the server:
    Serial.println(F("Connection to server failed"));
  }
}

void loop() {
  vergelijk();
}

  • base_
  • Registratie: April 2003
  • Laatst online: 21:23
geerttttt schreef op dinsdag 29 december 2015 @ 19:10:
Die varistor, zit die al niet op de HLK?
[afbeelding]
Dat blauwe ding is een een ontstoorcondensator (102 duidt meestal op 10 00 pF = 1nF, blijkbaar murata kx250 voor 250VAC)

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Heeft iemand nog een idee hoe om te gaan met grotere hoeveelheid data naar de client te verzenden met de Arduino Webserver librarie?
Ik moet nu echt vieze truken uithalen door stukje CSS in een apart 'file' te stoppen, externe CSS URL in met bitly inkorten en iframes om de pagina's in stukjes te hakken.

De webserver librarie verslikt zich bij grotere pagina's en stopt met zenden waardoor de browser niets of (als je geluk hebt) een halve pagina te zien krijgt.

Tijd voor een nieuwe sig..


  • vincent_1971
  • Registratie: Juni 2004
  • Laatst online: 15:20
wilmardo schreef op dinsdag 29 december 2015 @ 23:58:
[...]

De schets in elkaar gooien was iets meer werk dan gedacht maar ik heb een resultaat.
De interne clock van de ESP is vrij precies zoals het nu lijkt. Tussen de 2.15 en de 2.30 uur is er achterstand van 1 seconde ontstaan t.o.v de DS1302. Tussen de 4.30 en de 4.45 is de achterstand opgelopen tot 2 seconden. Zoals het lijkt is het dus per 2.15 uur 1 seconde vertraagt ten opzichte van realtime.
Ik ga hem nog door laten lopen vannacht om de afwijking nog wat preciezer te kunnen bekijken.
Een ds130n heeft last van temperatuurvariaties. Staat ook in de datasheet. Het kristal heeft geen afwijking bij precies 25 graden celsius. Doe het even uit mijn hoofd. Een ds3132 heeft een ingebouwde temperatuurcompensatie en ook 2 alarmtijden. Is vaak nog goedkoper dan een ds130n 8)7

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Wanneer spreek je over een grote html pagina?
Ik heb een programma gemaakt waarmee html pagina's omgezet worden. Deze kan je vervolgens plakken in je ESP programma. Alle regels van de html pagina worden geplaatst in het flash geheugen met PROGMEN.
Je kunt het hier downloaden

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op woensdag 30 december 2015 @ 11:30:
Wanneer spreek je over een grote html pagina?
Ik heb een programma gemaakt waarmee html pagina's omgezet worden. Deze kan je vervolgens plakken in je ESP programma. Alle regels van de html pagina worden geplaatst in het flash geheugen met PROGMEN.
Je kunt het hier downloaden
Het probleem is dat de pagina's allemaal dynamisch opgebouwd worden, er valt dus weinig van tevoren iets met PROGMEM te doen.
Waar de grens ligt weet ik niet exact, maar dit zit al behoorlijk tegen de limieten aan:

Afbeeldingslocatie: http://zooi.oostindie.com/images/354capture_tn.jpg

Al die opmaak meuk in bootstrap, samen met een menubar maken het relatief groot.

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Je kunt een pagina dynamisch maken door middel van AJAX.
Je maakt dan in feite een statische pagina waarbij daarna alleen de data wordt opgehaald die dan met javascript wordt verwerkt.
zie tutorial

  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Piepersnijder schreef op woensdag 30 december 2015 @ 12:00:
Je kunt een pagina dynamisch maken door middel van AJAX.
Je maakt dan in feite een statische pagina waarbij daarna alleen de data wordt opgehaald die dan met javascript wordt verwerkt.
zie tutorial
AJAX? wow bestaat dat woord nog :D

Ik had zelf op jQuery gezocht.

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Nou ja, AJAX of jQuery, dat maakt niet zoveel uit, het gaat om het principe.
Je haalt eerst de hele pagina op en je gaat je daarna bezig houden met de variabelen zonder telkens de pagina opnieuw binnen te halen.
jQuery maakt overigens ook gebruik van AJAX.

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op woensdag 30 december 2015 @ 12:00:
Je kunt een pagina dynamisch maken door middel van AJAX.
Je maakt dan in feite een statische pagina waarbij daarna alleen de data wordt opgehaald die dan met javascript wordt verwerkt.
zie tutorial
Ik zal er eens naar kijken, al gaat dit behoorlijk buiten mijn kennisgebied.
Wel een beetje een lapmiddel omdat de webserver op zijn bek gaat bij een handvol karakters :P

Tijd voor een nieuwe sig..


  • Pixelmagic
  • Registratie: September 2002
  • Laatst online: 03-11 18:51

Pixelmagic

Ubergeek

Piepersnijder schreef op woensdag 30 december 2015 @ 12:14:
Nou ja, AJAX of jQuery, dat maakt niet zoveel uit, het gaat om het principe.
Ik schrok even wat je hier zegt :)

jQuery maakt gebruik van AJAX calls, vrijwel elke browser ondersteund out-of-the-box AJAX

AJAX maakt geen gebruik van jQuery

Zie http://www.w3schools.com/ajax/ voor een mooie uitleg of Wikipedia: Ajax (programming) voor de uitleg van onze vriende Wikipedia vrienden

Ik zou overigens voor embeded altijd proberen libraries te vermijden, die gebruiken toch aardig wat bandbreedte. Andere optie is om de libraries op een andere server te plaatsen, maar dit moet je ook willen.

PVoutput van mijn 4950Wp


  • BenPi
  • Registratie: Februari 2013
  • Laatst online: 23-09-2024
hey,
@koffie , heb jij de draadloze thermometer ooit al eens aan de gang gekregen?

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Pixelmagic schreef op woensdag 30 december 2015 @ 15:03:
[...]


Ik schrok even wat je hier zegt :)

jQuery maakt gebruik van AJAX calls, vrijwel elke browser ondersteund out-of-the-box AJAX

AJAX maakt geen gebruik van jQuery
Ik beweer ook niet dat AJAX gebruik maakt van jQuery maar wel andersom.

@Koffie,
Gebruik maken van AJAX is niet bepaald een lapmiddel.
Het is een goede methode om dynamische pagina's te maken waarbij alleen de relevante data word verstuurd en in de webpagina te verwerken zonder dat daarvoor de hele pagina binnengehaald hoeft te worden in de browser.

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

BenPi schreef op woensdag 30 december 2015 @ 20:38:
hey,
@koffie , heb jij de draadloze thermometer ooit al eens aan de gang gekregen?
Welke bedoel je precies ?

Tijd voor een nieuwe sig..


  • sjimmie
  • Registratie: November 2002
  • Laatst online: 14-10 14:20
sjimmie schreef op dinsdag 29 december 2015 @ 16:45:
Op mijn NodeMCU (v3) zitten 2 LED's, een rode die verbonden is met D0 / GPIO16 en een blauwe.
Die blauwe knippert tijdens flashen van een nieuw programma, maar als een programma draait knippert hij ook tijdens wifi activiteit. Hij lijkt dus niet zomaar aan TXD te hangen. Of zie ik dat verkeerd?

Punt van mijn vraag is, de rode LED aan GPIO16 kan ik niet gebruiken omdat GPIO16 al voor DeepSleep wordt gebruikt. Ik wil toch iets via een statusled laten weergeven. Ik kan dan een losse LED en een weerstand toevoegen maar ik hoop eigenlijk de reeds aanwezige blauwe te kunnen gebruiken.
Het antwoord is D4, oftewel GPIO2, daar blijkt de onboard blauwe LED aan te hangen.
(nu blijkt dat ding zó fel dat de halve kamer verlicht wordt als 's nachts alle andere licht uit is)

Panasonic 7kW J-Series Split + 190 liter SWW, 2750+2100Wp Oost-West


  • BenPi
  • Registratie: Februari 2013
  • Laatst online: 23-09-2024
@koffie
als eerste de beste wensen voor 2016 ,(natuurlijk voor een ieder).
het ging om een ESP8266 draadloze thermometer in de huiskamer, om uit eindelijk de CV aan te sturen.
bijna een jaar terug was jij daar mee bezig.

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

BenPi schreef op vrijdag 01 januari 2016 @ 16:31:
@koffie
als eerste de beste wensen voor 2016 ,(natuurlijk voor een ieder).
het ging om een ESP8266 draadloze thermometer in de huiskamer, om uit eindelijk de CV aan te sturen.
bijna een jaar terug was jij daar mee bezig.
Dank, jij en iedereen ook :)

Ik ben nog bezig met de code, maar in essentie is het al werkend :

Afbeeldingslocatie: http://zooi.oostindie.com/images/354capture_tn.jpg


Inclusief realtime weergave op een 8x8 LED Matrix :)

YouTube: Esp8266 pimatic node relay

Tijd voor een nieuwe sig..


  • shaowoo
  • Registratie: Mei 2005
  • Laatst online: 14:54
vraagje . ik kan niet zo direct (http://www.esp8266.nu/index.php/Main_Page) vinden waar de HC-SR501 in de esp easy geconfigged moet worden. Mijn bedoeling is via de esp-01 met de pir bewegingen via domoticz events te triggeren,

hmm pulse counter is toch de juiste?

[ Voor 8% gewijzigd door shaowoo op 01-01-2016 23:06 ]

IT Freelancer since 2005, and still loving it.


  • costo
  • Registratie: Augustus 2015
  • Niet online
volgens mij moet je hem als switch configureren.

  • Dr.Roelski
  • Registratie: Juni 2001
  • Laatst online: 09:55

Dr.Roelski

Walk on ....

Zo, ook maar eens begonnen met mijn ESP-201 bordje.
NodeMCU er op zetten bleek een ramp, tot ik http://www.esp8266.com/vi...c.php?f=6&t=2791&start=16 tegen kwam. Versie nodemcu_float_0.9.6-dev_20150704.bin er op gezet.

Volgende uitdaging: dsleep aan de praat krijgen. Lukt me niet!
Heb gpio16 (XPD) en RST aan elkaar hangen en volgende prog in ESPlorer draaien:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
t = require("ds18b20")

-- ESP-201 GPIO Mapping
gpio0 = 3
gpio1 = 10 -- ?
gpio2 = 4
gpio3 = 9     -- ?
gpio4 = 2
gpio5 = 1
gpio9 = 11 -- ?d2 (NO USE)
gpio10 = 12 -- ?d3 (NO USE)
gpio12 = 6
gpio13 = 7
gpio14 = 5
gpio15 = 8 --IO15= gnd!!)
gpio16 = 0 -- XPD (DEEP SLEEP)


local duration = 1000    --> 1 second 

t.setup(gpio2)
addrs = t.addrs()
if (addrs ~= nil) then
  print("Total DS18B20 sensors: "..table.getn(addrs))
end

print("Start")

while (addrs ~= nil) do
 -- Just read temperature
 print("Temperature: "..t.read().."'C")
tmr.wdclr()
tmr.delay(1000)
print("Going to deep sleep 0");
node.dsleep(0) -- sleep forever
print("Going to deep sleep 10 sec,4");
node.dsleep(10000000, 4) -- 10 sec dsleep (max 2,147,483,647 usecs) 
print("Going to deep sleep 20 sec,4");
node.dsleep(20000000, 4) -- 10 sec dsleep (max 2,147,483,647 usecs) 
-- tmr.delay(10000000)        -- wait 10s (>750ms)
print("After dsleep")

-- reset manual
tmr.delay(10000)

-- setting below will reset board after loading, so dont pre-set dsleep
-- gpio.write(gpio16, gpio.LOW) 

end

print("End?")

-- old code from examples
-- Don't forget to release it after use
-- t = nil
-- ds18b20 = nil
-- package.loaded["ds18b20"]=nil


Maar wat er gebeurd is dat het lijkt of dsleep volledig overgeslagen wordt. Hij output alles alsof er geen (zichtbare) vorm van delay/dsleep is:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
....
....
> dofile("read18b20_dsleep.lua");
Total DS18B20 sensors: 1
Start
Temperature: 21.6875'C
Going to deep sleep 0
Going to deep sleep 10 sec,4
Going to deep sleep 20 sec,4
After dsleep
Temperature: 21.6875'C
Going to deep sleep 0
Going to deep sleep 10 sec,4
Going to deep sleep 20 sec,4
After dsleep
Temperature: 21.6875'C
...
...
enz
...


Wat doe ik fout? Kan dsleep niet als een (slimme zuinige) delay gebruikt worden?

[ Voor 1% gewijzigd door Dr.Roelski op 02-01-2016 01:22 . Reden: Versie info toegevoegd ]


  • Comgenie
  • Registratie: Oktober 2005
  • Laatst online: 16:58

Comgenie

Soms heb je dat

dsleep is geen directe vervanger voor een delay. De module wordt niet direct in de 'slaap modus' gezet. Na het ontwaken gaat deze ook niet verder waar je code gebleven was, maar in geval van NodeMCU wordt de module weer opnieuw gestart (init.lua wordt ook weer aangeroepen).

Als je een zuinige temperatuur logger wilt maken, kan je een init.lua script maken de temperatuur logged (en evt verzend), en daarna de dsleep aanroept. Na het ontwaken wordt het script weer uitgevoerd enz.

Oh, en om het jezelf makkelijk te maken, zorg dat er een manier is dat je kan zorgen dat de dsleep niet wordt uitgevoerd (of pas na een korte tijd). Anders wordt het vrij lastig wijzigingen te maken omdat hij telkens meteen in slaap mode gaat :P

[ Voor 20% gewijzigd door Comgenie op 02-01-2016 04:33 ]

No animals were harmed in the making of this comment.


  • jomas
  • Registratie: Mei 2011
  • Laatst online: 14:57
Dr.Roelski schreef op zaterdag 02 januari 2016 @ 01:10:
Zo, ook maar eens begonnen met mijn ESP-201 bordje.
NodeMCU er op zetten bleek een ramp, tot ik http://www.esp8266.com/vi...c.php?f=6&t=2791&start=16 tegen kwam. Versie nodemcu_float_0.9.6-dev_20150704.bin er op gezet.

Volgende uitdaging: dsleep aan de praat krijgen. Lukt me niet!
Heb gpio16 (XPD) en RST aan elkaar hangen en volgende prog in ESPlorer draaien:

Maar wat er gebeurd is dat het lijkt of dsleep volledig overgeslagen wordt. Hij output alles alsof er geen (zichtbare) vorm van delay/dsleep is:
dsleep zorgt ervoor dat je ESP stopt met werken (en dus in deze ruststand nauwelijks stroom verbruikt) en na de ingestelde tijd weer gereset wordt (dus opnieuw opstart). De output die je hier laat zien klopt dus niet met wat je als code laat zien.
Ik zou een wat recentere versie nemen van NodeMcu. Je kan deze als custom laten bouwen via http://nodemcu-build.com/index.php
Met deze versie zal node.dsleep hoogst waarschijnlijk wel werken. (in ieder geval bij mij werkt het perfect).

  • jomas
  • Registratie: Mei 2011
  • Laatst online: 14:57
Comgenie schreef op zaterdag 02 januari 2016 @ 04:30:
dsleep is geen directe vervanger voor een delay. De module wordt niet direct in de 'slaap modus' gezet.
De module wordt WEL direct in de 'slaap modus' gezet na uitvoeren van dsleep.

  • Comgenie
  • Registratie: Oktober 2005
  • Laatst online: 16:58

Comgenie

Soms heb je dat

jomas schreef op zaterdag 02 januari 2016 @ 11:45:
[...]


De module wordt WEL direct in de 'slaap modus' gezet na uitvoeren van dsleep.
Nope. Niet direct. Er kan nog code worden uitgevoerd zoals hierboven te zien is, en zoals ik heb kunnen testen met een build van vorige week en de onderstaande code:
code:
1
2
3
print("Start");
node.dsleep(10000000);
print("Test");

Output:
Start
Test

Ik vermoed dat de lua implementatie zorgt dat hij pas gaat slapen zodra die geen lua code meer aan het uitvoeren is, dus dat houdt in dat de huidige functie netjes nog wordt uitgevoerd, maar nieuwe code die via events/timers (zoals tmr.alarm) niet meer wordt gestart.

No animals were harmed in the making of this comment.


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op woensdag 30 december 2015 @ 11:30:
Wanneer spreek je over een grote html pagina?
Ik heb een programma gemaakt waarmee html pagina's omgezet worden. Deze kan je vervolgens plakken in je ESP programma. Alle regels van de html pagina worden geplaatst in het flash geheugen met PROGMEN.
Je kunt het hier downloaden
Thanks :)

Ik was aan de slag gegaan met http://www.esp8266.com/viewtopic.php?f=29&t=2417 maar op de een of andere manier veroorzaakt dit crashes bij bewerken van de HTML code (toch te lang, of net niet precies deelbaar oid?).
Nu jouw tooltje en so far so good. Eerste stapjes op het ajax/jquery gebied :)

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
@Koffie

Ik heb wat testjes gedaan met een html pagina van 22Kb en een van 35Kb.
De pagina van 22Kb ging goed.
De pagina van 35Kb levert problemen op. Ik zal eens kijken of ik kan achterhalen wat hier mis gaat.

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op zaterdag 02 januari 2016 @ 17:00:
@Koffie

Ik heb wat testjes gedaan met een html pagina van 22Kb en een van 35Kb.
De pagina van 22Kb ging goed.
De pagina van 35Kb levert problemen op. Ik zal eens kijken of ik kan achterhalen wat hier mis gaat.
Via welke methode ging het fout ?

Tijd voor een nieuwe sig..


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Ik denk ook dat je de webserver beter kunt gebruiken voor simpele json communicatie, en dat je de daadwerkelijke ingewikkeldere code/js beter op iets als een raspberry pi kunt plaatsen. Althans, zo doe ik t.

Oost west, 127.0.0.1 best!


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

geerttttt schreef op zaterdag 02 januari 2016 @ 17:23:
Ik denk ook dat je de webserver beter kunt gebruiken voor simpele json communicatie, en dat je de daadwerkelijke ingewikkeldere code/js beter op iets als een raspberry pi kunt plaatsen. Althans, zo doe ik t.
Is idd een optie, maar ik wil het volledig standalone draaien (al haal ik de bootstrap CSS wel van internet af).

Tijd voor een nieuwe sig..


  • jomas
  • Registratie: Mei 2011
  • Laatst online: 14:57
Comgenie schreef op zaterdag 02 januari 2016 @ 14:41:
[...]

Nope. Niet direct. Er kan nog code worden uitgevoerd zoals hierboven te zien is, en zoals ik heb kunnen testen met een build van vorige week en de onderstaande code:
code:
1
2
3
print("Start");
node.dsleep(10000000);
print("Test");

Output:
Start
Test

Ik vermoed dat de lua implementatie zorgt dat hij pas gaat slapen zodra die geen lua code meer aan het uitvoeren is, dus dat houdt in dat de huidige functie netjes nog wordt uitgevoerd, maar nieuwe code die via events/timers (zoals tmr.alarm) niet meer wordt gestart.
Ik heb het ook even getest en inderdaad wordt de code na een dsleep nog uitgevoerd.
Dus pas als NodeMcu weer in de main eventloop komt wordt de dsleep actief.

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Koffie schreef op zaterdag 02 januari 2016 @ 17:33:
[...]

Is idd een optie, maar ik wil het volledig standalone draaien (al haal ik de bootstrap CSS wel van internet af).
En zo kun je ook jquery van internet laden, dan moet je het kunnen redden met korte HTML, CSs en js toch?

Oost west, 127.0.0.1 best!


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Klopt, de bootstrap CSS,JS en jqeury JS laad ik allemaal vanaf internet. Dan nog liep ik (zonder progmem) tegen de limieten aan. Zeker als je er een paar listboxen in gooit met elk een aantal opties gaat het hard.

Tijd voor een nieuwe sig..


  • ComTech
  • Registratie: November 2002
  • Laatst online: 22:12
Was net even een beetje met een esp01 aan het klooien met espeasy en een bh1750 lichtsensor erop om deze via domoticz uit te lezen.
Werkt nog steeds niet goed helaas maar nu ineens doet mijn esp niks meer.
Rode en blauwe led blijven branden.
Webinterface is niet meer bereikbaar ,geen seriële communicatie niks.
Is hij overleden of kan ik hem nog tot leven krijgen??

  • costo
  • Registratie: Augustus 2015
  • Niet online
Ik heb nog geen ESP kapot gekregen, ESP01 heeft zelfs een tijdje (half uur) op 5 volt gedraaid en bleef gewoon werken. De inputs ook vaak met 5 volt signalen aangestuurd en nooit is tie kapot gegaan.
Wel totaal gecrashed met OTA update van Expressif. Maar door er opnieuw de originele software in te flashen kreeg ik het weer aan de gang.

Ik weet natuurlijk niet wat jij met je ESP hebt gedaan maar ik zou hem opnieuw proberen te flashen met iets anders

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
@Koffie

Ik heb in een werkend systeem de pagina vervangen door een andere webpagina die veel groter is.
De pagina is voorzien van html, css en javascript en gebruikt geen externe bestanden.
De pagina heb ik geconverteerd met mijn tooltje zodat de pagina met PROGMEM in het flash geheugen word gezet.
Een HTML bestand was 35Kb groot. Deze startte wel op maar na een tweede keer opstarten kwamen er allerlei foutmeldingen op de seriele monitor en resette de ESP.
De kleinere webpagina van 22Kb start wel goed op.

Gebruik maken van externe bestanden (van andere websites) heeft als nadeel dat je afhankelijk bent van andere sites. Als die er mee stopt of er veranderd iets, werkt jouw systeem niet meer.

@geertttt,
De javascript draait bij de client en niet op de server. Het maakt dus niet uit of je een raspberry pi als server gebruikt of een esp.

  • Rmg
  • Registratie: November 2003
  • Laatst online: 14:27

Rmg

Sprite_tm schreef op dinsdag 15 december 2015 @ 09:52:
[...]


Mja, afaik is er geen 'default' belegging behalve voor de peripherials die voor bootup gebruikt worden (UART en SPI flash). Voor de rest kan je alles aan alles knopen. Wil je de TxD van je UART bijvoorbeeld op alle GPIO-pinnetjes van je ESP tegelijk zetten is dat mogelijk; de mux staat bijna letterlijk toe om alles overal op te hangen. (Wat erg handig is tijdens het developen; ik prik mijn zooi gewoon op op de header waar het fysiek het handigst is en fix de mapping in software.)
Is er voor de 12E ook een manier om de CPOL van de SPI bus op 1 te zetten? Zoek me kapot maar kan het nergens vinden Sming/ArduinoESP hebben het ook nog niet voorelkaar :/

Ik zit hier met een flir lepton die ik aan een ESP wil hangen namelijk :Y)

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Piepersnijder schreef op zondag 03 januari 2016 @ 10:42:
@Koffie

Ik heb in een werkend systeem de pagina vervangen door een andere webpagina die veel groter is.
De pagina is voorzien van html, css en javascript en gebruikt geen externe bestanden.
De pagina heb ik geconverteerd met mijn tooltje zodat de pagina met PROGMEM in het flash geheugen word gezet.
Een HTML bestand was 35Kb groot. Deze startte wel op maar na een tweede keer opstarten kwamen er allerlei foutmeldingen op de seriele monitor en resette de ESP.
De kleinere webpagina van 22Kb start wel goed op.

Gebruik maken van externe bestanden (van andere websites) heeft als nadeel dat je afhankelijk bent van andere sites. Als die er mee stopt of er veranderd iets, werkt jouw systeem niet meer.

@geertttt,
De javascript draait bij de client en niet op de server. Het maakt dus niet uit of je een raspberry pi als server gebruikt of een esp.
Dat weet ik ook wel,maar de jquery library is nog aardig wat kb's om te serveren voor de ESP lijkt me.

Oost west, 127.0.0.1 best!


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

bootstrap.min.css = 118 kb
jquery.min.js = 93 kb
bootstrap.min.js = 36 kb

Lokaal serveren vanuit de ESP zal dan dus een probleem worden :P

Tijd voor een nieuwe sig..


  • Pixelmagic
  • Registratie: September 2002
  • Laatst online: 03-11 18:51

Pixelmagic

Ubergeek

Wat ik me afvraag is wat jullie de esp willen laten doen/tonen ? De eerder voorgestelde manier om een pi of desnoods router de html te laten hosten en de benodigde data alleen via een AJAX call op te halen van de ESP lijkt een veel betere oplossing.

Ik ben zelf nog een doel aan het zoeken voor de twee EPSs die ik hier heb liggen, vandaar mijn vragen. Het lijkt er op dat jullie iets doen wat ik nog niet in beeld heb :)

PVoutput van mijn 4950Wp


  • RobV
  • Registratie: Juni 2013
  • Niet online

RobV

Welcome to the grid, Program.

(overleden)
Pixelmagic schreef op zondag 03 januari 2016 @ 12:58:
Wat ik me afvraag is wat jullie de esp willen laten doen/tonen ? De eerder voorgestelde manier om een pi of desnoods router de html te laten hosten en de benodigde data alleen via een AJAX call op te halen van de ESP lijkt een veel betere oplossing.
Een en ander is totaal afhankelijk van de toepassing natuurlijk, maar mij lijkt het handiger om een site op de router te hosten, en dat de ESP dan een push van de data doet naar de site. Dan scheelt volgens mij een hoop security-meuk. Maar MMV is van toepassing (mileage may vary)

 | Mijn joystick / simpit project | Blog | Elite Dangerous CMDR Cataclysm72


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Hoewel het een beetje voor de JS/CSS ook geld, vind ik het nogal raar om een kleine standalone processor ergens voor in te zetten , om vervolgens alle 'beheer' ergens anders te gaan draaien.

In essentie kom je er met een simpele plain text HTML ook wel, maar het oog wil ook wat en het is gewoon leuk om een beetje fatsoenlijke webpagina erop te draaien om al je instellingen te doen.
Ik probeer een ESP te maken die voor vrijwel alles inzetbaar is in mijn huis, zonder dat ik elke keer een andere sketch erop hoef te gooien. Met dezelfde code kan ik 'm beneden in het zicht als temperatuursensor neerzetten met de temperatuur op een LED Matrix, terwijl een andere versie in de badkamer achter een schot word gegooid om een luchtvochtigheid te meten en een relay aan te sturen.

Code uploaden naar de ESP en je kunt 'm overal neergooien zonder dat je ergens een webservertje erbij moet maken.

Tijd voor een nieuwe sig..


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Koffie schreef op zondag 03 januari 2016 @ 13:11:
Hoewel het een beetje voor de JS/CSS ook geld, vind ik het nogal raar om een kleine standalone processor ergens voor in te zetten , om vervolgens alle 'beheer' ergens anders te gaan draaien.

In essentie kom je er met een simpele plain text HTML ook wel, maar het oog wil ook wat en het is gewoon leuk om een beetje fatsoenlijke webpagina erop te draaien om al je instellingen te doen.
Ik probeer een ESP te maken die voor vrijwel alles inzetbaar is in mijn huis, zonder dat ik elke keer een andere sketch erop hoef te gooien. Met dezelfde code kan ik 'm beneden in het zicht als temperatuursensor neerzetten met de temperatuur op een LED Matrix, terwijl een andere versie in de badkamer achter een schot word gegooid om een luchtvochtigheid te meten en een relay aan te sturen.

Code uploaden naar de ESP en je kunt 'm overal neergooien zonder dat je ergens een webservertje erbij moet maken.
Ik vind t juist logisch. De ESP webserver kun je niet FF via FTP of scp aanpassen qua content. Ik zou dus liever een simpele http API bedenken zodat je M kunt besturen, en dan kun je centraal ergens een mooie beheer interface maken en verbeteren zonder dat je constant opnieuw moet flashen.

Bovendien kun je dan de data van meerdere esps combineren.

Oost west, 127.0.0.1 best!


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op zondag 03 januari 2016 @ 10:42:
@Koffie

Ik heb in een werkend systeem de pagina vervangen door een andere webpagina die veel groter is.
De pagina is voorzien van html, css en javascript en gebruikt geen externe bestanden.
De pagina heb ik geconverteerd met mijn tooltje zodat de pagina met PROGMEM in het flash geheugen word gezet.
Een HTML bestand was 35Kb groot. Deze startte wel op maar na een tweede keer opstarten kwamen er allerlei foutmeldingen op de seriele monitor en resette de ESP.
De kleinere webpagina van 22Kb start wel goed op.
Mijn ervaring is inmiddels dat het soms toch trial & error is. Soms krijg ik een crash bij het laden van de statische HTML. Wanneer ik wat veranderingen aan de HTML aanbreng (langer of korter) werkt het weer wel.

edit : varieren met rgllength lijkt te helpen

Tijd voor een nieuwe sig..


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Topicstarter
Rmg schreef op zondag 03 januari 2016 @ 10:59:
[...]


Is er voor de 12E ook een manier om de CPOL van de SPI bus op 1 te zetten? Zoek me kapot maar kan het nergens vinden Sming/ArduinoESP hebben het ook nog niet voorelkaar :/

Ik zit hier met een flir lepton die ik aan een ESP wil hangen namelijk :Y)
Ah, dat wilde ik ook ooit nog es doen, maar die Leptons zijn me net iets te prijzig... Qua polariteit: ik weet zo 123 niet of je de idle clock kan veranderen, maar doen SPI_CK_OUT_EDGE en SPI_CK_I_EDGE niet wat je wil?

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rmg
  • Registratie: November 2003
  • Laatst online: 14:27

Rmg

Sprite_tm schreef op maandag 04 januari 2016 @ 07:42:
[...]


Ah, dat wilde ik ook ooit nog es doen, maar die Leptons zijn me net iets te prijzig... Qua polariteit: ik weet zo 123 niet of je de idle clock kan veranderen, maar doen SPI_CK_OUT_EDGE en SPI_CK_I_EDGE niet wat je wil?
Helaas blijft daar bij de klok low idle. Had ik idd gevonden op http://bbs.espressif.com/viewtopic.php?t=342 die lijken dus de clock phase aan te passen.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Topicstarter
Rmg schreef op maandag 04 januari 2016 @ 10:25:
[...]


Helaas blijft daar bij de klok low idle. Had ik idd gevonden op http://bbs.espressif.com/viewtopic.php?t=342 die lijken dus de clock phase aan te passen.
Ik ga het navragen... ik zie zo 123 niets in de registers, tho'. Het kan zijn dat je een 7404 in de kloklijn moet hangen oid.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rmg
  • Registratie: November 2003
  • Laatst online: 14:27

Rmg

Sprite_tm schreef op maandag 04 januari 2016 @ 10:43:
[...]


Ik ga het navragen... ik zie zo 123 niets in de registers, tho'. Het kan zijn dat je een 7404 in de kloklijn moet hangen oid.
Thanks :)

Heb er al een besteld van het weekend, dus komende week verder knutselen. :Y)

  • Piepersnijder
  • Registratie: December 2009
  • Niet online
@Koffie,

Je maakt gebruik van jQuery wat vrij veel ruimte inneemt. Wellicht is het beter om in plaats daarvan wat javascripts te maken. In jQuery zit een heleboel functies die je niet gebruikt en maakt het onnodig groot.

Ik heb mijn conversietool aangepast. Hiermee heb ik een html pagina van 86Kb omgezet en in de esp geplaatst.
Het lijkt goed te werken.
Ik heb wel gezien dat het converteren van javascripts niet altijd goed gaat.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Topicstarter
Rmg schreef op maandag 04 januari 2016 @ 11:29:
[...]


Thanks :)

Heb er al een besteld van het weekend, dus komende week verder knutselen. :Y)
Volgens mijn collega's kan het wel, maar om de een of andere vreemde reden is het bitje wat het doet ongedocumenteerd... Ik kan het zo 123 niet testen, maar zou je eens kunnen kijken wat er gebeurt als je bit 29 in het SPI_PIN register set? (Of cleart, ik weet zo 123 niet wat de default state ervan is.)

Ik ga iig proberen om de benodigde bit-definities in de volgende SDK te krijgen; dit is een feature-request die ik wel vaker langs zie komen.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op maandag 04 januari 2016 @ 23:10:
@Koffie,

Je maakt gebruik van jQuery wat vrij veel ruimte inneemt. Wellicht is het beter om in plaats daarvan wat javascripts te maken. In jQuery zit een heleboel functies die je niet gebruikt en maakt het onnodig groot.
Hoe bedoel je dat precies ? Mijn stukje java code zijn nou niet echt groot. De jquery.js zit niet in de code maar word vanaf een externe server geladen.
Ik heb mijn conversietool aangepast. Hiermee heb ik een html pagina van 86Kb omgezet en in de esp geplaatst.
Het lijkt goed te werken.
Ik heb wel gezien dat het converteren van javascripts niet altijd goed gaat.
Ik ga vandaag even testen als ik er aan toe kom :Y)

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Als jQuery extern word geladen moet het geen probleem zijn.
Ik heb zojuist een pagina gemaakt van 246Kb groot. Gewoon een pagina met 15 kolommen 1234567890 en dat 1620 regels. Werkt zonder problemen.
Dus grote pagina's moet kunnen.

  • Rmg
  • Registratie: November 2003
  • Laatst online: 14:27

Rmg

Sprite_tm schreef op dinsdag 05 januari 2016 @ 04:14:
[...]


Volgens mijn collega's kan het wel, maar om de een of andere vreemde reden is het bitje wat het doet ongedocumenteerd... Ik kan het zo 123 niet testen, maar zou je eens kunnen kijken wat er gebeurt als je bit 29 in het SPI_PIN register set? (Of cleart, ik weet zo 123 niet wat de default state ervan is.)

Ik ga iig proberen om de benodigde bit-definities in de volgende SDK te krijgen; dit is een feature-request die ik wel vaker langs zie komen.
Thanks! :) kom ik nog op terug, gaat waarschijnlijk morgen of overmorgen worden Teveel werk naast de hobbies :X

  • wilmardo
  • Registratie: Februari 2011
  • Laatst online: 03-11 12:10
vincent_1971 schreef op woensdag 30 december 2015 @ 10:28:
[...]

Een ds130n heeft last van temperatuurvariaties. Staat ook in de datasheet. Het kristal heeft geen afwijking bij precies 25 graden celsius. Doe het even uit mijn hoofd. Een ds3132 heeft een ingebouwde temperatuurcompensatie en ook 2 alarmtijden. Is vaak nog goedkoper dan een ds130n 8)7
Goeie tip! Volgende keer bestel ik dus de ds3132 :)
Verder was de test vooral om te kijken of de verschillen niet te extreem zijn. Het is voor een wake-up lamp dus een halve minuut eerder of later is ook geen ramp zolang als het maar geen hele minuten worden. Ik ga de RTC dus lekker ditchen en mijn lcd gebruiken 8)

  • pasz
  • Registratie: Februari 2000
  • Laatst online: 02-11 16:09
Afbeeldingslocatie: http://g04.a.alicdn.com/kf/HTB1QTP9KVXXXXcoXFXXq6xXFXXXp/ESP8266-serial-WIFI-Witty-cloud-Development-Board-ESP-12F-module-MINI-nodemcu.jpg

Ik heb gisteren dit scheetje besteld :

http://www.aliexpress.com...-nodemcu/32566502491.html

Ben erg benieuwd. Zijn er al anderen die hiermee gewerkt hebben ?

[ Voor 25% gewijzigd door pasz op 05-01-2016 21:36 ]

woei!


  • Kek
  • Registratie: Maart 2007
  • Laatst online: 15:56

Kek

3flix

pasz schreef op dinsdag 05 januari 2016 @ 21:34:
[afbeelding]

Ik heb gisteren dit scheetje besteld :

http://www.aliexpress.com...-nodemcu/32566502491.html

Ben erg benieuwd. Zijn er al anderen die hiermee gewerkt hebben ?
dat kost ook echt helemaal niks... denk dat ik er ook een paar ga halen... zitten wel mooie dingen op, en gelijk voeding / serial ingebouwd, ideaal...

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op maandag 04 januari 2016 @ 23:10:
@Koffie,

Je maakt gebruik van jQuery wat vrij veel ruimte inneemt. Wellicht is het beter om in plaats daarvan wat javascripts te maken. In jQuery zit een heleboel functies die je niet gebruikt en maakt het onnodig groot.

Ik heb mijn conversietool aangepast. Hiermee heb ik een html pagina van 86Kb omgezet en in de esp geplaatst.
Het lijkt goed te werken.
Ik heb wel gezien dat het converteren van javascripts niet altijd goed gaat.
Ik krijg echt ontzettend veel crashes, het is echt zoeken naar de juist werkende rgllength. Zodra ik stukken javascript eruit haal , werkt het een stuk beter. Ook al zijn het maar circa 40-60 regels JS code.

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Hoe lang zijn die regels dan? zijn dat JS regels?

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op dinsdag 05 januari 2016 @ 23:16:
Hoe lang zijn die regels dan? zijn dat JS regels?
Stelt eigenlijk allemaal geen bal voor ..
http://pastebin.com/G7FnsrEi

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Maakt dit deel uit van jQuery?
Hoe zet jij je html code in de esp?

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Is jquery ja. Het is 1 'grote' HTML pagina die ik door jouw tool heen haal en vervolgens zo in mijn ESP code plak (aparte function voor elke pagina).

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Als je alle ' eens vervangt door " van dit deel van de code, werkt het dan wel?
Daar zit waarschijnlijk het probleem.

[ Voor 39% gewijzigd door Piepersnijder op 05-01-2016 23:56 ]


  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op dinsdag 05 januari 2016 @ 23:50:
Als je alle ' eens vervangt door " van dit deel van de code, werkt het dan wel?
Daar zit waarschijnlijk het probleem.
Geen verschil. Heb nu een pagina met JS erin. Zet ik de rgllength op 180 werkt het, zet ik 'm op 200 crashed hij. Met ' of " maakt niet uit. Beide werken wel op 180 en niet op 200. Maak ik die JS code langer, is het nog verder zoeken naar de juiste niet-crashende rglllength.

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
Ik wil nog wel verder kijken naar een oplossing maar dat gaat nu even niet lukken. Ik moet er morgen weer vroeg uit.
Kan jij de hele pagina eens plaatsen op pastebin.com?

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op woensdag 06 januari 2016 @ 00:09:
Ik wil nog wel verder kijken naar een oplossing maar dat gaat nu even niet lukken. Ik moet er morgen weer vroeg uit.
Kan jij de hele pagina eens plaatsen op pastebin.com?
Is goed, stuur je zo even de link.
Alvast bedankt voor je hulp :Y)

Tijd voor een nieuwe sig..


  • Piepersnijder
  • Registratie: December 2009
  • Niet online
als je dat via de mail doet, die heb ik zojuist veranderd. mijn oude mailaccount bestaat niet meer.

  • Koffie
  • Registratie: Augustus 2000
  • Nu online

Koffie

Koffiebierbrouwer

Braaimeneer

Piepersnijder schreef op woensdag 06 januari 2016 @ 00:18:
als je dat via de mail doet, die heb ik zojuist veranderd. mijn oude mailaccount bestaat niet meer.
Heb je een DM gestuurd

Tijd voor een nieuwe sig..


  • Pimmetje651
  • Registratie: Oktober 2001
  • Laatst online: 15:37
Kek schreef op dinsdag 05 januari 2016 @ 22:30:
[...]


dat kost ook echt helemaal niks... denk dat ik er ook een paar ga halen... zitten wel mooie dingen op, en gelijk voeding / serial ingebouwd, ideaal...
Ziet er idd leuk uit, helaas alleen nog niet met 230V voeding :) Wat zal ik die PCB toch graag zien

Its'nice 2be important, but it's more important 2be nice


  • Roamor
  • Registratie: Mei 2004
  • Niet online
sfinx schreef op zondag 27 december 2015 @ 19:54:
[...]

De eerste is breder waardoor je op een 'standaard' breadboard geen ruimte meer overhoudt. Dat is bij de 2de wel het geval.
Ik had mij daarop ook verkeken; doe de testfase nu maar op 2 breadboards... Wat is trouwens de redenering daarachter? Wel breadboard geschikt maken qua pinnen, maar er vervolgens niets naast kunnen prikken?

  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 16:06

iMars

Full time prutser

Kan iemand met helpen met brainstormen? Ik ben de laatste paar weken begonnen om wat te experimenteren met LUA en ESP's. Nu wil ik graag een soort zwave schakelaar aan het maken, maar dan met een ESP en WiFi.

Mijn idee is om een simpele ESP-01 te gebruiken om een lamp aan en uit te kunnen schakelen, maar dan met een fysieke schakelaar. Zodat de lamp niet alleen met domoticz uitgezet kan worden, maar ook door de oude/vertrouwde schakelaar. Mijn idee is gebaseerd op een hotelschakelaar principe. Twee schakelaars, een bediend door de fysieke schakelaar en de andere door domoticz.

Dit is mijn code tot nu toe (nog niet uitgeprobeerd):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
DomoticzIP = x.x.x.x
switchIDX = x

-- pin 1: input / fysieke schakelaar
-- pin 2: output / lamp
gpio.mode(1, gpio.INPUT) -- schakelaar
gpio.mode(2, gpio.OUTPUT) -- lamp

-- Hotelschakelaar principe
-- S1==S2 > lamp aan 
-- S1!=S2 > lamp uit
-- S1 = Fysieke schakelaar
-- S2 = Schakelaar via netwerk
-- init on startup lamp altijd uit (misschien toekomst status uit domoticz halen?)

S1 = gpio.read(1) == HIGH -- HIGH = true, LOW = false
if(S1) then
    S2=false
else
    S2=true
end

srv=net.createServer(net.TCP) 
srv:listen(43333,function(connA) 
    connA:on("receive",function(conn,payload) 
    
    -- bediening via netwerk
    if string.find(payload,"LAMP") then
        -- Input via netwerk over ruled
        -- "LAMP=1" of "LAMP=0"
        if tonumber(string.sub(payload, 6))==1 then
            S2=S1 -- aan via netwerk, S1 gelijk aan S2, lamp aan
        else
            S2!=S1 -- uit via netwerk, S1 ongelijk aan S2, lamp uit
        end
    end

    -- bediening via schakelaar
    -- status verandering detecteren
    if ( S1 != ( gpio.read(1) == HIGH ) ) then
        S1 = gpio.read(1) == HIGH
        -- code om domoticz status te updaten
        connB=net.createConnection(net.TCP, 0) 
        connB:on("receive", function(connB, payload) print(payload) end) 
        connB:connect(8080,(DomoticzIP)) 
        connB:send("GET /json.htm?type=command&param=switchlight&idx=" .. (switchIDX) .. "&switchcmd=On&level=0 HTTP/1.1\r\n") 
        connB:send("Host: " .. (DomoticzIP) .. "\r\n") 
        connB:send("Accept: */*\r\n") 
        connB:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n")
        connB:send("\r\n")
    end

    -- status controle, moet de lamp aan of uit
    if S1==S2 then
        gpio.write(2, gpio.HIGH) -- lamp aan
    else
        gpio.write(2, gpio.LOW) -- lamp uit
    end
end)


Klopt mijn denkwijze een beetje?
En is het mogelijk om naast een server, ook nog een extra connectie te maken om domoticz te updaten?
(Zoals ik nu in mijn code heb)

Edit: Ik heb mijn code gebaseerd op Quindor zijn code: deze en deze

[ Voor 4% gewijzigd door iMars op 09-01-2016 04:09 ]

Koop hier mijn P1 reader :)


  • Quindor
  • Registratie: Augustus 2000
  • Laatst online: 19-10 17:38

Quindor

Switching the universe....

@iMars cool om te zien dat je er mee bezig bent gegaan. Ook tof dat mijn code je kan helpen (Hoewel ik echt 0,01% programmeur ben)!

Ik had je comment op mijn blog ook al gezien, maar nog geen tijd gehad om te reageren. Technisch gezien denk ik zeker dat het met een ESP-01 moet kunnen (Ik heb beide afzonderlijk wel eens gebouwd), maar de code ervoor heb ik helaas ook nog niet en mijn bedoeling is altijd geweest om alles centraal via Domoticz te laten lopen.

Succes met het verder prutsen om het werkende te krijgen zoals je wilt, dat is toch altijd deels van de lol! En blijf je resultaten delen. :)

Intermit.Tech YouTube Kanaal, Intermit.Tech Blog, QuinLED


  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 16:06

iMars

Full time prutser

Hmmm, ben een beetje van hak op de tak bezig, maar ik zie even niet waarom het niet wil werken...
In plaats van alleen aan/uit, heb ik alles aangepast zodat ik ook kan dimmen.

Alles is doorgeborduurd op de code en idee van Quintor. Het idee is om de "Ikea Lamp Hack" te gebruiken, maar met een druk/tip-toets erbij. 1x kort drukken is aan/uit (aan met de laatst bekende aan-waarde); Ingedrukt houden is de lamp dimmen (max 32 stappen, 0-31).

Onderstaand code werkt prima (er zit overbodig code in, maar dat komt omdat ik de waardes van een ander script erbij wil gebruiken, zie tweede 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
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
-- output
pwm.setup(4, 1000, 005)
pwm.start(4)

-- input/schakelaar
gpio.mode(2, gpio.INT)
gpio.trig(2, 'both', onChange)

-- variabelen
switch = false
dim = false
MIN = 0
MAX = 31
CUR = 0

LAMP_current=0
LAMP_target=0
Fadetime=2500

Stepcounter=0
PosStepcounter=0
DimTimer=0

pwm.setduty(4, LAMP_current)

-- start code bediening via schakelaar
function onChange ()
    -- schakelaar ingedrukt
    if gpio.read(2) == 1 then
        switch = true
        tmr.alarm(0, 500, 1, function()
            print('#')
            switch = false
            if dim then
                if (CUR < MAX) then
                    CUR = CUR+1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(4, LAMP_target)
                    print(LAMP_target)
                end
            else
                if (CUR > MIN) then
                    CUR = CUR-1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(4, LAMP_target)
                    print(LAMP_target)
                end 
            end
        end)
    end
    -- schakelaar los
    if gpio.read(2) == 0 then
        tmr.stop(0)
        -- schakelaar korter dan 0,5s ingedrukt
        if switch then
            switch = false; -- reset switch status
            if LAMP_target == 0 then
                if CUR == 0 then CUR = 16 end
                LAMP_target = CUR * 33
                LAMP_current = CUR * 33
                pwm.setduty(4, LAMP_target)
            else
                LAMP_target = 0
                LAMP_current = 0
                pwm.setduty(4, LAMP_target)
            end
            print('schakelaar'..LAMP_target)
        else
            if dim then
                dim = false
            else
                dim = true
            end
        end
    end
end
-- einde code bediening via schakelaar


Als ik een toevoeging aan deze code doe/maak, dan werkt alleen deze toevoeging en reageert de onChange trigger niet meer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
-- output
pwm.setup(4, 1000, 005)
pwm.start(4)

-- input/schakelaar
gpio.mode(2, gpio.INT)
gpio.trig(2, 'both', onChange)

-- variabelen
switch = false
dim = false
MIN = 0
MAX = 31
CUR = 0

local LAMP_current=0
local LAMP_target=0
local Fadetime=2500

local Stepcounter=0
local PosStepcounter=0
local DimTimer=0

wifi.setmode(wifi.STATION)
wifi.sta.config("mijnssid","mijnwachtwoord")

pwm.setduty(4, LAMP_current)

-- start code bediening via schakelaar
function onChange ()
    -- schakelaar ingedrukt
    if gpio.read(2) == 1 then
        switch = true
        tmr.alarm(0, 500, 1, function()
            switch = false
            if dim then
                if (CUR < MAX) then
                    CUR = CUR+1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(4, LAMP_target)
                    print(LAMP_target)
                end
            else
                if (CUR > MIN) then
                    CUR = CUR-1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(4, LAMP_target)
                    print(LAMP_target)
                end 
            end
        end)
    end
    -- schakelaar los
    if gpio.read(2) == 0 then
        tmr.stop(0)
        -- schakelaar korter dan 0,5s ingedrukt
        if switch then
            switch = false; -- reset switch status
            if LAMP_target == 0 then
                if CUR == 0 then CUR = 16 end
                LAMP_target = CUR * 33
                LAMP_current = CUR * 33
                pwm.setduty(4, LAMP_target)
            else
                LAMP_target = 0
                LAMP_current = 0
                pwm.setduty(4, LAMP_target)
            end
            print('schakelaar'..LAMP_target)
        else
            -- bepalen of de volgende keer omhoog of omlaag gedimt moet worden
            if dim then
                dim = false
            else
                dim = true
            end
        end
    end
end
-- einde code bediening via schakelaar

-- start server input via domoticz
srv=net.createServer(net.TCP)
srv:listen(43333,function(conn)
    conn:on("receive",function(conn,payload)
        print("Input:"..payload)
        if string.find(payload,"LAMP") then
            LAMP_target = tonumber(string.sub(payload, 13) )
            print(LAMP_target)

            Stepcounter=(LAMP_target)-(LAMP_current)

            if (Stepcounter) < 0 then
                PosStepcounter=(Stepcounter)*-1
            else PosStepcounter=(Stepcounter)
            end

            if (PosStepcounter) == 0 then
                PosStepcounter=(PosStepcounter)+1
            else PosStepcounter=(PosStepcounter)
            end

            DimTimer=(Fadetime)/(PosStepcounter)

            if (DimTimer) == 0 then
                DimTimer=(DimTimer)+1
            else DimTimer=(DimTimer)
            end

            print (Fadetime)
            print (Stepcounter)
            print (PosStepcounter)
            print (DimTimer)
            print (LAMP_current)
            print (LAMP_target)
      
            tmr.alarm(1, (DimTimer), 1, function()
                if LAMP_current < LAMP_target then
                    LAMP_current = (LAMP_current + 1)
                    pwm.setduty(4, LAMP_current)
                elseif LAMP_current > LAMP_target then
                    LAMP_current = (LAMP_current - 1)
                    pwm.setduty(4, LAMP_current)
                elseif LAMP_current == LAMP_target then tmr.stop(1)
                end
            end)               
        end
    end)
end)

tmr.alarm(2, 1000, 1, function()
    if wifi.sta.getip()== nil then
        print("IP unavaiable, Waiting...")
    else
        tmr.stop(2)
        print(wifi.sta.getip())
    end
end)

Nu werkt alleen het "srv=net.createServer(net.TCP)" gedeelte ...
Wat zie ik over het hoofd? Ik had eerst tmr.alarm met id 0 2x, dus dacht dat het daar aan lag, maar dat heb ik aangepast en het werkt nog steeds niet samen...

Koop hier mijn P1 reader :)


  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 16:06

iMars

Full time prutser

Hmmmm ik heb het als DomoticzLamp.lua opgeslagen. Als ik dofile("DomoticzLamp.lua") doe (zoals altijd) dan werkt het niet. Als ik daarna nog een keer dofile("DomoticzLamp.lua") doe, werkt het wel zoals gehoopt...

Kan niet helemaal de bedoeling zijn. Zit er een fout in de volgorde?

Koop hier mijn P1 reader :)


  • Pimmetje651
  • Registratie: Oktober 2001
  • Laatst online: 15:37
Zijn er toevallig al vorderingen in de 230v - ESP PCB ?

Its'nice 2be important, but it's more important 2be nice


  • Pixelmagic
  • Registratie: September 2002
  • Laatst online: 03-11 18:51

Pixelmagic

Ubergeek

sjimmie schreef op zaterdag 19 december 2015 @ 18:56:
Ik heb mijn code inmiddels strak werkend hoor.

Geen crashes, en geen overlopende buffers.
De crashes in het verleden kwamen vooral:
1 doordat ik de SoftwareSerial buffer groter instelde dan dat die in werkelijkheid aan kan (zit blijkbaar geen check op en een variabele-type die groter is dan de werkelike buffer aan kan),
2 door een bug tussen de esp versie van de SoftwareSerial en de WiFiClient,
3 door te lange code die een wdt reset veroorzaakte.
Daarbij was 1 de voornaamste reden en 3 de minste.

Nu wil ik de code, waarin ik ook temperatuur en luchtvochtigheid sesnsoren uitlees en een ntp client heb draaien, terugbrengen naar een stukje basiscode voor wie die wil gebruiken.
Maar dat zal 2 weken moeten wachten wegens vakantie zonder esp, slimme meter en laptop...
Fijne vakantie gehad ? :)

Zijn er ondertussen al nieuwe vorderingen misschien ?

PVoutput van mijn 4950Wp


  • sjimmie
  • Registratie: November 2002
  • Laatst online: 14-10 14:20
Pixelmagic schreef op zondag 10 januari 2016 @ 12:27:
[...]


Fijne vakantie gehad ? :)

Zijn er ondertussen al nieuwe vorderingen misschien ?
oja, jahoor dank.
wat zoek je specifiek, heb je al iets of een bepaald doel?

Panasonic 7kW J-Series Split + 190 liter SWW, 2750+2100Wp Oost-West


  • Pixelmagic
  • Registratie: September 2002
  • Laatst online: 03-11 18:51

Pixelmagic

Ubergeek

sjimmie schreef op zondag 10 januari 2016 @ 15:14:
[...]

oja, jahoor dank.
wat zoek je specifiek, heb je al iets of een bepaald doel?
Ik zoek een compacte oplossing om de P1 via ESP op het netwerk te ontsluiten zodat (o.a.) Domoticz deze kan uitlezen. Ik heb twee NodeMcu boardjes liggen.

Zou leuk zijn als hij tegelijk ook twee S0 interfaces kan uitlezen maar dit is vanwege timing een lastige heb ik begrepen. Heb daar nu twee Arduino pro minis op zitten, eentje voor het daadwerkelijk lezen en deze geeft via json de standen periodiek door aan de tweede welke via MySensors de stand doorgeeft.

PVoutput van mijn 4950Wp


  • niektb
  • Registratie: December 2012
  • Laatst online: 01-08-2024
Van het weekend de op de ESP gebaseerde Oak (by Digistump) binnengekregen (was een kickstarter). Nu wachten op de uiteindelijke versie van de firmware en deze jongen kan eindelijk gaan knutselen met IoT stuff :D

AMD Athlon II X4 860K Black Edition, MSI A88X-G43, 8GB RAM, be quiet! Pure Power L8 400W, Samsung SSD 840 EVO 120GB, Palit Nvidia GTS450 1GB


  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 16:06

iMars

Full time prutser

Niemand die me kan helpen? O-)

Ik heb nu een quick-n-dirty methode waarmee het functioneel wel werkt, maar er zitten nog schoonheidsfoutjes in welke ik er niet uit krijg. Zie mijn init.lua, pas als netwerk actief is wordt het 2e script gestart (lamp.lua). Als deze 1x gestart wordt, werkt alleen "srv:listen(43333,function(conn)" gedeelte, en niet de "gpio.trig(pinSwitch, 'both', onChange)". Als ik in ESPlorer de lamp.lua nog een keer start, werkt het wel.
Daarom in de init.lua wordt lamp.lua 2x gestart. Echter kreeg ik een PANIC omdat ik niet voor een tweede keer een TCP server mag starten (vandaar de check "if srv==nil then srv=net.createServer(net.TCP) end")

Het werkt nu.... maar ik wil dat de dim-waarde (0-31) bewaard wordt. Stel met domotica wordt de lamp op 25 (80%) gezet, dan wil ik dat als de lamp met de schakelaar uitgezet wordt, en daarna weer aangezet wordt, dat de lamp dezelfde dim-waarde gebruikt. Echter lijkt het wel of het twee verschillende waardes zijn, want de CUR welke in het srv gedeelte wordt ingesteld "local CUR = (LAMP_target/33)" is niet bekend in de onChange functie 7(8)7

init.lua
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
wifi.setmode(wifi.STATION)
wifi.sta.config("DivePassion","hebikniet")
tmr.alarm(0, 1000, 1, function()
    if wifi.sta.getip()== nil then
        print("IP unavaiable, Waiting...")
    else
        tmr.stop(0)
        print(wifi.sta.getip())
        dofile("lamp.lua")
        tmr.delay(5000000)
        dofile("lamp.lua")
    end
end)


lamp.lua
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
121
122
123
124
125
126
127
128
129
130
131
132
-- output
pinLamp=3
pinSwitch=4
pwm.setup(pinLamp, 1000, 005)
pwm.start(pinLamp)

-- input/schakelaar
gpio.mode(pinSwitch, gpio.INT)
gpio.trig(pinSwitch, 'both', onChange)

-- variabelen
local switch = false
local dim = false
local MIN = 0
local MAX = 31
local CUR = 0

local LAMP_current=0
local LAMP_target=0
local Fadetime=2500

local Stepcounter=0
local PosStepcounter=0
local DimTimer=0

pwm.setduty(pinLamp, LAMP_current)

-- start code bediening via schakelaar
function onChange ()
print('CUR:'..CUR)
    -- schakelaar ingedrukt
    if gpio.read(pinSwitch) == 1 then
        switch = true
        tmr.alarm(1, 300, 1, function()
            switch = false
            if dim then
                if (CUR < MAX) then
                    CUR = CUR+1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(pinLamp, LAMP_target)
                    print(LAMP_target..' ('..CUR..')')
                end
            else
                if (CUR > MIN) then
                    CUR = CUR-1
                    LAMP_target = CUR * 33
                    LAMP_current = LAMP_target
                    pwm.setduty(pinLamp, LAMP_target)
                    print(LAMP_target..' ('..CUR..')')
                end 
            end
        end)
    end
    -- schakelaar los
    if gpio.read(pinSwitch) == 0 then
        tmr.stop(1)
        -- schakelaar korter dan 0,5s ingedrukt
        if switch then
            switch = false; -- reset switch status
            if LAMP_target == 0 then
                if CUR == 0 then CUR = 16 end
                LAMP_target = CUR * 33
                LAMP_current = CUR * 33
                pwm.setduty(pinLamp, LAMP_target)
            else
                LAMP_target = 0
                LAMP_current = 0
                pwm.setduty(pinLamp, LAMP_target)
            end
            print('schakelaar'..LAMP_target)
        else
            -- bepalen of de volgende keer omhoog of omlaag gedimt moet worden
            if dim then
                dim = false
            else
                dim = true
            end
        end
    end
end
-- einde code bediening via schakelaar

-- start server input via domoticz
if srv==nil then srv=net.createServer(net.TCP) end
srv:listen(43333,function(conn)
    conn:on("receive",function(conn,payload)
        print("Input:"..payload)
        if string.find(payload,"LAMP") then
            LAMP_target = tonumber(string.sub(payload, 13) )
            print(LAMP_target)
            Stepcounter=(LAMP_target)-(LAMP_current)

            if (Stepcounter) < 0 then
                PosStepcounter=(Stepcounter)*-1
            else PosStepcounter=(Stepcounter)
            end

            if (PosStepcounter) == 0 then
                PosStepcounter=(PosStepcounter)+1
            else PosStepcounter=(PosStepcounter)
            end

            DimTimer=(Fadetime)/(PosStepcounter)

            if (DimTimer) == 0 then
                DimTimer=(DimTimer)+1
            else DimTimer=(DimTimer)
            end

            local CUR = (LAMP_target/33)
            print ('>'..(CUR))
            print (Fadetime)
            print (Stepcounter)
            print (PosStepcounter)
            print (DimTimer)
            print (LAMP_current)
            print (LAMP_target)
      
            tmr.alarm(2, (DimTimer), 1, function()
                if LAMP_current < LAMP_target then
                    LAMP_current = (LAMP_current + 1)
                    pwm.setduty(pinLamp, LAMP_current)
                elseif LAMP_current > LAMP_target then
                    LAMP_current = (LAMP_current - 1)
                    pwm.setduty(pinLamp, LAMP_current)
                elseif LAMP_current == LAMP_target then tmr.stop(2)
                end
            end)               
        end
    end)
end)


Edit:
Gevonden _/-\o_
"gpio.trig(pinSwitch, 'both', onChange)" moet na de function onChange() komen.
En alle local's moeten eruit :X

Koop hier mijn P1 reader :)


  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 16:06

iMars

Full time prutser

Quindor schreef op zondag 10 januari 2016 @ 02:12:
@iMars cool om te zien dat je er mee bezig bent gegaan. Ook tof dat mijn code je kan helpen (Hoewel ik echt 0,01% programmeur ben)!

Ik had je comment op mijn blog ook al gezien, maar nog geen tijd gehad om te reageren. Technisch gezien denk ik zeker dat het met een ESP-01 moet kunnen (Ik heb beide afzonderlijk wel eens gebouwd), maar de code ervoor heb ik helaas ook nog niet en mijn bedoeling is altijd geweest om alles centraal via Domoticz te laten lopen.

Succes met het verder prutsen om het werkende te krijgen zoals je wilt, dat is toch altijd deels van de lol! En blijf je resultaten delen. :)
Quindor, ik heb je lua script aangepast... De "On" functionaliteit zat er niet in. ;)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Oud:
----
commandArray = {}

DomDevice = 'GPIO-0_channel'
IP = '10.10.200.10'
Port = '43333'
LEDtarget = 'LED1_Target='

if devicechanged[DomDevice] then
    if(devicechanged[DomDevice]=='Off') then DomValue = 0;
    print ("Turning off " .. DomDevice);
    runcommand = "echo " .. (LEDtarget) .. "0  | nc " .. (IP) .. " " .. (Port) .. " ";
    print (runcommand);
    os.execute(runcommand);
    return commandArray
    else
    DomValue = (otherdevices_svalues[DomDevice]);
    end
    CalcValue = DomValue * 33;
    print ("Value received from Domoticz was " .. (DomValue) .." ");
    print ("Calculated value for ESP is " .. (CalcValue) .." ");
    print ("Dimming "  .. (DomDevice) .. " to " .. (CalcValue) .. " ");
    runcommand = "echo " .. (LEDtarget) .. "" .. (CalcValue) .. " | nc " .. (IP) .. " " .. (Port) .. " ";
    print (runcommand);
    os.execute(runcommand);
end
return commandArray


Nieuw:
----
commandArray = {}

DomDevice = 'GPIO-0_channel'
IP = '10.10.200.10'
Port = '43333'
LEDtarget = 'LED1_Target='

if devicechanged[DomDevice] then
    if(devicechanged[DomDevice]=='Off') then
        DomValue = 0;
    elseif(devicechanged[DomDevice]=='On') then
        DomValue = 31;
    else
        DomValue = (otherdevices_svalues[DomDevice]);
    end
    CalcValue = DomValue * 33;
    print ("Value received from Domoticz was " .. (DomValue) .." ");
    print ("Calculated value for ESP is " .. (CalcValue) .." ");
    print ("Dimming "  .. (DomDevice) .. " to " .. (CalcValue) .. " ");
    runcommand = "echo " .. (LEDtarget) .. "" .. (CalcValue) .. " | nc " .. (IP) .. " " .. (Port) .. " ";
    print (runcommand);
    os.execute(runcommand);
end

return commandArray

Koop hier mijn P1 reader :)


  • sjimmie
  • Registratie: November 2002
  • Laatst online: 14-10 14:20
Pixelmagic schreef op zondag 10 januari 2016 @ 16:36:
[...]


Ik zoek een compacte oplossing om de P1 via ESP op het netwerk te ontsluiten zodat (o.a.) Domoticz deze kan uitlezen.
De basis, hier worden de vars gemaakt voor de meterwaardes en de SoftwareSerial aangemaakt met de "inverted" flag op true omdat mijn meter geinverteerde data uitspuugt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <Time.h>  // http://www.pjrc.com/teensy/td_libs_Time.html
#include <SoftwareSerial.h>

// Vars to store meter readings
long mEVLT = 0; //Meter reading Electrics - consumption low tariff
long mEVHT = 0; //Meter reading Electrics - consumption high tariff
long mEOLT = 0; //Meter reading Electrics - return low tariff
long mEOHT = 0; //Meter reading Electrics - return high tariff
long mEAV = 0;  //Meter reading Electrics - Actual consumption
long mEAT = 0;  //Meter reading Electrics - Actual return
long mGAS = 0;    //Meter reading Gas


#define MAXLINELENGTH 64 // longest normal line is 47 char (+3 for \r\n\0)
char telegram[MAXLINELENGTH];

#define SERIAL_RX     D2  // pin for SoftwareSerial RX
SoftwareSerial mySerial(SERIAL_RX, -1, true, MAXLINELENGTH); // (RX, TX. inverted, buffer)


De setup en loop zijn nu bijna leeg, die mag je verder zelf vullen.
Belangrijk ik dat de loop constant doorloopt en dus zo snel mogelijk weer langs de readTelegram() komt.
code:
1
2
3
4
5
6
7
8
9
void setup()
{
  Serial.begin(115200);
  mySerial.begin(115200);
}

void loop() {
  readTelegram();
}


De readTelegram() scant of er iets binnenkomt en laat het uitpluizen over aan decodeTelegram().
code:
1
2
3
4
5
6
7
8
9
10
void readTelegram() {
  if (mySerial.available()) {
    memset(telegram, 0, sizeof(telegram));
    while (mySerial.available()) {
      int len = mySerial.readBytesUntil('\n', telegram, MAXLINELENGTH);
      telegram[len - 1] = 0;
      decodeTelegram();
    }
  }
}

De decodeTelegram() is gebaseerd op bestaande code (volgens mij van user ThinkPad?), maar sscanf werkt niet op een ESP. Daarvoor heb ik getValue gemaakt, die ook wat extra checks doet. Ook lees ik de datum/tijd en stel ik de klok daarmee in. (zie Time.h hierboven)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
void decodeTelegram() {
  // 0-0:1.0.0(151207214053W)
  // 0-0:1.0.0 =  jjmmdduummssz
  if ((strncmp(telegram, "0-0:1.0.0", strlen("0-0:1.0.0")) == 0) && (strlen(telegram) == 24)) {
    String str = String(telegram);
    int Year   = str.substring(10, 12).toInt();
    int Month  = str.substring(12, 14).toInt();
    int Day    = str.substring(14, 16).toInt();
    int Hour   = str.substring(16, 18).toInt();
    int Minute = str.substring(18, 20).toInt();
    int Second = str.substring(20, 22).toInt();
    if ((Year < 20) && (Month < 13 ) && (Day < 32) && (Hour < 24) && (Minute < 60) && (Second < 60)) {
      setTime(Hour, Minute, Second, Day, Month, Year);
    }
  }

  // 1-0:1.8.1(000992.992*kWh)
  // 1-0:1.8.1 = Elektra verbruik laag tarief (DSMR v4.0)
  if (strncmp(telegram, "1-0:1.8.1", strlen("1-0:1.8.1")) == 0) {
    mEVLT = getValue(telegram, MAXLINELENGTH - 1);
  }

  // 1-0:1.8.2(000560.157*kWh)
  // 1-0:1.8.2 = Elektra verbruik hoog tarief (DSMR v4.0)
  else if (strncmp(telegram, "1-0:1.8.2", strlen("1-0:1.8.2")) == 0) {
    mEVHT = getValue(telegram, MAXLINELENGTH - 1);
  }

  // 1-0:2.8.1(000348.890*kWh)
  // 1-0:2.8.1 = Elektra opbrengst laag tarief (DSMR v4.0)
  else if (strncmp(telegram, "1-0:2.8.1", strlen("1-0:2.8.1")) == 0) {
    mEOLT = getValue(telegram, MAXLINELENGTH - 1);
  }

  // 1-0:2.8.2(000859.885*kWh)
  // 1-0:2.8.2 = Elektra opbrengst hoog tarief (DSMR v4.0)
  else if (strncmp(telegram, "1-0:2.8.2", strlen("1-0:2.8.2")) == 0) {
    mEOHT = getValue(telegram, MAXLINELENGTH - 1);
  }

  // 1-0:1.7.0(00.424*kW) Actueel verbruik
  // 1-0:2.7.0(00.000*kW) Actuele teruglevering
  // 1-0:1.7.x = Electricity consumption actual usage (DSMR v4.0)
  else if (strncmp(telegram, "1-0:1.7.0", strlen("1-0:1.7.0")) == 0) {
    mEAV = getValue(telegram, MAXLINELENGTH - 1);
  }
  else if (strncmp(telegram, "1-0:2.7.0", strlen("1-0:2.7.0")) == 0) {
    mEAT = getValue(telegram, MAXLINELENGTH - 1);
  }

  // 0-1:24.2.1(150531200000S)(00811.923*m3)
  // 0-1:24.2.1 = Gas (DSMR v4.0) on Kaifa MA105 meter
  else if (strncmp(telegram, "0-1:24.2.1", strlen("0-1:24.2.1")) == 0) {
    mGAS = getValue(telegram, MAXLINELENGTH - 1);
  }
}


getValue() is een poging van mij om de numerieke waarde uit de char array te halen.
Dat wil ik nog eens flink op de schop gooien, maar voor nu werkt het zo.
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
long getValue(char* buffer, int maxlen) {
  int s = FindCharInArrayRev(buffer, '(', maxlen - 2);
  if (s < 8) return 0;
  if (s > 32) s = 32;
  int l = FindCharInArrayRev(buffer, '*', maxlen - 2) - s - 1;
  if (l < 4) return 0;
  if (l > 12) return 0;
  char res[16];
  memset(res, 0, sizeof(res));

  if (strncpy(res, buffer + s + 1, l)) {
    if (isNumber(res, l)) {
      return (1000 * atof(res));
    }
  }
  return 0;
}

bool isNumber(char* res, int len) {
  for (int i = 0; i < len; i++) {
    if (((res[i] < '0') || (res[i] > '9'))  && (res[i] != '.' && res[i] != 0)) {
      return false;
    }
  }
  return true;
}

int FindCharInArrayRev(char array[], char c, int len) {
  for (int i = len - 1; i >= 0; i--) {
    if (array[i] == c) {
      return i;
    }
  }
  return -1;
}


Wat je daarna in je loop() met de gevonden waardes doet, mag je zelf bedenken.
Zelf heb ik in de decodeTelegram() nog wat vlaggetjes in zitten om bij te houden wat recent is ontvangen. Ik doe ook wat controles om te kijken of de waardes een beetje kloppen (en zo niet dan wordt een vorige opgeslagen waarde teruggezet), die heb ik er voor het overzicht uitgehaald.

Panasonic 7kW J-Series Split + 190 liter SWW, 2750+2100Wp Oost-West


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 04-11 14:39

geerttttt

Manisch positief

Pimmetje651 schreef op zondag 10 januari 2016 @ 11:45:
Zijn er toevallig al vorderingen in de 230v - ESP PCB ?
Wat mij betreft zijn er wel vorderingen. Graag zou ik ook feedback willen op mijn onderstaande ontwerp. Dit is namelijk mijn eerste PCB wat ik daadwerkelijk ga laten printen, dus ik heb weinig praktijkervaring!

Front:
Afbeeldingslocatie: http://i.imgur.com/NjPmt7e.jpg
Back:
Afbeeldingslocatie: http://i.imgur.com/CfoTC9i.jpg
Front(doorzichtig):
Afbeeldingslocatie: http://i.imgur.com/GOHfQxh.jpg

Ik gebruik de volgende fuses:
73°C Thermal Fuse - http://www.ebay.com/itm/2...geName=STRK%3AMEBIDX%3AIT

250V 300mA 400mA (300 is uitverkocht) Slow Blow Fuse - http://www.ebay.com/itm/1...geName=STRK%3AMEBIDX%3AIT

Varistor (nog uit te zoeken welke exact)

Oost west, 127.0.0.1 best!


  • ThinkPad
  • Registratie: Juni 2005
  • Nu online
sjimmie schreef op maandag 11 januari 2016 @ 09:37:
[...]
Wat je daarna in je loop() met de gevonden waardes doet, mag je zelf bedenken.
Zelf heb ik in de decodeTelegram() nog wat vlaggetjes in zitten om bij te houden wat recent is ontvangen. Ik doe ook wat controles om te kijken of de waardes een beetje kloppen (en zo niet dan wordt een vorige opgeslagen waarde teruggezet), die heb ik er voor het overzicht uitgehaald.
Goed bezig d:)b Naam van de variabelen komt mij bekend voor :+ (Hulp bij slimme meter uitlezen met Arduino naar MySQL). Die oplossing gebruik ik trouwens allang niet meer, lees al 1,5j ofzo de slimme meter uit via Domoticz (USB-Serial kabel).

Om het vanaf de ESP in Domoticz te krijgen kun je de JSON-API van Domoticz gebruiken, er is al een virtuele sensor met type 'P1 Smartmeter'. Die is alleen voor elektra, voor gas is er nog een aparte virtuele sensor

Zie deze URL's:
Elektra: https://www.domoticz.com/...lectricity_P1_smart_meter
Gas: https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s#Gas (staat helaas geen uitleg bij, zelf even mee spelen).
Pagina: 1 ... 16 ... 80 Laatste