Show Posts
Pages: 1 2 [3] 4 5 ... 51
31  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 30, 2012, 11:56:08 am
je vais me lancer sur la remonté d'informations Arduino--> Serveur web via Web Socket, j'espère que je ne dis pas des betises

http://arduino.cc/forum/index.php/topic,72035.0.html  smiley-mr-green

Ce projet là est abandonné mais pas les websocket, j'ai déjà mon propre serveur de websocket que j'ai fais en java qui me permet web<->serveur<-> (eth ou rs232).
Maintenant j’attends plus que que la standardisation des websocket soit finalisé (ça a pas mal bouger depuis le projet ci dessus, handshake, masking, ...), j'attends également de voir sortir l'arduino Due histoire de faire un serveur léger mais suffisant sinon raspberry ou autre dans le genre.
32  International / Français / Re: envoyer un signal d'extinction a un pc on: June 30, 2012, 09:38:46 am
Yop Yop,
Relais ou opto c'est le plus simple non ?
Tu peux également te servir d'un 5V alim ou usb des ton (tes) pc('s) pour savoir s'il(s) est (sont) bien éteint(s), sinon forcer la coupure avec maintien long ?
33  International / Français / Re: envoyer une requet post depuis arduino vers une page php on: June 30, 2012, 06:03:55 am
essaie ceci, ça a marché de chez moi (avec ma propre ip évidement).

Code:
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 20 };

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);

  // start the Ethernet connection:
  Ethernet.begin(mac, ip);

  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect("christophe.boulic.free.fr", 80))
  {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /arduino/alertetemp.php?alerte=1 HTTP/1.1");
    client.println("Host: christophe.boulic.free.fr");
    client.println();
  }
  else
  {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}

void loop()
{
  // if there are incoming bytes available
  // from the server, read them and print them:
  if (client.available())
  {
    char c = client.read();
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected())
  {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    for(;;)
      ;
  }
}

la réponse dans le monitor
Code:
connecting...
connected
HTTP/1.1 200 OK
Date: Sat, 30 Jun 2012 10:59:56 GMT
Server: Apache/ProXad [Aug  5 2010 16:17:11]
X-Powered-By: PHP/4.4.3-dev
Connection: close
Content-Type: text/html

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
alert 1</body>
</html>

disconnecting.


Edit : Tu devrais séparer la partie html et php dans 2 documents propre à chacun (d'un autre côté la partie html ne sert à rien dans ce cas si) pour éviter de retourner toute la page en réponse .  smiley-kiss
34  International / Français / Re: envoyer une requet post depuis arduino vers une page php on: June 30, 2012, 05:18:08 am
tu devrais déjà tester comme celà, ça ne sert à rien de tester l’envoie de mail si le reste ne fonctionne déjà pas, il faut procéder étape par étape.

Code:
<?php
if ($_GET['alerte']=="1"
{
    echo 
"alert 1";
}
else
{
    echo 
"alerte 0";
}
?>


si tu reçois dans le monitor "alert 1" en réponse à ta requête c'est que ta structure conditionnel fonctionne le problème est ailleurs mais à l’intérieure du bloc if (donc l'envoie des mails sera le problème), si tu reçois "alerte 0" c'est qu'il y a un problème avec la condition de ton if (requête mal structuré côté arduino ou autre) et si tu ne reçois rien en retour de ta requête c'est que le problème ce situe un niveau au dessus (connexion, etc, ...) .
35  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 30, 2012, 04:54:23 am
j'ai trouvé une potion de code que je pense interessante pour mon cas:

Oui, c'est pas ce qu'il y a de plus optimal d'utiliser la classe String mais pour l'instant c'est fonctionnel c'est ce qui compte.
Par contre au lieu de créer un buffer de 100 à chaque requête tu peux directement mettre la taille correspondante aux données ou alors tu la met en global pour ne pas la recréé à chaque fois.
 
Code:
String readString= String(client.available());
while (client.available())
{
.
.
.

ou en global

Code:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {  0x90, 0xA2, 0xDA, 0x00, 0x14, 0x6D }; // a remplacer
byte ip[] = { 192,168,2,100 }; // a remplacer
EthernetServer server(1080); // 1080 a remplacer si différent

String readString= String(100);
.
.
.

mais ça ne fonctionne pas  smiley-cry

Montre une fois le code arduino complet, ça peux être du code mal placé ou autre ?
36  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 29, 2012, 05:12:21 pm
Yop Yop,

Quote
Je reçois le message d’erreur suivant :
Invalid conversion from ‘char’ to ‘const char*’

Code:
strcmp(c,"LED=True")

strcmp prend en paramètres 2  chaine de caractères (const char *) pour les comparer, hors tu lui transmet c (char).

Code:
int strcmp( const char * s1, const char * s2)

Code:
while (client.available())
{
    char c = client.read();
    Serial.write(c); //on affiche dans le monitor le caractère reçu
}

temps qu'il y a des données à lire (available retourne le nombre de caractère non lu) on boucle, la lecture ce fera caractère par caractère (read).

Code:
char c = client.read();

! C'est à l'appel de read que available est décrément de 1.


37  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 28, 2012, 03:00:28 pm
Donc pour le moment il n'y a pas d'autre moyen..

En local, tu peux te faire ton propre petit hébergement (apache, php, sql, ..) via wamp (windows), lamp (linux) ou mamp (osx).
je suppose que tu es sous windows donc wamp : http://www.wampserver.com/
38  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 28, 2012, 02:08:07 pm
ah , je précise mon FAI est FREE , n'y a t'il pas un problème de blocage de socket avec FREE ??   

Tu as bien deviné  smiley-mr-green, la grande majorité des hébergeur que ce soit mutualisé ou autres n'accepte tout simplement pas la création ou connections de socket.  smiley-confuse
39  International / Français / Re: Contrôler une LED par le web (IDE 1.0) on: June 28, 2012, 11:45:15 am
Dès que j'ai le temps j'essaierais de faire quelque chose pour mieux expliquer les rôles de chacun et leurs interactions pour voire ce qu'il se passe.
40  International / Français / Re: Aidez nous ! Projet - Gestion domotique on: June 28, 2012, 11:20:33 am
En partant sur de multiples "noeuds", une des obligations est de taille au mieux chaque µc pour limiter le cout (corrigez si je me trompe) du coup, je comprends mieux. Dans cette archi on pourrait voir xpl seulement sur un des noeuds (une passerelle) qui serait charger de dialoguer avec le reste du monde ?

C'est principalement moi qui part sur une solution modulaire complète, 1 µc par tache différentes comme pour le knx par exemple (chaque tache peut également être étendu pour en augmenter le nombre, ex: 5 modules de 8 I/O,2 module 5 entrée ana pour divers capteurs, etc) , zoro lui par exemple réparti les taches lente et rapide sur deux µc.
Pour ma part la raison est simplement de supprimer les dépendance entre taches (facilite le dév également), par exemple si 1 de mes modules 8 I/O vient à rendre l'âme,les autres sont toujours fonctionnel tendis qu'avec 1 seul be tu à l'intégralité de tes taches en rade, de plus je ne suis pas limiter aux nombre d'I/O d'un seul µc puisque je peux les étendres (avec une limite quand même selon la façon dont seront gérer les adresses : 1 octet = 256 adresses possible,2 octet = 65536 adresses possible, il y a de quoi faire  smiley-sweat).
Donc ça parait disproportionné et niveau cout c'est sans doute plus chère que la solution 1µc pour tous gérer  mais beaucoup moin qu'une solution knx par exemple qui se monte vite à quelque millier d'€ ou même zwave, plcbus, etc (1 module par prise ou interrupteur, volet à mini 30€ sans le contrôleur : zibaze ou autre  smiley-sweat).

Mais bon il faut dire qu'ici on a presque toute les connaissances pour pouvoir le réaliser (raison du topic, on s'entraide avec les connaissances de chacun, dev, elec, ...), ce n'est pas tout le monde qui peux ce permettre de réaliser un système de A à Z comme ont est en train de le faire, d'où l’intérêt du xpl par exemple (s'il est textuel c'est bien pour que les humain non initié sachent le lire et le comprendre et non les machines qui ne parle que binaire alors que pourtant c'est à eux que s'adresse le message au final), maintenant ici comme tu le dis rien ne m’empêche d'ajouter un module qui ferait office de passerelle xpl et ne ferait que ça.
Pour la com avec le monde extérieure on gèrera également l’intégralité, surement via client léger (web) et ou client lourd mais toujours en perso.
 smiley-wink

Edit: regarde le tuto de barbu http://arduino.cc/forum/index.php/topic,102540.0.html pour mieux comprendre la différence entre protocoles.
41  International / Tutoriels et cours / Re: Les pointeurs et tableaux on: June 28, 2012, 10:37:14 am
Hé bien c'est tout simplement génial, merci à toi.
En tout cas pour moi, la démystification est réussie

Très sympa d'avoir un retour, grand merci à toi.   smiley-wink

(à noter que je manipulais déjà des tableaux).

Et ce qui ce cachait derrière l'indexation aussi, manipuler tes tableaux via '*' ?  smiley-mr-green
42  International / Tutoriels et cours / Re: Les pointeurs et tableaux on: June 26, 2012, 02:21:34 pm
Aucun lien vers ton PDF ne fonctionne pour moi dans ton sujet smiley-cry

Petit problème en effet  smiley-sweat, je l'ai mis en attachement dans le premier post.
 smiley-wink
43  International / Tutoriels et cours / Re: Interruptions ATMega 328p on: June 26, 2012, 11:40:25 am
@osaka :
Malgré ta vulgarisation, bha j'ai toujours pas compris les pointeurs   smiley-sad  smiley-red

Ai supprimer le message d'explication pour dépolluer, j'ai fais un tuto plus complet dans la même section.
44  International / Français / Re: Aidez nous ! Projet - Gestion domotique on: June 25, 2012, 03:06:34 pm
Je t'avoue que je n'ai pas lu tout le post, donc je ne connais pas tous les tenants et aboutissants du projets

Pour résumer mon projet d'à moi, quelque post tirés de ce topic.
http://arduino.cc/forum/index.php/topic,80422.msg612293.html#msg612293
http://arduino.cc/forum/index.php/topic,80422.msg618265.html#msg618265
http://arduino.cc/forum/index.php/topic,80422.msg720673.html#msg720673
http://arduino.cc/forum/index.php/topic,80422.msg732055.html#msg732055

une discussion sur xpl  smiley-mr-green
http://arduino.cc/forum/index.php/topic,80422.msg616576.html#msg616576

(tu vas utiliser xPL oui !!  smiley-lol ... apres j'arrete.

Naaannnnnn.  smiley-cry smiley-mr-green

Tu dis qu'il s'agit ici "d'un seul système à tout faire", mais j'ose imaginer qu'il va devoir/pouvoir interragir avec le reste du monde ? un matériel existant ? une IHM au moins ? c'est pour cela que xPL existe.

Vivi l'interfaçage est prévu  smiley-sweat, de ce point de vue là je me tourne vers interface web (html, javascript, websocket, ...) et toujours le même protocole binaire.

Après forcement sur un atmega168, meme au chausse pied ça rentrera difficilement smiley ... quoique la partie émission elle reste simple.

Ma solution rentre dans un attiny2313 (2ko de mémoire programme sans compté le bootloader)  smiley-mr-green .

Bonne soirée

 smiley-wink
45  International / Français / Re: Raspberry Pi en maître et arduino en esclave on: June 25, 2012, 02:46:25 pm
Yop Yop,
Comme Barbu et Zoro l'ont si bien dit, il n'y a pas que le débit dans qui compte dans la vie.  smiley-mr-green
Sinon pour le rôle de chacun, le rpi serais là évidement pour gérer les partie où l'arduino est limité (à chacun son travail et spécialités), interface (web, client lourd) et data (SQL, xml, etc).
Le gros avantage pour le rpi par rapport aux autres solutions à mon avis ce situe plus aux niveau du support de par sa popularité et communauté, c'est la raison principale du succès de l'arduino également je pense.
Pages: 1 2 [3] 4 5 ... 51