twitter avecarduino

Bonjour, je réussi a twitter avec un arduino, mais le je ne peux pas twitter 2 fois le même message .
Le message que j'envoie ce situe dans un tableau de caractère .

Comment je peux contourner cette procédure pour envoyer le même message plusieurs fois ?

hagi59:
Bonjour, je réussi a twitter avec un arduino, mais le je ne peux pas twitter 2 fois le même message .
Le message que j'envoie ce situe dans un tableau de caractère .

Comment je peux contourner cette procédure pour envoyer le même message plusieurs fois ?

bonjour
ça a été discuté recemment , twitter rejete les messages avec le meme contenu.
pour contourner , il faut donc qu'il n'y ai pas de "doublons" = ajouter au contenu utile , une portion unique

"pour contourner , il faut donc qu'il n'y ai pas de "doublons" = ajouter au contenu utile , une portion unique"

désolé mais j'ai pas compris

hagi59:
"pour contourner , il faut donc qu'il n'y ai pas de "doublons" = ajouter au contenu utile , une portion unique"

désolé mais j'ai pas compris

si ton tweet "utile" est "L'arduino fume, situation =SNAFU" :grin: , tu ajoute par exemple à la suite la datation JJMMAAHHMMSS

cé quoi SNAFU ? et pour ajouter la date je doit avoir un circuit intégré RTC pour ca , et est ce que je doit afficher la datation sur twitter ?

Voici mon code

#include <SPI.h> // needed in Arduino 0019 or later
#include <Ethernet.h>
#include <Twitter.h>

// The includion of EthernetDNS is not needed in Arduino IDE 1.0 or later.
// Please uncomment below in Arduino IDE 0022 or earlier.
//#include <EthernetDNS.h>


// Ethernet Shield Settings
byte mac[] = { 0x90, 0xA2, 0xDA, ****, 0xDD, 0x9A };

// If you don't specify the IP address, DHCP is used(only in Arduino 1.0 or later).
byte ip[] = { 192,***,1,177};

// Your Token to Tweet (get it from http://arduino-tweet.appspot.com/)
Twitter twitter("3129156982-GIS7xXXZ92t61kGLWPoNa7**********wjvAFpi");

// Message to post
char msg[] = "L'impréssion de l'objet 3d est fini";

int bouton =2;
int etat ;
int memoire = LOW;

void setup()
{
 delay(1000);
 pinMode(bouton,INPUT);
 Ethernet.begin(mac, ip);
 // or you can use DHCP for autoomatic IP address configuration.
 // Ethernet.begin(mac);
 Serial.begin(9600);
}

void loop()
{
 etat = digitalRead(bouton);
 if ((etat != memoire) && (etat==HIGH)){ 
 
   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.");
 }
 }
 memoire = etat;
}

je pense que je doit faire un tableau de random

SNAFU "Situation Normal , All Fucked Up" :grin:

un random peu retomber plusieurs fois et donc generer un doublon.

le plus simple est peut etre simplement d'utiliser millis() comme charge unique

je comprend pas du tout, pouvez-vous montrer un exemple de code svp ?

hagi59:
je comprend pas du tout, pouvez-vous montrer un exemple de code svp ?

Tu peux t'inspirer d'un "truc" comme ça

String msg = "Impression 3D terminee = "; // chaine de base

void setup() {
    Serial.begin(57600);
}

void loop() {
  String msgmilli = msg + millis(); // chaine de base + concatenation avec millis()
  Serial.println(msgmilli); // 
  delay(500);
}

je préfère pas utiliser millis car si je doit imprimer en 3d 2 fois la même pièces qui ont la même durée y peut ne pas afficher le 2 ème twitte .

J'utilise le random .
Voici l le bout de programme avec la random .

char msg[25];

void setup()
{
 randomSeed(analogRead(5));

}

void loop() {
 sprintf (msg, "l'impression 3d est finie (%lu) ", random(200000000));
 if (twitter.post(msg)) {
}
}

Je peut afficher plusieurs fois le même message, mais il affiche entre parenthèse le nombre aléatoire .

hagi59:
je préfère pas utiliser millis car si je doit imprimer en 3d 2 fois la même pièces qui ont la même durée y peut ne pas afficher le 2 ème twitte .

J'utilise le random .
Voici l le bout de programme avec la random .

char msg[25];

void setup()
{
randomSeed(analogRead(5));

}

void loop() {
sprintf (msg, "l'impression 3d est finie (%lu) ", random(200000000));
if (twitter.post(msg)) {
}
}




Je peut afficher plusieurs fois le même message, mais il affiche entre parenthèse le nombre aléatoire .

bonjour
Il faut etre pragmatique = le principal est bien que tu reçoive ton tweet signalant la fin de prod de chaque piece ?
et avec ta methode c'est bien le cas ?
peut importe la presentation de la partie variable puisqu'elle est "inutile" :grin:
J'avais fait un test "pour verif" avec des string et millis() , ça fonctionne aussi