radhoo Postat Decembrie 11, 2012 Autor Partajează Postat Decembrie 11, 2012 Mesajul tau a fost de mare ajutor, mai ales codul simplu in php. Pana acum am facut asa:- am instalat xampp pe localhost; - am urcat fisire upload.php si debug.txt; - am trimis de la client (arduino + enc) ip-ul clientului spre server; (momentan nu ma interesat ce trimite dar trimite) Felicitari pentru progres . Arduino e bun in faza de inceput, dar el nu aduce nici un castig real, consuma doar memorie in mod inutil, atat prin bootloader, cat si prin organizarea high level care o impune. Daca proiectul ti-o permite, poti sa-l folosesti, in cazul meu , am inghesuit la maxim codul, si tot a trebuit sa trec mai intai de la atmega8 la atmega168, ca apoi sa folosesc atmega328p. 328p are un pret foarte bun, raportat la ce ofera (mult peste atmega168). Am incercat fix acelasi lucru pe serverul unde am blogul dar nu a mers, m-am incurcat in structura de foldere, ip . Asa e, structura poate fi putin incurcata, in functie de configuratia serverului oferit de provider. Ai reusit sa rezolvi aceasta problema (din ultimul tau mesaj asa reiese)? p.s: ce imi place ca nu mai stochez datele in mcu Absolut, e si asta unul din multele avantaje. m-am chinut doua zile cu niste librarii vechi si "ametite" pentru a obtine nimic. cand functiona una nu functiona cealalta si tot asa (DHCP, client, gateway, senzor, server ...).pana la urma am gasit o libarie noua, cu DHCP si un exemplu de client pentru ea, unde am efectuat modificarile necesare si acum trimite "variabilele" catre server. Pentru teste e ok, dar te sfatuiesc sa fii foarte atent cu aceste librarii. Multe din ele sunt facute in graba, si functioneaza la limita. Banueisc ca problema ta cu libraria de la tux, a fost din cauza necesitatii de a o adapta din cod nativ/Avr studio la cod arduino? Rezultatul:http://www.electronicstefan.ro/_scripturi_/debug.txt (temperaturile nu sunt reale, nu m-am prins cum se foloseste lib. 1Wire din arduino cel nou). O sa te mai deranjez la partea de grafice, daca ai timp. Am incercat PHPGraphLibsi si phpMyGraph dar nu ma pricep la citirea datelor din .txt si introducele lor in array. Excelent! Ar fi bine sa faci o baza de date SQL, in care sa tii aceste valori pe masura ce vin de la aparatul tau. Apoi ai putea sa construiesti un script Php de vizualizare, care citeste datele din baza de date, formeaza acel array, si construieste graficul. Dar pana atunci, ca sa afisezi ce ai in debug.txt, poti face asa: <?php /* * Exemplu constructie grafic , pentru reprezentarea datelor primite printr-o retea, de la un microcontroller * Radu Motisan, [email protected] * 11 Dec 2012 */ $filename = "grafic.png"; // timpul curent $curtime_sec = time(); // generarea graficului trebuie facuta la un interval dat, pentru a nu supraincarca serverul in caz de trafic mare // astfel putem returna o imagine generata anterior (grafic.png) si nu generam alta decat daca au trecut x minute // acesta e un mecanism eficient de caching. // acceptam fisiere nu mai vechi de 2 minute $expired = 2;//2 * 60; // check if file exists, and it's not too old if (file_exists($filename)) { //echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename)); $cachetime = filemtime($filename); if ($curtime_sec - $cachetime < $expired) { // returnam ca imagine header('Content-type: image/png'); header('Content-length: ' .filesize($filename)); readfile($filename); die(''); } } // generarea unui nou grafic // citim datele din fisier text, sub forma: timbru timp, valoare // includem libraria pt grafice include_once('phpMyGraph5.0.php'); //sirul datelor pentru grafic $array_values = array(); // deschidem debug.txt si parcurgem linie cu linie $file_handle = fopen("debug.txt", "r"); while (!feof($file_handle)) { $line = fgets($file_handle); // spargem linia dupa virgula, dar numai daca linia e valida! if (strlen($line) >0 ) { $values = explode(",", $line); $label = $values[0]; //primul element e data $valoare = floatval($values[1]); //urm elem e valoarea temperaturii, si din string o convertim la float // le adaugam la array-ul pt grafic $array_values[$label] = $valoare; } } fclose($file_handle); //Set config directives $cfg['width'] = 1024; $cfg['height'] = 800; //$cfg['box-border-visible'] = false; //$cfg['value-label-font-size'] = 2; //valorile max/min langa grafic //$cfg['value-font-size'] = 2; //valorile din grafic //$cfg['type'] = "png"; $cfg['file-name'] = $filename; // daca specificam, in loc sa returneze //Create phpMyGraph instance $graph = new verticalLineGraph(); //Parse $cfg['title'] = $p_title; $cfg['title'].=' Un exemplu de grafic'; $graph->parse($array_values, $cfg); // returnam ca imagine header('Content-type: image/png'); header('Content-length: ' .filesize($filename)); readfile($filename); ?> Am atasat cele necesare la mesaj. Ti-am implementat si un mecanism de caching.stefan nicolae - php graf.zip Rezultatul generarii unui grafic din datele tale de pana acum arata asa: Link spre comentariu
radhoo Postat Decembrie 11, 2012 Autor Partajează Postat Decembrie 11, 2012 Cat despre 1wire, din cate stiu e pentru i2c . Ds18B20 nu foloseste i2c, ci un protocol propriu. Am prezentat acest senzor aici: http://www.pocketmagic.net/?p=3009 Poti folosi codul meu. Link spre comentariu
Stefan Postat Decembrie 11, 2012 Partajează Postat Decembrie 11, 2012 multumesc mult! Tot ce am facut pana acum e pe arduino, cand imi vine 328-ul testez la un nivel mai "serios". 1. nu trimitea datele sper server pentru ca libraria de eth nu avea gateway si nu gasea ruta de iesire. 2. pana la urma am rezolvat cu DS18B20 (http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) dar nu am mai postat pe forum noile rezultate. Fila aia "debug.txt" contine valorile reale, inainte aveam altceva. Codul folosit de mine pentru upload.php e ok? ma jucasem si cu un html: http://www.electronicstefan.ro/_scripturi_/debug.html <?php$temp1 = $_GET['temp1'];//$temp2 = $_GET['temp2'];//$temp3 = $_GET['temp3'];$pwd = $_GET['pwd']; $timestamp = time(); //echo "Timestamp is ".date("d/m/Y H:i:s", $timestamp);//$your_data = date("d/m/Y H:i:s", $timestamp) . "," . $temp1 . "," . $temp2 . "," . $temp3 . "\n"; $your_data = date("d/m/Y H:i:s", $timestamp) . "," . $temp1 . "\n" . ""; //br-ul era peentru debug.html function debug($your_data) { $fpx = fopen("debug.txt","a"); fwrite($fpx, $your_data); fclose($fpx); return 1;}//if ($pwd != "secret") die('');if ($pwd == "secret") { echo "Parola corecta \r \n"; } else { echo "Parola incorecta"; die(''); }if ($temp1 != "") { debug($your_data);}echo "OK";?> esti genial: http://www.electronicstefan.ro/_scripturi_/test.php mi-am prins urechile in php-ul test dar mai studiez. http://www.electronicstefan.ro/_scripturi_/test.php Link spre comentariu
Stefan Postat Decembrie 11, 2012 Partajează Postat Decembrie 11, 2012 Am pus fisierele din arhiva si functioneaza foarte bine. Trimit datele din ora in ora si sunt tare curios cum se comporta un delay de 1 ora . Cand mai am timp o sa incerc: mai multi senzori, baza de date, export date ... dar mai am de invatat pana atunci. Din pacate nu pot scoate "device-ul" afara (stau la bloc) dar ar fi interesant sa existe o retea de statii, "radhooMon", in toata tara. :rade:p.s: delay-ul de 1 ora functioneaza 11/12/2012 14:46:58, 23.88 //cu delay 60s - adica intervalul de trimitere a datelor11/12/2012 14:56:10, 85.00 //test trimis "manual"11/12/2012 15:46:59, 24.44 //cu delay 3600s Link spre comentariu
radhoo Postat Decembrie 17, 2012 Autor Partajează Postat Decembrie 17, 2012 si eu stau la bloc. am dat gaura in perete ca sa scot cablurile necesare afara Link spre comentariu
Stefan Postat Decembrie 17, 2012 Partajează Postat Decembrie 17, 2012 php-ul imi poate sterge datele mai vechi de doua x zile? acum curat eu debug.txt manual Link spre comentariu
radhoo Postat Decembrie 18, 2012 Autor Partajează Postat Decembrie 18, 2012 php-ul imi poate sterge datele mai vechi de doua x zile? acum curat eu debug.txt manual poate face orice, dar vezi deja apar primele probleme: ai din ce in ce mai mare nevoie de sql, unde specifici clar care date vrei sa le SELECT-ezi din baza de date. ar fi grozav daca ai putea sa te familiarizezi cu mysql-ul, precis il ai pe serverul tau. De acolo te-as putea ghida mai departe. Link spre comentariu
Stefan Postat Decembrie 18, 2012 Partajează Postat Decembrie 18, 2012 acum am doar idee cum se creaza o tabela in baza de date: Link spre comentariu
radhoo Postat Decembrie 25, 2012 Autor Partajează Postat Decembrie 25, 2012 Am facut o varianta portabila: viewtopic.php?f=14&t=135831E numai bun de dus in buzunar. Link spre comentariu
radhoo Postat Ianuarie 31, 2013 Autor Partajează Postat Ianuarie 31, 2013 Aparatul a inregistrat prima variatie atipica: http://www.pocketmagic.net/2013/01/urad ... eports/#ro Datele de diagnoza (debug) indica o functionare corecta a aparatului in timpul celor 6 minute in care a inregistrat un varf la nivelul debitului dozei ambientale: un maxim de 3781 (cpm = pulsuri pe minut/ tubul SBM19) fara de media de 81 cpm. Avem si alte masuratori in zona pe acest interval de timp? Link spre comentariu
radhoo Postat Februarie 8, 2013 Autor Partajează Postat Februarie 8, 2013 Iata ca s-a intamplat si al doilea eveniment mai putin obisnuit: a doua anomalie la valorile masurate ale radiatiei de fond: Primul, despre care v-am spus mai sus, s-a intamplat pe 31 Ianuarie 2013 si a durat 7 minute, in care a atins un varf de 3781cpm (pulsuri pe minut), comparat cu media normala de 81 cpm. Al doilea s-a intamplat in aceasta noapte, 8 februarie 2013, a durat 8 minute (ciudata asemanare) si a atins o valoare maxima de 5175cpm. Datele de diagnoza pentru amandoua, arata ca sistemul a functionat corect, inclusiv valoarea masurata pe tubul geiger, care s-a pastrat in parametrii normali - in jurul valorii de 400V, in timpul celor doua evenimente. Ceilalti senzori (3x temperatura, 1x umiditate, 1x presiune barometrica, 1x luminozitate) indica valori normale. Primul eveniment: Valorile masurate sunt disponibile aici: http://www.pocketmagic.net/2013/01/urad ... ts/#130131 Al doilea eveniment: Mai multe detalii aici: http://www.pocketmagic.net/2013/01/urad ... ts/#130208 Ar fi minunat sa stiu ce se intampla. Planuiesc sa adaug un mic difuzor, conectat la statia de masurare, care sa sune o alarma de avertizare - deoarece evenimentele dureaza destul de mult timp, as avea posibilitatea sa fac si alte masuratori cu celelalte aparate care le am in timpul acestor evenimente. De asemenea o idee ar fi si adaugarea unui detector de backup/redundant, la statia existenta. Aveti alte sugestii? Link spre comentariu
radhoo Postat Februarie 8, 2013 Autor Partajează Postat Februarie 8, 2013 ca o completare:am observat si o crestere a temperaturii cu jumatate de grad pe durata anomaliei. asta pare sa sprijine idea ca nu e vorba de o defectiune a aparatului: o explicatie ar fi ca evenimentul de emisie mai intensa chiar a avut loc si aerul a primit o parte din energia radiatiei si a rezultat printre altele si caldura. Toti 3 senzorii de temperatura au inregistrat cresterea.Iata graficele la rezolutie maxima: Link spre comentariu
Dr.L Postat Februarie 8, 2013 Partajează Postat Februarie 8, 2013 Devine interesant Link spre comentariu
Mondan Postat Februarie 12, 2013 Partajează Postat Februarie 12, 2013 cica nu e calibrat...... am vazut si eu ca la noi nu se face diferenta intre acuratele si precizie. Astia se uta in dictionare (DEX,DN) si vad ca sunt sinonime.In realitate exista o diferenta.Daca sa zicem datele obtinute arata cu 40% in plus sau cu X % in plus e una ce tine de acuratete.Adica, diferente dintre ele vor fi tot timpul corecte. Adica poti afirma absolut corect :"Fondul de radiatie si-a dublat valoarea astazi!"ceva de genul "o parte din greseala e tot timpul corecta" Acum orice date asa cum sunt eu obisnuit trebuie sa aiba limite de eroare, de ex:100 ren nu insemna nimic. Doar 100 ren +/- 14% este un rezultat ok stiintificCat despre deschide geamul pentru a "iesi" radonul, o singura persoana sustinea asta, si nu cred ca a mai aparut o a doua ceva de genul sa bagi un accelerator sh intr-o mina Link spre comentariu
Selena Postat Februarie 12, 2013 Partajează Postat Februarie 12, 2013 Obligatoriu: verificarea live in paralel cu alti detectori, deci ideea cu alarma este buna. Daca senzorii sunt accesibili din exterior, suspectez ca cineva face farse, sau chiar incearca o compromitere. O asa viteza de numarare se obtine doar apropiind de contor o sursa relativ intensa pusa pe o prajina.Mondan, n-am priceput ce zici. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum