PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fernsteuerung durch Einbindung eines W-Lan-Moduls (M256)



Transformer
03.05.2014, 14:49
Hallo

Ich möchte den RP6 mit dem W - Lan - Modul (M256) fernsteuern. Durch Tastenbefehle der Tastatur (Pfeiltasten usw.) soll der RP 6 gesteuert werden.

Das W-Lan-Modul(M256) ist mein Master u. der RP6 dann Slave. Wie kann ich die Tastenbefehle an mein Master senden? Habe schon die Fernsteuerung

von FabianE. u. im Forum nachgeschaut aber leider wurde ich nicht schlauer.

Kann mir jemand helfen oder hat schon Erfahrung? Bräuchte ein paar Tipps.

RolfD
03.05.2014, 15:14
Hast du dir schon die Beispiele Example_11_WIFI_REMOTE_1 und Example_12_WIFI_REMOTE_2 aus den Examples zur Arexx RP6M256Library (http://www.arexx.com/rp6/downloads/RP6Examples_20120725f.zip) auf http://www.arexx.com/rp6/html/de/software.htm angesehen oder mal ins Handbuch (http://www.arexx.com/rp6/downloads/RP6_M256_WIFI_MANUAL_DE_20130214.zip) auf http://www.arexx.com/rp6/html/de/docs.htm geguckt?
Ich hab die M256 leider nicht aber ich bin mir ganz sicher, das man da was zu findet.
Da sollte zumindest vermerkt sein wie man Steuerbefehle an die M256 übergibt, ein M256 Master für Fabians Remotrol kann man sich aus seinem M32 Master Modul ableiten/umschreiben... und das Ganze nur noch Sinnvoll verbinden...
Mich wundert allerdings auch, das anscheinend noch keiner ein M256 Master für Remotrol geschrieben und veröffentlicht hat.
Gruß

Dirk
03.05.2014, 20:39
Hi RolfD,

Mich wundert allerdings auch, das anscheinend noch keiner ein M256 Master für Remotrol geschrieben und veröffentlicht hat.
Immerhin gibt es einen M256 I2C Master (http://www.rn-wissen.de/index.php/RP6Control_M32:_I2C-Slave#Single-Slave_Master) für den M32 I2C Slave (http://www.rn-wissen.de/index.php/RP6Control_M32:_I2C-Slave#I2C-Slave), den ich mal gemacht hatte. ;)
Es dürfte nicht so schwierig sein, das für Remotrol zu nutzen.

RolfD
03.05.2014, 21:01
@Dirk
Ahhh Danke sehr.. das Projekt war auch mir entgangen.
Gruß

Transformer
11.05.2014, 15:51
Vielleicht kann mir jemand nach langer Suche und Ausprobieren weiterhelfen. Möchte das der RP6 nach Tastatureingabe (Taste: Pfeil links) nach Links fährt (rotiert).

Wie lese ich den Befehl ein und sende diesen per W-Lan an mein Master (M256). Brauche kein fertiges Programm sondern nur einen Lösungsansatz (Quellcode) als Gedankenstütze.

Gruß

RolfD
12.05.2014, 22:03
Ich fürchte,
Deine Frage ist ewas zu komplex und/oder zu allgemein gestellt.

Wo befinden sich die zu drückenden Tasten (PC, Playstationcontroller, Fernbedienung, alles am RP6 mögliche Anschlussquellen für deine Eingaben... ), wenn PC, mit welcher Arbeitsumgebung arbetest du (C,C++/#,VB,Delphi) dort.. alles mögliche Plattformen um auf einem PC Programme zu schreiben... Spezialfälle wie Rasbery Pi lass ich mal aussen vor... und was weis ich was man da noch alles rauslesen könnte... aber ich empfehl dir trotzdem was...
Besorg dir Visualbasic, lerne wie man WinSockets öffnet (das bedeutet eine Verbindung zu einem Netzwerktreiber aufbauen, es ist dabei recht egal ob lan oder wlan) und wie man Tasten abfragt.. da gibts vermutlich was in den Stdio oder Windows libs wie GetAsyncKeyState. Ein paar Links dazu:
http://www.win-api.de/tutorials.php?tutid=6&Ses
http://msdn.microsoft.com/de-de/library/windows/desktop/ms740506%28v=vs.85%29.aspx
http://www.codeproject.com/Articles/13071/Programming-Windows-TCP-Sockets-in-C-for-the-Begin
so.. ich denke Du kommst nun klar. :D
Achso.. sollte da ein Telnet Server auf der M256 laufen.. musst du natürlich deinem Programm noch Telnetbefehle bei bringen, läuft da jedoch ein Webserver drauf, würd ich es eher mit http versuchen... man könnte das Ganze aber vielleicht auch mit OLE-Automatisation, und dem Windows scriptinghost lösen... oder Perl.. oder Python .. es führen so unglaublich viele Wege nach Rom... Java ginge auch.. ach schreib dir doch ne Android App :)
Falls du noch Google Suchbegriffe brauchst damit deine Suche nicht mehr länger vergeblich ist.. "Windows vb Taste abfragen" .. "Windows Tasten VB" .. oder "Windows VB Netzwerk" .. "Windows VB Socket"
VB ist dabei auch sinnvoll durch C zu ersetzen. So weit ich weiss, laufen beide Spachen (VisualBasic und Visual C) auf dem gleichen Betriebssystem und haben damit auch die gleichen Funktionsnamen/klassen.

Wenn du deine Frage etwas präzisieren könntest, käme dann vielleicht auch eine hilfreiche Antwort bei rum :D
Wer kennt hier eigentlich noch ADA, COBOL & FORTRAN und LISP ? Nur der Vollständigkeit halber :D
Gruß

Transformer
22.05.2014, 18:20
Hab nochmal eine Frage zur Fernsteuerung.

Hier aber erst mal ein paar Infos:
- Master ist W-Lan-Bord (M256)
- Slave ist RP6_Base
- Fernsteuerung des RP6 durch Tastatureingaben (Laptop)
- Programmierung in C

Hab auch schon ein Ordner angelegt wo ein kleines Programm (C-Datei) zum Test für die Fernsteuerung gespeichert ist.

Außerdem befindet sich dort die Datei make_all, make clean und das makefile jeweils vom Beispielprogramm "Example_12_WIFI_REMOTE_2".

Außerdem habe ich im makefile das TARGET = RP6_Roboter umbenannt. (RP6_Roboter ist mein Projektname).

Leider weiß ich nicht wie man ein "Code-Feld" erstellt wo man den Programmcode hinterlegen kann.:(


Hier mein Code:


#include "RP6M256Lib.h"

#include "RP6I2CmasterTWI.h"

#include "RP6M256_I2CMasterLib.h"

#include <stdio.h>


int main(void)
{
initRP6M256();

char Steuerbefehl;

writeString_P_Wifi("Drücken die Taste v für Vor!\n");
mSleep(3000);

Steuerbefehl=getchar();

while(true)
{
switch(Steuerbefehl )
{

case'v':

moveAtSpeed(50,50);
break;

default:
writeString_P_Wifi("Taste ist nicht v!\n");
}

}
return 0;

}


Output:

> "make.exe" all

-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

make.exe: *** No rule to make target `RP6_Roboter.elf', needed by `elf'. Stop.

> Process Exit Code: 2
> Time Taken: 00:00


Weiß nicht was ich für ein Fehler gemacht habe? Oder ob was fehlt? Bitte um Hilfe!

RolfD
22.05.2014, 19:02
Hallo Transformer,
der erste Fehler ist sicherlich, nicht gewissenhaft die Anleitungen auf den beigelegten CDs zu lesen.
Du kannst nicht einfach was durch die Gegend kopieren denn wenn du dir das Makefile anschauen würdest, würdest Du sehen das dort ein Sack voll Pfade drin stehen die angepasst werden müssen. Das Vorgehen um den Umgang mit dem RP6 zu lernen ist nicht von hinten anzufangen und irgendwas zu machen sondern sich an die Anleitung zu halten und step by step .. und am besten nur mal mit dem RP6 erste Erfahrungen zu sammeln. Und zwar mit dem ersten Example der Liste. Zweiter Fehler ist also von hinten und quasi direkt mit dem schwiergsten überhaupt anzufangen. Ein ganz neues Projekt aufsetzen können die wenigsten hier, die Meisten bauen aus vorhandenem weiter.
Dritter Fehler ist nicht der Umstand das du um Hilfe fragst.. sondern wie...
Man bräuchte das Makefile als komplette Datei, deine Verzeichnsstruktur, Infos zu deiner Compilerumgebung .. und und und... es liefe aber darauf hinaus das dir einer das Makefile umschreibt.. nur hast du dann nichts gelernt! Mach dich selbst schlau! Da z.B. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Exkurs_Makefiles
Oder benutz eine Entwicklerumgebung wie AVR STudio, die kommt ohne Make file aus... aber nicht ohne Wissen dazu.
Vierter und schlimmster Fehler ist, das du anscheinend nicht das umsetzt was man dir sagt. Wäre es Besserwisserei.. würd ich ja sagen.. "ok.. wenn er weis was er tut.. sein Ding!" Offensichtlich hast Du aber keinen blassen Schimmer und da kann ich dann nur sagen... "ich muss niemand bekehren der sich nicht helfen lässt!"
Das mag jetzt hart klingen aber les dich im Web schlau oder kauf dir nen gutes Buch zum einsteigen.. dir fehlt so viel Grundwissen, das ist nicht hier im Forum zu beheben.
Hast Du eigentlich schon mal die Meldung von Make "make.exe: *** No rule to make target" gegoogelt? Ungefähr 1.320.000 Ergebnisse...
Und hast du dir mal eine Seite davon angeguckt? Fehler Nummer 5!
Geh mal davon aus, das du niemals der erste sein wirst, der ein bestimmtes Problem hat... also lerne es zu benennen, ergreif die initiative und google danach. Oder benutz wenigstens die Suchfunktion hier im Forum!
Wenn dann noch was unklar ist, helfen dir hier sicher die Leute (mich eingeschlossen) gerne.
Ach übrigends für Programmcode gibts hier das [ CODE ] ... [ / CODE ] Tag. Es erscheint wenn man beim posten unten rechts auf [erweitert] klickt.

Nimm dir ein vorhandenens Projekt was sich compilieren lässt und fang an dort Dinge zu ändern.. wenn du mutig bist, kopier von mir aus die Main Funktion auf die vorhandene alte.. keine Ahnung was dabei rum kommt. Wenn es läuft.. gut.. wenn nicht... versuch dein Fehler zu isolieren indem du Stück für Stück arbeitest. Der Leitsatz in der EDV ist immer noch, unlösbare Probleme aufzuteilen bis sie lösbar werden! Das gilt auch für dich! C selbst ist schon schwer genug.. ich würd mich erst mal nicht mit Make anlegen... und wenn, dann mit entsprechendem Wissen ausgestattet, was man sich besorgen kann.
Gruß

Dirk
22.05.2014, 19:32
Hi Transformer,

kurz noch als Ergänzung zu RolfD:

Leider weiß ich nicht wie man ein "Code-Feld" erstellt
Das ist im erweiterten Editor-Fenster in der Symbolleiste das # Symbol.
Manuell kann man den Code zwischen [ CODE ] und [ /CODE ] einfügen (Leerzeichen in den [] entfernen).


Weiß nicht was ich für ein Fehler gemacht habe? Oder ob was fehlt?
Schau dir mal diesen Post (https://www.roboternetz.de/community/threads/62437-Erstes-Programm-MAKE-ALL?p=582222&viewfull=1#post582222) an. Vielleicht hilft's.