Lezen en schrijven van seriële poort met Raspberry Pi


In deze tutorial zullen we zien hoe het gebruik van de seriële poort op de Raspberry Pi. Wij zullen de seriële poort beschikbaar op framboos met een RS232/TTL 3-5, 5V adapter en USB-serial adaptergebruiken. De Raspberry Pi's seriële poort is standaard zo geconfigureerd dat in dat geval worden gebruikt voor de console input/output. Dit kan helpen problemen op te lossen tijdens het opstarten of inloggen op de Pi, als de video- en zijn niet beschikbaar.

Om te kunnen gebruik maken van de seriële poort te verbinden en praat met andere apparaten (bijvoorbeeld een modem een printer...), moet de seriële poort console-aanmelding worden uitgeschakeld.

Hier gebruiken we de Raspberry Pi 2 en we verbinden met een RS232/TTL 3-5, 5V adapter pinnen 4 (5V), 6 (GND), 8 (TX), 10 (RX) van Raspberry, sluit uiteraard tx met rx en vice versa.

Om te zoeken naar beschikbare seriële poorten gebruiken we het commando

 dmesg | grep tty 

De uitvoer is zoiets

Pi ~ $ pi ~ $ dmesg | grep tty [ 0.000000] Kernel command line: 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 elevator=deadline rootwait [ 0.001774] console [tty1] enabled [ 0.749509] dev:f1: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev3 [ 1.268971] console [ttyAMA0] enabled pi ~ $ 

Laatste regel geeft aan dat de console is ingeschakeld op de seriële poort ttyAMA0, zodat wij het onbruikbaar maken

Voer de configuratieopdracht en volg de instructies hieronder

 sudo raspi-config 

Reboot en probeer met

 dmesg | grep tty 

uitvoer is nu

Pi ~ $ pi ~ $ dmesg | grep tty [ 0.000000] Kernel command line: 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 elevator=deadline rootwait [ 0.001769] console [tty1] enabled [ 0.749438] dev:f1: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev3 pi ~ $ 

Nu kunnen we de seriële ttyAMA0 gebruiken. Wij verbinden een adapter usb / serieel, dan zullen we proberen om een communicatie tussen de twee seriële poorten; uiteraard in een praktische toepassing aan elke serial kon wij verbinden een apparaat, bijvoorbeeld een modem, een printer een RFID-lezer enz.

Na het aansluiten van de tweede seriële poort lanceren we de opdracht om de naam die Raspberry hem geeft te vinden

 dmesg | grep tty 

De uitvoer is zoiets

Pi ~ $ pi ~ $ dmesg | grep tty [ 0.000000] Kernel command line: 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 elevator=deadline rootwait [ 0.001769] console [tty1] enabled [ 0.749438] dev:f1: ttyAMA0 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a PL011 rev3 [ 971.919417] usb 1-1.2: pl2303 converter now attached to ttyUSB0 pi ~ $ 

OK, nu maken we twee bestanden, een die iets schrijft over de ttyAMA0 poort en de andere die op de ttyUSB0-poort leest.

serial_write.py

 #!/usr/bin/env python import time import serial ser = serial.Serial( port='/dev/ttyAMA0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) counter=0 while 1: ser.write('Write counter: %d \n'%(counter)) time.sleep(1) counter += 1 

serial_read.py

 #!/usr/bin/env python import time import serial ser = serial.Serial( port='/dev/ttyUSB0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) counter=0 while 1: x=ser.readline() print x 

Als we beide bestanden lopen, zal serial_read.py lezen wat serial_write.py schrijft

Dit is slechts een klein voorbeeld, maar het kan dienen als uitgangspunt voor het verzenden van een afdruk op een oude printer of gegevens lezen van een router of een gps.

Volg ons op sociale op de hoogte blijven.
http://www.emmeshop.EU

Gerelateerde Artikelen

Maken van Arduino seriële poort met visual basic

Maken van Arduino seriële poort met visual basic

Zullen we de programma-interface aansluiten op de seriële poort met Visual Studio.Laten we eens kijken naar de details van het programma.Hulpmiddelen dat zullen we ons formulier gebruiken:3 stuks knop2 nummer ComboBox3 stuk labelseriële poortStap 1:
Capacitieve gegevens Over seriële poort met Teensy en SuperCollider (OSX en Linux) sonifying

Capacitieve gegevens Over seriële poort met Teensy en SuperCollider (OSX en Linux) sonifying

Als u niet in staat om een deel met de 600 dollar moest kopen MaxMSP zijn (en uw gratis 30 dagen zijn verstreken) er zijn niet veel gratis alternatieven die met hetzelfde niveau van geluidskwaliteit als MaxMSP concurreren kunnen. Gelukkig is dit een
Detecteren van temperatuur en vochtigheid met Raspberry Pi en HTU21 / SHT21

Detecteren van temperatuur en vochtigheid met Raspberry Pi en HTU21 / SHT21

Benieuwd wat het weer is? Laten we controleren met je Raspberry Pi! Deze zelfstudie bestaat uit stap voor stap instructies hoe te sporen van temperatuur en vochtigheid met de spotgoedkoop I2C sensor HTU21D en open broncode aanvragen op je Raspberry P
Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Arduino is een geweldig hard- en softwareplatform, maar met alle functies is het ook een beetje opgeblazen en vaak hoeft u alleen een klein deel van alle functies. Uw project vereist soms om kleinere en goedkopere apparaten te hebben. Wat je misschie
Bouwen van een GPS tracker met de Raspberry Pi (Auteur: Arnoud Buzing)

Bouwen van een GPS tracker met de Raspberry Pi (Auteur: Arnoud Buzing)

Dit bericht laat zien hoe het bouwen van een eenvoudige GPS tracker met de Wolfram taal op een Raspberry Pi.Stap 1: HardwareDit experiment opnieuw moet u de volgende hardware (naast de Raspberry Pi zelf):Ultieme GPS BreakoutUSB naar TTL seriële kabel
Raspberry PI USB vs seriële communicatie met gsm schild (itbrainpower.net a-gsm schild)

Raspberry PI USB vs seriële communicatie met gsm schild (itbrainpower.net a-gsm schild)

Over deze hoeDeze hoe verwijst naar de itbrainpower.net a-gsm schild, hebben volgende belangrijkste kenmerken:Wereldwijde compatibiliteit - quad band moduleGSM / GPRS / SMS / DTMF ondersteundTwee SIM-sockets (single SIM actief)keuzelijst met geïntegr
Spark.io externe seriële poort

Spark.io externe seriële poort

De Spark.io externe seriële poort (reserveonderdelen) kan worden gebruikt voor een verscheidenheid van taken op een lab, kantoor of thuis. Een apparaat verbindt met een seriële poort met het lokale netwerk of internet met behulp van TCP/IP. Seriële p
Interfacing van 3-as gyroscoop Sensor BMG160 met Raspberry Pi

Interfacing van 3-as gyroscoop Sensor BMG160 met Raspberry Pi

In de wereld van vandaag, meer dan de helft van de jongeren en kinderen zijn dol op gaming en al degenen die zijn gek van, gefascineerd door de technische aspecten van gaming kent het belang van de motie ontdekkende in dit domein. Wij waren ook verba
Telegram beheertoepassing met Raspberry Pi

Telegram beheertoepassing met Raspberry Pi

Hoi allemaal!In deze post 'm I gonna delen van mijn nieuwe toepassing. Ik had onlangs bericht dat werd beheertoepassing over het telegram. Dat moet hier. Op dat ik ook wilde gebruiken seriële poort met nodejs hierdoor aplication ik andere hardware (M
$10 slimme camera met Raspberry Pi

$10 slimme camera met Raspberry Pi

LIVE DEMO in de serverkamer op Naran.De meeste van ons hebben een of twee ongebruikte USB webcams rondslingeren in onze huizen. Maar die camera's zijn vaak het verzamelen van stof als hun nu verouderd en hebben beperkte mogelijkheden.Sommige mensen z
Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Hallo iedereen!Sinds toen heb ik begon te spelen met de Arduino, heb ik altijd geweest zwerven hoe ik kon maken het praten en communiceren met de Matlab-omgeving op een gemakkelijke en effectieve manier. Ik botste tegen vele Instructables en tutorial
Seriële poort programmeren met .NET

Seriële poort programmeren met .NET

seriële poorten bieden een gemakkelijke manier om te communiceren tussen vele soorten hardware en uw computer. Ze zijn relatief eenvoudig te gebruiken en zijn zeer vaak onder randapparatuur en vooral DIY projecten. Vele platformen zoals Arduino hebbe
Vaststelling van het probleem van Mac Lilypad USB seriële poort/Driver

Vaststelling van het probleem van Mac Lilypad USB seriële poort/Driver

Is je Mac minder dan 2 jaar oud?Hebt u onlangs een upgrade naar de nieuwste OS (Yosemite of iets nieuwere)?Werk uw Lilypad USBs/MP3s niet langer?Mijn leerprogramma zal u tonen hoe ik mijn Lilypad USBs vast.De fout die ik tegenkwam was gerelateerd aan
MSP430 Verwerking seriële communicatie met behulp van ENERGIA en

MSP430 Verwerking seriële communicatie met behulp van ENERGIA en

Hallo iedereen. Ik ben vigneshraja. hier ik gedaan de variëren de kleur afhankelijk van de analoge waarde van 10 k leest potentiometer met MSP430G2231. Ik ben met behulp van Energia software voor seriële communicatieprogramma. Ik gebruik voor de kleu