Utilisateur:Zoé Feltesse

Source (url) https://pratiquesnumeriques.be/index.php/Utilisateur:Zo%C3%A9_Feltesse
Site satellite Pratiques Numériques B2-B3
Date 2019-03-07 09:50:43

De Pratiques en milieux numériques

Aller à : navigation, rechercher

Sommaire[modifier]

La mémoire qui se détruit[modifier]

Pour plusieurs projets je travaille sur la mémoire, les archives qui se détruisent ou simplement la disparition de souvenirs, les trous de mémoires qui sont lié à l'existence. J'ai eu premièrement beaucoup de mal à relié ce sujet avec le terminal car je voulais travailler sur quelque chose d'humain.J'ai alors décidé de me concentrer sur un poème.

Rien n'aura eu lieu que le lieu[modifier]

M'inspirant du poème de Stephane Mallarmé "Un coup de dés jamais n'abolira le hasard", je travaille en particulier sur la citation, "Rien n'aura eu lieu que le lieu, excepté peut être une constellation". Tout en étant poétique ce n'en est pas moins une réalité. Il ne restera rien, aucune mémoire ne sera sauvegardée, un jour il y aura le retour du néant.

J'ai donc travaillé avec le poème de Mallarmé en le réorganisant à l'aide du terminal, je l'ai trituré en quelques sorte, j'en ai fait des listing, je l'ai recomposé pour voir ce que je pouvais en sortir. D'autant plus que ce poème à une forme graphique trés particulière et je voulais voir ce que le terminal pourrait en faire.

cat texte.txt | tr " " "\n" | sort | uniq | gshuf | tr "\n" " " | cut -c-1500 > poèmealéatoire.txt

/!\ pour que la commande gshuf (shuf pour windows) fonctionne, j'ai du installer brew pour installer pouvoir installer coreutils:
1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)%22
2. brew install coreutils

poème aléatoire

Fichier:Https://pratiquesnumeriques.be/images/thumb/7/71/Tr -d SED .png/300px-Tr -d SED .png

commande tr -d et sed not working

Étant donné que la librairie de mon imprimante ne prend pas en compte les accents j'ai essayé de créer un text sans accent. J'ai donc utilisé la commande "sed" ou encore "tr -d" ("tr --delete" pour les windows) mais sans succès.
La commande sed me créé un fichier vide et la commande tr -d m'indique la fonctionnalité de tr -d et tr -s sans me créer de fichier.

Imprimante Thermique / Raspberry[modifier]

Imprimante Thermique et Rpi connecté

Je souhaite imprimer ce nouveau poème recomposé sur une imprimante thermique adafruit, Thermal print adafruitqui est connectée à un Raspberry 3B+, je dois donc connecter le raspberry à mon ordinateur par le terminal. Je dois d'abord trouvé l'adresse IP de mon raspberry. Je dois la trouver grâce à un programme "Nmap". Ensuite je peux commencer à créer un code en python pour communiquer avec le raspberry et ainsi la machine.

Pour le moment c'est un échec. Je ne parviens toujours pas à trouver l'adresse IP de mon rpi. -> RÉSOLU

Echec adresse IP .png

Comment trouver l'adresse IP de mon rpi: commande ping [nomduraspberry].local, finalement le programme Nmap ne m'a servit à rien.

Cheat Sheet: ping raspberrypidezoe.local ssh pi@192.168.2.2 (dépend du résultat trouvé par la commande ping) cd Python-Thermal-Printer python text.py (ls /dev (si problème d'impression vérification que les pipes soient bien actives) sudo shutdown now ou sudo reboot now

Ensuite il a fallu installé le langage python sur le rpi pour pouvoir installer la bibliothèque de l'imprimante. sudo apt-get install python3-picamera git clone https://github.com/adafruit/Python-Thermal-Printer

Enfin il ne fallait plus que fair le print test pour voir si l'imprimante fonctionnait bien! Ça ne s'est pas révélé aussi simple. Nous nous sommes rendu compte que l'imprimante et le rpi n'étaient pas connecté, ce qui pose un soucis obviously.

Alors on déconnecte, on reconnecte, on cherche le problème et on le trouve! La bibliothèque est connectée à un GPIO qui n'est pas "allumé" le serial 0. Alors on a essayé de reboot le rpi pour voir si le serial 0 apparait, je crois qu'on a du le faire 3 fois avant de le voir apparaitre.

Ls -dev serial0 inexistant.png

Pour envoyer des fichiers de son ordinateurs au rpi j'utilise FileZilla, j'ai utilisé ce tutoriel pour configurer mon rpi. Acceder au raspberry via un FTP

J'ai créé un dossier en python sur atom, mais je n'arrive actuellement pas à le faire passer dans les documents de mon rpi. Voici ce que les commandes m'envoient lorsque j'essaie de transferer un fichier.

Erreur de transfert .png

Statut : Connecté
Statut : Démarrage de l'envoi de /Users/zoefeltesse/Desktop/new.py
Commande : CWD /home/pi/Python-Thermal-Printer/Python-Thermal-Printer
Réponse : 250 Directory successfully changed.
Commande : TYPE A
Réponse : 200 Switching to ASCII mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,2,2,82,133).
Commande : STOR new.py
Réponse : 550 Permission denied.
Erreur : Erreur critique lors du transfert du fichier

RÉSOLU -> C'était donc un problème d'accès et de propriété. Avec Lionel on a vérifié la configuration du programme autorisait d'entrer un fichier dans FileZilla. sudo nano /etc/vsftpd.conf -> write = YES

Python[modifier]

Le dossier Atom que j'ai créé est composé ainsi: from Adafruit_Thermal import *
from PIL import Image

printer = Adafruit_Thermal("/dev/serial0", 19200, timeout=5)
printer.println('Rien n aura eu lieu que le lieu')
printer.feed(2)
printer.sleep()
printer.wake()
printer.setDefault()

Fichier:Https://pratiquesnumeriques.be/images/thumb/d/d9/Test.png/300px-Test.png

Final test avant la cotation

J'ai toujours un problème que je n'arrive pas à résoudre, étant donné que la bibliothèque a été créée par des anglophones il n'y a pas d'accent dessus et je n'ai pas encore trouvé de solution pour corriger cela.

Je dois donc composer mes textes sans accent manuellement (voir problème de code en cat). Pour voir si mon imprimante fonctionnait bien avec des longs textes j'ai décidé de trouver le poème de Mallarmé en Anglais "A throw of dice". Je l'ai traité le texte de la même manière que les précédent, et en effet il fonctionne tout à fait correctement! C'est donc bien les accents qui posent problème dans la librairie.

Imprimer une image

from Adafruit_Thermal import *
from PIL import Image, ImageDraw

printer = Adafruit_Thermal("/dev/serial0", 19200, timeout=5)
printer.println("""texte""")

ImageSizeX = 384.0
img = Image.open("/home/pi/Python-Thermal-Printer/nom de l'image.png")

--->Pour que l'image soit à la taille du papier (384px)<---

width, height = img.size
width, height = img.size
coef = width/imgSizeX

imgSizeY = height/coef

newImg = Image.new ('RGBA', (int(imgSizeX), int(imgSizeY)))
d = ImageDraw.Draw(newImg)

b = img.resize ((int(imgSizeX), int(imgSizeY)), Image.ANTIALIAS)
newImg.paste (b,(0,0))

printer.printImage (newImg, True)

printer.feed(2) printer.sleep() printer.wake() printer.setDefault()

Accents[modifier]

https://www.utf8-chartable.de/unicode-utf8-table.pl?fbclid=IwAR3jvSBDEg3hQCefa38n2xppjalZvAb7W92i6_550P0Lh4fFlFGPm5-s2Rg
A2-user+manual.pdf

On remarque que la machine n'est pas en UTF-8 et c'est pour cela qu'elle ne gère pas les accents connus en français. J'ai donc remplacé tous les code UTF-8 par ceux de la machine.

printer.setCharset(1)

def accents(x):
x = x.replace('é', '\x82').replace('é', 'x9A')
x = x.replace('è', '\x8A').replace('è', 'x8a')
x = x.replace('ê', '\x88').replace('ê', 'xaa')
x = x.replace('ë', '\x89').replace('ë', 'xba')
x = x.replace('ä', '\x84').replace('ä', 'x4a')
x = x.replace('à', '\x85').replace('à', 'x1a')
x = x.replace('â', '\x83').replace('â', 'x2a')
x = x.replace('æ', '\x91').replace('æ', 'x6a')
x = x.replace('ç', '\x87').replace('ç', 'x7a')
x = x.replace('ï', '\x8B').replace('ï', 'xfa')
x = x.replace('î', '\x8C').replace('î', 'xea')
x = x.replace('ô', '\x93').replace('ô', 'x4b')
x = x.replace('ö', '\x94').replace('ö', 'x6b')
x = x.replace('ù', '\x79').replace('ù', 'xab')
x = x.replace('û', '\x96').replace('û', 'xbb')
x = x.replace('ü', '\x81').replace('ü', 'xcb')
x = x.replace('ÿ', '\x98').replace('ÿ', 'xfb')
x = x.replace('É', '\xD4').replace('É', 'x98')
x = x.replace('È', '\x98').replace('È', 'x88')
x = x.replace('À', '\xB7').replace('À', 'x08')
x = x.replace('Ù', '\xEB').replace('Ù', 'x99')
x = x.replace('Æ', '\xEB').replace('Æ', 'x68')
x = x.replace('Â', '\xB6').replace('Â', 'x28')
x = x.replace('Ä', '\x8E').replace('Ä', 'x48')
x = x.replace('Ê', '\xD2').replace('Ê', 'xa8')
x = x.replace('Î', '\xD7').replace('Î', 'xe8')
x = x.replace('Ï', '\xD8').replace('Ï', 'xf8')
x = x.replace('Ô', '\xE2').replace('Ô', 'x49')
x = x.replace('Û', '\xEA').replace('Û', 'xb9')
x = x.replace('Ü', '\x9A').replace('Ü', 'xc9')
x = x.replace('Ö', '\x99').replace('Ö', 'x69')
return x

Récupérée de « https://pratiquesnumeriques.be/index.php?title=Utilisateur:Zoé_Feltesse&oldid=1608 »

Dernière modification effectuée le 12 mars 2019.