Inhoudsopgave:
- Stap 1: Materialen en gereedschappen
- Stap 2: Verkeerslichten
- Stap 3: Doos - Hoofd
- Stap 4: Doos - Deksel
- Stap 5: Montage
- Stap 6: Deksel van de lichten
- Stap 7: Software
- Stap 8: Laatste woorden
Video: Jenkins Job Traffic Lights - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
In software-engineering is continue integratie de praktijk waarbij alle werkkopieën van ontwikkelaars meerdere keren per dag worden samengevoegd tot een gedeelde hoofdlijn. Enkele van de best practices om dat te bereiken zijn:
- iedereen zet zich elke dag in voor de baseline,
- automatiseren van de bouw,
- iedereen kan de resultaten van de nieuwste builds zien.
- …en vele anderen.
Om alleen aan deze 3 bovenstaande punten te voldoen, is het belangrijk om zo snel mogelijk op de hoogte te worden gesteld van de bouwstatus.
Dit project helpt om dat te bereiken door een mini, persoonlijk verkeerslicht te creëren dat de huidige bouwstatus aangeeft. Ik heb 2 sets verkeerslichten gebouwd die zijn geïntegreerd in de Jenkins-automatiseringsserver die periodiek door NodeMCU via WiFi wordt getrokken.
Stap 1: Materialen en gereedschappen
Materialen die ik heb gebruikt:
- NodeMCU (ik gebruikte v3) (BangGood.com)
- Man-vrouw breadboard-startkabels, (BangGood.com)
- 2 sets LED's: rood, geel, groen (BangGood.com)
- 2 sets van 3 weerstanden (450Ω, 500Ω, 22Ω)
- 2 dunne maar lange prototype printplaten (BangGood.com)
- microUSB-kabel als voeding
- Een of andere doos (ik gebruikte er een voor elektrische hoogspanningscomponenten. Ik vond veel verschillende vormen en goedkoop in mijn plaatselijke doe-het-zelfwinkel)
- 2 pennen of 2 dikke buizen 0,5-1 cm binnendiameter; en/of 2 dikke rietjes
Gereedschap nodig:
- Scherp mes (bijvoorbeeld een mes voor het snijden van tapijt)
- Roterend gereedschap
- Heet lijmpistool
- Soldeerstation
- Tang, zijkniptang/zijkniptang
- Schroevendraaier
- Stuk dik papier
- Dubbelzijdig plakband
- Jij
Stap 2: Verkeerslichten
Om verkeerslichten te bouwen, gebruiken we prototyping board 20x80mm. Soldeer LED's zodat ze in een lijn zijn geplaatst. Ik heb deze weerstandswaarden gebruikt:
- rood: 510Ω
- geel: 470Ω
- groen: 22Ω
Waarden zijn veel hoger dan aanbevolen (20mA max stroom per LED), maar experimenteren met verschillende waarden, het licht is niet te fel en ook alle 3 hebben een vergelijkbare intensiteit. Houd er rekening mee dat de spanning 3,3 V is voor NodeMCU.
Bedrading is eenvoudig, sluit de (soldeer)kathode van elke LED met weerstand aan en soldeer vervolgens aan het mannelijke uiteinde van de startkabel. Aan de ene kant van het bord wilde ik alleen LED-elementen zonder andere "opduikende" onderdelen zoals weerstandspoten, draden enzovoort. Daarom heb ik een "techniek" gebruikt, een soort SMD die PCB-componenten gebruikt.
We laten het voor nu zo; de lichtendekking zal later worden gedaan.
Stap 3: Doos - Hoofd
We moeten onze NodeMCU onder in de doos insluiten. De doos heeft een gat nodig voor een microUSB-poort, zodat we de hoofdeenheid kunnen inschakelen. Ik heb ruwweg de positie van het gat gemeten en ik heb het gewoon geboord.
Daarna heb ik de plastic afstandhouders met schroeven aan nodemcu bevestigd. Ik heb wat lijm in elke hoek van de doos gedaan en ik heb de hele constructie erop gezet. Nadat het was afgekoeld, schroefde ik NodeMCU los en plaatste wat extra hete lijm rond de afstandhouders waarvan ik zeker wist dat ze perfect waren gepositioneerd voor NodeMCU. Dankzij dit wiebelt er niets in de doos en we kunnen de microUSB-poort eenvoudig aansluiten zonder spullen naar binnen te verplaatsen.
Stap 4: Doos - Deksel
Eerst probeerde ik een rietje te gebruiken als paal voor mijn verkeerslichten, maar na wat testen kwam ik erachter dat het plastic te dun is en toen ik een hete lijm wilde gebruiken om het te bevestigen, werd het gewoon erg zacht en zelfs veranderd zijn vorm. Dus besloot ik iets harders te gebruiken - pennen. Ik heb een paar goedkope transparante pennen gekozen, die ik op de gewenste lengte heb afgeknipt en 4 kabels (1 per keer) van verkeerslichten door de buis heb gestoken.
Ik boorde gaten in een middelste lijn van het deksel volgens de diameter van de pen. Daarna plaatste ik pennen in gaten en lijmde ik ze aan de onderkant van het deksel om de palen recht te houden.
Ik heb ook wat hete lijm op de paal gedaan om de verkeerslichtenborden aan de palen te bevestigen.
Stap 5: Montage
Ik heb draden aangesloten op de NodeMCU (pinout):
Links stoplicht:
- rood naar D2 (GPIO4)
- geel naar D3 (GPIO0)
- groen naar D4 (GPIO2)
- gemalen naar GND (ik heb zojuist een van de GND-pin van NodeMCU gekozen)
Verkeerslicht rechts:
- rood naar D5 (GPIO14)
- geel naar D6 (GPIO12)
- groen naar D7 (GPIO13)
- grond naar GND (ik heb gewoon een van de GND-pin van NodeMCU gekozen)
… en ik sloot het deksel. De draden die ik koos waren vrij lang, dus ik had wat problemen om ze allemaal in de kleine doos te doen, maar op de een of andere manier lukte het me.
Stap 6: Deksel van de lichten
Ik kon geen kant-en-klare oplossingen vinden als covers van lichten - een soort dozen met snoep of zo. Dus besloot ik ze met de hand te bouwen door een doos uit papier te knippen.
De grootte van de doos die ik koos was: 20 mm x 15 mm x 85 mm.
Ik heb de gaten gesneden zodat ik een soort "sterren" sneed op de juiste plaatsen waar de LED's waren geplaatst. Ik heb ze gelijmd met dubbelzijdig plakband.
Om de transparante palen te bedekken, kun je een permanente marker, niet-transparante plakband, … gebruiken. Ik gebruikte zwarte rietjes die ik van begin tot eind doorsneed. Daarna heb ik de palen afgedekt.
Ik was meer dan blij met het eindresultaat.
Stap 7: Software
Er zijn veel manieren om de huidige bouwstatus aan te geven. Ik heb een dergelijk gedrag geïmplementeerd:
Rood of groen licht gaat branden wanneer de build mislukt of dienovereenkomstig doorgaat. Geel lampje knippert elke keer dat er een HTTP-aanroep wordt gedaan en is continu ingeschakeld wanneer er een plan wordt gebouwd.
U kunt de implementatie eenvoudig aanpassen aan uw behoeften - probeer te experimenteren en controleer wat bij u en/of uw team past.
U moet de code instellen voordat u deze naar Your NodeMCU uploadt. Je moet maximaal 2 wifi's instellen.
U moet ook uw gebruikerstoken instellen. Om een API-token te krijgen, klikt u op Uw gebruikersnaam rechtsboven in Jenkins en vervolgens op Configuratie. U vindt een knop " Toon API-token ". Als u de waarde voor basisverificatie wilt bouwen, maakt u een tekenreeks met behulp van het patroon:
USER_NAME:API_TOKEN
en codeer het vervolgens met Base64. bijv. voor bovenstaande nep-string, zou je Base64-waarde moeten krijgen:
VVNFUl9OQU1FOkFQSV9UT0tFTg==
U moet ook de paden van uw Jenkins-host, poort en 2 banen instellen.
Na deze setup en het uploaden van de schets - bent u klaar om uw verkeerslichten te gebruiken.
Code is ook beschikbaar op GitHub.
Stap 8: Laatste woorden
Om het apparaat in te schakelen, hoeft u het alleen maar op een USB-aansluiting aan te sluiten. Het maakt gebruik van WiFi-verbinding om toegang te krijgen tot internet, dus elke werkende USB-aansluiting is in orde - computerpoort of oplader. Na een opstart en verbinding met wifi, zullen uw verkeerslichten de huidige bouwstatus weergeven.
Ik vind deze verkeerslichten erg handig. Ze staan naast mijn monitoren op kantoor en als het rode lampje gaat branden, merk ik het meteen. Ik hoef geen tijd te verspillen om de bouwstatussen rechtstreeks op Jenkins te controleren.
Een verbetering zou kunnen worden gedaan door wat verkeerslichtspeelgoed te gebruiken in plaats van er zelf een helemaal opnieuw te bouwen (rommel?).
Ik hoop dat je wat inspiratie vindt om je eigen Jenkins geïntegreerde verkeerslichten te bouwen.
Aanbevolen:
Fire, Music and Lights Sync: 10 stappen (met afbeeldingen)
Synchronisatie van vuur, muziek en licht: we weten allemaal dat elektronica wordt gebruikt voor veel belangrijke taken in ziekenhuizen, scholen en fabrieken. Waarom zou ik er ook niet een beetje plezier mee hebben? In deze Instructable maak ik uitbarstingen van vuur en lichten (Led's) die op muziek reageren om muziek een beetje
Glow in the Dark Lights: 7 stappen
Glow in the Dark Lights: Hallo! Dit is een leuk project voor kinderen om mee te werken. Ze leren een beetje over circuits en maken glow in the dark-items! Voor dit project zal het doel zijn om een zaklamp te maken met LED-verlichting zodat er licht is in het donker
Glas-Lights!: 5 stappen
Glass-Lights!: Hulp nodig bij het zien in het donker? Dit is een eenvoudige maar handige gadget voor diegenen die zowel overdag als 's nachts wat meer licht nodig hebben. Of het nu om 23.00 uur een boek is. zonder uw gezin af te leiden of uw weg te vinden in de
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - Nederlands: 18 stappen (met afbeeldingen)
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - Engels: EspañolQue es Vixen Lights?Vixen Lights is een software voor de doe-het-zelf (hágalo gebruikte mismo) secuencias de luces. De ultieme versie 3.x is een aanvulling op de nieuwe RGB-intelligentie.Lo puedes descargar and la siguiente liga http://www.vixenl
Smart Traffic: 9 stappen
Smart Traffic: SamenvattingSmart Traffic is een IoT-oplossing op basis van een controller met een bluetooth-signaalsensor die de timing van de verkeerslichten verandert na identificatie van het signaal van een prioriteitsvoertuig (militair, brandweer of ambulance), waardoor de