Outils d'utilisateurs

Outils du Site


projets:imprimante_thermique

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

projets:imprimante_thermique [2015/08/08 09:51]
mac
projets:imprimante_thermique [2015/08/12 13:05] (Version actuelle)
mac
Ligne 21: Ligne 21:
  
 ===== Présentation ===== ===== Présentation =====
-L'imprimante possède deux interface de liaiosn : une interface serie RS232 et une interface usb.+L'imprimante possède deux interfaces de liaisons : une interface série RS232 et une interface USB.
  
-  * **USB :**  Les test effectués sous linux montrent que lorsque l'imprimante est connectée à un PC sous GNU/linux un périphérique apparaît dans ''/dev/USB/'' correspondant à l’imprimante (cela peu nécessiter l'installation d'un [[http://www.citizen-systems.com/us/printer/support/software/POS?field_software_printers_target_id=91&field_operation_system_tid=1324|driver]]. Il suffit alors d'écrire sur sur périphérique (voir exemple bash pour communiquer avec l'imprimante et imprimer ce que l'on souhaite. +  * **USB :**  Les tests effectués sous linux montrent que lorsque l'imprimante est connectée à un PC sous GNU/linux un périphérique apparaît dans ''/dev/USB/'' correspondant à l’imprimante (cela peu nécessiter l'installation d'un [[http://www.citizen-systems.com/us/printer/support/software/POS?field_software_printers_target_id=91&field_operation_system_tid=1324|driver]]. Il suffit alors d'écrire sur le périphérique (voir exemple bash ci-dessous) pour communiquer avec l'imprimante et imprimer ce que l'on souhaite. 
-  * **Port Série (RS232) :** Si l'on utilise la connexion série (via un adaptateur RS232/USB, ou directement) un périphérique série apparaît dans ''/dev/'' (ex. ''/dev/ttyUSBO''). Il suffit alors d’écrire sur ce périphérique comme sur le périphérique usb ci-dessus, ou de se connecter en utilisant un outil de communication serie (minicom, screen, python-serial, ...) pour communiquer avec l'imprimante.+  * **Port Série (RS232) :** Si on utilise la connexion série avec un ordinateur (via un adaptateur RS232/USB) un périphérique série apparaît dans ''/dev/'' (ex. ''/dev/ttyUSBO''). Il suffit alors d’écrire sur ce périphérique comme sur le périphérique USB ci-dessus, ou de se connecter en utilisant un outil de communication série (minicom, screen, python-serial, ...) pour communiquer avec l'imprimante.
  
-Une fois connecté à l'imprimante par l'une ou l'autre des méthodes décrite ci dessus il suffit d'envoyer du texte à l'imprimante pour qu'elle l'imprime. enfin presque l'imprimante n'imprimera le texte envoyé que lorsque le buffer sera plein (1ligne de texte) ou lors de l’envoi d'un caractère //LineFeed// (''\n''). +Une fois connecté à l'imprimante par l'une ou l'autre des méthodes décrite ci-dessus il est possible d'envoyer du texte à l'imprimante pour qu'elle l'imprime. Attention, l'imprimante n'imprimera le texte envoyé que lorsque le buffer sera plein (1 ligne complète de texte) ou lors de l’envoi d'un caractère //LineFeed// (''\n'' ou 0x0A). 
  
-Il est possible de modifier les reglage (police, taille, encodage des caractères, ...) ainsi que d'imprimer des codes barres ou des images, ou encore de couper le papier, en utilisant une séries de commandes définie dans la {{:projets:imprimante_thermique:ct-s2000cmd003e.pdf|documentation}}+Il est possible de modifier les réglages (police, taille, encodage des caractères, ...) ainsi que d'imprimer des codes barres ou des images, ou encore de couper le papier, en utilisant une séries de commandes (une suite de caractères spéciaux). On trouve le détail de ces commandes la {{:projets:imprimante_thermique:ct-s2000cmd003e.pdf|documentation}} de l'imprimante.
  
 Nous avons d'abord fait nos premiers tests d'impression directement en ligne de commande, en bash.  Nous avons d'abord fait nos premiers tests d'impression directement en ligne de commande, en bash. 
Ligne 57: Ligne 57:
 printf "\x0a\x0a\x1bm">/dev/ttyUSB0 printf "\x0a\x0a\x1bm">/dev/ttyUSB0
  
-#Les 3 polices (puis avence et coupe)+#Les 3 polices internes de l'imprimante (puis avance et coupe)
 printf "\x1b\x4d\x00AZERTYazerty\x0a\x1b\x4d\x01AZERTYazerty\x0a\x1b\x4d\x02AZERTYazerty\x0a\x0A\x0a\x0A\x1bi">/dev/ttyUSB0 printf "\x1b\x4d\x00AZERTYazerty\x0a\x1b\x4d\x01AZERTYazerty\x0a\x1b\x4d\x02AZERTYazerty\x0a\x0A\x0a\x0A\x1bi">/dev/ttyUSB0
  
-# fait biper l'imprimante+#fait biper l'imprimante
 printf "\x1b\x1e">/dev/ttyUSB0 printf "\x1b\x1e">/dev/ttyUSB0
  
-#impression en 'gras' (double stroke):+#impression en 'gras' (double strike):
 printf "\x1b\x47\x01DoubleStrike(gras)\x1b\x47\x00SimpleStrike(normal)\x0a\x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0 printf "\x1b\x47\x01DoubleStrike(gras)\x1b\x47\x00SimpleStrike(normal)\x0a\x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0
  
-#tres grosse police +#très grosse police 
 printf "\x1d\x21\x33BONJOUR \x0aje suis une\x0aimprimante ! \x0a\x0a\x0a\x0a\x0a\x1bi" > /dev/ttyUSB0 printf "\x1d\x21\x33BONJOUR \x0aje suis une\x0aimprimante ! \x0a\x0a\x0a\x0a\x0a\x1bi" > /dev/ttyUSB0
  
-#Negatif/positif+#Négatif/positif
 printf "\x1D\x42\x01 NEGATIF \x1D\x42\x00 POSITIF \x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0 printf "\x1D\x42\x01 NEGATIF \x1D\x42\x00 POSITIF \x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0
  
Ligne 75: Ligne 75:
 printf "\x1b\x21\x36largeur&hauteur:37\x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0 printf "\x1b\x21\x36largeur&hauteur:37\x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0
  
-#smooth (pas tres visible priori)+#smooth (pas très visible à priori)
 printf "\x1D\x62\x01 SMOOTH \x1D\x62\x00 NON SMOOTH \x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0 printf "\x1D\x62\x01 SMOOTH \x1D\x62\x00 NON SMOOTH \x0a\x0a\x0a\x0a\x1bi">/dev/ttyUSB0
  
Ligne 83: Ligne 83:
 Un dépot [[github>bumblebeefr/pyCTS2000|github]] contient un début de bibliothèque permettant d'imprimer facilement avec la CT-S2000, ainsi que des notebook ipython (jupyter) avec des exemples et les tests effectués. Un dépot [[github>bumblebeefr/pyCTS2000|github]] contient un début de bibliothèque permettant d'imprimer facilement avec la CT-S2000, ainsi que des notebook ipython (jupyter) avec des exemples et les tests effectués.
  
-La fonctionalité importante apportée dans cette biotheque est la possibilités d'imprimer des images à partir d'un ficheir PBM(([[wpfr>Portable_pixmap|Portable Bit Map]])). Ce format, géré sans problèmes par The Gimp et ImageMagick, contient l'image encodée en binaire exactement sous la forme dont nous avons besoin. Le script de lecture des fichier pbm est très fortement inspiré d'un article parus dans GNU/Linux magazine n°147.+La fonctionalité importante apportée dans cette bibliothèque est la possibilité d'imprimer des images à partir d'un fichier PBM(([[wpfr>Portable_pixmap|Portable Bit Map]])). Ce format, géré sans problèmes par ''The Gimp'' et ''ImageMagick'', contient l'image encodée en binaire exactement sous la forme dont nous avons besoin. Le script de lecture des fichier pbm est très fortement inspiré d'un article parus dans GNU/Linux magazine n°147.
  
  
 ==== A partir d'un arduino ==== ==== A partir d'un arduino ====
  
-//8-) A venir //+//8-) A venir //  
 + 
 +La photo de l’ornithorynque a été imprimée via un arduino \o/
  
  
Ligne 94: Ligne 96:
  
   * A TESTER : Une idée est de pouvoir brancher un lecteur de code barres / QR code de type "douchette USB" sur un arduino (la douchette est un clavier)   * A TESTER : Une idée est de pouvoir brancher un lecteur de code barres / QR code de type "douchette USB" sur un arduino (la douchette est un clavier)
-    * avec un shield USB host pour arduino +    * avec un shield USB host pour arduino (testé, fonctionne) 
-    * ou encore gràce à la bibliothèque arduino de gestion d'un clavier PS2 : https://www.pjrc.com/teensy/td_libs_PS2Keyboard.html (nécessite un adaptateur USB vers PS2)+    * ou encore gràce à la bibliothèque arduino de gestion d'un clavier PS2 : https://www.pjrc.com/teensy/td_libs_PS2Keyboard.html (nécessite un adaptateur USB vers PS2) ( à voir)
  
  
projets/imprimante_thermique.1439020297.txt.gz · Dernière modification: 2015/08/08 09:51 par mac