Intellekten Edison Arduino följetong till Host process seriell kommunikation (2 / 6 steg)
Steg 2: Setup seriella enheter
Eftersom enheter och filer i Linux presenteras som detta låter oss skapa filer som backas upp av programvara som fungerar som en enhet, och det är vad socat låter oss göra-filer. Vi kommer att göra 2 filer och bakningen dem med socat så att de beter sig som 2 ändarna av en seriell kabel.
socat har många många alternativ och är en ganska kraftfull litten nytta. Vi kommer att skapa några råa PTY, eller pseudoterminal, enheter. Pseudoterminal är en gammal Unix begrepp som ursprungligen var tänkt för seriellt ansluten användare terminaler, seriella enheter genomförs ofta som en PTY enhet och Linux är inget undantag. Dessutom vill vi kör socat processen i bakgrunden med "&" så vi kommer köra den med kommandot "nohup". Utan nohup kan processen avslutas när konsolen anslutningen avslutas.
nohup socat pty, länk = $HOME/tty0, rå, echo = 0 pty, länk = $ hem/tty1, rå, echo = 0 &
Som standard kommer socat generera några/dev/pts/filer för dig, så vi använder alternativet länk för att ha att göra en symbolisk länk för oss. $HOME är en shell variabel som blir ersatt med användarens hemmapp på edison som root kommer detta vara /home/root. Våra filer kommer att /home/root/tty0 och /home/root/tty1. En av dessa är master och en slav. Det spelar ingen roll vilket du använder för arduino och som för noden, vi kommer att använda 0 för Arduino bara därför.
Att testa vi använder shell kommandot echo att skicka ett "A" till en fil och använda kommandot cat för att läsa den andra för att se resultatet.
ECHO "A" > tty0 & & katt tty1
> omdirigerar utdata från ett kommando till en fil eller ström (följetong är slag av ström), och den & & är ett kommando separator, betyder "vänta på första kommandot för att fylla med framgång sedan kör kommandot 2nd". Om det första kommandot ger ett felmeddelande, körs inte kommandot 2nd. katt kan skriva ut innehållet i en fil eller ström till konsolen. Eftersom pty enheter är strömmar har vi till CTRL-C för att avbryta katt och återgå till prompten.
Om allt fungerar bör du se en utgång. Du kan använda kommandot "ps" för att se att socat processen är igång, och du kan använda kommandot kill för att stoppa den om du behöver ändra några inställningar.