INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
TCP Server
23.08.2013, 11:26
Beitrag #1
TCP Server
Guten Tag
ich bräuchte auf dem Arduino einen TCP Server. Dieser soll einzelne Strings annehmen und dazu dann Infos über Sensoren usw. zurück senden. Das ganze soll KEIN Webserver sein da ich mehrere Arduinos hier stehen habe und alle haben ihre eigene Aufgabe. Diese sollen alle zu einem RaspberryPi fließen und dort verwaltet und weiterverarbeitet werden. Das liegt daran das ich für das weitergeben/verarbeiten ein wenig mehr Rechenleistung brauche.
Habe aber leider nur einen Telnet und UDP Server gefunden der wiederum Sachen zurückgibt. Dies verfehlt zwar nur knapp das Ziel aber es verfehlt es halt. Möchte ungern auf Telnet/UDP setzen da diese beiden keine Automatische Überprüfung besitzen (Oder doch?!). Wenn doch ein HTTP Server unterstützt wird sollte doch ein einfacher TCP "EchoServer" kein Problem sein...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.10.2013, 02:19 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2013 02:22 von sven1277.)
Beitrag #2
RE: TCP Server
Hallöchen, im Grunde ist das ziemlich einfach. Das Webserver Beispiel ist schon mal ein guter Anfang. Du änderst aber den Port 80 auf einen anderen freien.

Also du brauchst nen Server auf deinem Arduino. Du kannst auch das ChatServer Beispiel nehmen. Am besten baust du noch ein Passwort mit ein, damit kein anderer an deinen Arduino Server kommt.

So, nun brauchst du aber noch nen Client auf deinem RaspberryPi. Ich habe das mit Perl gemacht. Aber das geht auch in Python oder so. In Perl würde dann etwa so aussehen.
PHP-Code:
use IO::Socket;  
do
{
$socket = new IO::Socket::INET
        
PeerAddr => "IP vom Arduino"
        
PeerPort => Der Port den du ausgewählt hast
        
Proto => 'tcp') || die "Error creating socket: $! "
print 
$socket "passwort\r\n";   ## Sendest an dein Arduino ( z.b. einPasswort etc.)
while($line = <$socket>) {
print 
$line;
}
close($socket); 
sleep(5);
} while 
>

Das ist also ne Endlosschleife, solange der Arduino die Verbindung trennt. Nach dem Passwort wird die Empfangenden Daten in $line gespeichert. Damit kannst du dann arbeiten.

Ich habe mit meinem Arduino Mega nen E-Mail Server geschrieben der auch bei mir läuft. Das ist so ziemlich das gleiche Prinzip.

Ich hoffe ich konnte dir etwas helfen....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 Server connect sowerum 1 167 21.10.2016 19:10
Letzter Beitrag: sowerum
  Proxy Server umgehen bzw. einpflegen Caldorsa 13 295 15.10.2016 22:35
Letzter Beitrag: Caldorsa
  Code Server oder Client seitig?? SchwesterStefan 3 566 09.11.2015 22:47
Letzter Beitrag: hotsystems
  Web Server, Client, abbruch? Marc2014 3 744 18.07.2015 18:12
Letzter Beitrag: Marc2014
  WiFi-Shield connect to Server(C#) klappt nicht Jannis 0 811 29.04.2015 09:22
Letzter Beitrag: Jannis
  DHCP Server mit Nano und Ether_28J60 Frederick4711 5 934 16.03.2015 13:46
Letzter Beitrag: Frederick4711

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste