morse-light/README.md

100 lines
4 KiB
Markdown
Raw Permalink Normal View History

# morse-light
[![forthebadge made-with-python](https://ForTheBadge.com/images/badges/made-with-python.svg)](https://www.python.org/)
Dépôt du projet de générateur de code morse. Le programme sinstalle sur Raspberry et permet, après lécriture dun mot, de lenvoyer en faisant clignoter une lumière.
## Dépendances
Pour pouvoir utiliser ce programme, il vous faut installer :
* RPi
* PyQt5 (facultatif pour cli.py, obligatoire pour gui.py)
Vous pouvez les installer sur le Raspberry avec cette commande :
```
pip3 install RPi.GPIO
sudo apt install python3-pyqt5
```
## Installation
### Avec une LED
Vous pouvez faire ce montage avec LED pour tester le programme. Voici un schéma expliquant comment faire le montage.
![image montage led](https://raspberry-pi.fr/wp-content/uploads/2019/05/raspberry-pi-led-939x528.png)
*[Source](https://raspberry-pi.fr/led-raspberry-pi/)*
Vous pouvez modifier le montage à votre guise, noubliez pas de configurer le port GPIO cependant.
### Avec un relai
Lutilisation dun relai permettra denvoyer les messages avec des lampes plus puissantes. Voici le schéma pour le branchement du relai. Vous pouvez aussi modifier le port GPIO tant que vous le configurer correctement.
![image montage relai](https://blog.bandinelli.net/public/.Rpi_et_relai_m.png)
*[Source](https://blog.bandinelli.net/index.php?post/2015/07/18/Raspberry-Pi%2C-un-relai%2C-quelques-branchements-%3A-interrupteur-intelligent)*
## Utilisation
Une fois le repo cloné, vous devez garder tous les fichiers au même niveau.
* morse.py : classe permettant de traduire et transmettre le morse.
* cli.py : script pour utiliser la classe dans un terminal
* gui.py : script pour lancer linterface graphique
Les dossiers contiennent des éléments indispensables pour linterface graphique (controllers, les vues…). Ils doivent se trouver au même niveau que les fichiers morse.py et gui.py.
**Vous ne pouvez que lancer les scripts sur un Raspbery. Dans le cas contraire, une erreur sera communiquée dès le lancement.**
### cli.py
#### Explication
Lorsque vous lancez le script, il vous sera demandé dentrez un mot ou une phrase. Vous pouvez sortir du programme en tapant `:q`.
Vous pouvez configurer le port GPIO avec le paramètre `--gpio port` et préciser la durée dun point en seconde avec `--point point`. Le port par défaut est le 7 et le temps dun point est de 0,1 seconde.
Vous pouvez aussi juste passer un message sans rentrer dans la boucle avec le paramètre `-m`. Il est possible dentrer des phrases si on la met entre guillemets.
#### --help
```
usage: cli.py [-h] [-m MESSAGE] [--point POINT] [--gpio GPIO] [-v]
Permet dentrer des phrases ou des mots qui seront traduient en morse grace à
la classe traducteurMorse. Cette traduction sera ensuite convertie en flash
lumineux.
optional arguments:
-h, --help show this help message and exit
-m MESSAGE, --message MESSAGE
Permet de juste passer un message à traduire.
--point POINT Définit la durée en seconde dun point.
--gpio GPIO Définit le port GPIO du relai ou de la LED.
-v, --verbose Affiche de manière détaillée le processus.
```
### gui.py
Vous pouvez lancer linterface graphique avec le fichier `gui.py`. Linterface est constitué de 3 boutons :
* Envoyer : pour envoyer le message en morse
* Effacer : permet deffacer la zone de saisi
* Configuration : permet de configurer le port GPIO et le temps dun point
* Quitter : pour quitter le programme
La barre en bas est utilisée pour afficher les logs de la classe morse.py. Elle est activable via le menu de configuration.
## Raizo sociaux
* Matrix : [#morsi:gnous.eu](https://matrix.to/#/!gqYSEaWPviXAEsIHYk:gnous.eu?via=gnous.eu)
## Sources dépendances
* [RPi.GPIO](https://pypi.org/project/RPi.GPIO/)
* [PyQt5](https://pypi.org/project/PyQt5/)
[![GPLv3 license](https://www.gnu.org/graphics/gplv3-or-later.png)](http://perso.crans.org/besson/LICENSE.html)