login et password avec Telnet....

J'utilise le truc officiel... :grin: je crois que c'est le machin "Wquelquechose" en effet XD

4 connexions simultanées, je crois.

dans ce cas de figure, je n'ai qu'une connexion active avec le serveur.

juste en passant comme ca, telnet est un peu désuet face à ssh. :grin:
mais la connexion avec le wtrucmush n'est elle pas en udp au départ?
aucune trace udp avec netstat, mais tcp oui.

vide ton syslog et lance la commande à nouveau et montre le résultat.

Le problème est que le système que j'ai n'a pas de serveur SSH :grin:

Et je ne sais pas où se trouve mon syslog.... va falloir que je cherche :grin: :grin:

si c'est du linux
cat /var/log/syslog
pour installer ssh
sudo apt-get install ssh

Sauf que faut pas compter sur l'Arduino pour faire du crypté.
Donc prendre SSH comme serveur telnet ca n'apporte pas grand chose, à part être à la mode ;).

barbudor:
Sauf que faut pas compter sur l'Arduino pour faire du crypté.
Donc prendre SSH comme serveur telnet ca n'apporte pas grand chose, à part être à la mode ;).

j'aurais appris un truc en plus aujourd'hui sur le nono. :blush:

Et les commande "habituelles" ne fonctionnent pas toutes, c'est une distrib light qui utilise "opkg" pour les install, il n'y a pas de compilateur c .... autrement l'arborescence est différente de ce que je trouve pour les autres distrib... alors il faut à chaque fois que je sorte le piolet et le casque de spéléo :grin:

basé sur une distri openwrt
tu trouveras pas mal de packages ici
http://downloads.openwrt.org/kamikaze/8.09/rdc/packages/

Est ce que tu sais quel package je dois installer pour avoir mon mes heures au format français lorsque je fais #date ? :grin:

Merci pour ce lien :smiley:

A part ça, je ne comprend toujours pas pourquoi cela se "gèle" après deux passage de netstat (maintenant c'est deux, y a du progrès.... XD )

Jean-François:
Est ce que tu sais quel package je dois installer pour avoir mon mes heures au format français lorsque je fais #date ? :grin:

Merci pour ce lien :smiley:

A part ça, je ne comprend toujours pas pourquoi cela se "gèle" après deux passage de netstat (maintenant c'est deux, y a du progrès.... XD )

cherche le fichier locale, mais sans grande conviction et mets ceci fr_FR.UTF-8
pour le syslog, locate syslog devrait te renvoyer son chemin

Pour les locales, c'est déjà fait, mais j'ai toujours les jours et les mois en anglais.... je ferais autrement pour les convertir en français avant de les envoyer à l'arduino... ou après XD

Merci pour locate :grin:

locate syslog

-sh: locate: not found

regardes dans
/tmp/syslog.log peut être

sinon ouvre un autre terminal, tapes
tail -f /var/log/erreur.log

jetes un oeil la dessus, pas tout lu (la flemme :slight_smile: )

XD

tail -f /var/log/erreur.log

tail: can't open '/var/log/erreur.log': No such file or directory
tail: no files

Par contre, j'ai trouvé /var/log/Xorg.0.log

Il me semble que la dernière passe, la variable "Etat" reste sur WAIT_INVIT et donc se bloque à :

  case WAIT_INVIT:
    if (client.available()) {
      char c = client.read();
      Serial.print(c);
      stringOne+=c;
    }
    if (!client.connected()) {
      Serial.println();
      Serial.println("déconnecté....");
      client.stop();
      Etat = WAIT_CONNECT;
    }
    // ... ici le code pour attendre l'invit de commande"
    if(stringOne.endsWith("# ")){    
      Etat = RUNNING; 
    }
    break;

Et je n'arrive pas à déterminer pour quelle raison cette variable devient .... invariable :grin:

XD

En rajoutant :

if (millis() - lastAttemptTime > requestInterval) {
  Etat = RUNNING;
 lastAttemptTime = millis();
}

En dehors du Switch Case, avec un intervalle de 1500, ça repart après le blocage, c'est donc bien cette variable qui reste à WAIT_INVIT

J'ai pas compris pourquoi, mais la suite est dans ce sens puisque je veux faire mes commandes à intervalles régulier pour remplacer les CronJobs.... donc maintenant il faut que je temporise depuis le début XD

Bon finalement.... infobarquee avait partiellement raison, c'était bien un problème de tempo, mais pas sur la partie login XD

J'ai déplacé ma fonction millis() ici :

  case WAIT_INVIT:
    if (client.available()) {
      char c = client.read();
      Serial.print(c);
      stringOne+=c;
    }
    if (!client.connected()) {
      Serial.println();
      Serial.println("déconnecté....");
      client.stop();
      Etat = WAIT_CONNECT;
    }
    if (millis() - lastAttemptTime > requestInterval) {      // ici
      Etat = RUNNING;
      lastAttemptTime = millis();
      // ... ici le code pour attendre l'invit de commande"
      if(stringOne.endsWith("# ")){    
        Etat = RUNNING; 
      }
    }
    break;

Suivant la longueur de ce que me renvoi la commande, ça marche à tout les coups, par exemple, #date me renvoi une ligne, avec un intervalle de 50Ms ça fonctionne du tonnerre.
Pour #netsat qui me renvoi environ 50 lignes, il faut aller à 5000Ms pour pas avoir de soucis.
La fonction #ls qui me renvoi 8 lignes va bien avec 800Ms.

Ce qui a d'amusant, (quand je dis que j'aime pas la fonction delay() ) c'est que j'ai fait des essai au même endroit avec des delay() de 3 secondes et que cela ne changeait rien au problème.
Je pense que simplement le buffer est saturé et qu'en utilisant delay() on reprend au même taux de saturation..... ou un truc du genre XD

content de t'avoir un peu aidé alors.
mais une autre solution me vient à l'esprit, a tester quand même
en mettant une boucle while
style
while caractere !=# on boucle jusqu'à ce que le # s'affiche
lorsque qu'il s'affiche, caractere="" et on vide le buffer
comme ca, plus de tempo.

par contre essaye en virant l'espace après le #, car ca oblige a avoir un caractère en plus alors que ca renvoie simplement un #

if(stringOne.endsWith("# ")){

J'ai déjà essayer au tout début et ça marche pô.... XD

Pour l'espace après le #, il fait partie intégrante de la string, alors je n'y touche pas :grin: