Stap 2: Setup seriële apparaten
Aangezien apparaten en bestanden in Linux worden gepresenteerd als bestanden hierdoor ons bestanden maken die worden ondersteund door software die fungeert als een hardware-apparaat, en dat is wat socat laat ons doen. We zijn 2 bestanden maken en back-ups maken hen met socat zodat ze zich zoals de 2 uiteinden van een seriële kabel gedragen.
socat heeft vele vele opties en een vrij krachtige is van weinig nut. We gonna maken sommige ruwe PTY, of pseudoterminal, apparaten. Pseudoterminal is een oud Unix-concept dat oorspronkelijk bedoeld was voor seriële verbonden gebruiker terminals, seriële apparaten worden vaak geïmplementeerd als een PTY-apparaat, en Linux is geen uitzondering. Daarnaast willen we de socat uitvoert op de achtergrond "&" zodat het lopen we met het "nohup" bevel. Zonder nohup kan het proces beëindigen wanneer de console verbinding wordt verbroken.
nohup socat pty,link=$HOME/tty0,raw,echo=0 pty,link=$HOME/tty1,raw,echo=0 &
Standaard zal socat genereren sommige/dev/pts/bestanden voor u, zodat we de optie koppeling gebruiken om een symlink te maken voor ons. $HOME is een shell variabele die wordt vervangen door de thuismap van de gebruiker zal, en op de edison als root dit linken. Onze bestanden zullen /home/root/tty0 en /home/root/tty1. Eén daarvan is meester en een slaaf is. Het maakt niet uit welke u voor arduino en welke voor knooppunt, we gonna gebruik 0 voor Arduino gewoon omdat.
Om te testen gebruiken we het shell commando echo voor het verzenden van een "A" in een bestand en de kat -opdracht gebruiken om te lezen van de andere om het resultaat te zien.
echo "A" > tty0 && cat tty1
de > omleidingen de uitvoer van een opdracht naar een bestand of stream apparaat (seriële is een soort van stream), en de & & is een scheidingsteken van de opdracht, het betekent "wachten op de eerste opdracht te voltooien met succes dan het 2de commando". Als de eerste opdracht een fout geeft, zal de 2e opdracht niet worden uitgevoerd. kat kunt afdrukken van de inhoud van een bestand of stream aan de console. Aangezien pty apparaten streams zijn moeten we CTRL-C om de kat te onderbreken en terug te keren naar de prompt.
Als alles werkt moet u een uitgang. u kunt het "ps" commando gebruiken om te zien dat de socat-proces wordt uitgevoerd, en u kunt de opdracht kill om het te stoppen als u geen instellingen te wijzigen.