Aller au contenu


Photo
- - - - -

Robot contrôlé par netbook via internet


34 réponses à ce sujet

#21 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 23 décembre 2010 - 02:37

Bon, je me suis réjoui un peu trop vite.

ça fonctionne, ça c'est vrai, mais pas dans le bon sens:

le pricipe de serveur/client sur Processing est:



-Le SERVER est toujours connecté, il envoie des données à tous ses clients, peu importe qui ils sont



-Le CLIENT ne peut se lancer qu'arès le serveur, il a besoin de l'adresse IP de son serveur pour se connecter, et il reçoit les données de son serveur.






CE QUE JE VOUDRAIS:

Mon robot crée un serveur dès qu'il s'allume, avec une IP fixe grâce à hamachi.

Ma télécommande, se connecte quand elle veut à cettte IP fixe, elle envoie des données à mon robot.




CE QUE J'AI:

Ma télécommande crée un serveur

Mon robot peut ensuite rejoindre ce serveur, pou recevoir les données que ma télécommande envoie




EN QUOI C'EST GÊNANT:

Je dois dire à mon robot de se connecter UNE FOIS que j'ai "allumé" la télécommande, et lui donner l'IP de ma télécommande -_-"




Comment faire:

1)RECEVOIR des données avec un serveur? en théorie c'est possible, mais je n'arrive pas à trouver les outils pour...?

2)RETENTER de se connecter à intervalles fixes? le problème est que l'échec de connexion=> crash du sketch. Et puis il faudrait toujours rentrer l'IP de la télécommande au lieu de celle du robot...




J'aime bien ces balises :p

#22 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 23 décembre 2010 - 03:23

a mon avis le gros du probleme vien de ton processing :p

bon je doit dire que je ne connais absolument pas :|

je vais essayer de m'y mettre histoire de ne pas mourir idiot ! :tare:

si tu veux bien, envoi moi des codes source pour essayer !



#23 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 23 décembre 2010 - 03:36

Bon, ça marche, suffisait de, heu... lire les instructions :|
je met mon code à disposition dès que je m'en suis bien impreigné, que je l'ai bien annoté et qu'il s'adapte parfaitement à mon robot.

#24 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 23 décembre 2010 - 04:05

[quote"MrAlexis44600"]Bon, ça marche, suffisait de, heu... lire les instructions :|
[/quote]
J'avoue que souvent, ça aide :D

Bien joué en tout cas si ca marche ! ;)

#25 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 23 décembre 2010 - 04:20

23 dec 2010: Ajout d'une fonction de contrôle plus facilement paramétrable:





Il s'agit de 2 sketches Processing: L'un peut tourner sous n'importe quel PC (il suffit au préalable d'installer et de configurer raapidement Hamachi: se logguer dans mon réseau privé -soumis à un mot de passe ^^ - ) et l'autre sketch tourne sur le netbook, sur le robot, pour envoyer les données à l'arduino qui pilote les moteurs (et ausi au moins 2 servos pour bouger une webcam, + 4-5 servos pour faire un bras robotisé lorsque je les aurai reçus.)



Le sketch sur mon EeePC: crée un serveur, reçoit si un client se connecte à ce serveur, et si ce client donne des ordres, si oui, il les envoie en brut sur mon arduino (l'arduino décryptera ensuite, genre "z"=avance, "s"=recule...).


//Crée un serveur (mon robot) qui permet de recevoir les ordres de Moi.

//le principe est simple: si une touche est appuyée, elle est envoyé sur le réseau, reçue par ce sketch, puis envoyée à l'arduino :)



//librairies nescéssaire: réseau local et arduino (port série)

import processing.net.*;

import processing.serial.*;





Serial Arduino; //pour envoyer les ordres au robot!

Server robot; //rien à voir avec l'arduino, c'est la réception des données à travers le pseudo-réseau local hamachi



PFont font1; //la police, peu utile



void setup() { // se lance au début

size(600, 500);



println(Serial.list()); // liste et affiche tous les ports disponibles



Arduino = new Serial(this, Serial.list()[0], 9600); //crée une connexion séria avec l'arduino, le dernier argument est la vitesse



robot = new Server(this, 12345); //le serveur en question, port 12345, à mon avis pas utilisé



background(0); //fond noir



frameRate(5); // 5 FPS, mon netbook est pas un alienware



font1 = createFont("Courier", 60); //la police et la taille, appellée à disparaitre



fill(255); // pour écrire le texte (couleur)



textFont(font1); //met en place la police

text("ROBOT", 175,120); // écrit "ROBOT" aux coordonnées, avec les réglages d'ériture précédentes



}





void draw() { //équivalent du loop en gros

// robot.available() renvoie un client, que je stocke dans "telecommande"

Client telecommande = robot.available();

// Si il y a un client, et qu'il donne des ordres

if (telecommande !=null) {

String ordres = telecommande.readString();

if (ordres != null) {

println(ordres);

Arduino.write(ordres);

}

}



}

[/code]



Le sketch sur mon autre ordi: rejoint le serveur, envoie le code ASCII de chaque touche appuyée sur ledit serveur.


//Crée un client qui se connecte à un serveur (mon robot) et lui envoie des ordres.

//le principe est simple: si une touche est appuyée, elle est envoyé sur le réseau

//néscessite de faire partie du réseau privé hamachi dédié à cet effet, dont je ne communique évidemment pas les identifiants ici :p



//librairies nescéssaire: réseau local

import processing.net.*;





Client commande; //envoi des données de la télécommande à mon netbook





PFont font1; //police d'écriture





void setup() { //se lance au début

size(600, 500); //taille de la fenêtre

background(0); //fond noir

stroke(0); //pas de bordures aux caractères je crois

frameRate(5); // pas besoin de 60 FPS!

commande = new Client(this, "5.74.100.8", 12345);// Lance un p'tit client



font1 = createFont("Courier", 60); // définit la police d'écriture



fill(255); // écrit en blanc je crois

textFont(font1); //applique la police

text("COMMANDE", 180,120); // pour s'y retrouver, ça l'écrit en gros!

}



void draw() { //on fait rien en boucle!

}



void keyPressed() { //si une touche est pressée



commande.write(key); //envoyer la touche pressée... je l'avait dit qu'il était simple!

}



[/code]





#26 thibsert

thibsert

    Membre

  • Membres
  • 18 messages

Posté 06 janvier 2011 - 07:18

[quote"MrAlexis44600"]Je me suis mal exprimé, ce que j'ai découvert lorsque je tentais de passer de réseau local à l'internet c'est que je devais régler certains paramètres dans mon routeur, ce qui ne me conviens pas car je veux pouvoir bouger mon robot et ma télécommande.
D'où mon raisonnement très simple: si j'utilise une méthode de transfert qui ne nécessite aucun paramétrage de ma box, je peux m'attendre à ce que cette technique fonctionne de n'importe où, vers n'importe où. [/quote]Dans ce cas l'idée du script php, ou de n'importe quel autre script coté serveur, est idéale ! Et à mon avis bien plus pratique qu'un réseau virtuel. Si tu héberge ton script sur un serveur (un vieil ordi chez toi toujours allumé, ou un hébergeur gratuit en ligne), le robot et la télécommande ont seulement besoin d'une connexion internet classique pour y accéder.
Alors évidement, ça ajoute un élément au réseau (le serveur), mais celui-ci n'est ni gourmand, ni complexe...

#27 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 06 janvier 2011 - 10:32

Je te remercie de t'inquiéter de mon cas :)
J'ai vu plusieurs exemple depuis, en effet il semble faisable d'héberger tout cela sur un site tierce, la télécommande et le robot se connectant à ce site.
Tu as raison, j'entends partout que ce n'est pas complexe, mais je n'ai aucune compétence là dedans, et à mon avis je ne suis pas près d'en avoir, donc je me contente de choses à ma portée :) .
Donc voilà, en plus en ce moment je considère la méthode de transmission comme "affaire classée" car je remet à niveau toute la base mécanique/électrotechnique. Le temps que je peux consacrer aux robots je préfère le consacrer à ceci qu'à l'apprentissage du "software pur et dur" mais qui sait, un jour peut être? ;)

#28 Guest_wartotal_*

Guest_wartotal_*
  • Guests

Posté 30 janvier 2011 - 09:37

j'avais pris contact avec toi via Let's make robot.
Je trouve ton idée de robot connecté grâce à un Pc vraiment intéressante.Je sais que c'est du boulot mais penserais tu a faire un tuto qui explique vraiment tout car c'est dur sur le base du post de reproduire ton robot.


#29 lordcuty

lordcuty

    Habitué

  • Membres
  • PipPip
  • 298 messages

Posté 30 janvier 2011 - 12:42

euh pour hamachi tu configure sa comment, j'ai jamais réussi à utiliser correctement!

#30 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 30 janvier 2011 - 09:04

Bonjour!



@wartotal: en effet c'est du boulot les tutos (d'ailleurs j'en ai un sur le DiscoBot qui traîne :| )

et de plus je suis d'avis que tu serai plus satisfait si comme moi tu crée toi-même la plus grande part du code/de l'élec.

Commence par apprendre à te servir d'un arduino avec processing (c'est ce code qui fait 90% du travail), réfléchis à l'électronique de puissance de ton robot (pour commencer tu peux hacker une voiture téléguidée comme j'ai fait :) ) je serais ravi de t'aider si tu as un problème ponctuel, mais pour le moment un tuto n'est pas à l'ordre du jour... désolé!



@lordcuty: je ne me souviens plus trop, ça m'avais l'air bien intuitif, je crée un serveur sur un ordi avec un nom et un mdp, puis sur l'autre je le rejoins en connaissant nom et mdp. ensuite les 2 "adresses IP" sont visibles. J'ai trouvé que ça fonctionnait de manière très basique, genre msn etc. J'ai cherché du coté des alternatives libres mais c'est très loin d'être aussi "user-friendly"

#31 Guest_wartotal_*

Guest_wartotal_*
  • Guests

Posté 14 février 2011 - 11:30

Alexis pour un robot d'environ 5Kgs, tu conseillerais quoi comme moteur voir servo moteurs?

#32 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 15 février 2011 - 07:06

Choisir et simuler un moteur pour votre robot.



Je commence à avoir un peu de mal avec les gens qui ne cherchent pas un minimum... Il y a plein de tutoriels partout sur internet et en particulier sur robotix, il faut apprendre à chercher et apprendre à s'en servir !

#33 Guest_wartotal_*

Guest_wartotal_*
  • Guests

Posté 15 février 2011 - 11:07

Merci pour ton lien, t'auras plus de mal avec moi c'est la derniere réponse que je poste sur ce sujet.
Il est évident qu'en faisant des calculs et en cherchant on trouve, on peut également demander un coup de pouce à ceux qui ont fait une réalisation similiaire a celle que l'on souhaite faire.
Je demandais juste conseil, sur une marque, des promos, des marques à éviter bref apparement l'entraide n'est pas de mise, dommage.


#34 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 16 février 2011 - 07:59

C'est dommage que tu le prennes comme ça, ce n'était pas vraiment le but. Je voulais juste que tu te rendes compte que tu poses une question qui n'a pas vraiment de réponse.

Le poids du robot ne suffit pas à déterminer les moteurs à utiliser.
Il y a beaucoup d'autres questions à répondre.

-Le robot aura-t-il une roue, deux roues, quatre roues motrices ?
-Quelle sera la taille de sa(ses) roue(s) ?
-Le robot devra-t-il gravir une pente ?
-A quelle vitesse doit-il avancer ?
-Quelle accélération ?
-...

Une fois que tu auras définis toutes ces choses, tu dois calculer le couple dont tu auras besoin pour tes moteurs (avec le tutoriel que j'ai donné) et ensuite tu pourras commencer à regarder ce qu'il existe comme moteurs qui développe ce couple. Après, si tu as des questions sur des marques ou des questions plus précises, on peut t'orienter. Mais il y a beaucoup de travail à faire avant de simplement répondre à ta question.

Et c'est juste ça que je voulais te faire remarquer, simplement. Sans agressivité, sans stress. ;)

#35 alain

alain

    Membre

  • Membres
  • 13 messages

Posté 17 février 2011 - 06:02

bonjour,

juste une idee pour l'application client/serveur. Compiler une ocx qui se greffe dans une page web.

le client(robot) etablira la connection toujours a la meme adresse.

dans tout les autres cas, il faut un proxy.



j'ai fait un projet similaire avec un eeepc ecrit en vb(itineraire a envoye au robot/ commande manuelle/ automatique , bridage des commandes à une seconde en cas de perte de connection avec reconnection automatique. renvoi du son + video+etat du signal wifi +batterie(du portable et/ou de la secondaire)

16F84 Uc ASM code



Le texte du lien





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users