Lire et écrire à partir d’un port série avec Raspberry Pi

Dans ce tutoriel nous allons voir comment utiliser le port série sur Raspberry Pi. Nous allons utiliser le port série disponible sur framboisier avec un adaptateur de 5 v TTL/RS232 3-5 et un adaptateur USB-série. Par défaut, port série de l’IP de la framboise est configuré pour être utilisé pour la console d’entrée/sortie. Cela peut aider à résoudre les problèmes lors du démarrage, ou se connecter à la Pi si le réseau et vidéo ne sont pas disponibles.

Pour pouvoir utiliser le port série pour se connecter et parler avec d’autres appareils (par exemple un modem une imprimante..), la connexion à la console port série doit être désactivé.

Ici, nous utilisons Raspberry Pi 2, et nous nous connectons à un TTL/RS232 3-5, 5V adaptateur aux broches 4 (5V), 6 (GND), 8 (TX), 10 (RX) de framboise, évidemment raccorder tx rx et vice versa.

Pour rechercher des ports série disponibles, nous utilisons la commande

 dmesg | grep tty 

La sortie est quelque chose comme ça

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 ~ $ 

Dernière ligne indique que la console est activée sur le port série ttyAMA0, donc nous le désactiver

Exécutez la commande de configuration, puis suivez les instructions ci-dessous

 sudo raspi-config 

Redémarrer et essayer avec

 dmesg | grep tty 

sortie est maintenant

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 ~ $ 

Maintenant, nous pouvons utiliser la série ttyAMA0. Nous connecter un adaptateur usb / série, alors nous allons essayer d’établir une communication entre les deux ports série ; évidemment dans une application pratique pour chaque série, nous pourrions connecter un périphérique, par exemple un modem, une imprimante, un lecteur RFID, etc..

Après avoir connecté le second port série, nous lançons la commande pour trouver le nom de framboise lui donne

 dmesg | grep tty 

La sortie est quelque chose comme ça

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, maintenant, nous créons deux fichiers, celui qui écrit quelque chose sur le port de ttyAMA0 et l’autre qui se lit sur le port ttyUSB0.

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 

Si nous exécutons les deux fichiers, serial_read.py lit ce que serial_write.py écrit

C’est juste un petit exemple, mais il peut servir de point de départ pour envoyer une impression d’une vieille imprimante ou lire les données d’un routeur ou un gps.

Suivez-nous sur social pour rester informé.
http://www.emmeshop.eu

Articles Liés

3D imprimé porte boisson M8 avec décapsuleur magnétique et un trépied

3D imprimé porte boisson M8 avec décapsuleur magnétique et un trépied

L'été arrive, préparez-vous à empêcher vos boissons d'avoir renversé !J'avais besoin d'un porte-boisson qui est solide, stable, compact (doit tenir dans mon sac de plage) et polyvalent. Après googler autour sans trouver quelque chose pour satisfaire
Verrouillage de porte du ciel (avec verrouillage de l’enfer)

Verrouillage de porte du ciel (avec verrouillage de l’enfer)

Ma femme a commencé à une maison d'hôtes. Pas pour l'homme - les humains sont bruyant, sale et difficile à s'il vous plaît -, mais pour les chiens. Elle est un dresseur de chiens professionnel - elle l'appelle plutôt un « propriétaire dresseur de chi
Top secret : contrôler un port usb caché avec un aimant !

Top secret : contrôler un port usb caché avec un aimant !

Voici un projet de grande 30 minutes pour vous nerds qui secrètement s'avèrent être en herbe des espions ou sont probablement déjà un.Utiliser cet appareil au lieu de ce vieux truc boiteux de "dossier invisible" que les gens peuvent facilement t
Le port série - installation des logiciels de

Le port série - installation des logiciels de

si vous essayez de contrôler quelque chose dans le monde réel à l'aide de votre ordinateur, le port série est peut-être le plus simple moyen de communication. Je vais vous guider à travers le processus de mise en place d'un port série et hypertermina
Ouvre-porte de garage avec l’iphone (projet Arduino)

Ouvre-porte de garage avec l’iphone (projet Arduino)

vous pouvez également acheter des iWUP 100 % assemblé à: iwupmobile.comÉtape 1: Démarrez matériaux de projet Que me faut-il commencer ?La configuration matérielle requise pour démarrer est :* Note : où puis-je me procurer le matériel avec tous les co
Port série à distance Spark.IO

Port série à distance Spark.IO

Le port Serial Remote Spark.io (pièces de rechange) peut servir pour une variété de tâches à un laboratoire, le bureau ou la maison. Il connecte un périphérique doté d'un port série pour le réseau local ou internet à l'aide de TCP/IP. Ports série son
Paracord porte-clés avec charme

Paracord porte-clés avec charme

réponses concours Make à apprendre : ce que tu l'as fait ? J'ai fait paracord porte-clés avec breloques. Les principales choses dont vous avez besoin est un charme, certains paracord et un porte-clés. J'ai fait un autre pour mon mamaw pour son annive
La partie de ESP8266 1 - série WIFI Module pour Arduino

La partie de ESP8266 1 - série WIFI Module pour Arduino

Il s'agit de la partie 1 de 3 instructables pour vous aider à utiliser le ESP8266 avec Arduino. Dans ce ce premier tutoriel, vous apprendrez comment d'installation et d'essai le module relié à un Arduino.Le ESP8266 est sans doute le plus polyvalent m
Comment faire pour connecter l’Arduino à un PC via le port série

Comment faire pour connecter l’Arduino à un PC via le port série

à faire que j'ai utilisé un ordinateur avec Ubuntu 12.04 et le langage de programmation C++, mais si vous voulez utiliser Windows, le code fonctionne aussi, suffit de changer le port utilisé pour conect avec arduino, mais c'est expliquer dans l'étape
Ouvrez la porte verrouillée avec zipties

Ouvrez la porte verrouillée avec zipties

plus tôt aujourd'hui je m'ennuie et essayé d'ouvrir une porte verrouillée avec une carte (comme ils le font dans les films). Il était plus facile, puis j'ai pensé (il y a probablement une indestructible sur elle quelque part, mais voici le http://www
Poulet servi avec une sauce aux canneberges, port, cannelle, servie avec four rôti panais, oignon rouge & patate frites

Poulet servi avec une sauce aux canneberges, port, cannelle, servie avec four rôti panais, oignon rouge & patate frites

Hier soir, j'ai inventé cet fête poulet avec une sauce de cranberry-orange-port fait maison avec un soupçon de cannelle ! J'ai servie avec un plat rôti four belle : panais, oignons rouges & coins de patate douce rôtie au four ! Il s'agit d'un dîner f
La partie 4 de la série FlowJet : Nettoyage des vecteurs pour bonne

La partie 4 de la série FlowJet : Nettoyage des vecteurs pour bonne

but : Raster image convertie au vecteur n'est pas toujours idéale, et il est important de produire un fichier propre coupé.Outils : AutoDesk AutoCAD 2012, VCarve, bonneÉtape 1: différences Pour les débutants, il est important de noter que tous les ve
Permet d’ouvrir une porte de garage avec votre smartphone le Switcheroo

Permet d’ouvrir une porte de garage avec votre smartphone le Switcheroo

Même si beaucoup de gens ont des garages avec porte de garage, systèmes d'ouverture, les voitures sont toujours stationnées à l'extérieur. Cela crée un risque grave pour la sécurité car un cambriolage de voiture simple peut se transformer en un garag
Comment faire joli porte-clés avec fil bleu enveloppé pendentif chat

Comment faire joli porte-clés avec fil bleu enveloppé pendentif chat

Vous voulez concevoir votre propre porte-clés personnalisé pas cher ? Ici, je vais vous montrer comment faire un porte-clés belle chat avec du fil d'aluminium bleu. Il s'agit d'un projet de bricolage 3 étapes facile pour adulte à faire avec vos enfan