Trender Jenkins

De Kernel Fablab Lannion
Révision datée du 21 juillet 2016 à 12:36 par Cebernard (discussion | contributions) (Jenkins Use case for Trender)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Trender.png


Présentation

Après une expérience passionnante autour de la réalisation de bijoux connectés ( dont la genèse se situe notre Wiki favori, BuddiesJewel wiki ) , toute l'équipe de Galilabs remet le couvert en ce début d'année pour partir sur un nouveau concept !


Trender ...

Mais qu'est-ce donc ?

Trender , cet un objet lumineux permettant aux entreprises de percevoir instantanément, sans même le savoir, l'état de leurs projets.

Plutôt que de passer ses journées scotchées sur son dashboard, à regarder les KPIs dans tous les sens, pourquoi ne pas les visualiser au travers d'un simple objet connecté?

Et plutôt que de sauter de joie , seul sur son fauteuil, lorsque un KPI casse la barraque, pourquoi ne pas faire sauter de joie toute l'entreprise! Le bonheur ne vaut que s'il est partagé par tous :-D

Galilabs est donc aujourd'hui reparti dans de nouvelles dérives, avec un premier proto DYI que l'on s'empresse aujourd'hui de mettre à disposition de la communauté!!!

Premier Use Case présenté ici:

Relier les KPI ( aka Key Perfomance Indicators , bref une métrique quoi ) de Jenkins à un objet lumineux.

Pour se faire, rendez-vous dans votre cuisine, prenez votre tablier au logo FabLab Lannion , et prenez avec vous les ingrédients suivants:

  • Un objet lumineux pilotable par télécommande InfraRouge ( Quoi , vous n'en n'avez pas ? Rendez-vous à Gifi, Magasin Vert, ou autre enseigne de ce genre, et vous tomberez très rapidement sur une référence pour moins de 20€ ).
  • Un raspberryPi ( le 3, le 2, le 0.0.1, bref votre pi à vous quoi )
  • 2/3 composants pour ajouter une interface InfraRouge au Pi
  • Un Jenkins ( pour le use case présenté ici )
  • Un compte IFTTT ( très pratique pour relier des entités sans prise de tête sur une API custom )
  • Un bocal avec votre sauce secrète ( parceque la cuisine est tellement plus onctueuse lorsque chacun apporte sa touche personnelle ;-) )

Un schéma d'ensemble pour mettre tous ces ingrédients en musique:

Trender.png

Dans la suite de cette page, nous nous intéresserons plus particulièrement au hacking de l'objet lumineux, pour se substituer à la télécommande.

Sources d'inspiration: alexba

Matériel

Câblage

Trender-600px-Inrared RPi bb.png

Proto

Trender 300px-RIMG 20160306 152807.jpg

Récepteur

Pour enregistrer les codes de la télécommande

Note: Tout est décrit à partir d"une install de raspbian

  • install lirc
sudo apt-get install lirc
  • devicetree
vi /boot/config.txt
# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_in_pin=22,gpio_out_pin=23
  • modules
vi /etc/modules
lirc_dev
lirc_rpi gpio_in_pin=22 gpio_out_pin=23
  • config hardware
vi /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

# Don't start lircmd even if there seems to be a good config file
# START_LIRCMD=false

# Don't start irexec, even if a good config file seems to exist.
# START_IREXEC=false

# Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
  • rebooter
  • tester
mode2 -d /dev/lirc0
  • activer lircd
 systemctl enable lirc

Créer un fichier de conf

pour la télécommande

  • lister les touches possibles
irrecord --list-namespace
  • Créer le fichier
irrecord -d /dev/lirc0 ~/lircd.conf
sudo cp ~/lircd.conf /etc/lirc/lircd.conf

Utilisation

Pour envoyer une touche :

irsend send_once TheCube KEY_POWER

Exemple avec la liste des touches pour l'objet hacké dans notre cuisine : Trender-600px-Touches.png

Debug

Vérifier que lircd est lancé :

$ systemctl status lirc
● lirc.service - LSB: Starts LIRC daemon.
 Loaded: loaded (/etc/init.d/lirc)
 Active: active (running) since dim. 2016-03-06 16:02:31 CET; 1min 41s ago
Process: 305 ExecStart=/etc/init.d/lirc start (code=exited, status=0/SUCCESS)
 CGroup: /system.slice/lirc.service
         └─344 /usr/sbin/lircd --driver=default --device=/dev/lirc0 --uinput

le relancer :

sudo systemctl restart lirc

le lancer à la main (comme un gros bourin)

sudo start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/lircd -- --driver=default --device=/dev/lirc0

Voir plus d'infos :

sudo systemctl status lirc -l

Résultat en Musique !

HackingObjetIR


Logiciels

Évolutions possibles

Tout plein de choses !!!!


1er Cas d'Usage: de Jenkins la lumière viendra

Trender_Jenkins