Innehållsförteckning:
- Steg 1: Material och verktyg
- Steg 2: Trafikljus
- Steg 3: Box - Main
- Steg 4: Låda - lock
- Steg 5: Montering
- Steg 6: Ljusskydd
- Steg 7: Programvara
- Steg 8: Sista ord
Video: Jenkins jobbtrafikljus: 8 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Inom mjukvaruteknik är kontinuerlig integration praxis att slå ihop alla utvecklarkopior till en delad huvudlinje flera gånger om dagen. Några av de bästa metoderna för att uppnå det är:
- alla förbinder sig till baslinjen varje dag,
- automatisera bygget,
- alla kan se resultatet av de senaste byggnaderna.
- …och många andra.
För att uppfylla bara dessa tre punkter ovan är det viktigt att meddelas om byggstatus så snabbt som möjligt.
Detta projekt hjälper till att uppnå det genom att skapa ett mini, personligt trafikljus som anger aktuell byggstatus. Jag har byggt två uppsättningar trafikljus som är integrerade i Jenkins automationsserver som dras av NodeMCU regelbundet via WiFi.
Steg 1: Material och verktyg
Material jag använde:
- NodeMCU (jag använde v3) (BangGood.com)
- Manliga till kvinnliga breadboard -bygelkablar, (BangGood.com)
- 2 uppsättningar lysdioder: röd, gul, grön (BangGood.com)
- 2 uppsättningar med 3 motstånd (450Ω, 500Ω, 22Ω)
- 2 tunna men långa prototyp PCB -kort (BangGood.com)
- microUSB -kabel som strömförsörjning
- Någon låda (jag använde en för elektriska högspänningskomponenter. Jag hittade många olika former och billigt i min lokala byggvaruhus)
- 2 pennor eller 2 tjocka rör 0,5-1 cm innerdiameter; och/eller 2 tjocka sugrör
Verktyg som behövs:
- Vass kniv (t.ex. verktygskniv för skärning av mattor)
- Roterande verktyg
- Lim pistol
- Lödstation
- Tång, diagonal tång/sidoskär
- Skruvmejsel
- En bit tjockt papper
- Dubbelsidig tejp
- Du
Steg 2: Trafikljus
För att bygga trafikljus använder vi prototypplatta 20x80mm. Löd lysdioder så att de är placerade i en linje. Jag har använt dessa motståndsvärden:
- röd: 510Ω
- gul: 470Ω
- grön: 22Ω
Värdena är mycket högre än rekommenderat (max 20mA ström per LED), men experimenterar med olika värden, ljuset är inte för starkt och alla tre har liknande intensitet. Observera att spänningen är 3,3V för NodeMCU.
Ledningarna är raka fram, anslut bara (löd) katod på varje lysdiod med motstånd och sedan lödning till hanänden av bygelkabel. På ena sidan av brädet ville jag bara ha LED -element utan att andra "poppar upp" delar som motståndsben, ledningar och så vidare. Det är därför jag har använt en "teknik" som är ett slags SMD med PCB -komponenter.
Vi lämnar det så här för nu; lampskyddet kommer att göras senare.
Steg 3: Box - Main
Vi måste bädda in vår NodeMCU i botten av lådan. Lådan behöver ett hål för microUSB -port så att vi kan slå på huvudenheten. Jag mätte skrämmande hålpositionen och jag borrade det bara.
Sedan fäst jag plastdistanserna med skruvar för att nodemcu. Jag lägger lite lim i varje hörn av lådan och jag lägger hela konstruktionen på den. Efter att det svalnat skruvade jag bort NodeMCU och lade ytterligare varmt lim runt distanserna som jag var säker på var perfekt placerade för NodeMCU. Tack för detta, ingenting vinglar inuti lådan och vi kan enkelt fästa microUSB -porten utan att flytta saker inuti.
Steg 4: Låda - lock
Först försökte jag använda en drink sugrör som en stolpe för mina trafikljus men efter några tester fick jag reda på att plasten är för tunn och när jag ville använda ett varmt lim för att fästa det, blev det bara väldigt mjukt och ändrades till och med dess form. Så jag bestämde mig för att använda något hårdare - pennor. Jag har valt några billiga transparenta pennor, som jag klippte av i önskad längd och lade 4 kablar (1 i taget) från trafikljusen genom röret.
Jag borrade hål i lockets mittlinje enligt pennans diameter. Sedan inbäddade jag pennor inuti hål och jag limde dem på lockets undersida och försökte hålla stavarna raka.
Jag lägger också lite varmt lim ovanpå stolpen för att fästa trafikljusskivorna på stolparna.
Steg 5: Montering
Jag kopplade ledningar till NodeMCU (pinout):
Vänster trafikljus:
- röd till D2 (GPIO4)
- gul till D3 (GPIO0)
- grön till D4 (GPIO2)
- mark till GND (jag valde just en av GND -stiftet på NodeMCU)
Rätt trafikljus:
- röd till D5 (GPIO14)
- gul till D6 (GPIO12)
- grön till D7 (GPIO13)
- mark till GND (jag valde bara en av GND -stiftet på NodeMCU)
… och jag stängde locket. Ledningarna jag valde var ganska långa så jag hade lite problem med att lägga dem alla inuti den lilla lådan, men på något sätt lyckades jag göra det.
Steg 6: Ljusskydd
Jag kunde inte hitta några färdiga lösningar som ljuskåpor - någon form av lådor från godis eller så. Så jag bestämde mig för att bygga dem för hand bara genom att klippa en låda från ett papper.
Storleken på lådan jag valde var: 20mm x 15mm x 85mm.
Jag skar hålen så att jag skar ett slags "stjärnor" på rätt ställen där lysdioderna var placerade. Jag limmade dem med dubbelhäftande tejp.
För att täcka de genomskinliga stolparna, kan du använda någon permanent markör, otransparent skottejp, … Jag använde svarta sugrör som jag skar igenom från ände till ände. Sedan täckte jag stolparna.
Jag var mer än glad över slutresultatet.
Steg 7: Programvara
Det finns många tillvägagångssätt för att indikera det nuvarande byggtillståndet. Jag implementerade ett sådant beteende:
Rött eller grönt ljus tänds när byggnaden misslyckas eller går därefter. Gult ljus blinkar varje gång det görs ett HTTP -samtal och tänds kontinuerligt när en plan för närvarande byggs.
Du kan enkelt ändra implementeringen efter dina behov - försök experimentera och kontrollera vad som passar dig och/eller ditt team.
Du måste konfigurera koden innan du laddar upp den till din NodeMCU. Du måste ställa in max 2 WiFis.
Du måste också ställa in din användartoken. För att få API-token klickar du på Ditt användarnamn högst upp till höger i Jenkins och sedan på Konfiguration. Du hittar knappen "Visa API -token". Om du vill bygga grundläggande autentiseringsvärde skapar du en sträng med mönstret:
USER_NAME: API_TOKEN
och sedan koda den med Base64. T.ex. för ovan falsk sträng, bör du få Base64 -värde:
VVNFUl9OQU1FOkFQSV9UT0tFTg ==
Du måste också ställa in din Jenkins -värd, port och 2 jobbvägar.
Efter denna installation och överföring av skissen - Du är redo att använda dina trafikljus.
Koden är också tillgänglig på GitHub.
Steg 8: Sista ord
För att starta enheten, anslut bara enheten till valfritt USB -uttag. Den använder WiFi -anslutning för att få åtkomst till Internet så att alla fungerande USB -uttag är OK - antingen datorport eller laddare. Efter en start och anslutning till WiFi börjar dina trafikljus visa den aktuella byggstatusen.
Jag tycker att dessa trafikljus är mycket användbara. De står bredvid mina bildskärmar på kontoret och när rött ljus tänds - märker jag det direkt. Jag behöver inte slösa tid på att kontrollera byggstatus direkt på Jenkins.
En förbättring kan göras genom att använda lite trafikljusleksak istället för att bygga en själv från grunden (skräp?).
Jag hoppas att du hittar lite inspiration för att bygga dina egna Jenkins integrerade trafikljus.
Rekommenderad:
Ta fantastiska bilder med en iPhone: 9 steg (med bilder)
Ta fantastiska bilder med en iPhone: De flesta av oss har en smartphone med oss överallt nuförtiden, så det är viktigt att veta hur du använder din smartphone -kamera för att ta fantastiska bilder! Jag har bara haft en smartphone i ett par år, och jag har älskat att ha en bra kamera för att dokumentera saker jag
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: 7 steg (med bilder)
Hur: Installera Raspberry PI 4 Headless (VNC) med Rpi-imager och bilder: Jag planerar att använda denna Rapsberry PI i ett gäng roliga projekt tillbaka i min blogg. Kolla gärna in det. Jag ville börja använda mitt Raspberry PI men jag hade inte ett tangentbord eller en mus på min nya plats. Det var ett tag sedan jag installerade en hallon
Hur man digitaliserar bilder och filmnegativ med en DSLR: 12 steg (med bilder)
Hur man digitaliserar diabilder och filmnegativ med en DSLR: En mångsidig och stabil inställning för digitalisering av diabilder och negativ med en DSLR eller en kamera med ett makroalternativ. Denna instruerbara är en uppdatering av Hur man digitaliserar 35 mm negativ (uppladdad juli 2011) med flera förbättringar för att utöka dess
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen