- 03 sep 2008, 10:26
#5855
Naar aanleiding van een bericht in een andere topic.
Vermits mijn pc geen 24/24 aan kan staan en ik werk met een TFA Nexus (dat geen eigen uploadsoftware heeft) geeft Weather Display veel complicatie. Voorbeeld is maar dagminima & dagmaxima. Incorrecte maandtotalen, neerslaghoeveelheden etc. Noem maar op. Ik heb er enkele maanden mee geprutst met verschillende instellingen maar dit hielp allemaal niet.
Daardoor had ik besloten om eigen software te schrijven. Vermits ik de kern van Weather display wel goed vond en dus zijn verscheidene "tags" (verschillende weervariabelen) was ik van plan om voor al deze variabelen zelf functies te schrijven.
Eerst even uitleggen hoe ik gegevens van de TFA Nexus ophaal. Alles werd geprogrammeerd tot voorheen met C#. Het ophalen van gegevens was is nogal gecompliceerd en houd in dat ik het standaard software pakket van TFA Nexus laat draaien. Die exporteert telkens een excellfile die door mijn C# programma ingelezen word. Die gegevens worden vervolgens geëxporteerd naar een mysql-server op mijn localhost.
Tot hier geen probleem. Mijn mysql-database heeft tot nu toe al gedurende de start van mijn weerstation (dikke anderhalf jaar) alle gegevens om de 10 minuten opgeslaan (reken maar uit hoeveel rijen deze al heeft ).
Nu ging ik met die gegevens in mijn database alle weervariabelen genereren. De functies zelf zijn allemaal correct geschreven, echter het totaalgeheel neemt enorm veel geheugen in beslag en het duurt soms enkele minuten eer de variabelen gegenereerd zijn. Die variabelen exporteer ik dan naar compatibele WDisplay files (vb clientraw.txt) alsook naar de weeractueelfile (openweerdata.htm).
Het programma op zich werkt. Enkel het probleem is dus de performance. Vooral de maximum waarden berekenen, waarden per uur bereken etc neemt veel tijd in beslag.
Ik vraag me af hoe Wdisplay op zo'n korte tijd al die variabelen kan genereren.
Nu had ik gedacht om het programma te herschrijven in java. Java is sneller dan C#. Vermits java nog niet mijn sterkste programmeertaal is gaat het programmeren er van gevoelig minder snel.
Indien er tips zijn, vragen, interesse voor het programma laat deze gerust weten. Desnoods maak ik alles binnenkort opensource zodat mensen zelf de code zien etc. Alleen heb ik nooit informatica gevolgd en dus zal de codestructuur soms de wensen over laten
Vermits mijn pc geen 24/24 aan kan staan en ik werk met een TFA Nexus (dat geen eigen uploadsoftware heeft) geeft Weather Display veel complicatie. Voorbeeld is maar dagminima & dagmaxima. Incorrecte maandtotalen, neerslaghoeveelheden etc. Noem maar op. Ik heb er enkele maanden mee geprutst met verschillende instellingen maar dit hielp allemaal niet.
Daardoor had ik besloten om eigen software te schrijven. Vermits ik de kern van Weather display wel goed vond en dus zijn verscheidene "tags" (verschillende weervariabelen) was ik van plan om voor al deze variabelen zelf functies te schrijven.
Eerst even uitleggen hoe ik gegevens van de TFA Nexus ophaal. Alles werd geprogrammeerd tot voorheen met C#. Het ophalen van gegevens was is nogal gecompliceerd en houd in dat ik het standaard software pakket van TFA Nexus laat draaien. Die exporteert telkens een excellfile die door mijn C# programma ingelezen word. Die gegevens worden vervolgens geëxporteerd naar een mysql-server op mijn localhost.
Tot hier geen probleem. Mijn mysql-database heeft tot nu toe al gedurende de start van mijn weerstation (dikke anderhalf jaar) alle gegevens om de 10 minuten opgeslaan (reken maar uit hoeveel rijen deze al heeft ).
Nu ging ik met die gegevens in mijn database alle weervariabelen genereren. De functies zelf zijn allemaal correct geschreven, echter het totaalgeheel neemt enorm veel geheugen in beslag en het duurt soms enkele minuten eer de variabelen gegenereerd zijn. Die variabelen exporteer ik dan naar compatibele WDisplay files (vb clientraw.txt) alsook naar de weeractueelfile (openweerdata.htm).
Het programma op zich werkt. Enkel het probleem is dus de performance. Vooral de maximum waarden berekenen, waarden per uur bereken etc neemt veel tijd in beslag.
Ik vraag me af hoe Wdisplay op zo'n korte tijd al die variabelen kan genereren.
Nu had ik gedacht om het programma te herschrijven in java. Java is sneller dan C#. Vermits java nog niet mijn sterkste programmeertaal is gaat het programmeren er van gevoelig minder snel.
Indien er tips zijn, vragen, interesse voor het programma laat deze gerust weten. Desnoods maak ik alles binnenkort opensource zodat mensen zelf de code zien etc. Alleen heb ik nooit informatica gevolgd en dus zal de codestructuur soms de wensen over laten