[PIGET] Surveiller son Raspberry Pi avec 2b3l

[PIGET] Surveiller son Raspberry Pi avec 2b3l

Concept

Nous avons vu comment utiliser le module led et le module buttons
Le module que nous allons voir maintenant vont utiliser ces deux modules, afin d’en créer un nouveau qui bénéficiera des mise à jour, de ces deux modules.

Nous allons utiliser 2 boutons et 3 leds pour

  • Savoir si quelqu’un accède à notre terminal (led rouge)
  • Savoir si le partage de fichiers est activé (led jaune)
  • Savoir si quelqu’un accède à notre partage de fichiers (led verte)
  • Bouton 1 : Redémarrer notre Raspberry Pi
  • Bouton 2 : Activer / Déactiver

(note : si vous avez d’autres idées d’utilisation pour les leds elles sont la bienvenue ! http://github.com/pigetnet/2b3l/issues )

Notre prototype pourra être facilement ajouter même si d’autres composants ou shield (hat) sont branchés sur le Raspberry Pi.

Modèle 3D

Nous travaillons actuellement à créer un modèle 3D simple à imprimer , à utiliser et modulaire.
Voici la première version :

2b3l en filaments phosporescent
2b3l en filament phosphorescent

Liens vers ce modèle 3D :
https://github.com/pigetnet/2b3l/tree/master/3d

Ce modèle a été abandonnée car il est fragile et demande un effort pour souder proprement les composants dans un espace aussi réduit.

Un nouveau modèle est en cours de préparation

Montage

Avant de souder nos composants, il est fortement conseillé d’essayer de le monter sur une breadboard (planche à pain) afin d’être sur que nos composants fonctionnent correctement.
Les câbles doivent faire un rectangle de 3×2 au niveau des GPIO.

2b3l_bb

  • Led rouge : 21
  • Led Jaune : 20
  • Led Verte : 16
  • Bouton 1 : 26
  • Bouton 2 :19

https://pinout.xyz/

Vous pouvez afficher un schéma avec /do/2b3l/pinout

Soudure

Souder n’est pas aussi facile qu’il n’y parait,  particulièrement quand le placement des composants est crucial afin qu’il puissent reposer facilement dans un boitier imprimé.
Afin de rendre ce passage, le plus simple possible nous avons crée un schéma avec LibreOffice Calc.
Schéma Soudure
Schéma Montage

Je vous conseille d’imprimer ces deux schémas, afin de ne pas avoir à souder devant votre ordinateur.
Faites très attention au sens des LED et des boutons.

Le schéma montre l’avant et l’arrière de votre stripboard (la plaque où l’on va souder les composants).
La vue avant (FRONT) permet de savoir où les composants sont placés, la vue arrière (BACK) permet de savoir comment souder les composants.
Les cases vides et colorés désignent un câble.

Notre montage va se faire en deux parties

  • Le connecteur qui va se brancher sur le Raspberry Pi
  • La stripboard qui va accueillir les LED et les boutons.

Nous avons décidé de ne pas faire une plaque qui iraient se poser sur le Raspberry Pi (communément appelé shield ou hat) car les boutons seraient désagréables à utiliser et cela ne permettraient plus d’utiliser un autre shield (comme un écran LCD). Notre version permet de placer les boutons et les leds où l’on veut et de l’inclure dans un boitier, voir de le déporter loin du Raspberry Pi.

 

Installation

Pour installer le module, tapez dans votre terminal :

/pi/install 2b3l

Ceci va installer led , buttons et supervisor.

Utilisation

Deux modes sont disponibles, le premier n’utilise que les boutons et le deuxième crée des services qui vont contrôler les LEDs

Ainsi on peut vérifier si quelque-chose arrive sur notre Raspberry Pi, ou sur Internet et averti grâce aux leds.

Mode test : Ce mode permet de vérifier que les LED et les boutons sont correctement branchés:

Tapez :

/do/2b3l/test

Bouton 1 : Les leds doivent s’allumer
Bouton 2 : Les leds doivent s’éteindre

Mode sécurité : Ce mode permet de vérifier qui accède à votre Raspberry Pi

/do/2b3l/security

Led rouge : Quelqu’un est sur le terminal (ssh)
Led jaune : Quelqu’un est sur le partage de fichiers (samba)
Led verte : Le partage est actif (samba)
Bouton 1 : Fait clignoter les leds et arrête le Raspberry Pi
Bouton 2 : Active / Déactive le partage sur samba

Créer son propre mode :

Aller voir https://github.com/pigetnet/2b3l/blob/master/scripts/ssh/check
Si vous voulez créer vos propres services, vous pouvez apprendre à cloner un module ici

Commandes

Mode sécurité
Boutons
Contrôler toutes les leds
Contrôler la led rouge
Contrôler la led jaune
Contrôler la led verte

En savoir plus

Nous avons vu précédemment comment gérer des boutons et des leds et comment accéder à des fichiers à l’aide des modules de Piget.
Nous pouvons réutiliser ces modules et un nouveau : supervisor pour créer un nouveau module : 2b3l

2b3l permet de contrôler 3 leds et 2 boutons sur un Raspberry Pi tout en évitant d’utiliser des GPIO qui risquent le plus d’être utilisés (ceux disponible sur les anciennes versions du Raspberry Pi).

Ce module nous permet d’utiliser nos boutons sans avoir besoin de savoir sur quel GPIO ils sont branchés.

2b3l a deux modes de fonctionnements:

  • /do/2b3l/test : Test pour les boutons et les leds
  • /do/2b3l/security : Surveille SSH et Samba.

Pour cela le mode security va générer des services sous supervisor à partir d’un script qui tourne en boucle infini.

  • /do/2b3l/scripts/ssh/check :Vérifier si quelqu’un est connecté au terminal
  • /do/2b3l/scripts/samba/check : Le Raspberry Pi partage des fichiers avec Samba
  • /do/2b3l/scripts/samba/check : Quelqu’un est en train d’accéder aux fichiers

Ce module est un exemple de ce que l’on peut faire à l’aide de simples scripts.

Supervisor

(note : ce module n’est pas documenté et nécessite des améliorations: http://github.com/pigetnet/supervisor/issues)
(note : Cette partie fera l’objet d’un tutoriel à lui tout seul)

Le module supervisor permet de créer des services à partir de n’importe quel programme ou scripts.
Il faut juste que le script/programme soit dans une boucle infini.

Pour créer un service, tapez:
/do/supervisor/create nom_du_service programme
/do/supervisor/create sambaCheck /do/2b3l/scripts/samba/check

Pour afficher la liste des services:
/do/supervisor/list

Pour afficher les logs d’un service:
/do/supervisor/log

Pour supprimer un service:
/do/supervisor/remove nom_du_service
/do/supervisor/remove sambaCheck

Pour redémarrer un service:
/do/supervisor/restart

Pour arrêter un service:
/do/supervisor/stop

Pour démarrer un service
/do/supervisor/start

Les commentaires sont clos.