Ik zal me even voorstellen, gezien ik hier nieuw ben. Ik weet daarnaast ook niet of dit het meest geschikte forum onderdeel is, zoniet mijn excuses.
Ik ben een embedded software engineer en houd me voornamelijk bezig met software schrijven voor microcontrollers in allerlei sensoren en besturingen. Al deze devices communiceren met een RF protocol hun actuele waarden.
Nu heb ik in C# een tool gemaakt, die middels een USB Rf ontvanger deze data kan ontvangen.
Deze tool heb ik dynamisch gemaakt zodat ik, kan kiezen wat ik van welke RF devices wil loggen.
Dit punt heb ik inmiddels allemaal werken.
Ik beschik in mijn C# tool over een list met logData en het daarbij behoren type apparaat.
Van elk log item heb ik nu de volgende gegevens beschikbaar:
* Omschrijving van de waarde (bijvoorbeeld CO2 Level, Humidity, Temperature)
* Een eigen omschrijving die ik in de tool eraan kan hangen (bijvoorbeeld "Temperatuur buiten", "CO2 slaapkamer")
* de value van de waarde (momenteel al geconverteerd naar een string, maar dat hoeft niet perse)
* het datatype van de waarde (CO2 level is bijvoorbeeld een UInt16, een temperatuur een decimal)
* een unieke string om een soort van ID voor een log item te hebben (mag ook voor andere doeleinden gebruikt worden)

Nu wil ik de C# deze data laten opslaan in een database op mijn webdomein.
Nouja anders geformuleerd, ik wil op mijn webdomein grafieken kunnen tonen van deze data.
Ik heb dit princippe al werkend gekregen voor mijn slimme electriciteits meter, door gebruik te maken van Phant van sparkfun. Het nadeel daarvan is dat ik alle waarden altijd in de POST action mee moet geven.
Ik wil nu eigenlijk dat ik alleen één waarde naar de database wil schrijven als die binnen komt en of veranderd.
Nu heb ik erg weinig kennis van databases en ben op zoek naar advies hoe dit slim te doen.
Opties die ik zelf in gedachten had:
* De tool weet wat er gelogd moet worden, ik had het idee dat het het snelst werkt om voor elke regel in mijn (dus elk log item) een tabel in mysql te maken. De tool kan dus een mysql query genereren om een nieuwe database in te richten, op maat voor datgene dat gelogd moet worden.
Ik had in gedachte om dan bijvoorbeeld een post te doen waarin ik mee geef: 1 de tabel naam/unieke ID (in screenshot te zien als phantname) en de value. Het post script kan er dan zelf wel een timestamp aanhangen.
* toch gebruik maken van phant, maar dat lijkt me niet praktisch.
* veel meer niet echt
Ik lees veel over big data / noSQL/ of het message queing protocol, omdat mysql niet geschikt zou zijn voor grote hoeveelheden sensor data. Ik vraag me af wat is veel. Dit is voor eigen gebruik en er zullen geen 1000en user met elk 50 logitems komen. Waarschijnlijk enkel hooguit 10 gebruikers met 30 log items.
Als het enkel voor 1 gebruiker werkt ben ik ook tevreden.
Over de update interval zit ik te denken aan 1x per minuut of 1x per 5 minuten per logitem.
Ik heb nog niet nagedacht over hoe die data secure gepost wordt. Het nadeel van werken met een POST action is dat iedereen die POST action aan kan roepen en zo mijn data kan verzieken. Die kans dat iemand daar baat bij heeft acht ik niehiel, maar als er een manier is die automatisch veilig is is dat mooi meegenomen.
Graag jullie adviezen.
C# is geen probleem,
php en mysql is niet mijn sterkste kan, maar kom daar wel aan uit.
Ik ben een embedded software engineer en houd me voornamelijk bezig met software schrijven voor microcontrollers in allerlei sensoren en besturingen. Al deze devices communiceren met een RF protocol hun actuele waarden.
Nu heb ik in C# een tool gemaakt, die middels een USB Rf ontvanger deze data kan ontvangen.
Deze tool heb ik dynamisch gemaakt zodat ik, kan kiezen wat ik van welke RF devices wil loggen.
Dit punt heb ik inmiddels allemaal werken.
Ik beschik in mijn C# tool over een list met logData en het daarbij behoren type apparaat.
Van elk log item heb ik nu de volgende gegevens beschikbaar:
* Omschrijving van de waarde (bijvoorbeeld CO2 Level, Humidity, Temperature)
* Een eigen omschrijving die ik in de tool eraan kan hangen (bijvoorbeeld "Temperatuur buiten", "CO2 slaapkamer")
* de value van de waarde (momenteel al geconverteerd naar een string, maar dat hoeft niet perse)
* het datatype van de waarde (CO2 level is bijvoorbeeld een UInt16, een temperatuur een decimal)
* een unieke string om een soort van ID voor een log item te hebben (mag ook voor andere doeleinden gebruikt worden)
Nu wil ik de C# deze data laten opslaan in een database op mijn webdomein.
Nouja anders geformuleerd, ik wil op mijn webdomein grafieken kunnen tonen van deze data.
Ik heb dit princippe al werkend gekregen voor mijn slimme electriciteits meter, door gebruik te maken van Phant van sparkfun. Het nadeel daarvan is dat ik alle waarden altijd in de POST action mee moet geven.
Ik wil nu eigenlijk dat ik alleen één waarde naar de database wil schrijven als die binnen komt en of veranderd.
Nu heb ik erg weinig kennis van databases en ben op zoek naar advies hoe dit slim te doen.
Opties die ik zelf in gedachten had:
* De tool weet wat er gelogd moet worden, ik had het idee dat het het snelst werkt om voor elke regel in mijn (dus elk log item) een tabel in mysql te maken. De tool kan dus een mysql query genereren om een nieuwe database in te richten, op maat voor datgene dat gelogd moet worden.
Ik had in gedachte om dan bijvoorbeeld een post te doen waarin ik mee geef: 1 de tabel naam/unieke ID (in screenshot te zien als phantname) en de value. Het post script kan er dan zelf wel een timestamp aanhangen.
* toch gebruik maken van phant, maar dat lijkt me niet praktisch.
* veel meer niet echt
Ik lees veel over big data / noSQL/ of het message queing protocol, omdat mysql niet geschikt zou zijn voor grote hoeveelheden sensor data. Ik vraag me af wat is veel. Dit is voor eigen gebruik en er zullen geen 1000en user met elk 50 logitems komen. Waarschijnlijk enkel hooguit 10 gebruikers met 30 log items.
Als het enkel voor 1 gebruiker werkt ben ik ook tevreden.
Over de update interval zit ik te denken aan 1x per minuut of 1x per 5 minuten per logitem.
Ik heb nog niet nagedacht over hoe die data secure gepost wordt. Het nadeel van werken met een POST action is dat iedereen die POST action aan kan roepen en zo mijn data kan verzieken. Die kans dat iemand daar baat bij heeft acht ik niehiel, maar als er een manier is die automatisch veilig is is dat mooi meegenomen.
Graag jullie adviezen.
C# is geen probleem,
php en mysql is niet mijn sterkste kan, maar kom daar wel aan uit.