jeudi 8 mai 2014

Attaquer le port série en PowerShell

J'ai justement l'intention de mettre au point une petite interface machine -> homme avec un Arduino.
L'avantage d'Arduino, c'est qu'il est reconnu comme un port série lorsqu'il il est branché sur le PC.

Je peux donc informer mon petit Arduino d'une tâche à réaliser depuis notre programme en m'adressant à lui directement via le port série :-)

Pour mon grand malheur notre programme date de l'age de pierre (code Clipper compilé en 32bit avec Harbor-project, DB en PostgreSql).
Du coup, j'ai régulièrement l'occasion de déléguer certaines tâches directement à des scripts PowerShell... un bon compromis pour interagir avec le système... la où la fonctionnalité n'est pas accessible via Clipper.

Du coup, je me demandais s'il était possible d'adresser facilement le port série depuis un script PowerShell.
La réponse est oui:
Ecriture sur le port-série:
PS> [System.IO.Ports.SerialPort]::getportnames()
COM3
PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
PS> $port.open()
PS> $port.WriteLine("Hello world")
PS> $port.Close()

Lecture sur le port série
PS> $port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
PS> $port.Open()
PS> $port.ReadLine()

Souce: Cet article de MSDN


mercredi 7 mai 2014

Application console en Python sous Windows

Introduction
C'est un peu par hasard que je suis tombé sur le dépôt Console-2010... une bibliothèque Python qui vise à faciliter les développements de type console sous Windows.

Comme déjà précisé, si Python est un langage extrêmement puissant, réaliser des interfaces n'est pas son point fort.
Vous réaliserez vite que réaliser un programme console avec une ligne d'invitation (pour l'encodage de données) ne coule pas forcément de source :-/

J’accueille donc un tel projet les bras grand ouverts


Informations produite par l'auteur
==================
The console module
==================

This kit contains a simple console interface for Windows 9X/NT/2K/XP.
It provides a cursor-addressable text display, plus support for
keyboard and mouse input.

The console interface also comes with a command editing and history
implementation (readline) for Windows platforms.

Enjoy /F

fredrik@pythonware.com
http://www.pythonware.com
....
----------------------------------------
_wincon.c   the low-level driver for Win32

Console.py   high-level interface

readline.py   (experimental) command history and editing for Windows.
    to enable this module, just put it on the Python path.

setup.py   build/installation script

*.html            documentation

demo*.py   various demo and test scripts (the latter are in varying
tests/*.py        shape)


Plus d'information

Introduction à TkInter - Interface graphique en Python

Si Python est extrêmement puissant pour les tâches d'automatisation, force est de reconnaître qu'il lui manque quelque-chose si l'on veut développer des interfaces graphiques.

A vrai dire, Python est resté ouvert... sans volonté de s'attacher à une interface. En gros, c'est a vous de choisir et à la mettre en oeuvre.
Il existe de nombreuses solutions disponible mais je viens justement de tomber sur une chouette documentation d'introduction à TkInter (un interface graphique pour Pyhton).


Lecture a conseiller donc:
Mais à voir aussi

vendredi 2 mai 2014

Sublime Text: Un éditeur de code sympa pour code Python

Vous codez assez régulièrement en Python (ou autre langage) et vous cherchez un éditeur de texte open-source?

Vous pouvez vous pencher sur Geany déjà abordé dans un précédent article.
Si ce dernier ne remplit pas vos attentes, vous pouvez aussi vous pencher sur Sublime Text qui est vraiment pas mal.

Sublime Text - Simple et efficace... avec de nombreuses fonctionnalités
Disponible pour Mac, Windows et Linux.
Pour plus d'information, voir le site officiel de Sublime Text

Merci à Xavier D. pour cette information intéressante.