Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #30 on: June 20, 2012, 01:36:46 am » |
et bein pour moi qui est un débutant en programmation la c'est comme sauter d'un plongeoir sans avoir appris a nager .... j’espère que je ne vais pas me noyer 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 8
|
 |
« Reply #31 on: June 20, 2012, 07:46:39 am » |
Bonjour bonjour  je suis aussi très intéressé par l'envoi de mail depuis l'arduino ( pour de la surveillance) Après lecture de vos commentaires j'ai tenté de reprendre le sketch mais la lib Ethernet je semble pas être la même : EthernetClient client; --> error: 'EthernetClient' does not name a type j'ai donc fais une modif en : Client client(server,25); puis : if (client.connect()) à la place de : if (client.connect(server,25)) mais aucune connexion ... Une personne plus compétente que moi pourrait confirmer que l'adresse SMTp de gmail est : 173,194,70,108 Beaucoup de monde semble s'être cassé les dents sur l'envoi de mails depuis l'Arduino ... on croise les doigts ! 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 8
|
 |
« Reply #32 on: June 20, 2012, 12:15:03 pm » |
Après quelques tests pas vraiment concluants voici un morceau de code, connection au serveur aléatoirement, bref il y a du travail ^^ #include <Ethernet.h> #include <SPI.h>
//--- déclaration du tableau d'adresse MAC --- byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x4D, 0x7F }; //---- tableau de l'adresse IP de la carte Arduino --- byte ip[] = { 192, 168, 1, 10 }; //----- tableau de l'adresse de la passerelle --- byte passerelle[] = { 192,168,1,254 }; //----- tableau du masque de sous réseau --- byte masque[] = { 255, 255, 255, 0 }; //----- Mail server address yahoo --- byte server[] = { 77,238,184,86 };
Client client(server, 465);
//----- Login / Pass base64 --- String UserName64 = "xx xx xx xx xx xx xx xx"; String Password64 = "xx xx xx xx";
//----- Informations --- String ServerName = "mail.yahoo.fr"; String Sender = "xxxxxxx@yahoo.com"; String Recipient = "xxxxxxxx@hotmail.fr";
void setup() { Ethernet.begin(mac, ip, passerelle, masque); Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect()) { Serial.println("connected"); client.println("HELO " + ServerName); /* say hello*/ client.println("AUTH PLAIN "); client.println(UserName64); client.println(Password64); client.println("MAIL From:<"+ Sender +">"); client.println("RCPT To:<" + Recipient + ">"); client.println("DATA"); client.println("To: " + Recipient); client.println("From: " + Sender); client.println("SUBJECT: This is the subject"); client.println(); /* empty line */ client.println("This is the body."); client.println(""); /* empty line */ client.println(".");/* end mail */ client.println("QUIT"); /* terminate connection */ client.println(); } else { Serial.println("connection failed"); } }
void loop() { if (client.available()) { char c = client.read(); Serial.print(c); }
if (!client.connected()) { Serial.println(); Serial.println("disconnecting."); client.stop(); for(;;) ; } }
|
|
|
|
« Last Edit: June 20, 2012, 01:20:11 pm by TchaoPaulo »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #33 on: June 21, 2012, 06:04:32 am » |
bon alors pour les nouvelles .... je suis passé hier soir chez nybi.cc d'apres leur avis gmail est incompatible avec mon arduino car il faut utiliser un autre protocole beaucoup trop complique que je ne saurais pas gerer ..... ils m'ont conseillé de passer par tweeter et la apres qq essais ca fonctionne enfin  /*
#include <SPI.h> #include <Ethernet.h> #include <Twitter.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[] = { 0x9x, 0xAx, 0xDx, 0x0x, 0x2x, 0x9x };
// Your Token to Tweet (get it from http://arduino-tweet.appspot.com/) Twitter twitter("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
// Message to post char msg[] = "Hello, World! I'm Arduino!";
// 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() { delay(1000); //Ethernet.begin(mac, ip, gateway); // or you can use DHCP for autoomatic IP address configuration. Ethernet.begin(mac); Serial.begin(9600); delay(1000); Serial.println("connecting ..."); if (twitter.post(msg)) { // Specify &Serial to output received response to Serial. // If no output is required, you can just omit the argument, e.g. // int status = twitter.wait(); int status = twitter.wait(&Serial); if (status == 200) { Serial.println("OK."); } else { Serial.print("failed : code "); Serial.println(status); } } else { Serial.println("connection failed."); } }
void loop() {
}
|
|
|
|
« Last Edit: June 21, 2012, 06:14:45 am by woodman »
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2441
|
 |
« Reply #34 on: June 21, 2012, 06:17:25 am » |
bon alors pour les nouvelles .... je suis passé hier soir chez nybi.cc d'apres leur avis gmail est incompatible avec mon arduino car il faut utiliser un autre protocole beaucoup trop complique que je ne saurais pas gerer ..... ils m'ont conseillé de passer par tweeter et la apres qq essais ca fonctionne enfin  Bonjour C'est ce que j'avais indiqué au debut, mais sur le principe ça ne change pas grand chose tu ne tweet pas directement avec l'arduino, tu passe par une passerelle tiers relais que tu ne maitrise pas (pérennité,stabilité,confidentialité et ... autres )
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #35 on: June 21, 2012, 06:24:56 am » |
Pour la confidentialité j'utilise un token et mon compte tweeter n'est pas publique donc ca dois régler ce problème
pour la stabilité quels peuvent etre les problèmes ?
idem pour la pérennité ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 6
Posts: 2441
|
 |
« Reply #36 on: June 21, 2012, 07:17:58 am » |
Pour la confidentialité j'utilise un token et mon compte tweeter n'est pas publique donc ca dois régler ce problème
pour la stabilité quels peuvent etre les problèmes ?
idem pour la pérennité ?
ce n'est que de la reflexion - Confidentialité : tu ne sais pas ce qu'il advient de ton (futur) tweet entre le relais et l'injection vers le site twitter, tu ne sais pas si il n'est pas filtré/lu/analysé/modifié,... avant qu'il soit (ou non) propagé ... - Stabilité : tu es tributaire d'un tiers "relayeur" dont tu ne gère pas la fiabilité de ses "ressources informatique" - Pérennité : Tu ne sais pas si le "relayeur" sera encore vivant dans 30 secondes, 1 minute, 1 heure, 1 jours, 1...  Si c'est pour de l'application un peu critique, ce n'est pas intellectuellement "viable" sur du long terme
|
|
|
|
« Last Edit: June 21, 2012, 07:35:33 am by Artouste »
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 101
|
 |
« Reply #37 on: June 21, 2012, 10:27:20 am » |
Pour la confidentialité j'utilise un token et mon compte tweeter n'est pas publique donc ca dois régler ce problème
pour la stabilité quels peuvent etre les problèmes ?
idem pour la pérennité ?
ce n'est que de la reflexion - Confidentialité : tu ne sais pas ce qu'il advient de ton (futur) tweet entre le relais et l'injection vers le site twitter, tu ne sais pas si il n'est pas filtré/lu/analysé/modifié,... avant qu'il soit (ou non) propagé ... - Stabilité : tu es tributaire d'un tiers "relayeur" dont tu ne gère pas la fiabilité de ses "ressources informatique" - Pérennité : Tu ne sais pas si le "relayeur" sera encore vivant dans 30 secondes, 1 minute, 1 heure, 1 jours, 1...  Si c'est pour de l'application un peu critique, ce n'est pas intellectuellement "viable" sur du long terme Un compte mail free (c'est gratuit), le miens a 10 ans et pas eu de problème particulier avec. Sinon gérer son propre serveur SMTP/POP avec un PC allumé 24/7. Rapsberry Pi est pratique pour cela. Pas cher et consomme 1w.
|
|
|
|
|
Logged
|
- 1 mega 2560 - 1 Raspeberry Pi (en pré-commande) - Quarante douze PC - beaucoup de volonté, pas beaucoup de temps. - Ma religion : OpenSource la semaine et OpenHardware le week-end.
Nous ne sommes pas des machines, ni des numéros, ni un compte en banque.
*Nous sommes des êtes humains.*
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #38 on: June 22, 2012, 01:03:09 am » |
bon alors c'est clair que twitter ca a pas l'aire le meilleur truc car hier les 2 premiers essais étaient ok mais la depuis ca passe plus et aujourd'hui j'ai droit a un message :
This application is temporarily over its serving quota. Please try again later.
donc je viens de faire une demande de compte mail free et j'attends mon courrier pour avoir mon mot de passe ...
edit: le probleme de twitter est un cas isolé de bug qui tombe le jour ou je fait mes premiers tests ..... j'ai pas eu de bol sur le coup la donc vais voir s'il n'y a pas d'autres bugs je reste comme ca sinon je verais pour passer autrement
Sinon pour une machine type Rapsberry Pi on dois pas pouvoir gérer un changement d’état d'un contact comme avec un arduino
|
|
|
|
« Last Edit: June 22, 2012, 04:08:50 am by woodman »
|
Logged
|
|
|
|
|
83 - var
Offline
Sr. Member
Karma: 0
Posts: 452
ARDUINO Powa !
|
 |
« Reply #39 on: June 22, 2012, 05:17:03 am » |
si si il dispose d'une dizaine de sortie analogique et numérique d'ou l'avantage du Rapsberry Pi
|
|
|
|
|
Logged
|
Un tien vaux mieux que deux tu l'auras !
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #40 on: June 22, 2012, 07:08:25 am » |
mais bon j'ai déjà le matos en arduino et une Rapsberry Pi je sais pas combien de temps il faut pour en avoir une ......
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4357
Arduino Hacker
|
 |
« Reply #41 on: June 22, 2012, 11:17:36 am » |
Salut, bon alors c'est clair que twitter ca a pas l'aire le meilleur truc car hier les 2 premiers essais étaient ok mais la depuis ca passe plus et aujourd'hui j'ai droit a un (...) le probleme de twitter est un cas isolé de bug qui tombe le jour ou je fait mes premiers tests ..... j'ai pas eu de bol sur le coup la donc vais voir s'il n'y a pas d'autres bugs je reste comme ca sinon je verais pour passer autrement
Twitter est trés stable en général. Hier (pas de bol) il y a eu un gros bug généralisé durant deux heures ... Twitter a fait un communiquer d'excuse avec tout le blabla habituelle. Par contre de là a utiliser twitter comme systéme de controle à distance ... surtout au travers d'un web-relai ... Niveau sécurité et fiabilité c'est trés moyen. En plus pour le moment twitter est pas trés regardant envers les comptes "non humain", mais maintenant qu'ils vendent les tweets à des régies de marketing en temps réel (et non plus sours forme d'archives) ça risque de changer ... Sinon pour une machine type Rapsberry Pi on dois pas pouvoir gérer un changement d’état d'un contact comme avec un arduino
Si c'est même un des gros avantages du Raspberry Pi  Il y a des entrées / sorties (3v3 !!), un bus I2C, un port série, un port SPI, ... comme sur une carte arduino en faite ! http://www.raspberrypi.org/archives/tag/gpio
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 101
|
 |
« Reply #42 on: June 22, 2012, 02:59:32 pm » |
Salut, Sinon pour une machine type Rapsberry Pi on dois pas pouvoir gérer un changement d’état d'un contact comme avec un arduino
Si c'est même un des gros avantages du Raspberry Pi  Il y a des entrées / sorties (3v3 !!), un bus I2C, un port série, un port SPI, ... comme sur une carte arduino en faite ! http://www.raspberrypi.org/archives/tag/gpioIntéressant. Je vais ouvrir un nouveau sujet sur la possibilité d'utiliser un RPi en maître pour piloter un arduino esclave via SPI/i2c http://arduino.cc/forum/index.php/topic,111244.0.html
|
|
|
|
« Last Edit: June 22, 2012, 03:20:23 pm by OLIVIERC67 »
|
Logged
|
- 1 mega 2560 - 1 Raspeberry Pi (en pré-commande) - Quarante douze PC - beaucoup de volonté, pas beaucoup de temps. - Ma religion : OpenSource la semaine et OpenHardware le week-end.
Nous ne sommes pas des machines, ni des numéros, ni un compte en banque.
*Nous sommes des êtes humains.*
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #43 on: April 04, 2013, 08:07:03 am » |
Bon je reviens vers vous pour vous montrer le code que j'utilise et qui fonctionne en utilisant twitter remplacez les xxxxxxxxxx par votre "Token" de Twitter j'utilise un compte twitter sur mon arduino pour envoyer les messages et un second qui est paramétré sur mon téléphone qui suit le 1er et qui m'alerte des que celui ci genere un tweet le dispositif d'alarme est donc placé sur 3 chambres d’expérimentation avec un message différent pour chaque il reste un bug qui persiste: sur la chambre 3 il dois y avoir des parasites car des fois je recois un message qui me signale une coupure et juste apres le second message qui me dit que tout est revenu dans l'ordre donc pas un probleme de rebond je pense qu'il faudrait un truc avec une tempo qui envoie le message que si le bouton subot un changement d'etat de plus de 20 secondes par exemple mais je sais pas trop ou placer ca dans le code #include <SPI.h> #include <Ethernet.h> #include <Twitter.h> byte mac[] = { 0xxx, 0xxx, 0xxx, 0xxx, 0xxx, 0xxx }; Twitter twitter("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); char msg[128] = ""; int cptMess = 0; const int button1Pin = 5; const int button2Pin = 6; const int button3Pin = 3; int button1State = 0; int button2State = 0; int button3State = 0; int oldBtn1State = LOW; int oldBtn2State = LOW; int oldBtn3State = LOW; void setup() { delay(1000); Ethernet.begin(mac); Serial.begin(9600); pinMode(button1Pin, INPUT); pinMode(button2Pin, INPUT); pinMode(button3Pin, INPUT); } void envoyerMsg(char *texte) { Serial.println("connecting ..."); sprintf(msg, "%s (%d)", texte, cptMess); Serial.println(msg); if (twitter.post(msg)) { int status = twitter.wait(); if (status == 200) { Serial.println("OK."); } else { Serial.print("failed : code "); Serial.println(status); } } else { Serial.println("connection failed."); } cptMess ++; } void loop() { //Bouton 1 button1State = digitalRead(button1Pin); if (button1State == HIGH && oldBtn1State == LOW) { envoyerMsg("au secours y a plus de jus chambre 3 !!!"); oldBtn1State = button1State; } else if (button1State == LOW && oldBtn1State == HIGH) { envoyerMsg("c'est bon le jus est revenu chambre 3"); oldBtn1State = button1State; } //Bouton 2 button2State = digitalRead(button2Pin); if (button2State == HIGH && oldBtn2State == LOW) { envoyerMsg("au secours y a plus de jus chambre 1 !!!"); oldBtn2State = button2State; } else if (button2State == LOW && oldBtn2State == HIGH) { envoyerMsg("c'est bon le jus est revenu chambre 1 "); oldBtn2State = button2State; } //Bouton 3 button3State = digitalRead(button3Pin); if (button3State == HIGH && oldBtn3State == LOW) { envoyerMsg("au secours y a plus de jus chambre 2 !!!"); oldBtn3State = button3State; } else if (button3State == LOW && oldBtn3State == HIGH) { envoyerMsg("c'est bon le jus est revenu chambre 2 "); oldBtn3State = button3State; } Serial.println("coin!"); delay(10000); }
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 20
|
 |
« Reply #44 on: May 17, 2013, 09:06:36 am » |
pour info le problème de perturbation est réglé avec l'ajout d'un condensateur de 10uf en parallèle dos bornes du contacteur ça permet du coup de filtrer les courants parasites le problème était simples a régler
|
|
|
|
|
Logged
|
|
|
|
|
|