Toon posts:

Slimme meter via P1-poort loggen met een Netduino Plus OverzichtLaatste deel

Pagina: 1 2 3 ... 7 Laatste
Acties:

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op dinsdag 25 september 2012 @ 20:26:
ja/nee, het programma laad jij in je Netduino, de data die uit de Netduino komt schrijft hij oa naar je (X) website. Ik wil niet zien wat er in de file staat, jij wilt wat met de data doen die de Netduino produceert.
Wat/hoe wil je het aangeleverd hebben.
:)
Gewoon een txt file of xml file?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
csv is prima. Maar een json is ook prima. Maakt me geen mallemoer uit, als het maar altijd dezelfde structuur is ;)

Ik zie het als volgt:
vanaf mijn Syno roep ik de webpagina aan met een bepaald commando in de url, dat levert dan gegevens vanaf een bepaald datum/tijdstip. Of hij spuugt alles uit, dan filter ik het wel op de Syno.

Het moet vooral niet te moeilijk worden; basisfunctie is loggen en beschikbaar maken.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
c70070540 schreef op dinsdag 25 september 2012 @ 20:30:
[...]

:)
Gewoon een txt file of xml file?
Precies, is later altijd aan te passen.

Wat we vergeten zijn in de lijst:
Levering - verbruik.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 26 september 2012 @ 07:51:
[...]

Precies, is later altijd aan te passen.

Wat we vergeten zijn in de lijst:
Levering - verbruik.
Top, houdt er ook rekening mee dat de gasmeterstand 1 keer per uur doorgegeven wordt naar de slimme meter in plaats van elke 10 sec.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • reddo
  • Registratie: Oktober 2010
  • Laatst online: 29-03 20:24
Sinds vrijdag een slimme meter hier. De arduino er al even aangehad met p1 sketch en zowaar, op serialmonitor keurig een bericht :)

Nu eerst verbruik loggen met een S0 puls uit een Finder (en straks nog een 2e voor de PV opbrengst)

http://www.pvoutput.org/intraday.jsp?id=13642&sid=11522


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
reddo schreef op woensdag 26 september 2012 @ 20:00:
Sinds vrijdag een slimme meter hier. De arduino er al even aangehad met p1 sketch en zowaar, op serialmonitor keurig een bericht :)

Nu eerst verbruik loggen met een S0 puls uit een Finder (en straks nog een 2e voor de PV opbrengst)
Zo, Reddo, je bent goed bezig zeg. ben wel benieuwd naar de programma code als alles draait.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Server gedeelte progamma code voor de Netduino nu in test fase. Hoe/waar zullen de de programma code plaatsen, al aan gedacht?

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Azure? Of anders een thuis server. Ik heb nog enkele HP T5710 thin clients liggen. Wil je er een om mee te testen? Dan stuur ik er wel een naar je op.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik bedoel de Netduino programma code, Die je in je Netduino laat draaien.
Ik zet het wel bij mijnbestand.nl

Om de programma code te kunnen draaien heb je 4.2.01 nodig.
Hier te downloaden:
http://forums.netduino.co...s-firmware-v420-update-1/

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op donderdag 27 september 2012 @ 15:59:
Ik bedoel de Netduino programma code, Die je in je Netduino laat draaien.
Ik zet het wel bij mijnbestand.nl

Om de programma code te kunnen draaien heb je 4.2.01 nodig.
Hier te downloaden:
http://forums.netduino.co...s-firmware-v420-update-1/
4.2.0.1 heb ik al draaien. Stuur je een link naar de programmacode zodat we het kunnen testen?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • reddo
  • Registratie: Oktober 2010
  • Laatst online: 29-03 20:24
JoopC schreef op donderdag 27 september 2012 @ 12:23:
[...]

Zo, Reddo, je bent goed bezig zeg. ben wel benieuwd naar de programma code als alles draait.
deze http://gathering.tweakers.net/forum/view_message/38884073

nog verder geen logging dus helaas, dat lijkt mij niet zelf :(

http://www.pvoutput.org/intraday.jsp?id=13642&sid=11522


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Iedere dag wat totdat ik een meter heb, dan maak ik de code, tot dan....

Hier de eerste stappen om de Netduino op afstand te bedienen:

Bestand:
updated in latere posting


Hoe werkt het:
Maak een nieuw VB project aan, NetduinoPlus.
Open Module1, verwijder alle tekst zodat het bestand leeg is.
Copy en paste mijn programma code in de lege Module1.
Ga naar referenties en ADD system.IO
Pomp nu de code in je Netduino

Werking programma:
Als alles goed is gegaan zie je in je immediate window je Netduino web adres.
Open je explorer of andere browser en tik in je command regel:

Commando /flashled/two/three

http://[JOUW ADRES]/flashled/two/three
http://192.168.1.106/flashled/two/three
of
http://192.168.1.106/setled/ON
http://192.168.1.106/setled/OFF

je moet je Netduino wel op je router aansluiten.
Je kan in de code andere namen en dingen verzinnen.

Het adres 192........ is van mij en zal ongetwijfeld bij een ieder anders zijn.
Nu kan je over de gehele wereld je Netduino bedienen.

De ledjes die aan en uit gaan is om te testen, het doel is op afstand gegevens uit je Netduino te trekken etc.

[Voor 15% gewijzigd door Willie Wortel op 29-09-2012 13:23. Reden: nieuw bestand toegevoegd.]


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
IK was nog wat vergeten, verder testen met de volgende programma code is eigenlijk alleen mogelijk met een sd kaartje van 2 gieg. (Meer dan 2 gieg HC wordt nog niet ondersteund). Dan zit FTP en de Directory en bestanden opvragen ingebouwd, dat ben ik nu aan het hatseflatsen.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op donderdag 27 september 2012 @ 20:39:
...
Het adres 192........ is van mij en zal ongetwijfeld bij een ieder anders zijn.
Nu kan je over de gehele wereld je Netduino bedienen.

De ledjes die aan en uit gaan is om te testen, het doel is op afstand gegevens uit je Netduino te trekken etc.
Mooi zeg! Ik ga het vanavond even proberen. Nu aan het werk.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Bij mijn eerdere post, nu nieuw bestand toegevoegd met FTP en Dir support SDCard.

[Voor 28% gewijzigd door Willie Wortel op 28-09-2012 13:10]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Heb je ook een schema hoe je de Netduino op de Slimme meter hebt aangesloten?

En na kopieren van de code in Module.vb krijg ik de volgende foutmeldingen. Ik moet nog wat extra doen, maar wat?
code:
1
2
3
4
5
6
Error   1   'File' is not declared. It may be inaccessible due to its protection level. <PATH>\P1Module2\Module1.vb 104 32  P1Module2
Error   2   'Directory' is not declared. It may be inaccessible due to its protection level.    <PATH>\P1Module2\Module1.vb 107 36  P1Module2
Error   3   'File' is not declared. It may be inaccessible due to its protection level. <PATH>\P1Module2\Module1.vb 124 24  P1Module2
Error   4   Type 'FileStream' is not defined.   <PATH>\P1Module2\Module1.vb 126 50  P1Module2
Error   5   'Directory' is not declared. It may be inaccessible due to its protection level.    <PATH>\P1Module2\Module1.vb 165 43  P1Module2
Error   6   'Directory' is not declared. It may be inaccessible due to its protection level.    <PATH>\P1Module2\Module1.vb 170 51  P1Module2

[Voor 85% gewijzigd door Gé Brander op 28-09-2012 17:53]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ben alweer een stukje verder met de prog code maar als commando showdir het niet doet, doe je wat niet goe ...............

http:// [ je netduino ip adres ] \SHOWDIR

http://192.168.1.106/showdir

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op vrijdag 28 september 2012 @ 18:04:
Ben alweer een stukje verder met de prog code maar als commando showdir het niet doet, doe je wat niet goe ...............

http:// [ je netduino ip adres ] \SHOWDIR

http://192.168.1.106/showdir
De foutmelding zie ik onder in Visual Studio. Ik heb het nog niet eens kunnen uploaden naar de Netduino daardoor. Het lijkt alsof er een fout in de code zit, iets niet declared.
http://tweakers.net/ext/f/ZJJgF65H23S2WwqEHNA1GVH1/thumb.png

[Voor 13% gewijzigd door Gé Brander op 29-09-2012 09:49]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
C, ik zie wat je niet juist doe.

Start je visual basic op met het progje.
Ga naar (ff spieken) ... Project/properties/refecences
en ADD system.IO
http://i1173.photobucket.com/albums/r593/JoopC/Refs.jpg


hier een videotje met de werking van de vernieuwde code . (pas op ik werk al met een : jij nog met een / in de command line)

http://youtu.be/NOWVgGn-qK4

commando's :
[ipadres] setled:on setled:off flashled:two:three showdir getfile:[bestand]
getest met browser explorer.

[Voor 27% gewijzigd door Willie Wortel op 30-09-2012 14:17]


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Alles draait nu als een zonnetje progcode voor de Netduino is bijna geheel compleet, ik heb een schone taak voor een WEB hatseflatser.

Als ik onderstaande functie executeer in explorer dan leest mijn Netduino het verzoek, in dit geval CASE_ZEND_GAUGE_INFO. (Had ook verzoek JAAP_JOOP kunnen heten en is volkomen fictief)

Mijn probleem, wat moet ik terugzenden naar de webpage zodat pWatt etc met data gevuld wordt.
Hoop dat iemand dit oppikt want dan zijn de mogelijkheden legio, (mag ook op een andere manier geprogrammeerd zijn). Anders moet ik zelf in de boeken.


HTML:
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
function loadData() {
   
      // variable for the data point
      var pWATT;
      var pKWH;
      var pTEMP;
   
      //hier doe ik een request naar mijn Netduino (IP is mijn interne IP)
$.getJSON('http://192.168.1.106/CASE_ZEND_GAUGE_INFO',  function(dataWATT)
      
      {
            
      // get the data point
      pWATT = dataWATT.field1;
      pKWH = dataWATT.field2;
      pTEMP = dataWATT.field4;
      
      if (pKWH)
      {
         pKWH = Math.abs(pKWH); 
         displayDataKWH(pKWH);
      }
   
      
      if (pWATT)
      {
         pWATT = Math.round(pWATT);
         displayDataWATT(pWATT);
      }
   
         
      if (pTEMP)
      {
         pTEMP = Math.min(pTEMP, 150);
         displayDataTEMP(pTEMP);
      }
   
      });
   
   }

  • ricdijk
  • Registratie: November 2011
  • Laatst online: 29-03 08:17
JoopC schreef op zondag 30 september 2012 @ 11:03:
Als ik onderstaande functie executeer in explorer dan leest mijn Netduino het verzoek, in dit geval CASE_ZEND_GAUGE_INFO. (Had ook verzoek JAAP_JOOP kunnen heten en is volkomen fictief)

Mijn probleem, wat moet ik terugzenden naar de webpage zodat pWatt etc met data gevuld wordt.
Hoop dat iemand dit oppikt want dan zijn de mogelijkheden legio, (mag ook op een andere manier geprogrammeerd zijn). Anders moet ik zelf in de boeken.
Als content type: application/json, als body:
{"field1":123,"field2":456,"field4":789}

Ik heb geen bijzondere kennis van JQuery, even gegoogled en je code lijkt me te kloppen

[Voor 6% gewijzigd door ricdijk op 30-09-2012 11:31]

Live PV Data


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Met deze return string niet, ik denk dat ik de gehele message moet zien, zal best wel wat vergeten zijn.

Visual Basic .NET:
1
2
3
4
Dim ReturnMessage As String = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & "<html><body> {""field1"":123,""field2"":456,""field4"":789} </body></hmtl>" & vbCr & vbLf

'zend message terug
Return ReturnMessage


Hier de gehele html code voor de Google gauge en de data ophaalt van thingspeak. Maar ik wil het rechtstreeks lezen vanaf mijn Netduino.
http://www.mijnbestand.nl/Bestand-PGACIK7C3APB.rar

  • ricdijk
  • Registratie: November 2011
  • Laatst online: 29-03 08:17
JoopC schreef op zondag 30 september 2012 @ 12:03:
Met deze return string niet, ik denk dat ik de gehele message moet zien, zal best wel wat vergeten zijn.

Visual Basic .NET:
1
2
3
4
Dim ReturnMessage As String = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & "<html><body> {""field1"":123,""field2"":456,""field4"":789} </body></hmtl>" & vbCr & vbLf

'zend message terug
Return ReturnMessage


Hier de gehele html code voor de Google gauge en de data ophaalt van thingspeak. Maar ik wil het rechtstreeks lezen vanaf mijn Netduino.
http://www.mijnbestand.nl/Bestand-PGACIK7C3APB.rar
Het betreft een json message, de <html> tag is daarom niet op zijn plek. Ik gebruik zelf ook geen <body> tag:
code:
1
2
3
4
5
6
7
8
9
10
11
    sprintf(buf, "{\"s\":%i,\"h\":%i,\"t\":%i,\"nr\":%lu,\"t0\":%i,\"t1\":%i,\"t2\":%i}", chk, DHT11.humidity, DHT11.temperature, volgNr, t0, t1, t2);
    
    wifly.println(F("HTTP/1.1 200 OK"));
    wifly.println(F("Content-Type: application/json"));
    wifly.println(F("Connection: close"));
    wifly.print(F("Content-Length:"));
    wifly.println(sizeof(buf)+2); //(add 2 newlines)
    wifly.println();
    
    wifly.println(buf);
    wifly.println();

Live PV Data


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Na veel proberen, lukt het me niet. Het hoeft niet zo nodig met json. Ik ga wel zoeken op internet.
nog bedankt.

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Gaat die communicatie niet asynchroon?

Met andere woorden: jouw code op de webpagina gaat reeds verder terwijl het bericht vanaf de Netduino nog niet verstuurd is?

Heb ik ook wat problemen mee gehad bij het maken van mijn site.

De truuk was:
je verstuurt het request en je vertelt welke functie de boel verwerkt als het antwoord binnen komt.

Voorbeeldje:
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
var slowxmlHttp;
try { slowxmlHttp=new XMLHttpRequest(); } catch (e) {
try { slowxmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { slowxmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
alert("Your browser does not support AJAX!");
}}}

function slowupdate(){ //slow update every 1 minutes
    clearTimeout(tslow);
    slowxmlHttp.onreadystatechange=slow_fields;
    slowxmlHttp.open("GET","pvslow.php",true);
    slowxmlHttp.send(null);
    tslow=setTimeout("slowupdate()", slowtimeout);
}

function slow_fields(){
    if(slowxmlHttp.readyState==4){
        var slowreply = eval('(' + slowxmlHttp.responseText + ')');
        document.getElementById("Status").innerHTML = ' '+ slowreply.Status;
        if (slowreply.Status == "Off") {
            document.getElementById("Status").style.color = "red";
            }
        else if (slowreply.Status == "Idle"
                 || slowreply.Status =="Feed in (AC)"
                 || slowreply.Status =="Feed in (Regulated)") {
            document.getElementById("Status").style.color = "orange";
            }
        else  {
            document.getElementById("Status").style.color = "green";
        }
    }
}


Je bent overigens heel goed bezig, JoopC. Bedankt!

disclaimer: ben absoluut geen webspecialist.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

c70070540 schreef op vrijdag 28 september 2012 @ 17:23:
Heb je ook een schema hoe je de Netduino op de Slimme meter hebt aangesloten?
Kan je hier nog even op reageren?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op zondag 30 september 2012 @ 15:43:
Gaat die communicatie niet asynchroon?
Hans, dat weet ik niet, (Ik heb me nooit bezig gehouden met web programming.) feit is dat ik een voorbeeld webpagina nodig heb met een request naar de Netduino. Ik stuur dan een response terug naar de pagina. Al krijg ik dit maar in een variabele met alle troep erin, dan kan ik verder. Je zult nog versteld staan van de mogelijkheden.
Ps (Misschien ben ik een komma vergeten bij de code van Ricdijk, maar dan doet ie het nie...zo eenvoudig kan het zijn. )

Misschien kan jij iets maken?

De Netduino server loopt verder als een zonnetje, niet kapot te krijgen. (dat moeten we hebben, geen zorgen kindje ppfff)

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Nu dit weer:
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
Warning 1   opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  211 17  P1Module2
Warning 2   opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  217 13  P1Module2
Warning 3   opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  222 13  P1Module2
Warning 4   opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  237 17  P1Module2
Warning 5   opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  237 17  P1Module2
Warning 6   opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 7   opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 8   opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 9   opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  242 21  P1Module2
Warning 10  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  242 21  P1Module2
Warning 11  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  243 25  P1Module2
Warning 12  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  244 21  P1Module2
Warning 13  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  258 33  P1Module2
Warning 14  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  258 33  P1Module2
Warning 15  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  268 33  P1Module2
Warning 16  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  280 13  P1Module2
Warning 17  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  282 17  P1Module2
Warning 18  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  282 17  P1Module2
Warning 19  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  109 37  P1Module2
Warning 20  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  109 37  P1Module2
Warning 21  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  138 33  P1Module2
Warning 22  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  169 17  P1Module2
Warning 23  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  169 17  P1Module2
Warning 24  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  174 17  P1Module2
Warning 25  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  174 17  P1Module2
Warning 26  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  211 17  P1Module2
Warning 27  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  217 13  P1Module2
Warning 28  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  222 13  P1Module2
Warning 29  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  237 17  P1Module2
Warning 30  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  237 17  P1Module2
Warning 31  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 32  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 33  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  240 21  P1Module2
Warning 34  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  242 21  P1Module2
Warning 35  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  242 21  P1Module2
Warning 36  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  243 25  P1Module2
Warning 37  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  244 21  P1Module2
Warning 38  opcode 'sub.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  258 33  P1Module2
Warning 39  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  258 33  P1Module2
Warning 40  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  268 33  P1Module2
Warning 41  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  280 13  P1Module2
Warning 42  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  282 17  P1Module2
Warning 43  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  282 17  P1Module2
Warning 44  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  109 37  P1Module2
Warning 45  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  109 37  P1Module2
Warning 46  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  138 33  P1Module2
Warning 47  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  169 17  P1Module2
Warning 48  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  169 17  P1Module2
Warning 49  opcode 'add.ovf' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  174 17  P1Module2
Warning 50  opcode 'conv.ovf.i4' -- overflow will not throw exception   <PATH>\Projects\P1Module2\P1Module2\Module1.vb  174 17  P1Module2

Dit krijg ik te zien als ik de build opdracht geef in het debug menu. F5 geeft de volgende error:
code:
1
2
3
An exception occurred while attempting to launch the debugger:
DebugPort.GetDeviceProcess() calles with no argument
The operation could not be completed

Ik heb in de references System.IO toegevoegd zoals JoopC als tip gaf.
Als ik in de project properties onder .Net Micro Framework kies voor Release en dan de NetduinoPlus_NetduinoPlus en vervolgens kies voor Build dan geeft hij de ene keer de foutmeldingen zoals bovenaan in deze post en de andere keer geeft hij aan Build Succeeded.

Ik heb duidelijk nog veel te weinig idee van wat ik aan het doen ben of er is iets heel erg stuk.

Maar even de Netduino opnieuw flashen en opnieuw beginnen.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
JoopC schreef op zondag 30 september 2012 @ 16:47:
[...]


Hans, dat weet ik niet, (Ik heb me nooit bezig gehouden met web programming.) feit is dat ik een voorbeeld webpagina nodig heb met een request naar de Netduino. Ik stuur dan een response terug naar de pagina. Al krijg ik dit maar in een variabele met alle troep erin, dan kan ik verder. Je zult nog versteld staan van de mogelijkheden.
Ps (Misschien ben ik een komma vergeten bij de code van Ricdijk, maar dan doet ie het nie...zo eenvoudig kan het zijn. )

Misschien kan jij iets maken?

De Netduino server loopt verder als een zonnetje, niet kapot te krijgen. (dat moeten we hebben, geen zorgen kindje ppfff)
Bij mij thuis werkt het vrij simpel: de webpagina doet een request en de server doet een echo van het resultaat. Als jij ervoor zorgt dat de Netduino een JSON string kan uitspugen op basis van een webrequest, kan ik evt een poging wagen om wat javascript te bakken wat dan de JSON string in de browser interpreteert.

Maar da's toch niet Netduino gerelateerd? Als jij die JSON kan uitspugen, is het in principe klaar. Het is dan aan de consument om iets met die info op de webpagina te doen.

Een voorbeeldje. Hier draait een Youless pulsmeter met een webinterface. Ik kan in mijn browser of vanaf mijn NAS een url die kant op sturen en dan volgt een JSON resultaat. Dan is de Youless dus klaar.

Het voorbeeld dat ik hierboven in dat javascript stukje postte, die call naar pvslow.php.. Als ik die in mijn browser rechtstreeks aanroep:

http://synas/pvslow.php

Krijg ik het volgende te zien in de browser:
{"Status":"Feed MPP)", StatusTime":"07:51:00" ,"kWhTotal":"3862.665" "kWhToday":"12.601","kWhCurMonth":"450.112" ,"kWhkWpCurYear":"700.356","TigoStatus":"online" ,"TigoStatusTime":"05:25:02"}
Niets meer, niets minder. Het is aan de aanroepende webpagina in de browser om dat antwoord te interpreteren.

Kort door de bocht:
focus jij je op het serverdeel en uitspugen van de data. Het uitlezen etc komt wel goed.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
>>Maar da's toch niet Netduino gerelateerd? Als jij die JSON kan uitspugen, is het in principe klaar. Het is dan aan de consument om iets met die info op de webpagina te doen.


Hans,
De Netduino server reageert als er een request binnenkomt, dat is het probleem niet.
Het probleem zit bij mijn kennis. Ik weet de schrijf wijze van een json response niet.
Ricdijk heeft al een beetje geholpen met zijn arduino prog code. Maar bij mij zonder resultaat, ik zie wat over het hoofd. Met andere woorden: Ik kan op een verzoek alle data terugsturen maar hoe is de schrijfwijze?

deze was niet goed
ReturnMessage = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & " {""field1"":123,""field2"":456,""field4"":789} " & vbCr & vbLf

Maar we komen er wel uit.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
C, warnings kun je negeren. Er staan veel video lessen op youtube

Update met de laatste nieuwe firmware van het netduino forum, hier een oude install video:
YouTube: Netduino Firmware Upgrade Tutorial

Hier een beginners video
YouTube: Netduino VB Button Blink Tutorial and Event Handlers

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik heb ontdekt dat ik " quotjes te weinig heb geschreven.

"var1":"waarde,"var2":"waarde2"

De waarde en waarde2 heb ik zonder quotjes in json verzonden.
Morgen verder met deze triller.

  • ricdijk
  • Registratie: November 2011
  • Laatst online: 29-03 08:17
JoopC schreef op zondag 30 september 2012 @ 19:31:

ReturnMessage = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & " {""field1"":123,""field2"":456,""field4"":789} " & vbCr & vbLf

Maar we komen er wel uit.
Ik heb na de header en na de body een dubbele CRLF:
ReturnMessage = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & vbCr & vbLf & "{""field1"":123,""field2"":456,""field4"":789}" & vbCr & vbLf & vbCr & vbLf

Zou dat nog uit kunnen maken?

Kan het zijn dat 'ThingSpeak.html' het nu gewoon doet bij mij (krijg wel telkens dezelfde JSON)?

[Voor 45% gewijzigd door ricdijk op 30-09-2012 20:27]

Live PV Data


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ricdijk, nop...werkt niet, we moeten naar een andere oplossing zoeken om een webpage variabele te laden.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Hij doet het .....tralalalalala hij doet het tralalalalala
vind ik mooooooooi om te zien. real time data logging....the sky the limit.... 8)

dankzij Ricdijk kan ik nu json requests verzenden in MS explorer.
Alleen doet ie het nog nie in Google chrome, wat nu weer ppffffff
Weet iemand daar raad wat op.?.

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Wat was het nou?

Dus ik kan nu een request versturen en hij antwoordt met een json string?

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Dit is de juiste syntax: waarbij tussen de { } volkomen fictief is.
ik had een vbCr & vbLf te weinig (waar deze dubbel staat in de regel staat)

Visual Basic:
1
2
3
4
5
6
 Select Case arCommands(0)

                Case "casezendterug"

                 Dim ReturnMessage As String = "HTTP/1.0 200 OK" & vbCr & vbLf & "Content-Type: application/json" & vbCr & vbLf & vbCr & vbLf & "{""field1"":""2234"",""field2"":""12.17"",""field3"":""8.32"",""field4"":""5.1""}" & vbCr & vbLf
return ReturnMessage   'hup verzenden die zooi


Het werkt in Microsoft Internet Explorer, in Google Chrome nog niet.


Visual Basic:
1
2
3
4
5
6
7
8
$.getJSON('http://192.168.1.106/CaseZendTerug',  function(dataWATT)
      
      {
            
      // get the data point
      pWATT = dataWATT.field1;
      pKWH = dataWATT.field2;
      pTEMP = dataWATT.field4;


Kort samengevat:
De Netduino luistert naar commando's zoals "Dir" of "getfile" of naar iets anders, wat je wilt.
Zo ook case CaseZendTerug, dit commando stuurt de returnMessage naar de server.
Kijk maar naar de opzet van Thingspeak.html, die werkt goed moet ik zeggen.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
wel is het zo dat met json dat je de namen van de variabelen in de HTML en in de Netduino dezelfde moeten zijn, anders werkt het ook niet. Tenminste niet bij mij.

Dus in HTML:
$.getJSON('http://192.168.1.106/CaseZendTerug', function(dataWATT)
pWATT = dataWATT.field1;

in VB Netduino string die verzonden wordt: { "field1".........}

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Daar moet ik dan ook de notatie van weten, en die weet ik nu niet.
Zal eens zoeken.

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Voorbeeld van een array in JSON:
code:
1
[["01:00","0.000","0.000",null,"0.000"],["02:00","0.000","0.000",null,"0.000"],["03:00","0.000","0.000",null,"0.000"],["04:00","0.000","0.000",null,"0.000"],["05:00","0.000","0.000",null,"0.000"],["06:00","0.000","0.000",null,"0.000"],["07:00","0.000","0.000",null,"0.000"],["08:00","0.000","0.000",null,"0.000"],["09:00","0.039","0.007","160","0.039"],["10:00","0.139","0.025","227","0.178"],["11:00","0.242","0.043","536","0.420"],["12:00","0.299","0.054","508","0.719"],["13:00","0.466","0.084","763","1.185"],["14:00","0.491","0.088","729","1.676"],["15:00","0.471","0.085","870","2.147"],["16:00","0.426","0.077","857","2.573"],["17:00","0.000","0.000",null,"2.573"],["18:00","0.000","0.000",null,"2.573"],["19:00","0.000","0.000",null,"2.573"],["20:00","0.000","0.000",null,"2.573"],["21:00","0.000","0.000",null,"2.573"],["22:00","0.000","0.000",null,"2.573"],["23:00","0.000","0.000",null,"2.573"],["24:00","0.000","0.000",null,"2.573"]]


Da's op basis van het volgende stukje php code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$result = mysql_query($sql);
        $rows   = mysql_numrows($result);

        while ($i < $rows) {
            $PVHour[]= array(mysql_result($result, $i, 0)  //hour
                    , mysql_result($result, $i, 3) // kWh
                    , mysql_result($result, $i, 4) // Normalized
                    , mysql_result($result, $i, 5) // PeakPower
                    , mysql_result($result, $i, 6) // Accumulated
                    );
            $i++;
        }
        $fp=fopen($cachefile,'w+');
        fwrite($fp, json_encode($PVHour));
        fclose($fp);


Hier wordt een array van 24 elementen gevuld met arrays van 5 elementen.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Pixelmagic
  • Registratie: September 2002
  • Laatst online: 08:28

Pixelmagic

Ubergeek

Misschien heb je hier iets aan:

JSON code ziet er zo uit:

code:
1
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}


Bron: http://wiki.td-er.nl/index.php?title=YouLess

PVoutput van mijn 4950Wp


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Pixelmagic schreef op maandag 01 oktober 2012 @ 15:54:
Misschien heb je hier iets aan:

JSON code ziet er zo uit:

code:
1
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}


Bron: http://wiki.td-er.nl/index.php?title=YouLess
Deze heb ik al, maar die van Hans nog nie.......
Zal het straks schrijven en vanavond? de Netduino programma code posten.
Moet ik wel een webpage hebben met enige code om het te testen.
Kunnen we ook een beetje spelen. Ik denk dat we met zijn allen een leuk iets kunnen maken.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Pixelmagic, erg bedankt, de link van jou is ook erg waardevol, vooral de historical data. Hiermee kan je mooie grafiekjes laten zien van de data die opgeslagen is op het SD kaartje. Het sd kaartje 2gieg is genoeg voor een jaar data. Ondersteuning tot 32gieg is bij M$ in onderhandeling, heeft te maken met royalties. (geld dus)

Ik zie het zo (in de nabije toekomst):
Webpage button, historische gegevens, ->request N+ maanden, ->request N+ dagen, select dag, request N+alle data van die dag. (alles ophalen vanaf de sd kaart) Display in een grafiek. Voor mij is het nu eenvoudig te schrijven en de data aan te leveren, maar om zoiets in een web pagina in te bouwen......

Krijg de beta source code voor de N+ vanavond niet af, morgen verder.
Ben de fout afhandeling aan het schrijven, niet geheel onbelangrijk.

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Is toch regel 1? Check for unexpected errors.

Over de SD kaart. Mag ik mijn 512 mb kaartje laten zitten, of is 2G echt een must?

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op maandag 01 oktober 2012 @ 22:30:
Is toch regel 1? Check for unexpected errors.

Over de SD kaart. Mag ik mijn 512 mb kaartje laten zitten, of is 2G echt een must?
Het is makkelijker om te zien waar het fout gaat door het in soep te laten lopen, en dan je code bijwerken. (bavianen/tiepgeiten test) Als je (bijna) zeker weet dat alles foutloos is geschreven, dan plak je de foutafhandeling erin.

Try
........code
Catch ex As Exception
.......error afhandeling
End Try

De SDkaart is prima, het gaat erom dat je de metingen kan wegschrijven. Ik doelde erop dat groter dan 2gieg op het ogenblik niet wordt ondersteund.

Anoniem: 463612

Goedemorgen,

Dit is een zeer interesante topic, lees dan ook met jullie mee (heb helaas geen kennis van programeren). Had nog wel een vraagje over de gebruikte hardware, gebruiken jullie nu een Netduino Plus met FDTI kabel of een Netduino Plus met FDTI breakout board ? dan is een 7404 Chip toch niet meer nodig ?

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Anoniem: 463612 schreef op dinsdag 02 oktober 2012 @ 09:44:
Goedemorgen,

Dit is een zeer interesante topic, lees dan ook met jullie mee (heb helaas geen kennis van programeren). Had nog wel een vraagje over de gebruikte hardware, gebruiken jullie nu een Netduino Plus met FDTI kabel of een Netduino Plus met FDTI breakout board ? dan is een 7404 Chip toch niet meer nodig ?
Ik zelf gebruik nog niks (FDTI), dat verwacht ik ook niet. Heb de arduino serial.h bekeken en de data moet bitwise geNOT worden. Dit verschilt overigens per model.De een heeft wel en de ander geen inversie. Kan het nog niet uitproberen want mijn meter wordt volgende week pas geplaatst.
Maar misschien zijn er anderen die wel een draaiend geheel hebben.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Hier is de versie die nu bij mij aan het testdraaien is. Heb verdere programma code al klaar maar is niet geschikt om nu al te testen. Kan wel vertellen hoe aan te sluiten aan de P1Poort maar als er wat verkeerd gaat heb ik het gedaan. tot dan de uitgeklede versie.......

http://www.mijnbestand.nl/Bestand-LAYL8X8VPZE4.rar
bestand opstarten met het bestandje NetduinoP1poortServer.sln

wil je TestNetduinoServerGoogleGauge.html uittesten, moet je wel het netwerk adres in het bestandje veranderen naar je eigen adres. 192.168...........

[Voor 24% gewijzigd door Willie Wortel op 02-10-2012 11:07]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/ISk5\2MT382-1003

0-0:96.1.1(5A424556303035303639343233343131)
1-0:1.8.1(01033.453*kWh)
1-0:1.8.2(00571.255*kWh)
1-0:2.8.1(00181.088*kWh)
1-0:2.8.2(00418.733*kWh)
0-0:96.14.0(0002)
1-0:1.7.0(0000.00*kW)
1-0:2.7.0(0000.30*kW)
0-0:17.0.0(0999.00*kW)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-1:24.1.0(3)
0-1:96.1.0(3238303131303031323031313038323132)
0-1:24.3.0(121002130000)(00)(60)(1)(0-1:24.2.1)(m3)
(00086.504)
0-1:24.4.0(1)
!

Zo ziet de tekst eruit die uit de P1 poort komt.

Regel 4, 5, 6 en 7 zijn respectievelijk Laag afname, Hoog afname, Laag levering, Hoog levering.
Regel 17 is de identifier voor gas en regel 18 is de stand van de gasmeter.

In deze versie van de P1 poort zit er geen tijdstamp in, dus als we dat willen hebben dan zullen we de Netduino via een Timeserver deze informatie toe moeten laten voegen in de logging.

[Voor 27% gewijzigd door Gé Brander op 02-10-2012 13:22]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
En waar staat op welke stand de meter staat, dus op stand hoog of laag?

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op dinsdag 02 oktober 2012 @ 12:31:
En waar staat op welke stand de meter staat, dus op stand hoog of laag?
code:
1
2
3
4
1-0:1.8.1(01033.453*kWh)
1-0:1.8.2(00571.255*kWh)
1-0:2.8.1(00181.088*kWh)
1-0:2.8.2(00418.733*kWh)

1-0:1.8.1 staat voor afname laag tarief
1-0:1.8.2 staat voor afname hoog tarief
1-0:2.8.1 staat voor levering laag tarief
1-0:2.8.2 staat voor levering hoog tarief

Deze codes staan allemaal vastgelegd in de P1 standaard. Zie op pagina 11 van dit document.
Het rare is echter dat ik op pagina 11 lees dat het volgens de standaard andersom moet zijn, maar in mijn geval is toch echt 1.8.1 laag (meeste verbruik) en 1.8.2 hoog (minste verbruik)

Voor meer informatie: Link

De huidige slimme meters hebben dus geen timestamp. De nieuwere meters die in de toekomst uitgerold gaan worden zullen dat wellicht wel gaan krijgen.

OF:
Bedoel je hoe je kan achterhalen of er nu tegen hoog of laag tarief geleverd wordt? Ik dacht dat regel 8 daarvoor zorgde:
code:
1
0-0:96.14.0(0002)

De twee geeft dan aan dat het hoog tarief is.

[Voor 13% gewijzigd door Gé Brander op 02-10-2012 13:36]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
JoopC schreef op dinsdag 02 oktober 2012 @ 12:31:
En waar staat op welke stand de meter staat, dus op stand hoog of laag?
Regel 8. 1=laagtarief, 2=hoogtarief.

Tenminste, zo haal ik het uit de pdf.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Uilezen van P1, in variabelen plaatsen, getest en al.

Visual Basic .NET:
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
Structure P1vars
        Dim TimeRead As DateTime
        Dim ConsumptionElectraHigh As Single
        Dim ConsumptionElectraLow As Single
        Dim ConsumptionGas As Single
        Dim SolarDeliveryHigh As Single
        Dim SolarDeliveryLow As Single
        Dim ElectraRate As ElectraRate
    End Structure

    Public Enum ElectraRate
        HIGH
        LOW
    End Enum

    Private Sub ReadPortP1()

        'temporary building a string, just for testing purpose only
        Dim strReadP1Now As String = "/ISk5\2MT382-1003" & vbLf & _
                                     "0-0:96.1.1(5A424556303035303639343233343131)" & vbLf & _
                                     vbCrLf & _
                                     "1-0:1.8.1(01033.453*kWh)" & vbLf & _
                                     "1-0:1.8.2(00570.709*kWh)" & vbLf & _
                                     "1-0:2.8.1(00181.088*kWh)" & vbLf & _
                                     "1-0:2.8.2(00418.448*kWh)" & vbLf & _
                                     "0-0:96.14.0(0002)" & vbLf & _
                                     "1-0:1.7.0(0000.00*kW)" & vbLf & _
                                     "1-0:2.7.0(0000.04*kW)" & vbLf & _
                                     "0-0:17.0.0(0999.00*kW)" & vbLf & _
                                     "0-0:96.3.10(1)" & vbLf & _
                                     "0-0:96.13.1()" & vbLf & _
                                     "0-0:96.13.0()" & vbLf & _
                                     "0-1:24.1.0(3)" & vbLf & _
                                     "0-1:96.1.0(3238303131303031323031313038323132)" & vbLf & _
                                     "0-1:24.3.0(121002110000)(00)(60)(1)(0-1:24.2.1)(m3)" & vbLf & _
                                     "(00086.406)" & vbLf & _
                                     "0-1:24.4.0(1)" & vbLf

        Dim arP1Read As String() = strReadP1Now.Split(CChar(vbLf))
        Dim strTmpvalue As String = ""

        'the index of an array starts with 0, so row 1  = row 0
        For t = 0 To arP1Read.Length - 1
            Select Case t
                Case 3, 4, 5, 6
                    strTmpvalue = arP1Read(t).Substring(arP1Read(t).IndexOf("("c))
                    strTmpvalue = strTmpvalue.Substring(1, strTmpvalue.IndexOf("*"c) - 1)
                    If t = 3 Then
                        p1.ConsumptionElectraLow = CSng(strTmpvalue)
                    ElseIf t = 4 Then
                        p1.ConsumptionElectraHigh = CSng(strTmpvalue)
                    ElseIf t = 5 Then
                        p1.SolarDeliveryLow = CSng(strTmpvalue)
                    Else
                        p1.SolarDeliveryHigh = CSng(strTmpvalue)
                    End If
                Case 7, 17
                    strTmpvalue = arP1Read(t).Substring(arP1Read(t).IndexOf("("c))
                    strTmpvalue = strTmpvalue.Substring(1, strTmpvalue.IndexOf(")"c) - 1)
                    If t = 7 Then
                        p1.ElectraRate = If(strTmpvalue = "1", ElectraRate.LOW, ElectraRate.HIGH)
                    Else
                        p1.ConsumptionGas = CSng(strTmpvalue)
                    End If
              End Select
        Next
        p1.TimeRead = DateTime.Now
    End Sub

[Voor 12% gewijzigd door Willie Wortel op 02-10-2012 15:15]


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
kewl.

En dan de P1 structure als JSON versturen. Tenminste, dat denk ik.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

We moeten echter wel opletten met hoe je de berichten interpreteert. De P1 2.2 standaard geeft andere berichten af dan de P1 4 standaard. Misschien dat je moet zoeken naar identifiers zoals 1.8.1 etc in plaats van hard een bepaalde regel uitlezen zoals je nu doet. Of lees ik dat verkeerd?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op dinsdag 02 oktober 2012 @ 15:00:
kewl.

En dan de P1 structure als JSON versturen. Tenminste, dat denk ik.
Ja Hans, het verzenden etc is erg makkelijk te maken. We weten nu de schrijfwijze.

En wat we ook moeten hebben is wat C700 al aanhaalde, is zoeken naar overeenkomsten in de berichten van alle meters. Niet alle meters zijn gelijk. Ik dacht dat ze allen in de string " *kWh " hadden. Dat is makkelijk te substracten. Het uitlezen moet echt bullit proof zijn.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op dinsdag 02 oktober 2012 @ 15:13:
[...]

Ja Hans, het verzenden etc is erg makkelijk te maken. We weten nu de schrijfwijze.

En wat we ook moeten hebben is wat C700 al aanhaalde, is zoeken naar overeenkomsten in de berichten van alle meters. Niet alle meters zijn gelijk. Ik dacht dat ze allen in de string " *kWh " hadden. Dat is makkelijk te substracten. Het uitlezen moet echt bullit proof zijn.
De standen die we uit willen lezen zijn de 1.8.1, 1.8.2, 2.8.1, 2.8.2, 96.14.0 (hoog/laag) en de gasstand 24.2.1
Punt is dat de elektrastanden op dezelfde regel staan als de identifier en de gasstand een regel lager dan de identifier. Het lijkt mij het beste daarop te zoeken. Gas lijkt ook op een ander punt af te wijken. 24.2.1 staat in mijn berichten tussen haakjes in een regel die begint met 24.3.0 terwijl de P1 V4 standaard er een aparte regel voor heeft. (om het makkelijk te maken)

P1 V4 standaard:
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
/ISk5\2MT382-1000  

1-3:0.2.8(40) 0-0:1.0.0(101209113020W) 
0-0:96.1.1(4B384547303034303436333935353037) 
1-0:1.8.1(123456.789*kWh) 
1-0:1.8.2(123456.789*kWh) 
1-0:2.8.1(123456.789*kWh) 
1-0:2.8.2(123456.789*kWh) 
0-0:96.14.0(0002) 
1-0:1.7.0(01.193*kW) 
1-0:2.7.0(00.000*kW) 
0-0:17.0.0(016.1*kW) 
0-0:96.3.10(1) 
0-0:96.7.21(00004) 
0-0:96.7.9(00002) 
1-0:99.97.0(2)(1-0:96.7.19)(101208152415W)(0000000240*s)(101208151004W)(0000000301*s) 
1-0:32.32.0(00002) 
1-0:52.32.0(00001) 
1-0:72:32.0(00000) 
1-0:32.36.0(00000) 
1-0:52.36.0(00003) 
1-0:72.36.0(00000) 
0-0:96.13.1(3031203631203831) 
0- 0:96.13.0(303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C 3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F) 
1-0:31.7.0.255(001*A) 
1-0:51.7.0.255(002*A) 
1-0:71.7.0.255(003*A) 
1-0:21.7.0.255(01.111*kW) 
1-0:41.7.0.255(02.222*kW) 
1-0:61.7.0.255(03.333*kW) 
1-0:22.7.0.255(04.444*kW) 
1-0:42.7.0.255(05.555*kW) 
1-0:62.7.0.255(06.666*kW) 
0-1:24.1.0(003) 
0-1:96.1.0(3232323241424344313233343536373839) 
0-1:24.2.1(101209110000W)(12785.123*m3) 
0-1:24.4.0(1) 
!141B

[Voor 48% gewijzigd door Gé Brander op 02-10-2012 15:23]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Volgens mij kwestie van heel hoofdstuk 6 in een case statement gieten. Ik zie overigens in de pdf dat er bij de gas readings wel degelijk een date/time verstuurd zou moeten worden.

Is het een idee om -bij wijze van test/wens/parameterisering- de p1 data gewoon raw uit te lezen? Dus het kale bericht over de lijn naar de webclient te gooien?

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

hansdegit schreef op dinsdag 02 oktober 2012 @ 15:23:
Volgens mij kwestie van heel hoofdstuk 6 in een case statement gieten. Ik zie overigens in de pdf dat er bij de gas readings wel degelijk een date/time verstuurd zou moeten worden.
Het lastige is dat we nu al met twee verschillende versies te maken hebben van de P1 standaard (P1 V2.2 en P1 V4).
Is het een idee om -bij wijze van test/wens/parameterisering- de p1 data gewoon raw uit te lezen? Dus het kale bericht over de lijn naar de webclient te gooien?
Als je behoefte hebt aan testdata, ik ben die nu aan het verzamelen voor mijn slimme meter die voldoet aan de P1 V2.2 standaard

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Welke code gebruik je daarvoor? Ik heb ook zo'n ISKRA 382, zou dolgraag iets op mijn Netduino willen hebben, maar durfde het nog niet aan JoopC te vragen....Stekkertje is al klaar. Weet jij dan al hoe je de draden op de Netduino aansluit? (blijkbaar wel)

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

hansdegit schreef op dinsdag 02 oktober 2012 @ 15:27:
Welke code gebruik je daarvoor? Ik heb ook zo'n ISKRA 382, zou dolgraag iets op mijn Netduino willen hebben, maar durfde het nog niet aan JoopC te vragen....Stekkertje is al klaar. Weet jij dan al hoe je de draden op de Netduino aansluit? (blijkbaar wel)
Ik heb een USB naar ethernet device in de meterkast hangen waarop ik een TTL-232R 5V kabel heb aangesloten en die via een verloop op de P1 poort. De kabel kan je programmeren zodat deze de signalen inverteert. Je hebt drie kabeltjes die je aan moet sluiten.

De USB naar ethernet device (een soort van uitgebreide printserver) kan ik dan via software boven op mijn pc aanspreken zodat de computer denkt dat ik een extra RS232 poort heb die ik vervolgens met Advance Serial Data Logger 4.0.2.918 (software) kan uitlezen en de berichten per txt bestand kan opslaan.

Het heeft even geduurd voor ik dit werkend had.

Maar:
Pin 2 van de P1 poort heb ik aangesloten op pin 2 (bruin) van de kabel (RTS/CTS)
Pin 3 van de P1 poort heb ik aangesloten op pin 1 (zwart) van de kabel (GND)
Pin 5 van de P1 poort heb ik aangesloten op pin 5 (geel) van de kabel (RXD)

Met alleen deze kabel aangesloten op de P1 poort werkt het niet, maar ik heb een splitter waarmee ik nu 3 devices heb aangesloten op de P1 poort (Smile P1 en Energq Gateway) en dan doet hij het wel.
Ik vermoed dat het te maken heeft met het request signaal (pin 2). Deze werkt niet als hij alleen aangesloten zit, daar zou ik nog een aparte verbinding voor moeten maken vanaf de +5V. Maar omdat de andere devices de pin 2 op de P1 poort al hoog brengen ontvangt de kabel ook de data.

[Voor 25% gewijzigd door Gé Brander op 02-10-2012 16:18]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Nou Hans, het is geen rocket sience :-)
Op eigen verantwoording.

Zoals ik heb gelezen, RX (dus TX van de P1) op D2 van de Netduino, ground van P1 op ground van de Netduino, RX van P1 op 5v. dan gaat het feest beginnen.

Je moet dus D2 van de netduino uitlezen. Ik heb dus zelf niks kunnen testen.


Visual Basic .NET: filename
1
2
3
4
5
6
7
8
9
10
11
Imports System.IO.Ports 
Dim ComBuferLength As Integer = 1024
Dim ComBuffer As Byte() = New Byte(ComBuferLength - 1) {}
Dim ComPoort2 As New SerialPort(SerialPorts.COM2, 9600, Ports.Parity.None, 8, Ports.StopBits.One)
ComPoort2.Open()

ComPoort2.Read(ComBuffer, 0, ComBuferLength)

For t = 0 To ComBuffer.Length - 1
      Debug.Print(ComBuffer(t).ToString)
Next

Als je onleesbare tekst krijg dan weet je in ieder geval dat ie wat doe.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op dinsdag 02 oktober 2012 @ 16:21:
Nou Hans, het is geen rocket sience :-)
Op eigen verantwoording.

Zoals ik heb gelezen, RX (dus TX van de P1) op D2 van de Netduino, ground van P1 op ground van de Netduino, RX van P1 op 5v. dan gaat het feest beginnen.

Je moet dus D2 van de netduino uitlezen. Ik heb dus zelf niks kunnen testen.


Visual Basic .NET: filename
1
2
3
4
5
6
7
8
9
10
11
Imports System.IO.Ports 
Dim ComBuferLength As Integer = 1024
Dim ComBuffer As Byte() = New Byte(ComBuferLength - 1) {}
Dim ComPoort2 As New SerialPort(SerialPorts.COM2, 9600, Ports.Parity.None, 8, Ports.StopBits.One)
ComPoort2.Open()

ComPoort2.Read(ComBuffer, 0, ComBuferLength)

For t = 0 To ComBuffer.Length - 1
      Debug.Print(ComBuffer(t).ToString)
Next

Als je onleesbare tekst krijg dan weet je in ieder geval dat ie wat doe.
Kleine aanpassing: Parity even en 7 bits ;)

Net een leuk stukje vertaald software tegengekomen om serieel uit te kunnen lezen. Het was vertaald naar het nederlands versie. "Even" werd vertaald met "Zelfs"... Het duurde even voordat ik die doorhad :X

[Voor 9% gewijzigd door Gé Brander op 02-10-2012 16:26]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
c70070540 schreef op dinsdag 02 oktober 2012 @ 16:24:
[...]

Kleine aanpassing: Parity even en 7 bits ;)
Maar je hebt nu een 2e uitlezing van je P1 geplaatst, geheel anders en veel langer.
Wat nu?

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op dinsdag 02 oktober 2012 @ 16:26:
[...]

Maar je hebt nu een 2e uitlezing van je P1 geplaatst, geheel anders en veel langer.
Wat nu?
? Ik vat hem even niet denk ik...

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Ik snap hem nog steeds niet... Ligt geheel aan mij hoor... 8)7

Oh wacht...

Je bedoelt dat het bericht dat ik daar geplaatst heb anders is dan de eerste?

Dat klopt. We hadden het volgens mij over hoe we het bulletproof zouden kunnen maken. Daarop heb ik de opmerking geplaatst dat er intussen twee P1 standaarden zijn. De P1 v2.2 standaard zoals die gebruikt wordt in de nu geplaatste slimme meters, en de P1 v4.0 standaard zoals deze gebruikt gaat worden in de slimme meters die vanaf komend jaar geplaatst gaan worden.

De P1 v4.0 bevat meer informatie, zoals tijdstamp, drie fasen informatie en meer.
De P1 v2.2 is degene die ik als eerste plaatste, de korte, die ik en Hans hebben.

Voorbeeld van een bericht (V2.2) van een ander type meter:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/KMP5 ABCD000123456789

0-0:96.1.1(2041424344303030313233343536373839)
1-0:1.8.1(00080.000*kWh)
1-0:1.8.2(00039.000*kWh)
1-0:2.8.1(00000.000*kWh)
1-0:2.8.2(00000.000*kWh)
0-0:96.14.0(0002)
1-0:1.7.0(0000.22*kW)
1-0:2.7.0(0000.00*kW)
0-0:17.0.0(999*A)
0-0:96.3.10(1)
0-0:96.13.1()
0-0:96.13.0()
0-1:24.1.0(3)
0-1:96.1.0(3031323334353637383930313233343536)
0-1:24.3.0(120403080000)(000008)(60)(1)(0-1:24.2.1)(m3)
(00053.271)
0-1:24.4.0(1)
!

Van deze website

[Voor 78% gewijzigd door Gé Brander op 02-10-2012 17:02]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
edit: volledige code van module1:
Visual Basic .NET: filename
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
Imports Microsoft.SPOT
Imports Microsoft.SPOT.Hardware
Imports SecretLabs.NETMF.Hardware
Imports System.IO.Ports
Imports SecretLabs.NETMF.Hardware.NetduinoPlus


Module Module1

    Sub Main()

        Dim ComBuferLength As Integer = 1024
        Dim ComBuffer As Byte() = New Byte(ComBuferLength - 1) {}
        Dim ComPoort2 As New SerialPort(SerialPorts.COM2, 9600, Parity.Even, 7, StopBits.One)


        ComPoort2.Read(ComBuffer, 0, ComBuferLength)

        For t = 0 To ComBuffer.Length - 1
            Debug.Print(ComBuffer(t).ToString)
        Next


    End Sub

End Module


10 Warnings, maar dat mag de pret niet drukken. Ik zal de stekker eens in de P1 steken. Moet ik nog additionele voeding regelen? Nee toch?


edit:jammer.
"An unhandled exception of type 'System.ArgumentException' occurred in Microsoft.SPOT.Hardware.SerialPort.dll"

[Voor 111% gewijzigd door hansdegit op 02-10-2012 18:03]

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Kan het hiermee te maken hebben?
Start je visual basic op met het progje.
Ga naar (ff spieken) ... Project/properties/refecences
en ADD system.IO
http://i1173.photobucket.com/albums/r593/JoopC/Refs.jpg
Volgens mij moet het zo kunnen werken:
P1NetduinoPlus
Ik heb een 74LS04P gebruikt om het signaal te inverteren naar de Netduino.

Dit is het schema hoe ik het ga proberen: ;)
Schema

Ik ben dus klaar om te testen. JoopC heb jij al een stuk code af wat ik kan testen, zodat ik bijvoorbeeld op een website de tekst kan zien of zo?

[Voor 62% gewijzigd door Gé Brander op 02-10-2012 20:38]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
10 Warnings, maar dat mag de pret niet drukken. Ik zal de stekker eens in de P1 steken. Moet ik nog additionele voeding regelen? Nee toch?


edit:jammer.
"An unhandled exception of type 'System.ArgumentException' occurred in Microsoft.SPOT.Hardware.SerialPort.dll"


Hans, komt goed, Ik kijk vanavond en anders morgen ochtend, anders krijg ik met de mattenklopper. >:)
Maar onthou, 12v is dodelijk voor de N+ onbeschermd.!

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Ik maak me geen zorgen, hoor. Alleen: Visual Studio is een beetje nieuw voor me. VB helemaal.

Ik had het reeds draaien, maar toen klapte heel VB eruit. Ik denk dat ik de pins verkeerd had aangesloten. Ik zoek nog even in dit draadje waar de RX van COM2 zit.

Probleem van praktische aard is dat het snoer naar de meterkast te kort is om het geheel liggend in de huiskamer te testen. Gaat inderdaad goedkomen.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

hansdegit schreef op dinsdag 02 oktober 2012 @ 20:49:
Ik maak me geen zorgen, hoor. Alleen: Visual Studio is een beetje nieuw voor me. VB helemaal.

Ik had het reeds draaien, maar toen klapte heel VB eruit. Ik denk dat ik de pins verkeerd had aangesloten. Ik zoek nog even in dit draadje waar de RX van COM2 zit.

Probleem van praktische aard is dat het snoer naar de meterkast te kort is om het geheel liggend in de huiskamer te testen. Gaat inderdaad goedkomen.
Kijk even naar mijn foto. Het gele draadje gaat naar de RX van com2. De derde digitale pin (D2)

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • erik_bies
  • Registratie: Februari 2003
  • Laatst online: 16-03 22:52
CIM schreef op donderdag 06 september 2012 @ 20:45:
Ik heb zojuist mijn P1 poort weten uit te lezen middels enkel een Arduino en drie draadjes. Zonder inverter of TTL kabel dus.

Ik loop nog tegen 1 issue aan, wat met Arduino 1.0.2 hopelijk wordt opgelost. Dit heeft te maken met de niet-standaard serial parameters, waar meer mensen tegenaan lopen. Helemaal 'af' is mijn oplossing nog niet, al ben ik wel zo ver dat dit het delen waard is. Let op: het telegram wat middels onderstaande voorbeeld-code wordt uitgelezen is 95% correct. Er ontbreken in sommige gevallen dus karakters!

Hoe werkt het? Mijn code maakt gebruik van de nieuwe SoftwareSerial library, welke sinds Arduino 1.0 de nieuwe standaard is. Deze library ondersteunt softwarematige inversion, wat de 7404 of TTL kabel overbodig maakt.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11, true); // RX, TX, inverted

void setup() {

  mySerial.begin(9600);
  delay(1);
  Serial.begin(9600);
}

void loop() {
  while (mySerial.available() > 0) {
    
    incomingByte = mySerial.read();
    incomingByte &= ~(1 << 7);
    char inChar = (char)incomingByte;
    Serial.write(inChar);
  }
}


//update: Arduino 1.0.2 lost dit niet op :(
Dit is op te lossen door de AltSerial library te gebruiken.
zie ook http://zonnigbreda.blogsp...ting-online-met-cosm.html
read2Line functie.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Hans, het is ontzettend moeilijk om op afstand iets te maken. Maar proberen maar....

Visual Basic .NET:
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
Imports Microsoft.SPOT
Imports Microsoft.SPOT.Hardware
Imports SecretLabs.NETMF.Hardware
Imports SecretLabs.NETMF.Hardware.NetduinoPlus
Imports System.IO
Imports System.IO.Ports

Namespace HansP1PoortListner

    Public Class SerialPortP1

        Shared spSerialPort As SerialPort
        Shared OnboardLed As New OutputPort(Pins.ONBOARD_LED, False)
        Shared intFileCounter As Integer = 0

        Public Shared Sub Main()

            spSerialPort = New SerialPort(SerialPorts.COM2, 9600, Parity.Even, 7, StopBits.One)
            AddHandler spSerialPort.DataReceived, New SerialDataReceivedEventHandler(AddressOf Serial_DataReceived)
            spSerialPort.Open()

            'forever sleep, for testing purpose only.
            Thread.Sleep(Timeout.Infinite)

        End Sub

        Private Shared Sub Serial_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
            Dim bBytesToRead As Integer = spSerialPort.BytesToRead

            If bBytesToRead > 0 Then
                Dim bBuffer As Byte() = New Byte(bBytesToRead - 1) {}

                spSerialPort.Read(bBuffer, 0, bBuffer.Length)

                Dim blnLedOnOff As Boolean = True

                For t = 0 To bBytesToRead - 1

                    Debug.Print(bBuffer(t).ToString)
                    OnboardLed.Write(blnLedOnOff)
                    blnLedOnOff = Not blnLedOnOff
                    Thread.Sleep(10)

                Next

                P1FileLogger(bBuffer)

            End If

            OnboardLed.Write(False)
        End Sub

        Private Shared Sub P1FileLogger(ByVal bBuffer As Byte())

            Dim strPath As String = Nothing
            Dim strFileName As String = Nothing
            strPath = "\SD\" & DateTime.Now.ToString("MM(MMM)-yyyy")
            strFileName = strPath & "\" & DateTime.Now.ToString("dd-MM(MMM)-yyyy-") & intFileCounter.ToString & ".log"

            If Not File.Exists(strFileName) Then
                If Not Directory.Exists(strPath) Then
                    Directory.CreateDirectory(strPath)
                End If
            End If

            Using writer As New StreamWriter(strFileName, True)

                writer.WriteLine("Time of Logging : " & DateTime.Now)
                writer.WriteLine(bBuffer)

            End Using

            intFileCounter += 1

        End Sub

    End Class
End Namespace

[Voor 34% gewijzigd door Willie Wortel op 03-10-2012 08:21. Reden: code toegevoegd]


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
*O*

Ik krijg allerlei data uit de seriele poort. Allemaal getalletjes die we nog moeten parsen en interpreteren, maar bottom line: we have lift off.

Wat helemaal leuk is: de meter antwoordt ook als er 3.3v op de request lijn gezet wordt. Wat minder leuk is: hij antwoordt niet meteen, maar in zijn eigen ritme.

Output (komma's en spaties zijn van mij):
40, 27, 86, 10, 101, 89, 100, 82, 114, 22, 86, 86, 86, 31, 37, 62, 11, 13, 19, 35, 70, 94, 21, 125, 54, 46, 42, 21, 19, 25, 31, 25, 31, 25, 21, 25, 31, 25, 19, 25, 13, 25, 50, 50, 31, 25, 25, 25, 50, 90, 74, 86, 74, 31, 11, 70, 70, 94, 31, 31, 62, 70, 46, 30, 86, 82, 20, 33, 39, 105, 44, 50, 123, 70, 94, 31, 19, 58, 70, 31, 25, 86, 82, 20, 33, 39, 105, 108, 50, 123, 70, 94, 31, 31, 13, 31, 13, 35, 34, 30, 86, 82, 20, 33, 39, 105, 108, 50, 123, 70, 94, 31, 62, 19, 70, 21, 21, 13, 82, 20, 33, 61, 86, 44, 108, 54, 114, 50, 109, 118, 118, 54, 39, 105, 44, 50, 50, 109, 118, 118, 22, 54, 108, 37, 33, 39, 105, 108, 50, 50, 109, 118, 118, 118, 54, 118, 37, 33, 61, 86, 44, 18, 50, 54, 109, 44, 44, 108, 118, 37, 33, 61, 86, 44, 108, 54, 54, 114, 45, 61, 86, 44, 108, 54, 18, 54, 45, 61, 86, 44, 108, 54, 18, 54, 45, 61, 86, 108, 114, 50, 50, 115, 45, 61, 86, 44, 108, 54, 50, 45, 54, 18, 36, 118, 22, 86, 18, 86, 18, 118, 22, 118, 22, 86, 18, 54, 18, 86, 18, 118, 22, 118, 22, 86, 18, 86, 18, 70, 22, 86, 18, 54, 61, 86, 108, 114, 50, 54, 45, 50, 82, 114, 118, 54, 50, 82, 114, 118, 118, 118, 101, 109, 118, 101, 109, 118, 101, 45, 101, 109, 86, 83, 108, 114, 50, 50, 101, 66, 61, 109, 118, 118, 22, 118, 54, 118, 22, 61, 86, 108, 114, 50, 50, 45, 111, 57, 61

edit: even de nieuwe code van Joop proberen.

[Voor 1% gewijzigd door hansdegit op 03-10-2012 11:34. Reden: d,t]

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op dinsdag 02 oktober 2012 @ 21:51:
*O*

Ik krijg allerlei data uit de seriele poort. Allemaal getalletjes die we nog moeten parsen en interpreteren, maar bottom line: we have lift off.

Wat helemaal leuk is: de meter antwoordt ook als er 3.3v op de request lijn gezet wordt. Wat minder leuk is: hij antwoord niet meteen, maar in zijn eigen ritme.
hans, hier kan ik wat mee....

  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Jouw nieuwe code spuugt ook van alles uit. Is er een makkelijke manier om dat in de paste buffer te zetten?

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op dinsdag 02 oktober 2012 @ 21:56:
Jouw nieuwe code spuugt ook van alles uit. Is er een makkelijke manier om dat in de paste buffer te zetten?
Ja is makkelijk, morgen ochtend. Ik mag niet meer verder. :-)

Hans, we gebruiken straks een event handler, hoeven we niks aan te doen.
We vullen onze structure in de handler en wachten op een server request en geven de data door.
Zo eenvoudig kan het zijn.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Hans, C,
Ik heb de prog code geschreven om de P1 te loggen naar een SD card.
Maar pas op, op die manier van wegschrijven zit je sd card in een paar uur vol.


Graag zou ik die bestandjes willen bekijken via www.mijnbestand.nl in zip of arj

[Voor 77% gewijzigd door Willie Wortel op 03-10-2012 08:25]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Nou, het is me gelukt de code in de Netduino te krijgen en deze aan te sluiten in de meterkast op de splitter. Ik heb nu vier loggingdevices aangesloten ;) (Smile,Energq,TTLSerial en Netduino)

In het intermediate window van Visual Studio zie ik het volgende langs schieten per bericht:
code:
1
47 73 83 107 53 92 50 77 84 51 56 50 45 49 48 48 51 13 10 13 10 48 45 48 58 57 54 46 49 46 49 40 53 65 52 50 52 53 53 54 51 48 51 48 51 53 51 51 51 51 41 45 46 56 48 53 48 104 49 45 46 56 46 50 40 48 48 53 55 50 57 42 107 87 104 41 13 10 49 45 48 56 48 49 56 104 41 45 46 40 49 57 53 104 48 57 52 46 48 13 48 55 46 48 48 52 87 49 50 48 48 48 42 13 48 46 40 57 42 13 48 46 48 40 13 10 48 45 48 58 57 54 46 49 51 46 49 40 41 13 10 48 57 51 41 45 49 51 41 50 49 48 48 51 49 48 48 48 48 48 41 40 48 48 41 40 54 48 41 40 49 41 40 48 45 49 58 50 52 46 50 46 49 41 40 109 51 41 13 10 40 48 48 48 56 55 46 51 48 50 41 13 10 48 45 49 58 50 52 46 52 46 48 40 49 41 13 10 33 13 10

De cijfers staan allemaal onder elkaar met een ENTER. Die heb ik hierboven weggehaald.

Via translate pagina gekeken wat de inhoud is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
/ISk5\2MT382-1003

0-0:96.1.1(5A4245563030353333)-.8050h1-.8.2(005729*kWh)
1-08018h)-.(195h094.0
07.004W12000*
0.(9*
0.0(
0-0:96.13.1()
093)-13)21003100000)(00)(60)(1)(0-1:24.2.1)(m3)
(00087.302)
0-1:24.4.0(1)
!


We zijn op de goede weg echter er lijkt het een en ander te missen ;)

Op de SD kaart staat een folder [06(Jun)-2011] en daarin staan bestanden met de naam in het volgende format [01-06(Jun)-2011-x] waarbij x staat voor volgnummer beginnend met 1. De inhoud van de bestanden is als volgt:
code:
1
2
Time of Logging : 06/01/2011 00:03:50
System.Byte[]


Voor tijdsynchronisatie lijkt het mij zinvol om via een timeserver de tijd goed te zetten. Bij een herstart zal de Netduino weer beginnen op 1 juni 2011 0:00:00.

Ook lijkt het er op dat er iets van een buffer volloopt of zo, de Netduino wordt elke x seconden/minuten qua signaal losgegooid van de pc.
hansdegit schreef op dinsdag 02 oktober 2012 @ 21:51:
*O*

Ik krijg allerlei data uit de seriele poort. Allemaal getalletjes die we nog moeten parsen en interpreteren, maar bottom line: we have lift off.

Wat helemaal leuk is: de meter antwoordt ook als er 3.3v op de request lijn gezet wordt. Wat minder leuk is: hij antwoord niet meteen, maar in zijn eigen ritme.
Dat klopt. Er wordt standaard elke 10 seconden gemeten en alleen verstuurd als de pin 2 hoog is.
Output (komma's en spaties zijn van mij):
40, 27, 86, 10, 101, 89, 100, 82, 114, 22, 86, 86, 86, 31, 37, 62, 11, 13, 19, 35, 70, 94, 21, 125, 54, 46, 42, 21, 19, 25, 31, 25, 31, 25, 21, 25, 31, 25, 19, 25, 13, 25, 50, 50, 31, 25, 25, 25, 50, 90, 74, 86, 74, 31, 11, 70, 70, 94, 31, 31, 62, 70, 46, 30, 86, 82, 20, 33, 39, 105, 44, 50, 123, 70, 94, 31, 19, 58, 70, 31, 25, 86, 82, 20, 33, 39, 105, 108, 50, 123, 70, 94, 31, 31, 13, 31, 13, 35, 34, 30, 86, 82, 20, 33, 39, 105, 108, 50, 123, 70, 94, 31, 62, 19, 70, 21, 21, 13, 82, 20, 33, 61, 86, 44, 108, 54, 114, 50, 109, 118, 118, 54, 39, 105, 44, 50, 50, 109, 118, 118, 22, 54, 108, 37, 33, 39, 105, 108, 50, 50, 109, 118, 118, 118, 54, 118, 37, 33, 61, 86, 44, 18, 50, 54, 109, 44, 44, 108, 118, 37, 33, 61, 86, 44, 108, 54, 54, 114, 45, 61, 86, 44, 108, 54, 18, 54, 45, 61, 86, 44, 108, 54, 18, 54, 45, 61, 86, 108, 114, 50, 50, 115, 45, 61, 86, 44, 108, 54, 50, 45, 54, 18, 36, 118, 22, 86, 18, 86, 18, 118, 22, 118, 22, 86, 18, 54, 18, 86, 18, 118, 22, 118, 22, 86, 18, 86, 18, 70, 22, 86, 18, 54, 61, 86, 108, 114, 50, 54, 45, 50, 82, 114, 118, 54, 50, 82, 114, 118, 118, 118, 101, 109, 118, 101, 109, 118, 101, 45, 101, 109, 86, 83, 108, 114, 50, 50, 101, 66, 61, 109, 118, 118, 22, 118, 54, 118, 22, 61, 86, 108, 114, 50, 50, 45, 111, 57, 61

edit: even de nieuwe code van Joop proberen.
Hmmm... Als je deze codes vertaald dan komt dit er dus uit:
code:
1
2
3
4
5
6
7
(V
eYdRrVVV%>
#F^}6.*
222ZJVJFF^>F.VR!'i,2{F^:FVR!'il2{F^

#"VR!'il2{F^>F
R!=V,l6r2mvv6'i,22mvv6l%!'il22mvvv6v%!=V,26m,,lv%!=V,l66r-=V,l66-=V,l66-=Vlr22s-=V,l62-6$vVVvvV6VvvVVFV6=Vlr26-2Rrv62Rrvvvemvemve-emVSlr22eB=mvvv6v=Vlr22-o9=

Ik denk dat het te maken kan hebben met het invert gebeuren?

[Voor 68% gewijzigd door Gé Brander op 03-10-2012 11:21]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
c70070540 schreef op woensdag 03 oktober 2012 @ 10:52:
[...]
Dat klopt. Er wordt standaard elke 10 seconden gemeten en alleen verstuurd als de pin 2 hoog is.
[...]

Hmmm... Als je deze codes vertaald dan komt dit er dus uit:
code:
1
2
3
4
5
6
7
(V
eYdRrVVV%>
#F^}6.*
222ZJVJFF^>F.VR!'i,2{F^:FVR!'il2{F^

#"VR!'il2{F^>F
R!=V,l6r2mvv6'i,22mvv6l%!'il22mvvv6v%!=V,26m,,lv%!=V,l66r-=V,l66-=V,l66-=Vlr22s-=V,l62-6$vVVvvV6VvvVVFV6=Vlr26-2Rrv62Rrvvvemvemve-emVSlr22eB=mvvv6v=Vlr22-o9=

Ik denk dat het te maken kan hebben met het invert gebeuren?
Mijn punt was dat het bericht van de meter niet op afroep beschikbaar is. Maar Joop zou dat in een soort van event gieten, dus dat gaat goedkomen.

Die bagger llijkt op iets wat nog even geinverteerd moet worden, inderdaad.

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

hansdegit schreef op woensdag 03 oktober 2012 @ 11:34:
[...]

Mijn punt was dat het bericht van de meter niet op afroep beschikbaar is. Maar Joop zou dat in een soort van event gieten, dus dat gaat goedkomen.
Ach, niet op afroep.... Binnen tien seconden na het vragen is toch wel redelijk op afroep? ;)
Die bagger llijkt op iets wat nog even geinverteerd moet worden, inderdaad.
Ben benieuwd.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Nee, de gegevens zijn on the fly, dus direct oproepbaar. Alleen kunnen de gegevens hooguit x secs oud zijn.
Dus de variabelen worden ververst iedere keer als de P1 poort gegevens verstuurd. Een en ander staat dus los van elkaar.
Daarnaast worden de gegevens ook verstuurbaar naar X, ... pvoutput, cosm of thingspeak of wat je maar wil.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik zit te wachten op een bestandje van jullie met de binary gegevens, uit het progje wat ik geschreven heb.
Ik kan niks testen, balen zeg.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 03 oktober 2012 @ 11:44:
Ik zit te wachten op een bestandje van jullie met de binary gegevens, uit het progje wat ik geschreven heb.
Ik kan niks testen, balen zeg.
Wat bedoel je met bestandje met binary gegevesn? Wil je een bestand dat op de SD kaart is weggeschreven of wat anders?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Precies zoals je zegt. Maar als je spanning op de poort zet kan het tussen de 0 en 10 seconden duren voor je antwoord van de meter krijgt. Dat bedoelde ik met 'niet op afroep'.

En discussie daarover is niet zo zinnig, want het is eigenlijk helemaal geen probleem; je moet er alleen bij het bevragen van de meter rekening mee houden.
JoopC schreef op woensdag 03 oktober 2012 @ 11:44:
Ik zit te wachten op een bestandje van jullie met de binary gegevens, uit het progje wat ik geschreven heb.
Ik kan niks testen, balen zeg.
Ik ga NU aan de gang voor je.

[Voor 29% gewijzigd door hansdegit op 03-10-2012 11:47]

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
c70070540 schreef op woensdag 03 oktober 2012 @ 11:45:
[...]

Wat bedoel je met bestandje met binary gegevesn? Wil je een bestand dat op de SD kaart is weggeschreven of wat anders?
ja, alle bestandjes van de sd card als het kan. maar wel van de code die ik als laatste geschreven heb .

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 03 oktober 2012 @ 11:47:
[...]

ja, alle bestandjes van de sd card als het kan. maar wel van de code die ik als laatste geschreven heb .
Ze zitten op de post!

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
hansdegit schreef op woensdag 03 oktober 2012 @ 11:46:
Precies zoals je zegt. Maar als je spanning op de poort zet kan het tussen de 0 en 10 seconden duren voor je antwoord van de meter krijgt. Dat bedoelde ik met 'niet op afroep'.

En discussie daarover is niet zo zinnig, want het is eigenlijk helemaal geen probleem; je moet er alleen bij het bevragen van de meter rekening mee houden.


[...]

Ik ga NU aan de gang voor je.
Nee Hans, het werkt toch echt anders. De Netduino wacht op de P1 en als deze verzend worden de gegevens afgehandeld. Daarna wacht de N+ opnieuw etc..... Dus de P1 moet altijd "aan" staan en zo is dat ook bedoeld. Dit heet Event afhandeling.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 03 oktober 2012 @ 11:51:
[...]

Nee Hans, het werkt toch echt anders. De Netduino wacht op de P1 en als deze verzend worden de gegevens afgehandeld. Daarna wacht de N+ opnieuw etc..... Dus de P1 moet altijd "aan" staan en zo is dat ook bedoeld. Dit heet Event afhandeling.
Inderdaad, zolang er spanning op de pin van de P1 poort staat worden de berichten verzonden met tussenposen van 10 seconden. De pin hoeft niet telkens uit en aan gezet te worden.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 29-03 17:35
Wat is het toch fijn om zo lekker langs elkaar heen te ouwehoeren.

Mijn ervaring van gisteravond is als volgt:
- zet spanning op de poort
-wacht tussen 0 en 10 seconden voor het eerste bericht

Zodra het eerste bericht binnen is, duurt het altijd 10 seconden voordat je je 2e bericht krijgt. etc.

De spanning is nooit van de poort afgeweest.

edit: maar die 1e vertraging tussen 0 en 10s kan ook het build proces geweest zijn. We gaan het zien.

[Voor 12% gewijzigd door hansdegit op 03-10-2012 12:00]

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

hansdegit schreef op woensdag 03 oktober 2012 @ 11:58:
Wat is het toch fijn om zo lekker langs elkaar heen te ouwehoeren.

Mijn ervaring van gisteravond is als volgt:
- zet spanning op de poort
-wacht tussen 0 en 10 seconden voor het eerste bericht

Zodra het eerste bericht binnen is, duurt het altijd 10 seconden voordat je je 2e bericht krijgt. etc.

De spanning is nooit van de poort afgeweest.

edit: maar die 1e vertraging tussen 0 en 10s kan ook het build proces geweest zijn. We gaan het zien.
Dan zitten we op dezelfde golflengte :)

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Het lijkt hier wel een werkmeeting alleen de koekjes ontbreken. :-)
In ieder geval, de data verzending van de P1 gaat onregelmatig, er is geen constante van 10 secs.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 03 oktober 2012 @ 12:04:
Het lijkt hier wel een werkmeeting alleen de koekjes ontbreken. :-)
Die pakken we er dan gewoon bij :)
In ieder geval, de data verzending van de P1 gaat onregelmatig, er is geen constante van 10 secs.
Hier ben ik het niet mee eens. Mijn seriele poort op de pc die de data ook uitleest doet netjes elke 10 seconden een bestandje schrijven met inhoud. Daar zit in mijn beleving geen enkele inconsistentie in. Elke minuut 6 bestanden tot nu toe.
P1PoortCapture.PNG

[Voor 104% gewijzigd door Gé Brander op 03-10-2012 12:15]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
c70070540 schreef op woensdag 03 oktober 2012 @ 12:06:

Hier ben ik het niet mee eens. Mijn seriele poort op de pc die de data ook uitleest doet netjes elke 10 seconden een bestandje schrijven met inhoud. Daar zit in mijn beleving geen enkele inconsistentie in. Elke minuut 6 bestanden tot nu toe.
[afbeelding]
Kan er toch echt niks anders van maken hoor:
Moet je maar eens de in de bestandjes kijken, naar de tijd.
Time of Logging : 06/01/2011 00:09:31
Time of Logging : 06/01/2011 00:09:34
Time of Logging : 06/01/2011 00:09:41
Time of Logging : 06/01/2011 00:09:43
Time of Logging : 06/01/2011 00:09:51
Time of Logging : 06/01/2011 00:09:53
Time of Logging : 06/01/2011 00:10:01
Time of Logging : 06/01/2011 00:10:04

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

JoopC schreef op woensdag 03 oktober 2012 @ 12:28:
[...]

Kan er toch echt niks anders van maken hoor:
Moet je maar eens de in de bestandjes kijken, naar de tijd.
Time of Logging : 06/01/2011 00:09:31
Time of Logging : 06/01/2011 00:09:34
Time of Logging : 06/01/2011 00:09:41
Time of Logging : 06/01/2011 00:09:43
Time of Logging : 06/01/2011 00:09:51
Time of Logging : 06/01/2011 00:09:53
Time of Logging : 06/01/2011 00:10:01
Time of Logging : 06/01/2011 00:10:04
Ok, maar dat zijn de Netduino bestanden. Misschien dat de Netduino af en toe wat tijd laat liggen voordat het geschreven wordt... Want op mijn pc komt het echt elke 10 seconden binnen.

Als je goed naar de files hierboven kijkt zit er wel wat raars in: 31-34, 41-43, 51-53 en 01-04 seconden. Waarom elke keer 2-3 seconden ertussen en vervolgens 6-7 seconden.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
En weten jullie wat nou het leuke is..... Wat wij ontdekt hebben :

6. Bugfixes: SerialPort.DataReceived event should now fire properly
7. Bugfixes: SerialPort.Read() timeout now implemented properly

solved...next case

[Voor 28% gewijzigd door Willie Wortel op 03-10-2012 13:42]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 27-03 12:59

Gé Brander

MS SQL Server

Volgens mij zit ik al op het hoogste level:
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
Connecting to NetduinoPlus_NetduinoP1...Connected
HalSystemInfo.halVersion:               4.2.0.0
HalSystemInfo.halVendorInfo:            Netduino Plus (v4.2.0.1) by Secret Labs LLC
HalSystemInfo.oemCode:                  34
HalSystemInfo.modelCode:                177
HalSystemInfo.skuCode:                  4097
HalSystemInfo.moduleSerialNumber:       00000000000000000000000000000000
HalSystemInfo.systemSerialNumber:       0000000000000000
ClrInfo.clrVersion:                     4.2.0.0
ClrInfo.clrVendorInfo:                  Netduino Plus (v4.2.0.1) by Secret Labs LLC
ClrInfo.targetFrameworkVersion:         4.2.0.0
SolutionReleaseInfo.solutionVersion:    4.2.0.0
SolutionReleaseInfo.solutionVendorInfo: Netduino Plus (v4.2.0.1) by Secret Labs LLC
SoftwareVersion.BuildDate:              Sep 19 2012
SoftwareVersion.CompilerVersion:        410894
FloatingPoint:                          True
SourceLevelDebugging:                   True
ThreadCreateEx:                         True
LCD.Width:                              0
LCD.Height:                             0
LCD.BitsPerPixel:                       0
AppDomains:                             True
ExceptionFilters:                       True
IncrementalDeployment:                  True
SoftReboot:                             True
Profiling:                              False
ProfilingAllocations:                   False
ProfilingCalls:                         False
IsUnknown:                              False

Afgelopen week nog ge-update.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!

Pagina: 1 2 3 ... 7 Laatste


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee