Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Zilele emailului din gospodaria n...

Best gaming laptop?

Humane (2024)

Recomandare casti 100-150 lei
 Schimbare bec far VW Touran 1T3

Plata impozit PF

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024
 Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica
 Ce componenta e asta si ce ziceti...

Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila
 

[Arduino] Sistem achizitii date

- - - - -
  • This topic is locked This topic is locked
17 replies to this topic

#1
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017
Salut , lucrez la un proiect pentru  gradina . Sa ud gradina inteligent . Senzori de umiditate sol , DHT11 , Esp8266 , Valve cu solenoid , relee  , o pompa , alimentare generala 16V cu stabilizatoare de tensiune pentru fiecare componenta care functioneaza cu o alta tensiune .
Lucrez acuma la interfata Web si am o problema la cod . Am facut niste grafice pentru temperatura si umiditate la DHT , fac si pentru restul senzorilor .
Pe axa Y am o scala a valorilor de citire iar pe X am ora . Graficul imi arata ce temperatura s-a citit la data x si ora y . Problema este ca nu imi citeste ora corect , e inapoi cu 3 ore . Am incercat mai multe functii si niciuna nu mi-a mers .

setInterval(function ( ) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
	if (this.readyState == 4 && this.status == 200) {
	  var x = (new Date()).getTime(),
		  y = parseFloat(this.responseText);
	  if(chartH.series[0].data.length > 40) {
		chartH.series[0].addPoint([x, y], true, true, true);
	  } else {
		chartH.series[0].addPoint([x, y], true, false, true);
	  }
	}
  }
Asta e bucata de cod care , zic eu , nu isi face treaba corect . Atasez o poza in care se vede graficul cu ora si ora de la PC .
Daca ma poate lamuri cineva , mi-ar fi de folos . Nu -s expert in ale codului si in ale electronicii ,  invat din mers .
Multumesc !

Attached Files


Edited by MarianG, 07 May 2020 - 05:51.
code tags


#2
Dany_Darke

Dany_Darke

    ✠ Fear of the dark ツ

  • Grup: Super Moderators
  • Posts: 21,821
  • Înscris: 07.06.2014
inseamna ca iti citeste UTC in loc de EET. asta trebuie rezolvat

topic mutat pe aria programare. nu are treaba cu electronica

Edited by Dany_Darke, 04 May 2020 - 10:11.


#3
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 Dany_Darke, on 04 mai 2020 - 10:08, said:

inseamna ca iti citeste UTC in loc de EET. asta trebuie rezolvat

topic mutat pe aria programare. nu are treaba cu electronica

Multumesc ca ai mutat topic-ul .

Da, asa e , citeste UTC .

#4
pstdgt

pstdgt

    Monseurizat

  • Grup: Administrators
  • Posts: 5,849
  • Înscris: 06.02.2002
Foloseste getTimezoneOffset() pentru a afla diferenta intre zona locala si UTC:
https://developer.mo...al_Objects/Date

#5
dionenina424

dionenina424

    Active Member

  • Grup: Members
  • Posts: 1,392
  • Înscris: 21.04.2020
Pai si care e problema ?
Aduni 3 ore si aia e.
Odata ce ai datele, orice date, in format digital, orice format digital, nici nu mai conteaza cum se prezinta, poti sa faci orice cu ele.

#6
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 pstdgt, on 04 mai 2020 - 10:49, said:

Foloseste getTimezoneOffset() pentru a afla diferenta intre zona locala si UTC:
https://developer.mo...al_Objects/Date

Multumesc foarte mult !

#7
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 dionenina424, on 04 mai 2020 - 11:05, said:

Pai si care e problema ?
Aduni 3 ore si aia e.
Odata ce ai datele, orice date, in format digital, orice format digital, nici nu mai conteaza cum se prezinta, poti sa faci orice cu ele.
crezi ca pui + 3 si gata ai rezolvat problema ? ideea e simpla dar sunt alte chestii la mijloc

#8
mellbo

mellbo

    Member

  • Grup: Members
  • Posts: 885
  • Înscris: 07.06.2010
daca pui +3 vei avea aceasi problema. cred ca ai o problema cu sincronizarea ntp acolo

#9
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
partea care se ocupa de monitorizare nu are ceasul ei?

#10
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 MarianG, on 05 mai 2020 - 04:14, said:

partea care se ocupa de monitorizare nu are ceasul ei?

Nu .

 mellbo, on 05 mai 2020 - 01:02, said:

daca pui +3 vei avea aceasi problema. cred ca ai o problema cu sincronizarea ntp acolo

Da , sincronizarea nu e buna . Oricum am făcut, ori nu afișează nimic ori afișează prostii

#11
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Pune si tu un
console.log(this.responseText)
sa vezi ce primesti

#12
mellbo

mellbo

    Member

  • Grup: Members
  • Posts: 885
  • Înscris: 07.06.2010
parerea mea este ca daca nu-i raspunde serverul ntp ramane cu date eronate. si da, console.log si vezi in browser ce se intampla.
incearca un update la biblioteca de ntp verifica rezultatul primit sa aiba logica pentru variabilele tale.
poti incerca sa schimbi si serverul ntp de exemplu cu "pool.ntp.org"

fara codul afisat nu stiu daca se poate sa primesti un raspuns concret.

Edited by mellbo, 05 May 2020 - 23:27.


#13
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 mellbo, on 05 mai 2020 - 23:25, said:

parerea mea este ca daca nu-i raspunde serverul ntp ramane cu date eronate. si da, console.log si vezi in browser ce se intampla.
incearca un update la biblioteca de ntp verifica rezultatul primit sa aiba logica pentru variabilele tale.
poti incerca sa schimbi si serverul ntp de exemplu cu "pool.ntp.org"

fara codul afisat nu stiu daca se poate sa primesti un raspuns concret.

Codul :
Spoiler

Edited by MarianG, 07 May 2020 - 05:52.
code, spoiler


#14
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
Codul respectiv (JS) este rulat de client (browser)
<HTML>
<BODY>
<script>
const currentTime = new Date(Date.now()); // UTC
document.write(currentTime.toLocaleTimeString('ro-RO'));
document.write("<BR>");
var offset = new Date().getTimezoneOffset();
document.write(offset);
</script>
</BODY>
</HTML>
Attached File  time.png   7.25K   4 downloads

#15
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017
Salut, dupa indelungi research-uri pe diferite forumuri, rescrieri in cod , compilari si timp irosit , am gasit solutia si codul merge impecabil , imi arata data si ora exacta . Solutia a fost atat de simpla incat m-am luat cu mainile de cap ca nu mi-am dat seama mai repede.
Ideea de baza , se adauga 3 ore in plus .  Cum ? Simplu .


setInterval(function ( ) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
  var x = (new Date()).getTime() + 1000*60*60*3 ,
  y = parseFloat(this.responseText);
  if(chartH.series[0].data.length > 40) {
chartH.series[0].addPoint([x, y], true, true, true);
  } else {
chartH.series[0].addPoint([x, y], true, false, true);
  }
}
  }

Produsul ala e timpul in milisecunde [ (new Date()).getTime() imi da timpul in ms din 1 Ianuarie 1970 pana in prezent ] .
1000*60*60 = 1 ora in ms
1000*60*60*3 = 3 ore in ms , exact cat am nevoie la UTC + 3 , fusul orar pentru Romania .

Edited by Qipper, 07 May 2020 - 16:27.


#16
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
restul automatizarii cum arata?


cand si cum pornezsti pompa, cat timp o lasi actionata ?

#17
Qipper

Qipper

    Member

  • Grup: Members
  • Posts: 268
  • Înscris: 04.07.2017

 MarianG, on 08 mai 2020 - 14:46, said:

restul automatizarii cum arata?


cand si cum pornezsti pompa, cat timp o lasi actionata ?

Las actionata pompa pana cand  umiditatea ajunge la un anumit nivel stabilit de mine , asta e ideea de baza . De exemplu , cand senzorul de umiditate sol indica 50 % , dau drumul la apa . Dar o sa implementez si functionarea pompei pentru o durata  de timp gen dimineata 15 min si seara 15 min .
Valvele care " distribuie " apa le controlez cu niste relee cu optocuploare .Sunt OP astea  , stiu dar releele simple le urasc pentru ca fac zgomote cand se actioneaza switch-ul Posted Image))
E o automatizare banala dar foarte utila pentru mine .

Edited by Qipper, 08 May 2020 - 22:32.


#18
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
50% umiditate unde este senzorul, tine cont ca apa nu se infiltreaza instant in pamant.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate