lobster Skrevet 23. november 2006 Forfatter Del Skrevet 23. november 2006 (endret) Hamstet er ikke i dette buret enda. Onsker aa gjore det helt ferdig for jeg setter det inn. (Tipper mandag) Edit: Hamsteret er nå på plass. Alle testdata er slettet. Det du ser på siden er reelle data. Hamsteret ser ut til å være nattdyr ja.. Endret 25. november 2006 av lobster Lenke til kommentar
stiber Skrevet 24. november 2006 Del Skrevet 24. november 2006 Resultatet "makes more sense" presantert på denne måten: PHP <?php//$sql = '.....'; //$res = $db->query($sql); foreach($res as $row) { print "{$row['num']} actions between {$row['h']}:00 and {$row['h']}:59 ({$row['d']})<br />\n"; } 1 actions between 19:00 and 19:59 (2006-11-21) 20 actions between 20:00 and 20:59 (2006-11-21) 527 actions between 21:00 and 21:59 (2006-11-21) 371 actions between 22:00 and 22:59 (2006-11-21) 654 actions between 23:00 and 23:59 (2006-11-21) 148 actions between 0:00 and 0:59 (2006-11-22) 4 actions between 1:00 and 1:59 (2006-11-22) 1 actions between 2:00 and 2:59 (2006-11-22) 1 actions between 8:00 and 8:59 (2006-11-22) 2 actions between 14:00 and 14:59 (2006-11-23) Lenke til kommentar
lobster Skrevet 24. november 2006 Forfatter Del Skrevet 24. november 2006 (endret) Nå er hamsteret ankommet. Ser at det blir en del jobbing med å tilpasse følerne rundt i buret. Jeg lurer på hvordan jeg skal måle ut gjennomsnittshastigheten. Det er jo lett hvis hamsteret løper en hel time, men nå er jo hamsteret til og fra.. Noen tips? 01 (hamsteret) har bestemt seg for å bruke det blå hjulet. Hjulet er 12.5cm i diameter, dvs en omkrets på 39.25 cm hvis jeg ikke har regnet feil.. For å finne lengde hamsteret har løpt må jeg vel gjøre noe slikt: $omkrets = (3.14 * 12.5); $distanse = ($omkrets * $data[num]/100); Endret 26. november 2006 av lobster Lenke til kommentar
Peter Skrevet 24. november 2006 Del Skrevet 24. november 2006 Jeg ville laget gjennomsnitthastighet for hver "sesjon" dvs. fra hjulet begynner å snurre til en annen sensor får input (som betyr at hamseteren er ute av hjulet) Evt. kan du prøve med en tidsgrense. F.eks. dersom hjulsensoren ikke får input på f.eks. 15 sekunder, så stor hjulet stille. Da har vi tid_brukt = nåtid - hjulets starttid - 15. ved å ta ytre omkrets * antall omdreininger har du avstanden i cm avstand / tid_brukt = cm/s (tror jeg) Videre kan du bruke disse utregningene (sesjon) til å finne ut per time, per dag, per måned, etc. Lenke til kommentar
lobster Skrevet 26. november 2006 Forfatter Del Skrevet 26. november 2006 (endret) Hvordan kan jeg "trekke fra" 5 minutter med date("m-d-y H:i:s") ? Det jeg prøver å gjøre er å gjøre en spørring fra NÅ tid og 5 minutter bakover. Ellers så kan jeg rapportere om at alle magnetbryterne er på plass i buret og det fungerer overaskende bra. Dessverre er webkameraene er ikke operative enda. Endret 4. desember 2006 av lobster Lenke til kommentar
Mez Skrevet 27. november 2006 Del Skrevet 27. november 2006 (endret) $tid = time() - (60*5); date("m-d-y H:i:s",$tid); Noe sånt kanskje? Endret 27. november 2006 av Mez Lenke til kommentar
stiber Skrevet 27. november 2006 Del Skrevet 27. november 2006 Det jeg prøver å gjøre er å gjøre en spørring fra NÅ tid og 5 minutter bakover. Det kan gjøres rimelig greit i SQL også: SELECT * FROM `tabell` WHERE `datofelt` > SUBDATE( NOW( ) , INTERVAL 5 MINUTE ) MySQL manual på dato/tid funksjoner kan være god lesning. Jeg hadde en løsning på å gruppere "sesjoner" på løpehjulet også, basert på subqueries, men testing viste at det ville bli veldig tregt på store datasett. Jeg kan legge det ut når jeg kommer hjem i kveld for kuriositetens skyld... Lenke til kommentar
lobster Skrevet 27. november 2006 Forfatter Del Skrevet 27. november 2006 Hei Stiber. Du er jo (u)frivillig blitt en del av prosjektet. Håper du ikke har noe imot det Kom gjerne med med spørringen hehe Lenke til kommentar
stiber Skrevet 29. november 2006 Del Skrevet 29. november 2006 (endret) Brukte lang tid på å komme meg hjem fra jobb gitt Her er en litt syk spørring spør du meg, men den virker (hos meg). Den vil desverre forbruke tid exponensielt med størrelsen på datasettet, så "handle with care". Det er sikkert mange muligheter med tanke på forbedringer av ytelse. Først må vi sette en variabel som skal telles oppover ved hver nye sesjon. SET @run := 0; Så kommer selve spørringen SELECT COUNT( DISTINCT id ) AS revs, TIME_TO_SEC( TIMEDIFF( MAX( time ) , MIN( time ) ) ) AS runtime, @id := id, @time := time, @run := IF( ( SELECT id FROM `hamster` WHERE id < @id AND `action` =1 AND TIME_TO_SEC( TIMEDIFF( @time , time ) ) <30 LIMIT 1 ) , @run , @run +1 ) AS run FROM `hamster` WHERE `action` =1 GROUP BY run HAVING revs >1 Nå vet jeg ikke hvordan tabellstrukturen ser ut hos deg, så en del modifiseringer må nok til. Verdier som må endres: action = sensor id feltet ditt. Id for hjulet er tilfeldigvis satt til 1. time = dato/tid feltet ditt. hamster = tabellnavnet ditt. 30 = Antall sekunder mellom sesjoner. Det kan bl.a. være lurt å legge inn en begrensning, slik at du kjører spørringen mot maks noen dager. (F.eks legg til "AND date > SUBDATE(NOW(), INTERVAL 3 DAY)" I hovedqueryen og subqueryen for å få kun siste tre dager) Verdier du får ut: revs = antall omdreininger på hjulet. runtime = Hvor lang sesjonen var i sekunder. +noen du ikke har bruk for Med disse kan du regne ut bl.a. tilbakelagt distanse og gjennomsnittsfart. Endret 29. november 2006 av stiber Lenke til kommentar
stiber Skrevet 29. november 2006 Del Skrevet 29. november 2006 (endret) Dobbeltpost... Endret 29. november 2006 av stiber Lenke til kommentar
lobster Skrevet 4. desember 2006 Forfatter Del Skrevet 4. desember 2006 (endret) Jeg har fått ett par PM'er med spørsmål om hvordan jeg får dataene fra maskinen min og ut på nettet. Slik har jeg løst det: I starten brukte jeg ett program broren min hadde laget til meg. Dette programmen initsierte relekortet og hentet/sendte startus via URL til www.domenenavn?minvariabel=tallverdi Tallverdien er typisk 1,2,4,8,16,32,64 eller 128. Hvis to brytere var koblet inn samtidig ble verdiene slått sammen. Jeg har dermed $minvariabel som jeg kan behandle videre i PHP. Alt fra å sende verdi til database, endre bilde på nettside avhengi av verdi, Skrive "lyset er på" osv.. Denne løsningen er grei så lenge det ikke er for mye endringer på relekortet som må sendes til serveren (ser for meg CPU load på server) Med hamsterhjulene som snurrer med over 2 omdreininger pr sekund så sier det seg selv at det ville blitt alt for mange requests å sende via URL. Nettstedet jeg har satt opp for dette prosjektet blir hostes hos Domeneshop. Heldigvis lar de meg koble opp mot MySQL eksternt (Vet ikke om dette er vanlig praksis hos andre leverandører). Dermed fikk jeg broren min til å lage ett nytt program som gjør SQL spørringer direkte og jeg har klart å hoppe over ett par unødvendige steg. Kort oppsumert: Programmet jeg kjører lokalt for å sjekke portstatus fra relekortet sender verdier direkte til en ekstern MySQL. (Med hjelp av MySQL ODBC kobling) Skjermdump av programmet: De åtte rutene på venstre side av hamsteret er for å vise når det er aktivitet på en av inngangene. Selvfølgelig blinker hamsteret med øynene når den sender over data til databasen. Programmet er laget i .net Håper dette ga greit nok svar Endret 4. desember 2006 av lobster Lenke til kommentar
Kagee Skrevet 5. desember 2006 Del Skrevet 5. desember 2006 Out Of Thread: "Velleman K8055" ankommer fra Elfa i dag. Ble litt dyrere enn antatt, må må jeg bare lære meg et .Net-språk for å få brukt DLL'en til noe.... Lenke til kommentar
lobster Skrevet 5. desember 2006 Forfatter Del Skrevet 5. desember 2006 Out Of Thread:"Velleman K8055" ankommer fra Elfa i dag. Ble litt dyrere enn antatt, må må jeg bare lære meg et .Net-språk for å få brukt DLL'en til noe.... 7428615[/snapback] Ahh, kjempebra Kagee, gleder meg til å se deg leke med dette vidunderlige kortet Pass på å IKKE koble inn sterkstrøm på dette kortet. Sett på ett rele mellom kortet og det du skal styre Jeg kan få modifisert programmet jeg har slik at du også kan få sendt data til databse, hvis du vil da Lenke til kommentar
Spiftire Skrevet 5. desember 2006 Del Skrevet 5. desember 2006 Super fett prosjekt. En dag når jeg har mer tid og penger skal jeg også gjøre noe slikt:D Men litt ang. den netsiden. Slik dataen blir presentert nå er det jo et ork og lese hva som foregår. Hadde det ikke vært mulig og presentere faktaen på en litt mer oversiktlig og mer lettlest måte? Gleder meg også til å se webcamen i drift:D Stå på videre med dette prosjektet. Kjempe bra. I'm already a big FAN! Lenke til kommentar
lobster Skrevet 5. desember 2006 Forfatter Del Skrevet 5. desember 2006 Hei Steffenho. Jo, ideen er å få brukt http://www.aditus.nu/jpgraph/ eller tilsvarende. Det er bare så alt for vanskelig å sette opp synes jeg.... Har noen peil og ork til å hjelpe til med dette så send en PM Ellres, takk for hyggelig tilbakemelding Lenke til kommentar
lobster Skrevet 7. desember 2006 Forfatter Del Skrevet 7. desember 2006 Nå har jeg løst "problemet" med å filtrere på dagens dato, men.. Er det mulig å fikse slik at jeg får 0 som svar i en liste dersom det ikke er noe aktivitet...: eksempel, la oss si at hamsteret kun har løpt 15 meter mellom klokken 02 og 03 på natten, og ikke noe resten av natten. Slik spørringen er nå så lister den bare ut dersom det er noe.. 03:00:00 - 03:59:59 | 15 meter Jeg ønsker å få slik at den viser 0: 00:00:00 - 00:59:59 | 0 01:00:00 - 01:59:59 | 0 02:00:00 - 02:59:59 | 0 03:00:00 - 03:59:59 | 15 meter 04:00:00 - 04:59:59 | 0 05:00:00 - 05:59:59 | 0 06:00:00 - 06:59:59 | 0 07:00:00 - 07:59:59 | 0 08:00:00 - 08:59:59 | 0 09:00:00 - 09:59:59 | 0 osv... Dette kan kanskje gjøres i PHP?? Lenke til kommentar
ZoRaC Skrevet 7. desember 2006 Del Skrevet 7. desember 2006 Hvordan er loopen for utlisting av data da? Lenke til kommentar
Peter Skrevet 7. desember 2006 Del Skrevet 7. desember 2006 Det er fordi spørringen bare returnerer når den har noe data. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå