Läsa och skriva från serieporten med Raspberry Pi



I den här guiden kommer vi se hur man använder den seriella porten på Raspberry Pi. Vi använder den seriella porten tillgängliga på hallon med en RS232/TTL 3-5, 5V-adaptern och en USB-seriell adapter. Som standard konfigureras Raspberry Pi: s seriella porten ska användas för console input/output. Detta kan hjälpa att fastställa problem under uppstart, eller logga in på Pi om video och nätverk inte är tillgänglig.

För att kunna använda den seriella porten att ansluta och prata med andra enheter (t.ex. ett modem en skrivare...), måste seriell port console inloggning inaktiveras.

Här använder vi Raspberry Pi 2, och vi ansluter en RS232/TTL 3-5, 5V-adaptern till stift 4 (5V), 6 (GND), 8 (TX), 10 (RX) i hallon, naturligtvis ansluta tx med rx och vice versa.

För att söka efter tillgängliga seriella portar använder vi kommandot

dmesg | grep tty

Produktionen är något sånt här

PI ~ $ dmesg | grep tty
[0,000000] Kärnans kommandorad: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x93f9c7f9 smsc95xx.macaddr=B8:27:EB:F9:C7:F9 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console = tty1 console = ttyAMA0, 115200 root = / dev/mmcblk0p2 rootfstype = ext4 hiss = sista rootwait
[0.001774] konsolen [tty1] aktiverad
[0.749509] dev:f1: ttyAMA0 på MMIO 0x3f201000 (irq = 83, base_baud = 0) är en PL011 rev3
[1.268971] konsolen [ttyAMA0] aktiverad
PI ~ $

Sista raden anger att konsolen har aktiverats på den seriella porten ttyAMA0, så vi stänga av den

Kör kommandot konfiguration och följ instruktionerna nedan

sudo raspi-config

Starta om och försök med

dmesg | grep tty

utgång nu är

PI ~ $ dmesg | grep tty
[0,000000] Kärnans kommandorad: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x93f9c7f9 smsc95xx.macaddr=B8:27:EB:F9:C7:F9 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 hiss = sista rootwait
[0.001769] konsolen [tty1] aktiverad
[0.749438] dev:f1: ttyAMA0 på MMIO 0x3f201000 (irq = 83, base_baud = 0) är en PL011 rev3
PI ~ $

Nu kan vi använda den seriella ttyAMA0. Vi ansluter en adapter-usb / seriell, då vi ska försöka etablera en kommunikation mellan de två seriella portarna; i en praktisk tillämpning till varje följetong kunde vi naturligtvis ansluta en enhet, till exempel ett modem, en skrivare en RFID-läsare etc.

När du har anslutit den andra seriella porten lansera vi kommandot för att hitta det namn som hallon ger honom

dmesg | grep tty

Produktionen är något sånt här

PI ~ $ dmesg | grep tty
[0,000000] Kärnans kommandorad: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x93f9c7f9 smsc95xx.macaddr=B8:27:EB:F9:C7:F9 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 hiss = sista rootwait
[0.001769] konsolen [tty1] aktiverad
[0.749438] dev:f1: ttyAMA0 på MMIO 0x3f201000 (irq = 83, base_baud = 0) är en PL011 rev3
[971.919417] usb 1-1.2: pl2303 converter nu bifogas ttyUSB0
PI ~ $

OK, nu skapar vi två filer, en som skriver något om den ttyAMA0 porten och den andra som läser på ttyUSB0 port.

serial_write.py

#! / usr/bin/env python

Importera tid
importera följetong

ser = följetong. Serial)

Port = "/ dev/ttyAMA0",
baud = 9600,
paritet = följetong. PARITY_NONE,
StopBits = följetong. STOPBITS_ONE,
bytesize = följetong. EIGHTBITS,
timeout = 1
)
räknare = 0

medan 1:
ser.write ("skriver counter: %d \n" %(counter))
Time.Sleep(1)
räknaren += 1

serial_read.py

#! / usr/bin/env python

Importera tid
importera följetong

ser = följetong. Serial)

Port = "/ dev/ttyUSB0",
baud = 9600,
paritet = följetong. PARITY_NONE,
StopBits = följetong. STOPBITS_ONE,
bytesize = följetong. EIGHTBITS,
timeout = 1
)
räknare = 0

medan 1:
x=ser.readline()
Skriv ut x

Om vi kör båda filerna, kommer att serial_read.py läsa vad serial_write.py skriver

Detta är bara ett litet exempel men det kan tjäna som en utgångspunkt för att skicka en utskrift till en gammal skrivare eller läsa data från en router eller en gps.

Följ oss på sociala att hålla dig informerad.
http://www.emmeshop.EU

Relaterade Ämnen

3D skanning och skriv ut själv med hjälp av fri programvara!

I detta instructable jag vill utställning du hur till 3D Skanna själv med hjälp av en xbox 360 kinect sensor och du kan ladda ner gratis programvara. Samtidigt försöker skanna och skriv ut själv hittade jag att många av de program som används hade än...

Styra riktning och hastighet av DC-Motor med Raspberry Pi

Detta är en enkel guide när lär dig att styra DC motorer med Raspberry pi. Om raspberrypi - är det en cradit kort storlek liten dator som har generell input/output GPIO stift som används till att kontrollera olika elektroniska apparater, ventilen och...

IBeacon porttelefon med Raspberry Pi och Azure

I slutet av mars gick jag till en hackathon på Universal Studios. Vi skapat ett system där gäster kunde förbifartsleden kö linjen genom att fylla i en serie som skulle leda dem runt landet Ritten är i där den genomsnittliga sluttid var 66% av nuvaran...

Ember skrivare: Skapa och skriva ut modeller med ShapeJS

ShapeJS är en voxel skriptverktyget skapad av Shapeways som låter dig skapa utskrivbara modeller med hjälp av Javascript. Allt från shapeways exporten. X3db format, men med konvertering verktyg, kan du konvertera filen till en. STL och skriva den på...

Vem är i kaffebryggaren? Ansiktsigenkänning med Raspberry Pi, OpenCV och Sigfox

IntroduktionHar du någonsin under hur ansiktsigenkänning fungerar? Har du hört talas om Sigfox? Gillar du hallon?I den här guiden kommer vi att utveckla en prototyp med en Raspberry Pi att känna igen ansikten med OpenCV och skicka Id för den igenkänd...

Hur Rip, ordna och bränna DVD-skivor med menyer gratis!

Hi,I detta instructable jag ska visa dig hur man rippa, organisera och bränna DVD-skivor med menyer! Detta är verkligen lätt att göra och bara tar ungefär en timme eller två. Vi kommer att använda ett par gratis bitar av programvara och vissa skript...

Hur till tvåfaldig-stöveln Linux och Windows (på en PC med Windows 7 redan installerat)

syftet med detta Instructable är att konfigurera datorn för flervalsstart Windows 7 och Ubuntu Linux. Tvåfaldig-starter upp är en teknik som tillåter en enda fysisk dator att köra två eller flera operativsystem (OS). Detta är användbart för att exper...

Smart hemautomation webserver på OpenWRT router WR703N kopplats ihop till Arduino, jämfört med Raspberry Pi och Ubuntu

Hämta WR703N Digest (340MB zip-fil):https://sourceforge.net/projects/wr703n/---------------------------------------------------------------------------------------------------------------------------------Kära läsare,Det finns många Linux styrelser p...

AirPlay Radio med Raspberry Pi och WiFi

Innan jag började arbeta för Pelagicore vann jag två Raspberry Pi: s (kort RP) som de sponsrade. En eftersom jag var en av de första människorna på foss-gbg epostlistan som de började. Det är för folk från Göteborg och omgivning som vill gå med andra...

2 sätt byta med Raspberry PI och Berry IO

Min allra första instructable...Jag postat en video på youtube på ett projekt jag gjorde under min semester, här är en länk:Efter mycket mail och frågor från människor som ber om detaljerna till denna 2 sätt byta, jag bestämde mig att utarbeta detta...

Närvaro system med Raspberry Pi och NFC Tag reader

med min nya leksak Raspberry pi jag har gjort flera tester-projekt frånInstructables, adafruit etc. Men efter ett tag blev det tråkigt och jag har börjat letar efter något faktiskt bra för mig. Min tidigare lekplats var min nya telefon flera veckor s...

Att bygga robotar med Raspberry Pi och Python

målet med denna handledning är att hjälpa dig att börja programmering med Python att styra din Arduino robotar med en Raspberry PI. Vi går över grunderna som installation och några enkla exempel att styra din robot från en Python GUI från Raspberry P...

Dim en lysdiod med raspberry pi 3 och python

Hej! Jag ska visa dig hur man tona ned en lysdiod med Raspberry Pi.Svårighetsgrad: Lätt/nybörjare.Håll ögonen öppna för nästa instructables!Steg 1: Vad behöver vi?Hej! Jag ska visa dig hur man tona ned en lysdiod med Raspberry Pi.Svårighetsgrad: lätt...

Star Wars och Star Trek i Minecraft med hallon sylt Mod

Jag ska förklara hur man a enkelt göra Star Wars och Star Trek (och annan) 3D modeller i Minecraft och (b) flyga ett rymdskepp i Minecraft (eller ens har en annan enhet, som en bat eller en zombie, flyga det!), med hjälp av python exempelskripten ing...

Designa och skriva ut 3d-modeller

detta instructable är avsedd att hjälpa användare genom processen att utforma och skriva ut ett objekt som använder en 3d-modellering program och en online 3D Internet. I denna tutorial jag kommer att använda Autodesk 3DS Max eftersom det är det prog...

Skärmen Skriv ut en affisch med flera färger

jag har blivit helt förälskad i screentryck ända sedan jag tog den grundläggande klassen på TechShop San Jose.Jag har fått ganska bra på skriva ut enstaka färg projekt, men jag trodde jag skulle utmana mig själv och lära sig att inte bara skriva ut p...

Skapa din egen webbsida som fungerar ut omkretsen och arean av en cirkel med hjälp av pi!

Att fira den kommande Pi dagen vi kommer att skapa en webbsida som använder pi för att räkna ut omkretsen och arean av en cirkel.Steg 1: Skapa ett HTML-dokumentVi kommer att använda HTML- och JavaScript-koden språk. Du kan skriva här koden i din stan...

Hämta kodblock och skriva ett Hello World program i C++

Fernando Soler-Casanova, Alberto Young, Jacob McPeek och Sterling BirgittaSteg 1:Starta webbläsaren och gå till hemsidan: www.codeblocks.orgSteg 2:Klicka på fliken Downloads i verktygsfältetSteg 3:Nu får du 3 alternativ för nedladdning Code::Blocks,...

Hur att ändra storlek, beskära, och tunna ut ett foto med hjälp av Adobe Photoshop

Adobe Photoshop är en digital bildredigering program för Internet, skriva ut, och andra nya medier discipliner. Redigering färdigheter Photoshop har en bred relevans. Sociala medier är oerhört populärt i dagens samhälle. Sajter som Pinterest, Faceboo...