miercuri, 4 noiembrie 2015

Termostat controlat de pe o pagina web (2)

   Fata de articolul anterior, in care am folosit o placa Arduino Mega si o placa de retea de tip shield cu W5100, care creeea pagina de fiecare data, acum folosesc stilul Ajax, adica pagina web este statica si se schimba periodic sau la cerere parti din pagina, astfel placa de retea este putin utilizata si apar cazuri de "blocare" mai rar sau.. deloc...
   Schema folosita este aceeasi:
doar ca pagina, respectiv fisierul index.html este memorat pe cardul micro SD, deci folosesc incriptorul de pe placa de retea, cum este prezentat in articolul SD Card Web Server I/O, care avea o interfata de genul:
  Eu am incercat sa folosesc stilul anterior:
iesindu-mi:
apoi, am mai lucrat la pagina, care reseteaza din ora in ora placa Arduino si placa de retea (prin legarea pinului D7 la pinul RESET); pagina este asa: 
   Schema cu legarea pinului D7 la RESET:
   Am pus pe canalul de github, cele 2 versiuni in directorul webthermostat_ajax...
   Am facut si un filmulet, numit web termostat cu Ajax si Arduino

13 comentarii:

  1. De ce ai folosit A2 daca DHT22 este digital?

    RăspundețiȘtergere
    Răspunsuri
    1. pt ca folosesc Arduino si-l pot programa "cum vrea muschii mei".. intrarile analogice pot fi si digitale. crede-ma.. daca nu.. asta e.. mai cauta pe net...

      Ștergere
    2. nu am stiut boss
      multumesc

      Ștergere
  2. ok. . lasand gluma la o parte, Arduino e un microcontroler cu limbaj prietenos si cu configuratii catre periferice foarte "libere"

    RăspundețiȘtergere
  3. La un cronotermostat care sa controleze temperatura in 2-3 incaperi, si a unui boiler, in functie de paliere orare si zile ale saptamanii v-ati gandit? Sau ati realizat cumva?

    RăspundețiȘtergere
  4. salut Nic.
    de ce e bine sa se reseteze la o ora?

    RăspundețiȘtergere
    Răspunsuri
    1. ca sa fiu sigur ca nu ramane blocat mult timp, asa e maxim o ora...

      Ștergere
  5. Salut din nou Nicule,
    Te rog ajuta-ma.

    Am incercat amandoua codurile tale si am primit eroarea:

    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer

    Folosesc un mega... pot sa il readuc la viata?


    Merci frumos!

    RăspundețiȘtergere
    Răspunsuri
    1. ai vreun consumator conectat la placa Arduino? daca nu, incearca o versiune mai veche, care nu se instaleaza (versiune portabila) gen 1.0.4

      Ștergere
    2. am scos placa de retea si am instalat blink, apoi cand am pus w5100 inapoi a mers.
      ca sa mearga termostatul asta trebuie sa iau o librarie eeprom de undeva? ai te rog un link pentru termostat cu ajax si setari din pagina web ca al tau?

      Ștergere
    3. trebuie sa ai libraria EEPROM dac ao cere la compilare.. ai link la sketch si pagina html in articol, dar vad ca nu-l gasesti :((((((( asa ca il dau direct, iar: https://github.com/tehniq3/webthermostat_ajax in asta pagina e pe cardul sd si restul in Arduino, cum scrie si in articol si in referintele specificate acolo...

      Ștergere
  6. linkurile le-am gasit dar aveam probleme cand incarcam sketch-ul cu cardul sd in shield... fara card conectat merge perfect. acum mai am o singura problema, setarea temperaturii care pleaca de la 0.4 si merge din 0.5 in 0.5 grade deci pot seta 22.4 22.9 23.4 etc pe unde trebuie sa umblu ?

    Multumesc frumos!

    RăspundețiȘtergere
  7. am gasit... se pare ca e legat cumva de sincronizarea cu eepromul. Poate mai are cineva nevoie
    deci se modicica sketch-ul din:


    else if (StrContains(HTTP_req, "BtnTherm1=0")) {
    teset = teset + 5;

    in:

    else if (StrContains(HTTP_req, "BtnTherm1=0")) {
    teset = teset + 1;

    se incarca si se modifica de pe pagina web pana ajunge la 5 sau zero.
    apoi se modifica din nou la 5 si se incarca...

    RăspundețiȘtergere