TCP-Server für RasPi

jomixl
Beiträge: 18
Registriert: Mo 22. Okt 2012, 12:21

TCP-Server für RasPi

Beitrag von jomixl »

hallo zusammen,
nachdem ich meinen Server weder mit lnet noch synapse zum laufen bekomme brauche ich eure Hilfe:

Ich suche ein Beispiel für einen einfache TCP-Server der aber auf dem RaspberryPie läuft!

.... oder bin ich der einzige der sich damit beschäftigt .......

vielen Dank
Joachim

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TCP-Server für RasPi

Beitrag von corpsman »

Also nen RaspberryPi hab ich auch.

Die Digitalen IO/s kann ich ansteuern. Ich scheitete gerade daran mittels Synaser den Comport in Betrieb zu nehmen...

Corpsman
--
Just try it

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TCP-Server für RasPi

Beitrag von mschnell »

Ist zwar nicht sehr hilfreich aber:

Das Ding ist eine Seuche ! Ich habe schon von vielen gehört, die böse abstürzen, wenn man sie ernsthaft einsetzen will.

Wenn man etwas stabileres für unbetreute Aufgaben will, sollte man sich das BeagleBone angucken. Ist nicht sooo viel teurer und für embedded Betrieb designed. Hat auch eine große Community - Unterstützung.

Das RasPi ist anscheinend nur als Ausbildungs-Platinchen einsetzbar.

-Michael

jomixl
Beiträge: 18
Registriert: Mo 22. Okt 2012, 12:21

Re: TCP-Server für RasPi

Beitrag von jomixl »

Eigentlich wollteich Solarview auf dem raspi laufen lassen, das funktioniert auch bereits. Allerdings brauche ich noch einen Proxy um die Wechselrichterdaten zu konvertieren.
Daran scheiter es aber bisher. Mein Proxy läuft allerdings unter XP und Ubuntu einwandfrei.
Leider kann ich nichtmal den Demoserver von lnet zum laufen bringen ebenso das echo von synapse. Bei beiden kommen Fehlermeldungen mitdenen ich nichts anfangen kann.
Möglicherweise liegt es do noch am Betriebssystem.
Ich hab es bisher nur mit dem rasperian versucht.

Falls einer noch eine gute idee hat,
bitte mailen ......

grüsse joachim

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: TCP-Server für RasPi

Beitrag von af0815 »

Nur so eine Nebenfrage, welche Fehlermeldungen ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

jomixl
Beiträge: 18
Registriert: Mo 22. Okt 2012, 12:21

Re: TCP-Server für RasPi

Beitrag von jomixl »

Hallo,
bei LNet ist es immer eine Exception SIGILL, und bei Synapse fehlt irgendein Semaphor, jeweils bei den mitgelieferten Beispielen.
Das sind meine ersten Schritte mit Linux und ich kann nur warten bis es eine Version gibt die funktioniert.

grüsse joachim

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: TCP-Server für RasPi

Beitrag von af0815 »

Welches Beispiel genau ? Ich habe einen RasPI, aber aus Zeitgründen derzeit nicht aktiv. Eventuell aktiviere ich den und schau mir das Beispiel an.

*) Welches BS-Image hast du darauf
*) Lazarus / FPC von welcher Quelle
*) LNET/ SYNAPSE gehe ich davon aus, die letzte Version von der jeweiligen HP oder SVN ?!
*) GUI Programm nehme ich an
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

jomixl
Beiträge: 18
Registriert: Mo 22. Okt 2012, 12:21

Re: TCP-Server für RasPi

Beitrag von jomixl »

ich hab rasperian in der version vom 16.12.12, fpc 2.6.0 und lazarus 0.9.30.4 hatte es aber auch ohne erfolg mit der 1.1 versucht.
LNet 0.6.5 und synapse 4.0, alles aktuelle Versionen. GUI ist bei rasperian lxde 0.5.10
Compilieren auf dem raspi geht ohne Fehler, nur laufen die Programme nicht, zumindest nicht auf dem raspi.

grüsse joachim

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: TCP-Server für RasPi

Beitrag von carli »

jomixl hat geschrieben:Hallo,
bei LNet ist es immer eine Exception SIGILL, und bei Synapse fehlt irgendein Semaphor, jeweils bei den mitgelieferten Beispielen.
Das sind meine ersten Schritte mit Linux und ich kann nur warten bis es eine Version gibt die funktioniert.

grüsse joachim

Dann ist die Version des Raspi-Prozessors inkompatibel mit den LNet-Binaries. (Oder unterstützt ein Atomics-Feature nicht)

Benutzeravatar
willi4willi
Lazarusforum e. V.
Beiträge: 155
Registriert: Sa 1. Nov 2008, 18:06
OS, Lazarus, FPC: Windows, Linux (debian) / Lazarus 3.2 / FPC 3.2.2
CPU-Target: i386, win64, arm

Re: TCP-Server für RasPi

Beitrag von willi4willi »

corpsman hat geschrieben:Also nen RaspberryPi hab ich auch.

Die Digitalen IO/s kann ich ansteuern. Ich scheitete gerade daran mittels Synaser den Comport in Betrieb zu nehmen...

Corpsman


Ich hatte vergangen Woche ein Projekt auf den Raspi portiert, dass eine Steuerung über die serielle Schnittstelle ansteuert. Läuft tadellos!
Bei Synaser musste ich nur die maximal mögliche Geschwindigkeit der RS232 begrenzen, weil er meckerte diese beim ARM an.

Als Schnittstelle verwendete ich die eigen Schnittstelle des Raspi mit Spannungsanpassung von 3,3V auf den RS232 Standard mit 3232-Chip.

Vorher muss man noch in der /etc/initab die Zeile auskommentieren, die standardmäßig auf der RS232 eine Konsole zur Verfügung stellt.

Einen UDP-Server (realisiert mit synapse) hat mein Programm ebenfalls. Habe die Funktion allerdings noch nicht gestetet. Der Compiler hatte allerings nicht gemeckert.
 

Viele Grüße

Willi4Willi

------------

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TCP-Server für RasPi

Beitrag von corpsman »

Bei Synaser musste ich nur die maximal mögliche Geschwindigkeit der RS232 begrenzen

Hört sich interessant an, kannst du den Source online stellen, oder genauere angeaben machen, wie sehr du begrenzt hast ?
Vorher muss man noch in der /etc/initab die Zeile auskommentieren, die standardmäßig auf der RS232 eine Konsole zur Verfügung stellt.

Das hatte ich nicht gemacht, auch ein guter Hinweis, danke.
--
Just try it

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TCP-Server für RasPi

Beitrag von mschnell »

willi4willi hat geschrieben:Vorher muss man noch in der /etc/initab die Zeile auskommentieren, die standardmäßig auf der RS232 eine Konsole zur Verfügung stellt.

Wie kommst Du dann noch rein, wenn die Netzwerk-Verbindung durch irgendeine Konfiguration nicht mehr klappt ?

Oder ist diese Änderung nur auf der SD-Card und kann ohne den RasPi anzupacken mit einem PC auf der SD-Card rückgängig gemacht werden ?

-Nichael

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TCP-Server für RasPi

Beitrag von corpsman »

die RS232 hat doch mit dem Netzwerk nichts zu tun.

Also ich gehe ganz einfach via ssh rein und kann dann ganz normal in ner Konsole arbeiten, Lazbuild und fpc funktionieren zum glück auch ohne graphische Oberfläche.
--
Just try it

Benutzeravatar
willi4willi
Lazarusforum e. V.
Beiträge: 155
Registriert: Sa 1. Nov 2008, 18:06
OS, Lazarus, FPC: Windows, Linux (debian) / Lazarus 3.2 / FPC 3.2.2
CPU-Target: i386, win64, arm

Re: TCP-Server für RasPi

Beitrag von willi4willi »

Die maximale Rate bei Unix ist mit 4000000 angegeben. Beim Raspi sind wohl nur 460800 möglich. Darum habe ich die synaser.pas ab Zeile 198 wie folgt angepasst:

Code: Alles auswählen

 
const
{$IFDEF UNIX}
  {$IFDEF DARWIN}
  MaxRates = 18//MAC
  {$ELSE}
   {$IFDEF CPUARM}                     // <------- hier
    MaxRates = 19;                     
   {$ELSE}                                 
    MaxRates = 30; //UNIX
   {$ENDIF}                               
  {$ENDIF}
{$ELSE}
  MaxRates = 19//WIN
{$ENDIF}
  Rates: array[0..MaxRates, 0..1] of cardinal =
  (
    (0, B0),
    (50, B50),
    (75, B75),
    (110, B110),
    (134, B134),
    (150, B150),
    (200, B200),
    (300, B300),
    (600, B600),
    (1200, B1200),
    (1800, B1800),
    (2400, B2400),
    (4800, B4800),
    (9600, B9600),
    (19200, B19200),
    (38400, B38400),
    (57600, B57600),
    (115200, B115200),
    (230400, B230400)
{$IFNDEF DARWIN}
    ,(460800, B460800)
  {$IFDEF UNIX}
  {$IFNDEF CPUARM}                   // <------- und hier
    ,(500000, B500000),
    (576000, B576000),
    (921600, B921600),
    (1000000, B1000000),
    (1152000, B1152000),
    (1500000, B1500000),
    (2000000, B2000000),
    (2500000, B2500000),
    (3000000, B3000000),
    (3500000, B3500000),
    (4000000, B4000000)
   {$ENDIF}                       
  {$ENDIF}
{$ENDIF}
    );
{$ENDIF}
 


Danach lief die Sache auf Anhieb.


Den UDP-Server konnte ich jetzt testen. Er lief ohne Anpassungen.

Wenn man die RS232 als Konsole abschaltet und die Netzwerkverbindung nicht klappt, dann muss man wohl einen Monitor, Tastatur und evtl. Maus anschließen.
Sonst verwende ich auch ssh bzw. vnc um an den Raspi zu kommen, das serielle Terminal nie.

Viele Grüße

Willi4Willi
 

Viele Grüße

Willi4Willi

------------

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TCP-Server für RasPi

Beitrag von mschnell »

corpsman hat geschrieben:Also ich gehe ganz einfach via ssh rein...

Die Frage war, was Du tust, wenn das Netzwerk nicht mehr funktioniert, was ziemlich leicht passieren kann. Normalerweise hat man dann RS232 als Not-Zugang.

-Michael

Antworten