coucou je poste ici car j'ai un petit soucis et je ne sais comment le résoudre.
je travaille sur un projet qui a pour but d'identifier des personnes absentes grace a des cartes magnétiques et je dois créer un interface web afin d'y noter les absents. Mon interface est fait mais je n'arrive pas a trouver le moyen de recuperer les données de mon caramade afin de les mettre sur mon site web
est ce que quelqu'un peut m'éclairer s'il vous plait
oui pour le bac je stresse beaucoup :s
ah oui biensur escusez moi pour ma part j'utilise une carte arduino avec une ethernet shield et mon camarade une arduino, une platine shield NFC RFID et des cartes transpondeur.
j'ai mis les codes en attaché
merci d'avance si vous pouvez m'aider !!!
Non enfait c'est au niveau du programme il a les personnes absentes=0 et les personnes présentes=1 et ensuite je dois affiche soit que les absents soit tout le monde mais avec un etat soit absent sout present tout mon probleme se situe au niveau du code et je ne sais vraiment pas comment m'y prendre
sophie3399:
Non enfait c'est au niveau du programme il a les personnes absentes=0 et les personnes présentes=1 et ensuite je dois affiche soit que les absents soit tout le monde mais avec un etat soit absent sout present tout mon probleme se situe au niveau du code et je ne sais vraiment pas comment m'y prendre
tu peux nous la refaire dans un francais compréhensible s'il te plait?
tu bloque sur quoi?
le code php, le code niveau arduino, le code sur le site?
je pense savoir exactement ce qu'il faut que je vous demande :
Comment lire les données d'un tableau j'ai cherché partout mais je nous trouve pas d'explications claires
merci
Coucou les copians (copines) ,
Dans ton listage la variable de boucle i est déclarée en doublon en global, ce qui ne sert à rien.
Dans la séquence d'initialisation la boucle ne fait rien, donc elle est inutile.
Dans le tableau Abs, j'imagine que chaque élément représente une personne. Dans ce cas les valeurs devraient être des 0 et des 1. Du reste, vu que ces valeurs restent faibles, un byte serait plus économe qu'un int.
Bon, je ne sais pas si ces quelques observations te seront utiles, mais je n'ai pas le temps ce soir de tester du code sur mon Arduino. Mais globalement ton programme devrait ressembler à :
int Abs[]={1,0,1,1,0,0,0,0,1,0};
void setup (){ }
void loop (){
for (byte i=0; i<=9; i++) {
Serial.print("Personne num "); Serial.print(i);
if (Abs[i]==0) {Serial.println(" : Absente.");}
else {Serial.println(" : Presente."); } } }
Coucou nulentout merci beaucoup pour cette correction mais je comprends pas pourquoi tu met des 0 et des 1 au tableau pourquoi un est 1 et pourquoi l'autre 0 ?
j'ai enfin compris ce qu'il fallait que je fasse exactement ! j'ai juste besoin d'une correction s'il vous plait (plus précisement le tableau "Nom" ou j'ai apparement des erreurs de déclarations :/)
#include <SPI.h> // Chargement de la Librairie SPI
#include <Ethernet.h> // Chargement de la Librairie Ethernet
char Nom[i] = {"Mendiondo", "Dormont", "Millereux"};
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x12, 0xDC }; // Instaure l'adresse mac de la shield Ethernet
IPAddress ip(172,19,239,60); // Initialise l'adresse IP 172.19.239.60 dans le programme
EthernetServer server(80); // Permet à la carte de communiquer avec le Navigateur en HTTP
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac,ip); // Initialise la Librairie Ethernet, l'adresse mac et IP
server.begin(); // Initialise le Serveur
Serial.print("L'adresse du serveur HTTP est: "); // Affiche le message à l'adresse du réseau HTTP
Serial.println(Ethernet.localIP()); // Affiche l'adresse IP
}
void loop()
{
//Fonction qui permet de savoir si un client est connecté au serveur et que des données sont disponibles
EthernetClient client = server.available(); // Regarde si le serveur est disponible
if (client)
{
//Un nouveau client est identifié
Serial.println("new client");
boolean currentLineIsBlank = true; // Une requête http finit avec une ligne blanche
//Tant que le client est connecté et que les données sont disponibles, on va lire et envoyer les données sur le port série
while (client.connected()) // Tant que l'arduino et la carte réseau sont connectés
{
if (client.available()) // Si le client est disponible
{
char c = client.read();// Lit la valeur du client
Serial.write(c);
if (c == '\n' && currentLineIsBlank) // Si on est arrivé à la fin de la ligne (on a reçu un retour à la ligne) et que la ligne est blanche, la requête http est fini, donc on peut envoyer une réponse
{
//Quand toutes les données sont envoyées, la requête HTTP est terminée, fin de la connexion
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connnection: close"); // La connexion sera fermé après l'achèvement de la réponse
//Permet de fixer le temps de rafraichissement de la page web à 5s
client.println("Refresh: 5");
client.println();
client.println("<!DOCTYPE HTML>");
{
}
{
client.print("<body>"); // Contient le corps du document html
client.println("<body style = background:#003366>"); // Définit la couleur en fond du site en Bleu nuit
client.println("<span style = color:#FEFDF0>"); // Définit la couleur de la police du site en Blanc de Troyes
client.print("<u>"); // Souligne le Texte à l'intérieur de la balise
client.println("<center>"); // Centre le texte
client.println ("<font size=7>"); // Règle la taille des caractères
client.println ("<font face=Comic sans MS>"); // Applique une police au texte
client.println ("<b>"); // Règle le texte en gras
client.print("Lycée Gustave Eiffel : ");
client.print ("</b>"); // Fin de la balise <b>
client.print ("</font size>"); // Fin de la balise <font size=7>
client.print ("</font face>"); // Fin de la balise <font face=Comic sans MS>
client.print("</center>"); // Fin de la balise <center>
client.println("</u>"); // Fin de la balise <u>
client.println("<ul>"); // Permet de créer une liste ordonnée ou numéroté
client.println("<li>"); // Incrémente le nombre qui sera affiché devant l'élement de la liste
client.print("Absents :");
client.print(Nom);
client.println("</ol>"); // Fin de la balise <ol>
client.println("
"); // Retour à la ligne
client.print("</body>"); // Fin de la balise <body>
}
client.println("</html>");
break;
}
// Fin de la transmission et déconnexion
if (c == '\n')
{
currentLineIsBlank = true; // Commencer une nouvelle ligne
}
else if (c != '\r')
{
currentLineIsBlank = false; // Obtention d'un caractère sur la ligne actuelle
}
}
}
delay(1); // Temps pour que le Navigateur Internet reçoive les données
client.stop(); // Couper la connexion
Serial.println("client disonnected");
}
}
Je tiens aussi a remercier toutes les personnes qui ont eu la patience de m'aider <3
j'ai enfin compris ce qu'il fallait que je fasse exactement !
Apparemment non car ton code ne tiens pas compte de tes besoins.
Je ne vois pas apparaitre la gestion des absents et présents?
Que viennent faire les noms dans l'histoire?
Dans tous les cas pour la déclaration de ton tableau tu as besoin d'un tableau de pointeurs vers des chars (tes noms) et non un tableau de char.
Chaque élément du tableau de pointeurs sera initialisé à l'adresse de la chaine littérale pour ce nom.
Mais si tu veux associer une liste de noms à une valeur "absent" ou "présent" il faut plutôt partir sur un tableau à 2 colonnes: la première pour stocker les noms, la deuxième pour stocker l'information "présent" ou "absent".
Coucou nulentout merci beaucoup pour cette correction mais je comprends pas pourquoi tu met des 0 et des 1 au tableau pourquoi un est 1 et pourquoi l'autre 0 ?
Bonjour tout le monde,
Pour répondre (Un peu tard) à ta question, je suppose que les noms des personnes sont contenues dans un tableau de chaines de caractères. Le tableau que je te propose contient autant d'éléments que de personnes identifiées par leur noms. Dans ce tableau, respectant l'ordre des personnes, je place un "1" si la personne est présente, et un zéro dans le cas contraire. C'est un moyen détourné d'écrire des booléens. Il serait plus logique de déclarer un tableau de booléens et de le remplir avec des true et de false. C'est alors une question de lisibilité, de philosophie, voir d’optimisation de ton programme.
Amicalement : Nulentout.