Ben wel bezig met een Netduino+, veel hulp van C700 (een andere tweaker).reddo schreef op maandag 15 oktober 2012 @ 22:38:
[...]
nope, not mine helaas.... op dit moment draai ik met 2 S0 loggers (1 x productie en 1 x verbruik) naar Pvoutput via een Arduino...
Hebben nu een stabiele N+ core geschreven en self healing (error afhandeling).
Vernieuwde server en serialport engine, robuust...echte tweakers nemen met minder geen genoegen.

Hebben nog wel een hoop werk aan maar het maken is vaak leuker dan hebben.
https://cosm.com/users/zonnestroom
Nu maar eens kijken of we een website kunnen bouwen.

[Voor 9% gewijzigd door Willie Wortel op 16-10-2012 20:00]
Kan ik de nieuwe code testen?
Binnen nu en een paar uur posten we de code. Momentje geduld noghansdegit schreef op dinsdag 16 oktober 2012 @ 09:32:
JoopC, je hebt nu toch zelf ook zo'n meter met P1 poort?
Kan ik de nieuwe code testen?

Tromgeroffel:
Hierbij presenteren JoopC en c70070540 vol trots de eerste publieke beta van de "P1 Port Monitoring with Netduino Plus" sources
Codeplex
Veel succes met testen, proberen en monitoren.
Released onder de MS-PL license, de licentie file zit er ook bij.
Heel veel dank aan JoopC voor het vele code kloppen!
[Voor 41% gewijzigd door Gé Brander op 16-10-2012 09:56]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ja, ik heb nu ook een meter, de links naar cosm en thingspeak die ik zonet heb gegeven zijn mijn logs.hansdegit schreef op dinsdag 16 oktober 2012 @ 09:32:
JoopC, je hebt nu toch zelf ook zo'n meter met P1 poort?
Kan ik de nieuwe code testen?
En de programma code testen, tuurlijk, van mij wel.
edit:
C700, dat ziet er mooi uit zeg op codeplex , daar heb je wel even werk aan gehad, goeiedag.....

[Voor 13% gewijzigd door Willie Wortel op 16-10-2012 09:58]
Valt mee, het meeste werk is het typen van de documentatie etc. Het werkt erg goed Codeplex.JoopC schreef op dinsdag 16 oktober 2012 @ 09:55:
[...]
C700, dat ziet er mooi uit zeg op codeplex , daar heb je wel even werk aan gehad, goeiedag.....
Je kan ook issues en feature requests doen.
Hans, als jij er verder ook bij betrokken wil worden, maak dan een account aan op Codeplex en mail me je accountnaam, dan voeg ik je toe.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Je kan helpen meedenken over features en wellicht iets betekenen in het web gedeelte?hansdegit schreef op dinsdag 16 oktober 2012 @ 10:25:
tuurlijk wil ik betrokken blijven, alleen: mijn VB skills zijn -eh- niet goed genoeg. Wat heb ik dan op codeplex te zoeken?
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Toegevoegd.hansdegit schreef op dinsdag 16 oktober 2012 @ 10:37:
Aangemeld met dezelfde nick als mijn Tweakers nick.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
https://github.com/woutertP1/Smart-meter-P1
Ik bied geen garantie, maar bij mij werkt het

Heel veel dank CIM voor het delen van de code.CIM schreef op dinsdag 16 oktober 2012 @ 21:13:
Voor de Arduino gebruikers: mijn code staat op Github:
https://github.com/woutertP1/Smart-meter-P1
Ik bied geen garantie, maar bij mij werkt het
Ook nog even gekeken om het zelf in de seriele driver in te bakken, maar een eigen firmware compileren bleek zo makkelijk niet helaas.
Zal zelf eea gaan brouwen in C#, dat is wat meer mijn ding (.net developer van beroep, maar vb al lichtjaren geleden). Wil de loggegevens naar een eigen webserver versturen die het in een db logt en analyse mogelijkheden biedt. Kijken of ik ook ergens goede temperatuur gegevens vandaan kan halen om af te zetten tegen het gasverbruik.
Die weg heeft JoopC en Hansdegit ook geprobeerd, maar helaas gefaald. Je bent gewoon beter af met een 7404 oplossing.Peetman schreef op woensdag 17 oktober 2012 @ 10:55:
Sinds afgelopen weekend ook in het bezit van een Netduino plus. Ben nog wel aan het spelen geweest met software matige inversie, want de 7404 chip is nog niet binnen, maar dat lijkt niet te lukken.
Ook nog even gekeken om het zelf in de seriele driver in te bakken, maar een eigen firmware compileren bleek zo makkelijk niet helaas.
Klinkt goed, wil je misschien aanhaken op Codeplex en een C# version erbij zetten? De database logging spreekt mij ook zeer aan vanwege eigen zicht op de ruwe data en allerlei leuke dingen daarin doen zonder dat de logger zelf aangepast hoeft te worden.Zal zelf eea gaan brouwen in C#, dat is wat meer mijn ding (.net developer van beroep, maar vb al lichtjaren geleden). Wil de loggegevens naar een eigen webserver versturen die het in een db logt en analyse mogelijkheden biedt. Kijken of ik ook ergens goede temperatuur gegevens vandaan kan halen om af te zetten tegen het gasverbruik.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Hallo Peetman, zoals je weet kan C# en VB kan door elkaar gebruikt worden in VS, echter Express pikt dit niet. De prog code kan VV door de converter http://www.developerfusion.com/tools/convert/csharp-to-vb/Peetman schreef op woensdag 17 oktober 2012 @ 10:55:
Zal zelf eea gaan brouwen in C#, dat is wat meer mijn ding (.net developer van beroep, maar vb al lichtjaren geleden).
En VB lichtjaren geleden... kan wel kloppen, zo oud ben ik ook ongeveer.

edit:
Softwarematige inversie: de arduino boys zijn ons voor gegaan: http://arduiniana.org/libraries/newsoftserial/
[Voor 10% gewijzigd door Willie Wortel op 17-10-2012 13:08]
Ben persoonlijk iets meer gecharmeerd van GitHub (mede omdat ik dan automatische deployment naar AppHarbor kan doen voor hosting van de website), en omdat het voor anderen wat makkelijker is om te forken en contributie te verlenen.c70070540 schreef op woensdag 17 oktober 2012 @ 12:53:
Klinkt goed, wil je misschien aanhaken op Codeplex en een C# version erbij zetten? De database logging spreekt mij ook zeer aan vanwege eigen zicht op de ruwe data en allerlei leuke dingen daarin doen zonder dat de logger zelf aangepast hoeft te worden.
Dank aan JoopC voor zijn grote inzet!
Veel plezier er mee!
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ben bezig met http://openenergymonitor.org/emon/emoncms/using-emoncms in het programma te hatseflatsen, kan je mooie grafieken toveren.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Helaas nog niets bruikbaars, 7404 ic is nog niet binnen, dus heb even wat andere dingen voorrang gegeven.JoopC schreef op zaterdag 20 oktober 2012 @ 18:15:
Peetman, we zijn erg benieuwd naar wat jij in elkaar gehatseflatst hebt.
Zodra ik wat heb zal ik het delen.
hallo Peetman, zou jij eens (als je tijd hebt) naar de arduino code willen kijken. Misschien zie jij iets om de 7404 te omzeilen. Het omzetten is maar een regel of 10 code. jij als een geoefend C# programmeur ziet het misschien direkt.Peetman schreef op maandag 22 oktober 2012 @ 09:29:
[...]
Helaas nog niets bruikbaars, 7404 ic is nog niet binnen, dus heb even wat andere dingen voorrang gegeven.
Zodra ik wat heb zal ik het delen.
Het is de newsoftserial lib
http://arduiniana.org/NewSoftSerial/NewSoftSerial12.zip
Eens, het werk voor een softwarmatige oplossing is veel groter dan een kleine hardware uitbreiding.Peetman schreef op maandag 22 oktober 2012 @ 19:58:
Enige optie die ik heb gezien is om softwarematige inversie te doen is zelf een firmware te compileren. Helaas blijkt dat niet triviaal te zijn. Je moet of heel veel functies uit de firmware gooien (sd storage, netwerk) om met gcc en versie te compileren die er op past, of voor enkele duizenden euro's een arm compiler kopen. Beide niet echt een optie als ik met een 7404 ic het kan omzeilen.
Het is op zich ook geen probleem om een invertertje te plaatsen maar kan mij wel voorstellen dat niet iedereen de tools en kennis heeft om het goed te doen. Je kan niet in alles goed zijn

Misschien kunnen wat hardwareboys een simpele solar extensie maken die waar je enkele standaard meters kan aansluiten. Ik denk dan aan een P1 poort, S0 en youless oid. Het printplaatje is niet zo duur en je kan er zo een chipje (bv een inverter) op drukken als die functionaliteit nodig is.
De conditionele compileer statements in de source is een goede keuze. Ik vraag mij wel af wat de verschillen zijn in de build kwa grootte.
Webservice is interessant, misschien kan je vanuit de webservice het bordje instellen.
Wat eenvoudiger is is een paar switches die de netduino gaat inlezen. Vroeger was dat heel normaal bij harde schijven en moederborden.

http://p1netduinoplus.codeplex.com/releases/view/96654
Documentatie volgt later dit weekend.
[Voor 17% gewijzigd door Gé Brander op 26-10-2012 23:45]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Dat zou mooi zijnJoopC schreef op woensdag 07 november 2012 @ 09:55:
Voor het einde van deze maand (Nov 2012) is er een update release 4.3 beta voor Netduino. (Core software) Het is aan te bevelen deze update te implementeren omdat daarmee een aantal gevaarlijke glitches (hanging N+) verholpen zijn. Er moet dan echter wel overgestapt worden naar Visual Studio Express 2012. Deze is weer gratis te downloaden.

Om verder nog wat informatie te geven:
De nieuwste release V0.50 is vrijgegeven gisteren. Te downloaden op http://p1netduinoplus.codeplex.com/
De documentatie is niet meer in de documentation pagina op Codeplex, maar als PDF op de Documentation pagina. De documentatie is nog niet af, het is work in progres. Kost nogal wat tijd namelijk.
Vragen of opmerkingen zijn meer dan welkom.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Joopc
C70070540
De nieuwe V0.50 staan veel dingen nu standaard true, ik weet niet of je dit wilt?
60sec is gefixed zie ik , de nieuwe dag weer op 0 beginnen nog niet?
Komen er nog opties voor meerdere S0 en/of P1 poorten, voor het geval er meerdere meters aanwezig zijn?
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Je kan toch per data provider de tijd instellen. Lees het onderstaande nu eens nauwkeurig.
1
2
3
4
5
6
7
| ' * Settings for PVOutput.org * ' * Create an account first at http://www.pvoutput.org * Const cnstHostPVoutput As String = "pvoutput.org" Const cnstApikeyPVoutput As String = "API" Const cnstSIDPVoutput As String = "SID" ' * Change DataServers write interval * Const cnstSendToPVoutputIntervalInSeconds As Integer = 120 |
En een nieuwe dag op 0 beginnen , tuurlijk zit dat erin.
1
2
3
| 'another day, init all the vars again and sync the clock. Static intToday As Integer = DateTime.Now.Day If intToday <> DateTime.Now.Day Then PowerState.RebootDevice(False) |
Ja die tijd was al opgelost, daarom meld ik het ook, maar die nieuwe dag op 0 beginnen staat onder P1 pulse , geld dat dan ook voor de S0 ?
#If P1poort Then
DecodeTelegram(sbTelegram.ToString)
#Else
'another day, init all the vars again and sync the clock.
'this routine is in Sub StartReadP1poort(), if NO P1poort then...
Static intToday As Integer = DateTime.Now.Day
If intToday <> DateTime.Now.Day Then PowerState.RebootDevice(False)
#End If 'P1poort
Tja sorrie hoor maar het blijft lastig te decoderen wat wat is hier, al div dingen geprobeerd inmiddels maar dat coderen is niet mijn ding.
Handleiding zeker doorgenomen en zag dat het temp sensor gedeelte nog niet af was

Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
2x S0 meter pulsen tellenc70070540 schreef op woensdag 07 november 2012 @ 19:18:
Wat is dan wat jij wilt?
Kan ik dan gewoon 2x deze text onder elkaar zetten en alleen ingang nummer veranderen of denk ik nou te simpel?
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Ik denk dat je ook extra variabelen moet aanmaken. Maar dat kan JoopC wel vertellen hoe dat zit als hij er aan toe komt.Rol-Co schreef op woensdag 07 november 2012 @ 19:24:
[...]
2x S0 meter pulsen tellen
Kan ik dan gewoon 2x deze text onder elkaar zetten en alleen ingang nummer veranderen of denk ik nou te simpel?
De nieuwste versie (V0.60) staat online met de verandering in de documentatie toegevoegd. Het is nu mogelijk om voordat je een update naar de Netduino verzend, eerst de variabelen te saven en deze weer in te laden na het updaten, zodat er zo weinig mogelijk logging gegevens verloren gaan.
Eerst was het zo dat als ik 's avonds de Netduino van een update voorzag, dat ik na de update de waarden van het dagverbruik en dagopbrengst kwijt was. Nu kan dat met minimaal verlies voorkomen worden.
http://p1netduinoplus.codeplex.com/
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik denk dat als je zulke cruciale veranderingen aan de engine aan gaat brengen zonder programmeer kennis je een onstabiel geheel krijgt. In mijn optiek niet aan te raden maar go your gangc70070540 schreef op woensdag 07 november 2012 @ 22:21:
[...]
Ik denk dat je ook extra variabelen moet aanmaken. Maar dat kan JoopC wel vertellen hoe dat zit als hij er aan toe komt.
http://p1netduinoplus.codeplex.com/

- 2 pulsen,....Wat wil je loggen, zon - verbruik of zon-zon, of verbruik-verbruik ?....... aan gedacht al, kan namelijk beide? Dit in verband met wat je met de data gaat doen. Kom met ideeen.
Ik wil alleen programmeren voor een zo een breed mogelijk aantal toepassingen.
nou 2 S0 meters met zelfs appart instelbare pulsecount, en dan 1 voor verbruik en 1 voor terug levering.
Kan je in pv output een 2e systeem voor verbruik maken (wel eigen SID dus) en die samenvoegen als je een donatie maakt daar, of misschien kan het normaal ook wel maar moet hij een andere naam of zo, geen idee hoe dat precies werkt.
Je kan namelijk bij pv-output met een flukso bijv gewoon 2 pulsen selecteren, bijv voor verbruik en opbrengst.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
[MetEenKnipoog]
Probeer je je hier nu te profileren als kenner der nederlandse taal of probeerde je intelligent over te komen?
[/MetEenKnipoog]
Flukso......ik dacht even dat je serieus bezig wilde zijn. Heb even gekeken op die website,.....naaahhhhhhhhh dat gaat het niet worden.
[Voor 34% gewijzigd door Willie Wortel op 08-11-2012 07:56]
http://www.diykyoto.com/uk
Gewoon stekker erin en klaar, echt iets voor jou.
Die klemmen weerhouden mij van dat soort oplossingen. Ik heb een drie fasen aansluiting, en die klemmen moet ik dan creatief in de meterkast, en veilig er aan vast hobbyen.JoopC schreef op donderdag 08 november 2012 @ 07:49:
Rolco, Flukso is voor beginners.........Al eens gedacht aan een Watson?
http://www.diykyoto.com/uk
Gewoon stekker erin en klaar, echt iets voor jou.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik wil gewoon 2 kwh meterjes de pulsen naar pv output sturen, maar dat kan niet begrijp ik....te lastig...of?JoopC schreef op donderdag 08 november 2012 @ 07:49:
Rolco, Flukso is voor beginners.........Al eens gedacht aan een Watson?
http://www.diykyoto.com/uk
Gewoon stekker erin en klaar, echt iets voor jou.
Ik snap dan ook niet goed wat jij wilt met dit en dat andere topic, is het de bedoeling dat er alleen neirds komen die dat vb al helemaal snappen of blijft het een lopend draadje over hoe geweldig slim jij bent.
Maar ik snap je, succes met je netduino, codeplex, vb ez enz.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Sorry maar deze reactie is natuurlijk volledig nergens op gebaseerd en bijzonder uit de hoogte en zonder respect. Veel Tweakers willen je best helpen, maar zo hoog van de toren blazen zijn de meeste Tweakers niet van gediend.Rol-Co schreef op donderdag 08 november 2012 @ 10:36:
[...]
Ik wil gewoon 2 kwh meterjes de pulsen naar pv output sturen, maar dat kan niet begrijp ik....te lastig...of?
Ik snap dan ook niet goed wat jij wilt met dit en dat andere topic, is het de bedoeling dat er alleen neirds komen die dat vb al helemaal snappen of blijft het een lopend draadje over hoe geweldig slim jij bent.
Maar ik snap je, succes met je netduino, codeplex, vb ez enz.
Als je je er een beetje in verdiept dan kan je dit zelf aanpassen. Het is niet zo op Tweakers dat jij vraagt en wij maken het direkt voor je in orde. Als je die verwachting had, dan zat je daar helemaal mis mee.
Ik heb je een hint gegeven. Je zal wat extra variabelen moeten maken en de code aanpassen. Als jij dat niet kan/wil/geen tijd voor hebt/of wat voor reden dan ook, dan is het niet zo dat iemand anders dat meteen voor je gaat doen natuurlijk.
JoopC heeft het meeste van de coding gedaan voor het NetduinoMonitoring project op codeplex, voornamelijk voor zijn eigen wensen. Ik ben samen met HansdeGit aangesloten om zaken te testen, documentatie te maken en ideeen aan te dragen. Sommige van deze ideeen worden wel omgezet in code, sommige niet. Als ik per se iets er in wil hebben kan ik dat niet gaan lopen eisen van JoopC of HansdeGit.
Wat ik wel kan doen is mijzelf verdiepen in de code en in Visual Basic .Net 2010 en zelf aan de gang gaan.
[Voor 4% gewijzigd door Gé Brander op 08-11-2012 12:03]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Vanmiddag ga ik eens kijken of ik jullie programma bij mij werkend kan krijgen, ik ben benieuwd......
gr Tijmen
Beetje kort door de bocht vind je niet?Rol-Co schreef op donderdag 08 november 2012 @ 10:36:
[...]
Ik wil gewoon 2 kwh meterjes de pulsen naar pv output sturen, maar dat kan niet begrijp ik....te lastig...of?
Ik snap dan ook niet goed wat jij wilt met dit en dat andere topic, is het de bedoeling dat er alleen neirds komen die dat vb al helemaal snappen of blijft het een lopend draadje over hoe geweldig slim jij bent.
Maar ik snap je, succes met je netduino, codeplex, vb ez enz.
En dat ik je meer geschikt acht voor een stekker klaar Watson komt door deze reactie van je:
Rol-Co in "Elektriciteit opwekken met zonnepanelen (PV)"
.
Rol-Co schreef op zondag 04 november 2012 @ 12:44:
Mooi
iemand nog meer hier die logt met een netduino, begin zachtjes aan gestoord te worden van dat ding, met de nieuwe software/code elk half uur stopt ie met loggen.
[Voor 16% gewijzigd door Willie Wortel op 08-11-2012 14:47]
Succes! Als je vragen hebt dan horen we het wel. Waar mogelijk helpen we natuurlijk.tdboer schreef op donderdag 08 november 2012 @ 12:10:
Goede middag mede tweakers, ik heb sinds een 2 maanden zonnepanelen op mijn dak staan en volg jullie project met volle intresse. Ik moet zeggen jullie timmeren hard aan de weg! Ik was begonnen met het loggen via Arduino, maar ruimte gebrek zorgde ervoor dat ik verleden week een netduino aangeschaft heb.
Vanmiddag ga ik eens kijken of ik jullie programma bij mij werkend kan krijgen, ik ben benieuwd......
gr Tijmen
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik wil de software "verbouwen" om 2 x S0 meten voor mijn zonnepanelen. Klopt het dat deze versie de P1 poort gebruikt om zonnepanelen te meten en de S0 gebruikt om het stroomverbruik te meten? Of kan ik de S0 ook gebruiken?
Als je van de S0 code een object maakt (vanuit een class) dan kan je in de constructor parameters toevoegen om bv aan te geven waar je S0 meter op is aangesloten en/of het aantal pulsen per kWh.tdboer schreef op donderdag 08 november 2012 @ 16:03:
Het is me gelukt om de juiste firmware te installeren en V0.60 te uploaden. Wow wat een berg programmeren zit hier achter. Ik heb 10jaar geleden wel eens met VB gewerkt, maar ik ben er achtergekomen dat dit ver weg gezakt is. ;-)
Ik wil de software "verbouwen" om 2 x S0 meten voor mijn zonnepanelen. Klopt het dat deze versie de P1 poort gebruikt om zonnepanelen te meten en de S0 gebruikt om het stroomverbruik te meten? Of kan ik de S0 ook gebruiken?
Ik heb het niet zo op met VB maar denk dat mijn c# code maar ga omschrijven, tenminste het S0 log gedeelte. Die plak ik eenvoudig in de code van Joop et al.
@Rol-Co: jammer. Ook jouw bijdragen hadden tot een beter programma kunnen leiden.
@JoopC:
Ik meen dat ik het al eerder in de mail aan je gevraagd had (maar misschien was ik niet duidelijk)...Zou je in main() een check kunnen doen vwb de kortste sleeptime? Als ik bijvoorbeeld iedere 10 s op SD kaart wil loggen, kan dat niet, omdat de sleeptime gebaseerd is op het loginterval op bijvoorbeeld pvoutput.
Nee, de P1 poort is niet hetzelfde. Lees de handleiding even goed door.tdboer schreef op donderdag 08 november 2012 @ 16:03:
Het is me gelukt om de juiste firmware te installeren en V0.60 te uploaden. Wow wat een berg programmeren zit hier achter. Ik heb 10jaar geleden wel eens met VB gewerkt, maar ik ben er achtergekomen dat dit ver weg gezakt is. ;-)
Ik wil de software "verbouwen" om 2 x S0 meten voor mijn zonnepanelen. Klopt het dat deze versie de P1 poort gebruikt om zonnepanelen te meten en de S0 gebruikt om het stroomverbruik te meten? Of kan ik de S0 ook gebruiken?
P1 poort is de uitgang van de Slimme meter van Liander/Stedin/etc. Deze geeft elektratarief, elektraverbruik en teruglevering én gasverbruik door. Het is een serieel protocol dat een bericht doorgeeft.
S0 poort is niets meer dan een puls signaal dat per puls een bepaalde waarde energiemeting doorgeeft. Dat kan verbruik of levering zijn.
Je kan de diverse poorten niet door elkaar gebruiken.
V0.6.1 is online gezet. Er zat een bug in de berekening voor de temperatuur sensor.
b.t.w. Aard01, we hebben je topic wel redelijk gekaapt zie ik nu. Wil je liever dat we dit doorzetten in een apart nieuw topic?
[Voor 113% gewijzigd door Gé Brander op 08-11-2012 20:10]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Hallo Hans, als je de sleeptime van de sdcard naar 1 sec zou zetten dan wordt deze nog steeds bepaald door de eerstvolgende dataserver tijd. Wil je dit sneller dan moet je hem in de telegram plaatsen. De kortste tijd is dan 10 secs, immers de telegrammen komen elke 10 secs binnen.hansdegit schreef op donderdag 08 november 2012 @ 17:39:
Ik snap ook nog steeds niet heel veel van VB, maar als je al eerder in een andere taal hebt geprogrammeerd kan de code van JoopC niet echt veel geheimen voor je herbergen. Ik heb al heel wijzigingen zelf weten aan te brengen, gewoon om dingetjes te testen. Ik blijf gewoon keer op keer de laatste versie downloaden, opdat de basis voor mijn eigen brouwsels steeds beter wordt.
@Rol-Co: jammer. Ook jouw bijdragen hadden tot een beter programma kunnen leiden.
@JoopC:
Ik meen dat ik het al eerder in de mail aan je gevraagd had (maar misschien was ik niet duidelijk)...Zou je in main() een check kunnen doen vwb de kortste sleeptime? Als ik bijvoorbeeld iedere 10 s op SD kaart wil loggen, kan dat niet, omdat de sleeptime gebaseerd is op het loginterval op bijvoorbeeld pvoutput.
Maar onthou, lezen en schrijven is niet thread veilig icm socket.connect. Je moet of de andere threads suspenden of het wegschrijven gaan behandelen als een dataserver in dezelfde loop, anders is je programma onstabiel. Het makkelijkste voor je is een dataserver die je niet gebruikt de code daarvan verwijderen en daar de sdcard sub routine in plaatsen.

Kunnen jullie me misschien helpen? Ik krijg de volgende foutmelding, maar ik op internet wordt ik niet veel wijzer:
ReadConfig in
A first chance exception of type 'System.IO.IOException' occurred in Microsoft.SPOT.IO.dll
A first chance exception of type 'System.IO.IOException' occurred in System.IO.dll
Error Reading File \sd\NetduinoP1.ini
ReadConfig in
[Voor 15% gewijzigd door tdboer op 08-11-2012 20:42]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Hallo tw_eek, de s0 pulse code is maar 5 regels in een sub waar een interrupt op staat, en voedt een struct met 2 variabelen. In de sub zit het uitlezen van een temperatuur sensor. Denk zelf dat een 2e sub routine makkelijker is vanwege de weinige code, maar ben erg benieuwd naar je programma code.tw_eek schreef op donderdag 08 november 2012 @ 16:53:
[...]
Als je van de S0 code een object maakt (vanuit een class) dan kan je in de constructor parameters toevoegen om bv aan te geven waar je S0 meter op is aangesloten en/of het aantal pulsen per kWh.
Ik heb het niet zo op met VB maar denk dat mijn c# code maar ga omschrijven, tenminste het S0 log gedeelte. Die plak ik eenvoudig in de code van Joop et al.
Met de Netduino+ V2 (nieuw) zou ik het anders programmeren omdat de N+2 4x zo snel en veel geheugen heeft.
Ik zie nu dat mijn Netduino ook niets schrijft. We zullen er eens naar kijken. Ik denk niet dat jij wat fout doettdboer schreef op donderdag 08 november 2012 @ 21:02:
Hallo C700, zo een kop thee maken en al gereageerd. Ik heb vanmiddag al een hoop geprobeerd, met / zonder SD, SD geformateerd (fat16k), meerdere opties aan en uit. Maar in de debug blijft deze steeds terug komen. Ik kan de Netduino via de webinterface bereiken en files downloaden. Vaminddag was er een logfile aangemaakt. Wat me opviel was dat de tijd op 0:00 bleef.

Ik heb mijn Netduino net even op afstand geconfigureerd:
1) http://192.168.1.x:yyyyy/yourpassword
2) http://192.168.1.x:yyyyy/Config:WriteToSDcard:False
3) http://192.168.1.x:yyyyy/Config:WriteToSDcard:True
En daarna deed hij het opeens weer... Bugje denk ik.
Ik weet zeker dat ik in de configuratie heb aangegeven dat de Netduino moet schrijven naar SD kaart.
Misschien leuk om even te proberen of na een herstart hij weer niet schrijft, en bij het uitvoeren van bovenstaande zaken of het dan weer wel werkt.
[Voor 30% gewijzigd door Gé Brander op 08-11-2012 21:28]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Hallo tdboer, bij opstarten zij je je IP en de tijd, kloppen deze gegevens, tijd, IP.tdboer schreef op donderdag 08 november 2012 @ 21:02:
Hallo C700, zo een kop thee maken en al gereageerd. Ik heb vanmiddag al een hoop geprobeerd, met / zonder SD, SD geformateerd (fat16k), meerdere opties aan en uit. Maar in de debug blijft deze steeds terug komen. Ik kan de Netduino via de webinterface bereiken en files downloaden. Vaminddag was er een logfile aangemaakt. Wat me opviel was dat de tijd op 0:00 bleef.

Dit is dus een herstart met SaveMemory en daarna LoadMemory
[Voor 163% gewijzigd door Gé Brander op 08-11-2012 21:44]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik zat te kijken en volgens mij gebruiken jullie de tijd die de P1 meter weergeeft. Deze gebruik ik niet en vroeg me af of dit een deel van het probleem kan zijn.
Nee, we gebruiken niet de tijd die de P1 meter weergeeft om de eenvoudige reden dat de P1 geen tijden meegeeft. Alleen ver verborgen in de message, en dan nog maar 1 keer per uur geupdate. (kijk maar eens naar de messages) In de code halen we de tijd via het Internet van een NTP server.tdboer schreef op donderdag 08 november 2012 @ 21:39:
Hallo JoopC, tijdens opstarten zie ik inderdaad mijn ip adres en de NTP tijd voorbij komen. Ik was al aan het tweaken geweest. In de debug mode had ik in de writetoSD loop al de NTP laten uitprinten. Deze kwam wel door in het debug scherm.
Ik zat te kijken en volgens mij gebruiken jullie de tijd die de P1 meter weergeeft. Deze gebruik ik niet en vroeg me af of dit een deel van het probleem kan zijn.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik heb het even nagekeken, savememory werkt altijd, het verschil tussen de 2 routines is dat bij savememory If Directory.Exists("\sd\") Then eerst gebruik. Ik denk, we hebben een nieuw foutje ontdekt in de microsoft code.c70070540 schreef op donderdag 08 november 2012 @ 21:32:
Ik ga zaterdag nog eens even zwaar de verschillende situaties testen. Volgens mij klopt er nog het een en ander niet. Mijn Cosm waarden zijn weer op nul terecht gekomen na de herstart.
[afbeelding]
Dit is dus een herstart met SaveMemory en daarna LoadMemory
Dat je waarden op nul staan komt omdat je nul waarden hebt weggeschreven na je herstart.c70070540 schreef op donderdag 08 november 2012 @ 21:32:
Ik ga zaterdag nog eens even zwaar de verschillende situaties testen. Volgens mij klopt er nog het een en ander niet. Mijn Cosm waarden zijn weer op nul terecht gekomen na de herstart.
[afbeelding]
Dit is dus een herstart met SaveMemory en daarna LoadMemory
En dat komt weer omdat je loadmemory niet werkte na je herstart.
Anoniem: 463612
Ben aan het Netduino-un geslagen, prachtig stukje programeer werk, dikke pluim

Na veel geklooi, proberen kwam ik erachter dat de SD card op fat-standaard moest worden geformateerd. Nu wordt er eindelijk netjes een bestandje geschreven op de SD card. Echter heb nog paar probleempjes, hopelijk kunnen jullie me met de grootste helpen:
Server, SD card, Cosm, Dutch language en Debug staat op True (rest False). Er wordt echter niets weggeschreven naar Cosm (API en Feed id zijn correct), Time wordt ook niet ingeladen, staat na 4/5 tries uiteindelijk op 1985.
Vreemde is, in emulator deployment, ging het prima, zelfs de COSM feed is hiermee ingericht (ging voorheen ook niet).
Waar moet ik het probleem zoeken ?
Mvg en alvast bedankt
Erik
[Voor 5% gewijzigd door Anoniem: 463612 op 10-11-2012 12:45]
Heb je je ip en mac adres ingegeven met msdeploy/configuration/network, daar ligt het aan.Anoniem: 463612 schreef op zaterdag 10 november 2012 @ 12:42:
Goedemiddag,
Ben aan het Netduino-un geslagen, prachtig stukje programeer werk, dikke pluim.
Na veel geklooi, proberen kwam ik erachter dat de SD card op fat-standaard moest worden geformateerd. Nu wordt er eindelijk netjes een bestandje geschreven op de SD card. Echter heb nog paar probleempjes, hopelijk kunnen jullie me met de grootste helpen:
Server, SD card, Cosm, Dutch language en Debug staat op True (rest False). Er wordt echter niets weggeschreven naar Cosm (API en Feed id zijn correct), Time wordt ook niet ingeladen, staat na 4/5 tries uiteindelijk op 1985.
Vreemde is, in emulator deployment, ging het prima, zelfs de COSM feed is hiermee ingericht (ging voorheen ook niet).
Waar moet ik het probleem zoeken ?
Mvg en alvast bedankt
Erik
Anoniem: 463612
Subnet, gateway alles ingevoerd zoals het zou moeten (volgens mij).
Vreemde is dat via de emulator, Cosm is ingericht, en signalen worden ontvangen door Cosm. Zodra ik debug deploy werkt alles behalve data zenden en inloggen op netduino server.
[Voor 6% gewijzigd door Anoniem: 463612 op 10-11-2012 14:52]
Maar als je je datum op 1985 terug krijg heb je echt geen juiste verbinding met je router immers er is geen verbinding met de time server. Het zit echt in de config.
Anoniem: 463612
Heeft thingsspeak hier ook problemene mee ?
Anoniem: 463612 schreef op zondag 11 november 2012 @ 11:11:
Tis gelukt, vraag me niet hoe, wordt nu data verstuurd naar Cosm (zo uit mijn hoofd elke minuut ?) echter cosm hapert vreselijk, soms wel 30 minuten geen gegevens.
Heeft thingsspeak hier ook problemene mee ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| ' * Settings for ThingSpeak.com = 184.106.153.149 * ' * Create an account first at http://www.thingspeak.com * Const cnstHostThingSpeak As String = "thingspeak.com" Const cnstApiKeyThingSpeak As String = "API" ' * Change DataServers write interval * Const cnstSendToThingSpeakIntervalInSeconds As Integer = 60 ' * Settings for Cosm.com * ' * Create an account first at http://www.cosm.com) * Const cnstHOSTCosm As String = "api.pachube.com" Const cnstApiKeyCosm As String = "API" Const cnstFeedIdCosm As String = "FeedID" ' * Change DataServers write interval * Const cnstSendToCosmIntervalInSeconds As Integer = 60 |
Zoals je hier ziet, inderdaad elke 60 seconden. Ik heb niet echt last van de haperingen in Cosm. Maar probeer ThingsPeak anders even om te testen of die hetzelfde resultaat geeft bij jou.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Anoniem: 463612
Zit even naar jouw Cosm output te kijken, ook hier zitten gaten in van 7 minuten, niet zo extreem als die van mij, maar toch.
Zal vanavond TS even proberen.
Erik
Ik weet dus niet of ik wel zo een goede maatstaf ben

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Heb ff op internet gezocht, maar kan alleen vinden dat ze op 7-12v of 5v usb stekkeradapter kunnen werken.
Dat is niet veelJoopC schreef op dinsdag 13 november 2012 @ 14:26:
Hallo Freeman, ik heb het net even gemeten, 2 watt gebruikt de Netduino.

En dat is de netduino+ kaal of met randapparatuur (voorzover nodig/het geval)?
Dat is compleet. Op een switch voor de netwerkverbinding na dan...Freemann schreef op dinsdag 13 november 2012 @ 19:32:
[...]
Dat is niet veel
En dat is de netduino+ kaal of met randapparatuur (voorzover nodig/het geval)?

Bij mij is het ook ongeveer 2 Watt.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Het hielp door een nieuw project te maken en de sourcecode te kopiëren in een nieuw bestand.
Maar goed hier dan mijn verhaaltje.
Met wat hardware kan ik vier So signalen verwerken voor het tellen van pulsen uit de kWh meter.
Dit is de interface van de netduino naar de So tellers:
digitaal UIT: twee draadjes. Met deze draadjes selecteer ik een van de vier tellers.
(0,0 = teller 1),(0,1 = teller 2),(1,0 = teller 3),(1,1 = teller 4)
digitaal IN: de interface geeft een puls als een van de tellers een puls geeft. In theorie kunnen de tellers op het zelfde moment een puls geven maar dat is niet zo erg. Het gaat niet om de stand maar om het feit dat er een puls is geweest.
Deze heb ik in de 'tweakers' build op pin 13 gezet die bij de opgaande flank van het signaal een routine zal aanroepen. Zo wordt de So teller van de originele software gebruikt.
digitaal IN: twee draadjes. Afhankelijk van de selectie van de tellers staat op deze draadjes de stand van de So teller. Om geen belachelijke hardware te gebruiken heb ik gekozen voor een twee bit teller, deze gaat van 0 naar 3 om vervolgens weer naar 0 te gaan. Als je langer dan vier pulsen wacht met uitlezen van de teller dan ben je een cyclus kwijt. Daarom heb ik in ieder geval de interrupt aangesloten, dank voor de tip van Lord en nog wat.
In de source code heb ik de volgende passages aangepast:
1
2
3
4
| ' * Do you have a pulse meter, required for PVoutput * #Const soPulseMeter = True ' * Are pulse counters connected, tw_eek addition. #Const soPulseCounters = True |
Zoals ik het in de code zie kan het alleen werken als je P1poort op true zet.
Voor het gemak heb ik die check even uit gezet

1
2
3
4
5
6
7
8
| ' ***** ****** ' * Do NOT change this part! * '#If Not P1poort Then '#Const SendDataToCosm = False '#Const SendDataToThingSpeak = False '#Const SendDataToOpenEnergyMonitor = False '#End If 'P1poort ' ***** |
De 'tweak' So teller maakt gebruik van D13, die heb ik zo gehouden en wat extra's toegevoegd.
In deze test heb ik twee kWh meters gemaakt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #If soPulseMeter Then Public Pin_D13 As InterruptPort = New InterruptPort(Pins.GPIO_PIN_D13, False, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh) #End If 'soPulseMeter #If soPulseCounters Then 'input port netduino definition for reading kWh counters Public GetCounterBit0 As InputPort = New InputPort(Pins.GPIO_PIN_D0, False, Port.ResistorMode.Disabled) Public GetCounterBit1 As InputPort = New InputPort(Pins.GPIO_PIN_D1, False, Port.ResistorMode.Disabled) '// 1 = input, Zb: bit1 value kwh meter 'output port netduino definition for selecting kWh counter Public SelectCounterBit0 As OutputPort = New OutputPort(Pins.GPIO_PIN_D2, False) '2 = output, S0: bit0 select kwh meter Public SelectCounterBit1 As OutputPort = New OutputPort(Pins.GPIO_PIN_D3, False) '3 = output, S1: bit1 select kwh meter #End If Public soPulseMeter As New SOpulseMeter Public soCounter1, soCounter2 As kWhMeter |
In de laatste regel zie je dat er twee tellers zijn van het soort kWh meter. Dit zijn objecten van een klasse. Het verschil met de struct van SOpulseMeter is dat de struct alleen variabelen bevat en de klasse bevat ook nog logica zoals subs en functions.
Later in de code vul ik de meters met informatie zoals naam, aantal pulsen per kwh en fysiek aangesloten meternummer.
1
2
3
4
5
6
7
8
9
| #If soPulseMeter Then 'PulseCouter will execute when puls is received AddHandler Pin_D13.OnInterrupt, AddressOf PulseCounter Pin_D13.EnableInterrupt() : Thread.Sleep(100) : Pin_D13.ClearInterrupt() #End If 'soPulseMeter #If soPulseCounters Then soCounter1 = New kWhMeter("Schuur", 2000, 1) soCounter2 = New kWhMeter("Dak", 2000, 3) #End If |
In de routine pulsecounter heb ik twee regels toegevoegd:
1
2
3
4
| #If soPulseCounters Then Leesmeter(soCounter1) Leesmeter(soCounter2) #End If |
En dit is de routine die de per meter de waarde gaat administreren in het object.
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
| #If soPulseCounters Then Public Sub Leesmeter(ParMeter As kWhMeter) Select Case ParMeter.Meternummer Case 1 If True Then SelectCounterBit1.Write(False) SelectCounterBit0.Write(False) Exit Select End If Case 2 If True Then SelectCounterBit1.Write(False) SelectCounterBit0.Write(True) Exit Select End If Case 3 If True Then SelectCounterBit1.Write(True) SelectCounterBit0.Write(False) Exit Select End If Case 4 If True Then SelectCounterBit1.Write(True) SelectCounterBit0.Write(True) Exit Select End If End Select Thread.Sleep(10) ' sleep to let the counters react. ParMeter.NieuweMeting((If(GetCounterBit1.Read(), 1, 0)) * 2 + (If(GetCounterBit0.Read(), 1, 0))) End Sub #End If |
In een ander bestand heb ik de code van de kWh meter geplaatst, dat maakt het wel weer zo overzichtelijk.
Dit is de code van mijn meterkasthardware.vb
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
| Public Class kWhMeter Public Naam As String Public Meternummer As Integer Public Totaalpuls As Integer Private nPulsenPerkWh As Integer Public Tnow As Integer, Tlast As Integer, nOverflow As Integer, nPulsT1 As Integer Private dagnummer As Integer Public StartDateMeter As DateTime, TlaatsteMeting As DateTime Public DeltaTWattage As Single, DeltaTMaxWattage As Single Public TspanSeconds As Integer Public T1 As DateTime Public Tspan As TimeSpan Public Sub New(ByVal ParNaam As String, ByVal ParPulsenPerKwh As Integer, ByVal ParMeternummer As Integer) Naam = ParNaam nPulsenPerkWh = ParMeternummer Meternummer = ParMeternummer Tlast = 0 nPulsT1 = 0 TspanSeconds = 0 DeltaTWattage = 0 nOverflow = 0 dagnummer = DateTime.Now.Day StartDateMeter = DateTime.Now T1 = DateTime.Now End Sub Public Function getDaykWhkWp() As Single Return CSng(Totaalpuls + Tlast) / CSng(nPulsenPerkWh) End Function ''' ' ParS0Tellerwaarde is de waarde van de S0 teller ' De teller heeft vier waarden(0,1,2,3). Na 3 komt 0. ' Het is belangrijk de tellerstand regelmatig te lezen om geen overflow te missen Public Sub NieuweMeting(ParS0Tellerwaarde As Integer) Tnow = ParS0Tellerwaarde 'De laatste tellerwaarde If Tlast <> Tnow Then 'De laatste gelezen tellerwaarde is anders dan de laatst bekende If Tnow < Tlast Then 'De nieuwste waarde is kleiner van de vorige, er is een overflow. nOverflow += 1 End If Tlast = Tnow End If ' bereken het totaal aan pulsen na start en bewaar de tijd van de laatste meting Totaalpuls = nOverflow * 4 + Tnow TlaatsteMeting = DateTime.Now CalculateDeltaT() ' bereken nieuwe deltat waarden If dagnummer = 0 Then dagnummer = DateTime.Now.Day End If If DateTime.Now.Day <> dagnummer Then ' save the day ' reset counters Reset() End If End Sub Public Sub Reset() ' reset tellers Tnow = 0 nOverflow = 0 nPulsT1 = 0 DeltaTMaxWattage = 0 dagnummer = DateTime.Now.Day End Sub Public Sub CalculateDeltaT() ' Bereken wattage tussen de tijden T1 en TlaatsteMeting ' T1 bevat de startdatum en tijd van de meting ' nPulsT1 bevt het aantal pulsen van de kWhMeter bij T1 ' Bereken de deltat in seconden If TlaatsteMeting > T1 Then ' bereken het wattage alleen als de tijden verschillen Tspan = TlaatsteMeting.Subtract(T1) TspanSeconds = Tspan.Seconds + Tspan.Minutes * 60 + Tspan.Hours * 3600 ' aantal pulsen / (nPulsenPerKwh) * 1000 * ( 3600 / Tspan) 'DeltaTWattage = (Totaalpuls - nPulsT1) / (nPulsenPerkWh) * 3600 / TspanSeconds * 1000; If TspanSeconds > 0 Then DeltaTWattage = CSng(Totaalpuls - nPulsT1) / CSng(nPulsenPerkWh) * 3600 / CSng(TspanSeconds) * 1000 If DeltaTWattage > DeltaTMaxWattage Then DeltaTMaxWattage = DeltaTWattage ' A new maximum wattage End If Else DeltaTWattage = 0 End If End If End Sub Public Sub StartNewDeltaT() nPulsT1 = Totaalpuls T1 = TlaatsteMeting End Sub End Class |
Bij het opslaan naar thingspeak een tijdelijke aanpassing:
1
2
3
4
5
| sbFeeds.Append("field1=" & soPulseMeter.intWattNow.ToString) sbFeeds.Append("&field2=" & soCounter1.DeltaTWattage.ToString) ' (.CurrentPowerConsumption * 1000).ToString) sbFeeds.Append("&field3=" & soCounter2.DeltaTWattage.ToString) ' sbFeeds.Append("&field4=" & soCounter1.getDaykWhkWp.ToString) ' sbFeeds.Append("&field5=" & soCounter2.getDaykWhkWp.ToString) ' |
In de hoofdroutine ook 1 aanpassing om ervoor te zorgen dat de meters weer met een nieuwe meting moeten starten.
1
2
3
4
5
6
7
8
| ' * Send to data loggers EnsembleDataAndSendToDataServers() #If soPulseCounters Then 'normally only when the data is send to dataservers is ok. soCounter1.StartNewDeltaT() soCounter2.StartNewDeltaT() #End If |
Bij elke teller wordt namelijk de tijd bijgehouden wanneer er een nieuwe meting gaat beginnen. Er is natuurlijk een dagteller maar er worden ook waarden bijgehouden tussen twee tijden. Met de routine StartnewDeltaT() begint weer een nieuwe cyclus. Zo hoef ik nooit na te rekenen hoe lang het is geleden dat er een meting is verzonden naar een server. Na elke meting wordt een gemiddelde berekend (deltaTWattage).
Natuurlijk zitten er nog bugjes in maar daar gaat het niet om. Het is voor de leuk.
Edit: de vb code is via een internetsite van C# naar vb omgezet. Of alles goed werk weet ik niet maar de structuur is ok denk ik.

Gelukkig zitten wij ook niet stil en komt er binnenkort een V1.0 versie uit. We willen natuurlijjk wel dat deze zo bugvrij mogelijk is en dus duurt het testen wat langer.
Ook de documentatie maken neemt wat tijd in beslag, dus nog even geduld voor de volgende, eerste V1.0 versie.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Bij deze de complimenten voor het verzette werk.c70070540 schreef op dinsdag 13 november 2012 @ 21:14:
Goed bezig!Leuk om te zien dat het codeerwerk van JoopC op deze wijze anderen inspireert!
Gelukkig zitten wij ook niet stil en komt er binnenkort een V1.0 versie uit. We willen natuurlijjk wel dat deze zo bugvrij mogelijk is en dus duurt het testen wat langer.
Ook de documentatie maken neemt wat tijd in beslag, dus nog even geduld voor de volgende, eerste V1.0 versie.
Is het niet eenvoudiger voor jullie om de broncode te splitsen in verschillen de bestanden.
-main routine
-web server
-webservers
-sd kaart
De netduino helpers hebben ook een soort opbouw en maakt het een stuk overzichtelijker, zeker met source control.
En we hebben idd alles uitgesplitst in classes zoals je al had aanbevolen en regions aangemaakt zodat een en ander makkelijk is uit/in te klappen om de leesbaarheid te bevorderen maar zoals je weet, je begint met bouwen, dan moet dit erin en dat eruit en zus veranderd, al met al zit je binnen mum van tijd aan 2000 regels code.
De programma code (release V1.0) zoals hij nu is ondersteund tot wel 12 (alle vrije pins) pulsemeters (dynamisch), 12 temperatuur meters, 12 leds, 2 P1 poorten. Dus er is hoop voor Netduino bezitters die meer dan 1 pulsemeters willen loggen.
We zetten nu zwaar in op error handling en gebruikers gemak.
Uiteindelijke doel, iedereen een eigen en mooie datalogging website zonder kosten.
Dat is wel heel erg netjes.c70070540 schreef op dinsdag 13 november 2012 @ 19:33:
[...]
Dat is compleet. Op een switch voor de netwerkverbinding na dan...
Bij mij is het ook ongeveer 2 Watt.
Heb hier nu een Rpi draaien voor Solarlogging(en zsm P1), en die gebruik gem. <4,5 W.
Hier zit dan een 2A usb-StekkerAdapter, usb-Hub, RS485<>USB, Wifi module, SD-kaart.
Draai het met RaspBian (debian versie), webserver, db-server.
redelijk totaal plaatje voor gem. <4,5W (ong. 100 W per dag).
Wat is nu precies jullie doel van de Netduino?
Als ik het begrijp, dan moet de Ńetduino als een soort "API" dienen voor andere apparatuur, heb ik dat goed? Wat ondersteund het programma nu precies?
Anoniem: 463612
Meerdere mensen met dit probleem ?
Nog even geduld voor de nieuwe versie. 😊
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Nee, de Netduino haalt de data van de P1poort en/of pulsemeter en verstuurd deze weer naar dataproviders. Ook is het mogelijk om data te trekken vanaf de Netduino zeg maar. We hebben er een heuse webserver ingebouwd. Nu ondersteund de Netduino 4 data providers cosm, pvoutput, thingspeak en energiemonitor. Verder kan je naar een micro kaartje schrijven om de data later weer op te halen voor grafieken. Ook is er een email class voorhanden voor alerts etc. Dus zat te hobby-en.Freemann schreef op woensdag 14 november 2012 @ 08:28:
[...]
Dat is wel heel erg netjes.
Heb hier nu een Rpi draaien voor Solarlogging(en zsm P1), en die gebruik gem. <4,5 W.
Hier zit dan een 2A usb-StekkerAdapter, usb-Hub, RS485<>USB, Wifi module, SD-kaart.
Draai het met RaspBian (debian versie), webserver, db-server.
redelijk totaal plaatje voor gem. <4,5W (ong. 100 W per dag).
Wat is nu precies jullie doel van de Netduino?
Als ik het begrijp, dan moet de Ńetduino als een soort "API" dienen voor andere apparatuur, heb ik dat goed? Wat ondersteund het programma nu precies?

Ik ben de netduino /arduino verhalen een klein beetje aan het volgen. Ik wil namelijk ook een logger hebben voor een betaalbare prijs.
ik lees dat er een email alert voor handen is, is dat in de huidige versie ?
kun je dan bijvoorbeeld de opbrengst van de dag naar je zelf mailen, of welke alerts kunnen worden verzonden ????
greetz
Ik ben nog maar een beginner met netduino dus daarom mijn vraag, hoeveel interrupt poorten zijn er te gebruiken? Kan dit met alle digitale pins?
oke, dat klinkt best indrukwekkend voor zo'n klein stukje hardwareJoopC schreef op woensdag 14 november 2012 @ 21:25:
[...]
Nee, de Netduino haalt de data van de P1poort en/of pulsemeter en verstuurd deze weer naar dataproviders. Ook is het mogelijk om data te trekken vanaf de Netduino zeg maar. We hebben er een heuse webserver ingebouwd. Nu ondersteund de Netduino 4 data providers cosm, pvoutput, thingspeak en energiemonitor. Verder kan je naar een micro kaartje schrijven om de data later weer op te halen voor grafieken. Ook is er een email class voorhanden voor alerts etc. Dus zat te hobby-en.

Blijf dit met interesse volgen en ben zeer benieuwd naar de vorderingen

Hou nog even volFreemann schreef op donderdag 15 november 2012 @ 08:28:
[...]
oke, dat klinkt best indrukwekkend voor zo'n klein stukje hardware
Blijf dit met interesse volgen en ben zeer benieuwd naar de vorderingen

We testen deze release even goed door, zodat we niet te veel bugs gaan releasen. Dit weekend wil ik hem continue door laten lopen. Dan komt de nieuwe release hopelijk halverwege of eind volgende week uit.
Ik wil de documentatie namelijk ook netjes hebben met deze release.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Er zijn 14 poorten beschikbaar dus genoeg te hobby-en.marijn schreef op donderdag 15 november 2012 @ 07:31:
Ik ben nog maar een beginner met netduino dus daarom mijn vraag, hoeveel interrupt poorten zijn er te gebruiken? Kan dit met alle digitale pins?
Versie release 1.0 ligt nu op de testbank maar de resultaten zijn veelbelovend zeg maar.
Anoniem: 483227
Beste CIM,CIM schreef op vrijdag 07 september 2012 @ 20:01:
Het is gelukt! Ik kan nu mijn slimme meter uitlezen met enkel een oude RJ11 kabel en een Arduino. Sluit geel op pin10, zwart op pin4 en rood op ground, gebruik onderstaande code en je kan beginnen met uitlezen.
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 #include <SoftwareSerial.h> const int requestPin = 4; int incomingByte = 0; String inputString = ""; boolean start_p1_record; boolean data_ready = false; SoftwareSerial mySerial(10, 11, true); // RX, TX, inverted void setup () { mySerial.begin(9600); delay(1); Serial.begin(9600); Serial.println("P1 Smart meter reading - START\n"); pinMode(requestPin, OUTPUT); digitalWrite(requestPin, HIGH); } void loop () { while (mySerial.available() > 0) { incomingByte = mySerial.read(); incomingByte &= ~(1 << 7); char inChar = (char)incomingByte; inputString += inChar; if (inChar == '/') { start_p1_record = true; } if (inChar == '!') { data_ready = true; start_p1_record = false; Serial.println("\n\nData received!\n\n\n"); Serial.println(inputString); inputString = ""; } if (inputString.length() > 350) { start_p1_record = false; inputString = ""; } } }
Ik krijg er dit uit, elke 10 seconden (ik heb geen gasaansluiting, maar wel zonnepanelen):
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /ISk5\2ME382-1003 0-0:96.1.1(xxxhierstaatmijnmetercodexxx) 1-0:1.8.1(00053.950*kWh) 1-0:1.8.2(00084.458*kWh) 1-0:2.8.1(00003.303*kWh) 1-0:2.8.2(00009.309*kWh) 0-0:96.14.0(0002) 1-0:1.7.0(0000.14*kW) 1-0:2.7.0(0000.00*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() !
Bedankt Frank Oxener en ricdijk om het laatste en lastigste gedeelte werkend te krijgen.
Bedankt voor deze informatie! Ik heb het geprobeerd na te bootsen, echter zonder goed resultaat:
- Arduino Uno
- Kamstrup 382 JxC.
- Code en aansluitingen zoals in je post. Geen weerstandjes, gewoon rechtstreeks.
Vraagje: is de baudrate voor alle meters hetzelfde? In DSMR v4.0 lees ik namelijk 115200 baud. Niet dat dat werkt, overigens.
Heb je andere ideeen over wat er mis zou kunnen zijn, of wat ik zou kunnen testen? Ik heb helaas geen scoop.
[Voor 6% gewijzigd door Willie Wortel op 17-11-2012 10:52]
Hier zie je via de ingebouwde Netduino webserver de configuratie Cosm refresh iedere 60 seconden
En hier is nu de Feed, netjes per minuut geupdate.
https://cosm.com/feeds/80258
WARNING, viewing the Cosm website for paranoid tweakers could have harmful site effects.!.

Ik heb de ververs interval nu op 45 seconden gezet.
[Voor 10% gewijzigd door Willie Wortel op 18-11-2012 12:55]
Anoniem: 483227
Hoi JoopC,JoopC schreef op zaterdag 17 november 2012 @ 10:26:
Heb zelf geen Arduino maar ik denk dat je de oude softwareserial aanroept. lees de posts terug, ik heb de juise link naar de newsoftwareserial geplaatst. En de baudrate maakt wel uit, een verkeerde setting maakt je telegram onleesbaar.
Bedankt voor de suggestie, echter dat is 'm niet. Vanaf Arduino 1.0 wordt de toenmalige newsoftwareserial meegeleverd als standaard ... of bedoel je dat er nog een nieuwere is?
Is er een lijstje o.i.d. bekend van de Baudrates die de verschillende slimme meters gebruiken?
Anoniem: 463612
Heel apart, zend nu data naar Cosm, thingspeak en OpenenergyMonitor. Cosm laat overklaarbare freezes zien (soms gaten van 3 minuten soms 10minuten, kan er geen kaas van maken) de andere twee netjes per minuut. Instellingen in ND staan op 60 sec.JoopC schreef op zaterdag 17 november 2012 @ 10:52:
Hallo Robijnzon, ik heb de Cosm feeds eens bekeken en heb de "Onregelmatigheden" in de feed gerepareerd.
Hier zie je via de ingebouwde Netduino webserver de configuratie Cosm refresh iedere 60 seconden
[afbeelding]
En hier is nu de Feed, netjes per minuut geupdate.
https://cosm.com/feeds/80258
WARNING, viewing the Cosm website for paranoid tweakers could have harmful site effects.!.![]()
Ik heb de ververs interval nu op 45 seconden gezet.
Kun je mischien in de volgende software editie een msg reply van Cosm inbouwen welke logt op de sd-card ?.

Cosm geeft naar mijn idee wel de mooiste weergave/grafieken.
Ik ben dit topic tegen gekomen bij het zoeken naar een oplossing. Wil nog wel even wachten tot de netduino plus 2 leverbaar is en dan ga ik ook los.
Nog wel even een vraag. Is het mogelijk om de data te loggen naar een mysql database in het lokale netwerk? Misschien iemand stukje voorbeeld code? of zou dit te groot worden voor de netduino?
Grafieken kun je zelf mooi maken met behulp van Google Visualization libraries. Ben beter in PHP als in VB vandaar mijn vraag.
[Voor 10% gewijzigd door jan-martin op 19-11-2012 19:42]
Mijn oplossing voor nu: loggen naar SD card en dan periodiek laden in MySql. Daarna kan je Google Visualization los. Is inderdaad veel leuker om zelf grafiekjes te maken.
Klopt het dat je S0 pulslogging niet helemaal lekker werkt?JoopC schreef op zaterdag 17 november 2012 @ 10:52:
n hier is nu de Feed, netjes per minuut geupdate.
https://cosm.com/feeds/80258
Hier sinds vandaag ook een slimme meter en zeer binnenkort PV. Daarom ook op zoek naar een methode om de boel uit te lezen. Netduino spreekt me erg aan.