Loading...
  Show Posts
Pages: 1 ... 7 8 [9] 10
121  International / Français / Re: [Aide] serveur domotique : télé-info + 4 relais + T°C DS18B20 on: February 14, 2011, 08:13:06 am
PS : Pour l'instant ma priorité c'est plus la teleinfo + switch 4 port. Après, on verra pour la T°C.
 Pour moi, l'assemblage des deux est assez difficile car trop débutant.
122  International / Français / Re: [Aide] serveur domotique : télé-info + 4 relais + T°C DS18B20 on: February 12, 2011, 02:19:39 pm
Je t'ai fait parvenir mon fichier serveur_web.h que j'ai transformé (essayé du moins) pour inclure une page web avec les 4 cases du switch. C'est là que la compilation me fait énormément d'erreur.

 Après, pris un par un les sketch ne posent aucun problème et leur utilisation est vraiment sympas.

 Si quelqu'un veut que je poste ce fichier pour trouver une autre idée.

 Pour l'instant, je suis perdu dans ce nouveau monde.

 Et ton idée de réunir les 2 .pde, cela donnerait quoi ? je n'arrive pas à comprendre le résultat final  smiley-red
123  International / Français / Re: [Aide] serveur domotique : télé-info + 4 relais + T°C DS18B20 on: February 11, 2011, 10:54:55 am
La solution de gromain59 pourrait être faisable mais pour les # pages ...

 Comme tu as pu le voir il y a 4 pages "web" pour la téléinfo et je pensais en rajouter une 5ème  pour les cases des contacts (on/off). Je veux bien rajouter mon test de rajout des contacts mais comme il y a tellement d'erreur je ne pense pas que cela soit utile.
 Si c'est possible de rajouter 2 (ou 3) pde, la gestion des pages web risque de poser problème ?

 Comme chacun à sa fonction pour chaque page, je ne pense pas qu'il soit utiliser en multitache. De plus, le blocage vient pour l'instant de "l'écriture" du sketch et non de son utilisation.

 
124  International / Français / Re: [Aide] serveur domotique : télé-info + 4 relais + T°C DS18B20 on: February 11, 2011, 05:08:39 am
@gromain59 : MP avec du retard, excuse.

 j'avais une baisse d'entreprendre mon projet et je pensais mettre deux Arduino pour chaque utilisation mais ne serait ce pas dommage ...
125  International / Français / [Aide] serveur domotique : télé-info + 4 relais + T°C DS18B20 on: February 10, 2011, 12:25:00 pm
 Bonjour à tous,

 Je reprends donc mon projet ici qui est tjrs au même stade :
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294743024/0

 Pour résumer, j'ai d'un côté un sketch avec la télé info qui fonctionne
 un autre sketch avec les 4 contacts qui fonctionnent
 et enfin, en option, un autre avec la lecture du DS18B20.
 Le tout est accessible par internet.

 Mon problème est de pouvoir tout regrouper sur un seul sketch pour faciliter l'utilisation.

 j'ai fait encore des tests mais il y a énormément d'erreur et je suis paumé comme tout newbees(peut-être plus).
126  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 19, 2011, 04:24:35 pm
Merci, des que je reçois mon shield je teste.

 Par contre, j'ai fini par trouver un sketch incluant télé info et T°C (2analogique et 1 digit.). Je sais que la partie info fonctionne et il me reste à tester l'autre (dés réception aussi de ma plaquette DS18B20 pour le shield).
 Il est plus simple que le premier et sans sauvegarde. Dommage mais bon ... veux tu que je le place ici ?

 Ensuite, j'ai trouvé un sketch switch 4 on/off qui semble fonctionner.


*******PS : suite ici : http://arduino.cc/forum/index.php/topic,82555.0.html

127  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 18, 2011, 01:26:40 pm
Tu veux que je le teste comment ?

 J'attend un shield v4 pour tester avec un DS18B20 et 2 relays
128  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 17, 2011, 11:54:15 am
Je vais essayer de reprendre :
mon post 5 et 6 (les deux premiers codes) correspondent au serveur_web.h
le post 7 (qui suit) c'est le teleinfo.pde

***Là, c'est ce qui est existant et qui fonctionne super bien.

A cela, je désirerais rajouter une ou des sondes DS18B20 (en onewire) et si il reste de la place 4 relais simple on/off (sur la même page web ou sur une autre).

 J'ai trouvé des exemples de codes que j'ai mis dans mes "reply #9, 10 et 11" et que j'ai essayé d'intégrer. Apres compilation, il m'a sorti les erreurs que j'ai décrit (reply#18).

 J'utilise le enc28j60.
129  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 16, 2011, 05:38:05 pm
J'ai donc collé les lignes que j'avais marqué précédemment :
- // get current temperature
- // initialize DS18B20 datapin
- getCurrentTemp
- void onewirereset

A la compilation j'obtiens les erreurs :
1/ serveur_web.h : in fonction 'uint16_t print_webpage (uint8_t*)':
2/ serveur_web.h : 208 error 'temp_string' was not declared in this scope
3/ serveur_web.h : 214 error 'baseur1' was not declared in this scope
4/ serveur_web.h : 220 error 'i' was not declared in this scope

 Il me faut rajouter quoi ou changer ?

PS : le code télé info fonctionne parfaitement - je cherche juste à rajouter si possible la T°C et relay.
130  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 16, 2011, 11:47:09 am
Ce n'est malheureusement pas le mien mais j'ai l'autorisation de l'auteur pour l'utiliser et le mettre ici. Je ne pouvais pas plus l'embêter pour m'aider car déjà son boulot est superbe.

 D'après lui, le rajout n'est pas difficile mais je comprends pourquoi car son niveau est déjà important.

 Je vais essayer de modifier tout seul et de mettre les résultats et les erreurs peut-être cela fera avancer.
131  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 16, 2011, 09:30:27 am
Bon, mon projet ne semble intéresser personne. Dommage pour moi.

132  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 15, 2011, 09:21:33 am
Code:
int8_t analyse_cmd(char *str)
{
        int8_t r=-1;
    
        if (find_key_val(str,"cmd")){
                if (*strbuf < 0x3a && *strbuf > 0x2f){
                        // is a ASCII number, return it
                        r=(*strbuf-0x30);
                }
        }
        return r;
}

  Il y a ce code qui est diffèrent entre les deux (le mien et celui mis pour la T°C juste au dessus). Je pense qu'il risque d'y avoir conflit si je le rajoute ? ou si je le transforme ?
 Je me demande si ce n'est pas là mon problème  pour joindre les deux  :-/

 Ou cela concerne juste l'appel de la page ?
133  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 15, 2011, 07:48:55 am
Code:
void OneWireReset(int Pin) // reset.  Should improve to act as a presence pulse
{
     digitalWrite(Pin, LOW);
     pinMode(Pin, OUTPUT); // bring low for 500 us
     delayMicroseconds(500);
     pinMode(Pin, INPUT);
     delayMicroseconds(500);
}

void OneWireOutByte(int Pin, byte d) // output byte d (least sig bit first).
{
   byte n;

   for(n=8; n!=0; n--)
   {
      if ((d & 0x01) == 1)  // test least sig bit
      {
         digitalWrite(Pin, LOW);
         pinMode(Pin, OUTPUT);
         delayMicroseconds(5);
         pinMode(Pin, INPUT);
         delayMicroseconds(60);
      }
      else
      {
         digitalWrite(Pin, LOW);
         pinMode(Pin, OUTPUT);
         delayMicroseconds(60);
         pinMode(Pin, INPUT);
      }

      d=d>>1; // now the next bit is in the least sig bit position.
   }
  
}

byte OneWireInByte(int Pin) // read byte, least sig byte first
{
    byte d, n, b;

    for (n=0; n<8; n++)
    {
        digitalWrite(Pin, LOW);
        pinMode(Pin, OUTPUT);
        delayMicroseconds(5);
        pinMode(Pin, INPUT);
        delayMicroseconds(5);
        b = digitalRead(Pin);
        delayMicroseconds(50);
        d = (d >> 1) | (b<<7); // shift d to right and insert b in most sig bit position
    }
    return(d);
}


void getCurrentTemp(char *temp)
{  
  int HighByte, LowByte, TReading, Tc_100, sign, whole, fract;

  OneWireReset(TEMP_PIN);
  OneWireOutByte(TEMP_PIN, 0xcc);
  OneWireOutByte(TEMP_PIN, 0x44); // perform temperature conversion, strong pullup for one sec

  OneWireReset(TEMP_PIN);
  OneWireOutByte(TEMP_PIN, 0xcc);
  OneWireOutByte(TEMP_PIN, 0xbe);

  LowByte = OneWireInByte(TEMP_PIN);
  HighByte = OneWireInByte(TEMP_PIN);
  TReading = (HighByte << 8) + LowByte;
  sign = TReading & 0x8000;  // test most sig bit
  if (sign) // negative
  {
    TReading = (TReading ^ 0xffff) + 1; // 2's comp
  }
  Tc_100 = (6 * TReading) + TReading / 4;    // multiply by (100 * 0.0625) or 6.25

  whole = Tc_100 / 100;  // separate off the whole and fractional portions
  fract = Tc_100 % 100;


      if(sign) temp[0]='-';
      else              temp[0]='+';
      
        if(whole/100==0)
           temp[1] =' ';
        else
        temp[1]= whole/100+'0';
      temp[2]= (whole-(whole/100)*100)/10 +'0' ;
      temp[3]= whole-(whole/10)*10 +'0';
      
      temp[4]='.';
      temp[5]=fract/10 +'0';
      temp[6]=fract-(fract/10)*10 +'0';
      
      temp[7] = '\0';


      
}      

 Celui là je pense le mettre tout à la fin.

 Voilà, vous en pensez quoi ? des erreurs ?

PS : après, je verrai pour les relais ON/OFF simple.
134  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 15, 2011, 07:46:01 am
Code:

        getCurrentTemp(temp_string);
        
        plen=es.ES_fill_tcp_data_p(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n"));
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<center><p><h1>Welcome to Arduino Ethernet Shield V1.0  </h1></p> "));
        
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<hr><br><form METHOD=get action=\""));
        plen=es.ES_fill_tcp_data(buf,plen,baseurl);
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("\">"));
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<h2> Current Temperature is </h2> "));
       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<h1><font color=\"#00FF00\"> "));
        
      
        while (temp_string[i]) {
                buf[TCP_CHECKSUM_L_P+3+plen]=temp_string[i++];
                plen++;
        }

       plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("  &#176C</font></h1><br> ") );
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<input type=hidden name=cmd value=1>"));
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("<input type=submit value=\"Get Temperature\"></form>"));
        plen=es.ES_fill_tcp_data_p(buf,plen,PSTR("</center><hr> <p> V1.0 <a href=\"http://www.nuelectronics.com\">www.nuelectronics.com<a>"));
et ce code dans la pageweb 1 entre la ligne :
sprintf (test, "%ld&chds=0,8000&chl=%ld'>" ,papp, papp) ;

et celle qui suit
plen=es_fill_tcp_data_p (buf, plen, test);

 Pour afficher en page 1 la T°C.
135  Forum 2005-2010 (read only) / Français / Re: Projet domotique : teleinfo + 4 relais + T°C 1wire on: January 15, 2011, 07:39:09 am
Code:
// get current temperature
#define TEMP_PIN  3
void getCurrentTemp( int *sign, int *whole, int *fract);

je pense le mettre en pageweb 1 (si cela fonctionne j'essaierai de le mettre en page 5 à créer).

Code:
  // initialize DS18B20 datapin
    digitalWrite(TEMP_PIN, LOW);
    pinMode(TEMP_PIN, INPUT);      // sets the digital pin as input (logic 1)

et celui là après //init the ethernet/ ip layer:
Pages: 1 ... 7 8 [9] 10