Table des matières:

Feux de circulation Jenkins Job : 8 étapes (avec photos)
Feux de circulation Jenkins Job : 8 étapes (avec photos)

Vidéo: Feux de circulation Jenkins Job : 8 étapes (avec photos)

Vidéo: Feux de circulation Jenkins Job : 8 étapes (avec photos)
Vidéo: Feux de circulation tricolores (MikroC Pro) 2024, Novembre
Anonim
Jenkins Job Feux de circulation
Jenkins Job Feux de circulation

En génie logiciel, l'intégration continue consiste à fusionner toutes les copies de travail des développeurs sur une ligne principale partagée plusieurs fois par jour. Certaines des meilleures pratiques pour y parvenir sont:

  • tout le monde s'engage sur la ligne de base chaque jour,
  • automatiser la construction,
  • tout le monde peut voir les résultats des dernières versions.
  • …et plein d'autres.

Pour remplir uniquement ces 3 points ci-dessus, il est important d'être informé le plus rapidement possible de l'état de la construction.

Ce projet aide à y parvenir en créant un mini-feux de circulation personnel qui indique l'état actuel de la construction. J'ai construit 2 ensembles de feux de circulation qui sont intégrés au serveur d'automatisation Jenkins qui est tiré périodiquement par NodeMCU via WiFi.

Étape 1: Matériaux et outils

Matériel que j'ai utilisé:

  • NodeMCU (j'ai utilisé la v3) (BangGood.com)
  • Câbles de cavalier mâle à femelle, (BangGood.com)
  • 2 jeux de LED: rouge, jaune, vert (BangGood.com)
  • 2 jeux de 3 résistances (450Ω, 500Ω, 22Ω)
  • 2 cartes de circuits imprimés prototypes minces mais longues (BangGood.com)
  • câble microUSB comme alimentation
  • Certaines boîtes (j'en ai utilisé une pour les composants électriques haute tension. J'ai trouvé de nombreuses formes différentes et bon marché dans mon magasin de bricolage local)
  • 2 stylos ou 2 tuyaux épais de 0,5 à 1 cm de diamètre intérieur; et/ou 2 pailles épaisses

Outils nécessaires:

  • Un couteau bien aiguisé (par exemple un couteau utilitaire pour couper un tapis)
  • Outil rotatif
  • Pistolet à colle chaude
  • Poste de soudure
  • Pinces, pinces coupantes/couteaux latéraux
  • Tournevis
  • morceau de papier épais
  • Ruban adhésif double face
  • Tu

Étape 2: Feux de circulation

Feux de circulation
Feux de circulation
Feux de circulation
Feux de circulation
Feux de circulation
Feux de circulation

Pour construire des feux de circulation, nous utilisons une planche de prototypage 20x80mm. Soudez les LED de manière à ce qu'elles soient alignées. J'ai utilisé ces valeurs de résistance:

  • rouge: 510Ω
  • jaune: 470Ω
  • vert: 22Ω

Les valeurs sont beaucoup plus élevées que celles recommandées (courant max 20mA par LED), mais en expérimentant avec différentes valeurs, la lumière n'est pas trop brillante et les 3 ont également une intensité similaire. Veuillez noter que la tension est de 3,3 V pour NodeMCU.

Le câblage est simple, il suffit de connecter (souder) la cathode de chaque LED avec une résistance, puis de souder à l'extrémité mâle du câble de démarrage. D'un côté de la carte, je ne voulais que des éléments LED sans aucune autre pièce "surgissante" comme des pattes de résistance, des fils, etc. C'est pourquoi j'ai utilisé une "technique" qui est une sorte de SMD utilisant des composants PCB.

Nous laissons comme ça pour l'instant; la couverture des lumières sera faite plus tard.

Étape 3: Boîte - Principale

Boîte - Principale
Boîte - Principale
Boîte - Principale
Boîte - Principale
Boîte - Principale
Boîte - Principale

Nous devons intégrer notre NodeMCU au bas de la boîte. La boîte a besoin d'un trou pour le port microUSB afin que nous puissions alimenter l'unité principale. J'ai mesuré grossièrement la position du trou et je l'ai juste percé.

Ensuite, j'ai fixé les entretoises en plastique à l'aide de vis à nodemcu. J'ai mis de la colle dans chaque coin de la boîte et j'ai mis toute la construction dessus. Une fois qu'il a refroidi, j'ai dévissé NodeMCU et mis de la colle chaude supplémentaire autour des entretoises qui, j'en suis sûr, étaient parfaitement positionnées pour NodeMCU. Grâce à cela, rien ne vacille à l'intérieur de la boîte et nous pouvons facilement connecter le port microUSB sans déplacer d'objets à l'intérieur.

Étape 4: Boîte - Couvercle

Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle
Boîte - Couvercle

J'ai d'abord essayé d'utiliser une paille à boisson comme poteau pour mes feux de circulation mais après quelques tests, j'ai découvert que le plastique était trop fin et quand j'ai voulu utiliser une colle chaude pour le fixer, il est devenu très mou et a même changé sa forme. J'ai donc décidé d'utiliser quelque chose de plus dur - des stylos. J'ai choisi des stylos transparents bon marché, que j'ai coupés à la longueur souhaitée et que j'ai mis 4 câbles (1 à la fois) des feux de circulation à travers le tuyau.

J'ai percé des trous dans une ligne médiane du couvercle en fonction du diamètre du stylo. Ensuite, j'ai inséré des stylos dans des trous et je les ai collés à chaud sur la face inférieure du couvercle en essayant de garder les poteaux droits.

J'ai également mis de la colle chaude sur le poteau pour fixer les panneaux des feux de circulation aux poteaux.

Étape 5: Assemblage

Assemblage
Assemblage
Assemblage
Assemblage

J'ai connecté des fils au NodeMCU (brochage):

Feu tricolore gauche:

  • rouge à D2 (GPIO4)
  • jaune à D3 (GPIO0)
  • vert à D4 (GPIO2)
  • masse à GND (je viens de choisir l'une des broches GND de NodeMCU)

Feu de circulation à droite:

  • rouge à D5 (GPIO14)
  • jaune à D6 (GPIO12)
  • vert à D7 (GPIO13)
  • masse à GND (je viens de choisir l'une des broches GND de NodeMCU)

… et j'ai fermé le couvercle. Les fils que j'ai choisis étaient assez longs, j'ai donc eu un peu de mal à les mettre tous dans la petite boîte, mais j'ai réussi à le faire d'une manière ou d'une autre.

Étape 6: Couvercle des lumières

Couverture des lumières
Couverture des lumières
Couverture des lumières
Couverture des lumières
Couverture des lumières
Couverture des lumières
Couverture des lumières
Couverture des lumières

Je n'ai pas pu trouver de solutions toutes prêtes pour couvrir les lumières - une sorte de boîte de bonbons ou autre. J'ai donc décidé de les construire à la main simplement en découpant une boîte dans un papier.

La taille de la boîte que j'ai choisie était: 20 mm x 15 mm x 85 mm.

J'ai découpé les trous de manière à découper une sorte d'"étoiles" aux endroits appropriés où les LED étaient positionnées. Je les ai collés avec du ruban adhésif double face.

Pour couvrir les poteaux transparents, vous pouvez utiliser du marqueur permanent, du scotch non transparent, … J'ai utilisé des pailles noires que j'ai coupées de bout en bout. Ensuite, j'ai couvert les poteaux.

J'étais plus qu'heureux du résultat final.

Étape 7: Logiciel

Il existe de nombreuses approches pour indiquer l'état actuel de la construction. J'ai implémenté un tel comportement:

Le voyant rouge ou vert s'allume lorsque la construction échoue ou passe en conséquence. Le voyant jaune clignote à chaque fois qu'un appel HTTP est effectué et est allumé en permanence lorsqu'un plan est en cours de construction.

Vous pouvez facilement modifier la mise en œuvre en fonction de vos besoins - essayez d'expérimenter et de vérifier ce qui vous convient et/ou votre équipe.

Vous devez configurer le code avant de le télécharger sur votre NodeMCU. Vous devez définir un maximum de 2 Wi-Fi.

Vous devez également définir votre jeton d'utilisateur. Pour obtenir le jeton API, cliquez sur Votre nom d'utilisateur en haut à droite dans Jenkins, puis sur Configuration. Vous pouvez trouver un bouton " Show API token ". Pour créer la valeur d'authentification de base, créez une chaîne à l'aide du modèle:

USER_NAME: API_TOKEN

puis encodez-le en Base64. Par exemple. pour la fausse chaîne ci-dessus, vous devriez obtenir la valeur Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg==

Vous devez également définir votre hôte Jenkins, votre port et les chemins de 2 tâches.

Après cette configuration et le téléchargement du croquis - Vous êtes prêt à utiliser vos feux de circulation.

Le code est également disponible sur GitHub.

Étape 8: Derniers mots

Pour allumer l'appareil, connectez simplement l'appareil à n'importe quelle prise USB. Il utilise la connexion Wi-Fi pour accéder à Internet, de sorte que toute prise USB en état de fonctionnement est correcte - soit un port d'ordinateur, soit un chargeur. Après un démarrage et une connexion au WiFi, vos feux de circulation commenceront à afficher l'état actuel de la construction.

Je trouve ces feux tricolores très utiles. Ils se tiennent à côté de mes moniteurs au bureau et chaque fois que le voyant rouge s'allume, je le remarque immédiatement. Je n'ai pas besoin de perdre du temps à vérifier les statuts de build directement sur Jenkins.

Une amélioration pourrait être apportée en utilisant des jouets de feux de circulation au lieu d'en construire un par moi-même à partir de zéro (ordure ?).

J'espère que vous trouverez de l'inspiration pour construire vos propres feux de circulation intégrés Jenkins.

Conseillé: