Sida 1 av 2

Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 12:02:33
av ristomemo
Håller på med ett projekt där en PIC mäter tempen via flera DS18s20 och sedan ska utföra lite styrning. Inga problem så långt. Men skulle gärna vilja logga tempen på en pc och få fina tempkurvor. Det finns ju en uppsjö av färdig loggmjukvara som pratar direkt på ds18s20, men finns det någon färdig (och så klart gärna fri) mjukvara som kan logga och direkt plotta tempkurvor om jag låter PICen spotta ut tempen i blindo i ren text mot comporten.

Som exempel nedan

sensor1;20,2
sensor2;15,7
osv

Kan ju logga med ett terminalprogram till en textfil, som sedan läses in i excel osv. Men det blir lite mycket manuellt jobb. Har tyvärr inte kunskapen att programmera windowsprogram ännu, för då hade det säkert varit snabbt att skriva en egen mjukvara.

Alt 2 är att PICen får emulera en/flera ds18s20, men det kändes enklare att PICen spottar ur sig tempen i klartext.

Några idéer?

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 12:26:49
av sodjan
> Har tyvärr inte kunskapen att programmera windowsprogram ännu,

Vad är det du saknar ? Är inte detta ett bra tillfälle att fixa det ?
Det är ju en väldigt dålig ursäkt för att inte gör lite själv...

Jag tror att du även kan få Excel att läsa direkt från en COM port
med lite VBA programmering.

Jag angav "excel reading com port" i Google och det finns flera träffar, t.ex :
http://dev.emcelettronica.com/serial-po ... -excel-vba
Men kolla själv...

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 12:30:32
av AndLi
Det går alldeles utmärkt att få excel/vba att läsa av en serieport. Inte helt övertygad om att det var det exempel som sodjan använde som jag hade som grund, men det var ett liknande tänk utan några krav på extra installerade komponenter.

Man får mycket gratis med excel, men också en liten tröskel att komma över när det gäller att hoppa mellan cellerna från VBA (eller för mig är det en avgrund varje gång, förstår inte varför jag har så svårt att greppa deras tänk...)

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 12:47:01
av ristomemo
sodjan skrev:> Vad är det du saknar ? Är inte detta ett bra tillfälle att fixa det ?
Det är ju en väldigt dålig ursäkt för att inte gör lite själv...
Man kan nog enkelt säga att det är tid som saknas, eller hur man ska uttrycka sig, andra saker prioriteras före. Tanken är ju att någon gång ska jag lära mig.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 12:56:34
av Norberg
Låter nästan exakt som mitt temperturloggnings system http://github.com/Norberg/logger.
Det består av en arduino som läser temp och sen skriver ut det på serie porten enligt formatet:
Sensor: Temp ID: 10 DE C6 35 1 8 0 86 Temp: 24.8C
och sedan ligger det ett python script som läser av det och skriker ut det på port 7011, och sen ytterliggare ett skript som
spara värderna i en sqlite databas och plottar dom var 5:e minut, resultat: http://sheeva.wippiespace.com/daily.png

Som det är nu är anvisningarna väldigt spartanska och linux anpassade, men är du intresserad så skulle jag kunna fixa anvisningarna och windows stöd om du är intreserad av att testa.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 13:13:51
av ristomemo
Visst låter det intressant om det är något du vill släppa ifrån dig.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 13:30:35
av Norberg
Koden finns redan publikt tillgänglig och tanken har hela tiden varit släppa den under en fri licens, har bara inte orkat lägga tid på det.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 13:59:20
av ristomemo
Ok, kollade bara in som snabbast på det du länkade, men ser nu att det ligger ju lite filer öppet. Får kolla in det djupare. Tack

Edit: Om jag förstod det rätt så finns det inget stöd att köra det på windows för stunden?

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 15:13:32
av Norberg
Nope, inget windows stöd "out of the box", men tror det ska räcka med att speca om port till "COM1" eller vilken port du kör mot, i filen http://github.com/Norberg/logger/blob/m ... dSensor.py
I övrigt så behöver du python 2.5/2.6/2.7, gnuplot och sqlite3. skriptet kräver att sqlite3 och gnuplot måste kunna köras direkt i kommandotolken.
*.plot filerna bestämmer hur graferna sak se ut och vart de ska sparas så dom kan du behöva ändra i också.
Sen så starta du sensorDispatcher.py som sköter själva läsningen av temperatur.
aktuell temperatur går att få med programmet recvReading.py
sensorLogger.py sköter sedan logging och ritande av grafer.
Sedan borde det fungera... men har inte kört windows på massa år eller möjlighet att testa på windows, så får du några fel så får du väl posta felmeddelandena så kanske vi kan lista ut vad som går fel.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 15:36:28
av jesse
Intressant tråd, då jag någon gång tänkte försöka med något liknande.
> Har tyvärr inte kunskapen att programmera windowsprogram ännu,

Vad är det du saknar ? Är inte detta ett bra tillfälle att fixa det ?
Det är ju en väldigt dålig ursäkt för att inte gör lite själv...
Nja... det är inte så enkelt som det låter. Jag har aldrig programmerat i windowsmiljö (eller i något fönsterbaserat system med händelser och skit)... och har ganska länge försökt sätta mig in i hur det fungerar, men aldrig lyckats fatta det så jag kan göra något vettigt. Det är en djungel med saker att tänka på, och det blir inte lättare för att varje OP har sitt eget sätt att hantera fönster, knappar osv.. Jag upptäckte ett fönsterhanteringssystem som heter FLTK som ska vara plattformsoberoende, och vars "tutorial" nästan var begriplig, men när jag körde fast så fanns det tydligen inga andra som någonsin använt det - alla undrade istället varför jag inte körde Microsoft Windows eget fönsterhanteringssystem.

Dessutom var det svårt att få ordning på läsningen av RS232:an.... Jag hittade en del drivrutier på nätet. Jag lyckades inte få nån av dem att fungera, förutom en mycket enkel, men denna hade ett buffertsystem som var avsett att läsa in en rad åt gången och leverera som sträng - men jag ville ha in tecken för tecken, så det blev problem även där. Många RS232 rutiner tycks vara så korkade att de vid läsning av porten stoppar hela programmet tills ett tecken kommit in. Rena dårskapen! Klart att man ska kunna känna av först om det finns något tecken!

Jag har i alla fall hållit på ett år nu utan att komma nån vart...

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 15:46:55
av sodjan
> Jag har i alla fall hållit på ett år nu utan att komma nån vart...

Frågan är om det inte säger mer om dig själv än om det faktiska problemet ?

> ..men när jag körde fast så fanns det tydligen inga andra som någonsin använt det...

Den naturliga frågan man ställer sig då är ju varför ? Du har hittat ett jättebra verktyg
men ingen använder det ? Märkligt... :-)

> ...alla undrade istället varför jag inte körde Microsoft Windows eget fönsterhanteringssystem.

Helt naturligt, det är ju sannolikt mycket enklare. Speciellt jämfört med
något som ingen annan i alla fall använder... :roll:

> Jag hittade en del drivrutier på nätet.

Så vitt jag vet är hanteringen av COM portar helt inbyggd.
Jag ser inte riktigt varför du letade efter "drivrutiner på nätet".

> Klart att man ska kunna känna av först om det finns något tecken!

Jag har bestämt för mig att man med de inbyggda standard rutinerna
antingen kan kolla bufferten innan läsning eller gör en "read" med omedelbar
timeout om det inte finns något att läsa.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 16:12:51
av jesse
Frågan är om det inte säger mer om dig själv än om det faktiska problemet ?
Jo, antagligen. Men lik förbannat har jag lagt ner en massa tid och ansträngt mig.

Sen, visst, jag har försökt plugga in hur FLTK fungerar efter att ha läst om hur smart och enkelt det var, men sen att börja plugga in något helt annat som till synes verkar krångligare blir ju lite jobbigt. Särskilt som att jag vill kunna köra på de vanligaste OS:en (Linux, Windows XP, Windows Vista / 7) utan att göra om hela programmet. Men jag vet att mitt inlägg låter mer som en massa klagande utan någon vettig information, men det var ett par månader sen jag höll på med detta nu, så minnet är inte helt färskt vad som var det stora hindret egentligen. Men TID var väl en viktig faktor - har man jobb hela dagarna och familj resten av dygnet så är det jävligt svårt att klämma in nya saker.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 17:04:12
av sodjan
Jo visst är det så.

Sen så tror jag att mycket blir väldigt mycket mer komplext om man envisas
att försöka välja något som ska vara "plattformsoberoende" istället för
att (t.ex) köra det som finns för Windows "out-of-the-box". Ska det
dessutom vara kompatibelt med familjen så blir det nästan omöjligt... :-)

Jag vidhåller att om man vill göra något som läser från en COM port
under Windows så är det varken speciellt komplext eller "svårt" och
det är utmärkt dokumenterat på t.ex MSDN.

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 8 september 2010, 17:07:00
av Norberg
jesse skrev: Nja... det är inte så enkelt som det låter. Jag har aldrig programmerat i windowsmiljö (eller i något fönsterbaserat system med händelser och skit)... och har ganska länge försökt sätta mig in i hur det fungerar, men aldrig lyckats fatta det så jag kan göra något vettigt. Det är en djungel med saker att tänka på, och det blir inte lättare för att varje OP har sitt eget sätt att hantera fönster, knappar osv.. Jag upptäckte ett fönsterhanteringssystem som heter FLTK som ska vara plattformsoberoende, och vars "tutorial" nästan var begriplig, men när jag körde fast så fanns det tydligen inga andra som någonsin använt det - alla undrade istället varför jag inte körde Microsoft Windows eget fönsterhanteringssystem.
Höll på lite med FLTK för en massa år sedan och kom fram till precis samma sak som du, finns inga andra som använder det :(
Däremot finns det tre andra välanvända alternativ som är plattformsoberoende, wxWidgets, QT och GTK. Alla har sina för och nakdelar, men jag valde GTK
en gång i tiden. Ångrar absolut inte valet då det borde är logsikt uppbygt, mängder med info, ännu fler användare och bindningar till de flesta olika språk.
Själv skriver jag bara gui i ett enda språk, python, skriva GUI i hårt typade språk är rent självplågeri, i c och c++ får man skriva grymt mycket mer
kod för att göra precis samma sak. Så mitt tips är att du googla på pygtk och börja leka, har du någon som helst programmeringsvana så får du upp ett fönster med några knappar som gör lite olika saker på under en timme, två om du måste leta saker att installera..

Re: Mjukvara för temp loggning via RS232 (läsbar ascii)??

Postat: 26 september 2010, 02:28:50
av ristomemo
Hittade en annan windowsanpassad mjukvara som till en början ska få göra jobbet. http://www.anotherurl.com/therm/logger.htm
Är inte så avancerat och saknar vad jag sett möjligheter att göra webpubliceringar, så vid tillfälle ska jag titta djupare på Norbergs mjukvara. Men det duger för stunden.

Edit. Om det är någon annan som provar hotbox så glömde jag skriva om dess egenheter jag hittade. Verkar bara trivas i C:\hotbox, och man kan inte starta programmet med den mappen öppen, måste startas via en genväg som placeras någon annanstans.