[RASPbian] USB -> Serial converter

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • misterm90
  • Registratie: December 2006
  • Laatst online: 01-10 16:52
Ik ben bezig met een raspberry, deze heeft een VPN service draaien met apache en Laraval framework waardoor ik SSH opdrachten kan uitvoeren via de website zodat ik de raspberry met een dongle overal kan neerzetten en toch kan bereiken via de VPN.

Dit werkt tot nu toe vloeiend maar heb nu een USB-serial converter waarop ik sommige commando's moet kunnen uitvoeren.

De verbinding is gelukt, via putty kan ik 'minicom' starten die verbinding maakt met /dev/ttyUSB0
daarna moet ik een 2e putty opstarten waarmee ik echo commandos kan uitvoeren naar ttyUSB0.
meer hoef ik ook niet te kunnen.
Nu kan ik echter via laravel geen minicom starten omdat die een soort GUI heeft, wanneer ik deze via de site aanroep krijg ik "No termcap entry for unknown", dus moet via de terminal gestart worden.

ik heb al stty geprobeerd maar die maakt geen verbinding, (moet worden snelheid: 19200, 8databits en 1 stopbit en parity even)
ik hoef alleen commandos te kunnen verzenden mbv echo, ik hoef geen info terug.

weet iemand hoe ik dit kan oplossen, het liefst via een commandline die de connectie openhoud maar ook gesloten wordt zodat het script doorloopt.

ik begrijp dat het een warrig verhaal is en zal proberen het te verduidelijk waar nodig.

Acties:
  • 0 Henk 'm!

  • Gleighton
  • Registratie: November 2008
  • Niet online
Wat heb je hierover zelf al uitgevonden? Na wat googlen vond ik meerdere resultaten over librairies voor het versturen van data vanuit php over een seriële verbinding. Daarnaast is een seriële port onder linux gewoon een file, waarnaar je data kunt sturen vanuit bash of je php scriptje. Meer daarover kun je http://www.armadeus.com/w...rial_ports_usage_on_Linux vinden.

Acties:
  • 0 Henk 'm!

  • misterm90
  • Registratie: December 2006
  • Laatst online: 01-10 16:52
ja het versturen is dus het probleem niet.
ik kan dat ook prima doen wanneer die minicom is gestart via een terminalsessie van Putty.

dat doe ik met deze code:

<?php if(isset($_GET['frequentie'])):
$frequentie = $_GET['frequentie'];
echo $frequentie;
SSH::run(array(
'echo *FREQ:'.$frequentie.'/n>/dev/ttyUSB0',


maar ik wil de raspberry neer kunnen zetten en via de site alles kunnen uitvoeren, dit moet namelijk bijv. via een telefoon met internet kunnen worden gebruikt.
onderstaande stty commando werkt bij mij niet terwijl dit wel de connectie zou moeten zijn

stty -F /dev/ttyUSB0 19200 cs8 -cstopb -parodd

Acties:
  • 0 Henk 'm!

  • Joseph
  • Registratie: April 2008
  • Laatst online: 19:07
wanneer ik deze via de site aanroep krijg ik "No termcap entry for unknown", dus moet via de terminal gestart worden (...)
Is de environment waarin Apache het commando aanroept toevallig een andere dan je normale shell?

Acties:
  • 0 Henk 'm!

  • misterm90
  • Registratie: December 2006
  • Laatst online: 01-10 16:52
Laravel heeft daarvoor zijn eigen spul en laad inderdaad een andere shell, voor info:
http://laravel.com/docs/ssh
Wat ik uit die fout begrijp is dat minicom graag zijn scherm wil laten zien.
Minicom laat een output zien zoals:

http://www.mohdshakir.net...mage/200712/minicom-3.png

ik heb ook minicom > echo "......." geprobeerd maar dat werkte helaas ook niet.

[ Voor 42% gewijzigd door misterm90 op 07-04-2014 22:57 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:30

Hero of Time

Moderator LNX

There is only one Legend

Heb je ook gekeken naar screen? Die kan ook prima werken over een seriële port. Blijft netjes op de achtergrond draaien als je wilt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • misterm90
  • Registratie: December 2006
  • Laatst online: 01-10 16:52
ja, die kreeg ik en niet aan de gang en hij opent zich ook in een ander scherm.
Wat ik dus eigenlijk graag wil dat hij moet doen.
Via de site geef je de variabele iets mee:
Maakt verbinding met ttyUSB0 -> daarna commando uitvoeren -> eventueel verbinding weer sluiten

ik had geprobeerd met screen dit uit te voeren maar ook los via 2 terminals.:
screen /dev/ttyUSB0 19200 8E1 > echo "FREQ:9510/n">/dev/ttyUSB0 -> geeft geen output weer

de 2 commando's los in 2 terminals geeft bij de echo :
-bash: /dev/ttyUSB0: Device or resource busy

[ Voor 13% gewijzigd door misterm90 op 08-04-2014 10:58 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:30

Hero of Time

Moderator LNX

There is only one Legend

Je start screen naar een seriële interface net iets anders, namelijk zo:
screen /dev/ttyUSB0

Of ttyS0, net hoe 't wordt genoemd. Dat zou genoeg moeten zijn, het regelt automatisch de baudrate e.d. Je stuurt dan aan de andere kant van de seriële verbinding de commando's die je wilt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • misterm90
  • Registratie: December 2006
  • Laatst online: 01-10 16:52
Oke, maar ik krijg dan een zwart scherm waar ik niks in kan voeren.
Als ik dan een andere terminal met putty opstart en het volgende commando daar invul

echo "*FREQ:10280/n">/dev/ttyUSB0


krijg ik device or resource is busy

de andere kant is een apparaat waarop ik geen commando's kan uitvoeren. hij kan alleen ontvangen.
-----
ik heb even ter verduidelijk de Windows software bijgevoegd, hopelijk verduidelijkt dat een beetje wat ik bedoel met eerst een connectie opzetten. (groene 'verbonden met')

Afbeeldingslocatie: http://i58.tinypic.com/mtrrm1.png

[ Voor 25% gewijzigd door misterm90 op 09-04-2014 00:05 ]

Pagina: 1