INHOUDSOPGAWE:

Jenkins se verkeersligte: 8 stappe (met foto's)
Jenkins se verkeersligte: 8 stappe (met foto's)

Video: Jenkins se verkeersligte: 8 stappe (met foto's)

Video: Jenkins se verkeersligte: 8 stappe (met foto's)
Video: 🤣 Реакция на «инвайт» Педро и лихого трейдера. Воскресная проповедь, пока вы зарабатываете 💰 2024, November
Anonim
Jenkins Job Traffic Lights
Jenkins Job Traffic Lights

In sagteware -ingenieurswese is deurlopende integrasie die praktyk om alle kopieë van ontwikkelaars verskeie kere per dag saam te voeg tot 'n gedeelde hooflyn. Enkele van die beste praktyke om dit te bereik, is:

  • almal verbind elke dag tot die basislyn,
  • outomatiseer die konstruksie,
  • almal kan die resultate van die nuutste weergawes sien.
  • … en vele ander.

Om slegs hierdie drie punte hierbo te bereik, is dit belangrik om so vinnig as moontlik in kennis gestel te word van die boustatus.

Hierdie projek help om dit te bereik deur 'n mini, persoonlike verkeersligte te skep wat die huidige boustatus aandui. Ek het 2 stelle verkeersligte gebou wat geïntegreer is in die Jenkins -outomatiseringsbediener, wat gereeld deur NodeMCU deur WiFi getrek word.

Stap 1: Materiaal en gereedskap

Materiaal wat ek gebruik het:

  • NodeMCU (ek het v3 gebruik) (BangGood.com)
  • Manlike tot vroulike broodbordkabels, (BangGood.com)
  • 2 stelle LED's: rooi, geel, groen (BangGood.com)
  • 2 stelle van 3 weerstande (450Ω, 500Ω, 22Ω)
  • 2 dun, maar lang prototipe PCB -borde (BangGood.com)
  • microUSB -kabel as 'n kragtoevoer
  • 'N Boksie (ek het dit vir elektriese hoogspanningskomponente gebruik. Ek het baie vorms gevind en goedkoop in my plaaslike selfdoenhandelaar)
  • 2 penne of 2 dik pype 0,5-1 cm in deursnee; en/of 2 dik rietjies

Gereedskap benodig:

  • Skerp mes (bv. Mes om tapyt te sny)
  • Roterende hulpmiddel
  • Warm gom geweer
  • Soldeerstasie
  • Tang, skuins tang/sysnyers
  • Skroewedraaier
  • Stukkie dik papier
  • Dubbelzijdige kleeflint
  • Jy

Stap 2: Verkeersligte

Verkeersligte
Verkeersligte
Verkeersligte
Verkeersligte
Verkeersligte
Verkeersligte

Om verkeersligte te bou, gebruik ons 'n prototipe bord van 20x80 mm. Soldeer LED's sodat hulle in 'n lyn geplaas word. Ek het hierdie weerstandswaardes gebruik:

  • rooi: 510Ω
  • geel: 470Ω
  • groen: 22Ω

Waardes is baie hoër as wat aanbeveel word (maksimum stroom van 20mA per LED), maar as u met verskillende waardes eksperimenteer, is die lig nie te helder nie en het ook al drie dieselfde intensiteit. Let daarop dat die spanning 3.3V is vir NodeMCU.

Die bedrading is reguit vorentoe; verbind slegs die (soldeer) katode van elke LED met 'n weerstand en soldeer dan aan die eindpunt van die springkabel. Aan die een kant van die bord wou ek net LED -elemente hê sonder dat daar ander dele opduik, soos weerstandspote, drade, ens. Daarom het ek 'n 'tegniek' gebruik, 'n soort SMD met PCB -komponente.

Ons laat dit vir eers so; die dekking van die ligte sal later gedoen word.

Stap 3: Box - Main

Boks - Hoof
Boks - Hoof
Boks - Hoof
Boks - Hoof
Boks - Hoof
Boks - Hoof

Ons moet ons NodeMCU onderaan die boks insluit. Die boks benodig 'n gat vir die microUSB -poort, sodat ons die hoofeenheid kan aanskakel. Ek het die gatposisie lagwekkend gemeet en ek het dit net geboor.

Toe het ek die plastiese afstandhouers met skroewe vasgemaak om te knik. Ek sit 'n bietjie gom in elke hoek van die boks en sit die hele konstruksie daarop. Nadat dit afgekoel het, het ek NodeMCU losgeskroef en 'n paar ekstra warm gom om die afstandhouers geplaas, wat ek seker perfek vir NodeMCU geplaas het. Hierna wankel niks in die boks nie en kan ons die microUSB -poort maklik aanheg sonder om dinge binne te skuif.

Stap 4: Boks - deksel

Boks - Deksel
Boks - Deksel
Boks - Deksel
Boks - Deksel
Boks - Deksel
Boks - Deksel
Boks - Deksel
Boks - Deksel

Ek het eers probeer om 'n rietjie as 'n paal vir my verkeersligte te gebruik, maar na 'n paar toetse het ek agtergekom dat die plastiek te dun is en toe ek 'n warm gom wou gebruik om dit vas te maak, het dit net baie sag geword en selfs verander sy vorm. Daarom het ek besluit om iets harder te gebruik - penne. Ek het 'n paar goedkoop deursigtige penne gekies, wat ek in die gewenste lengte afgesny het en 4 kabels (1 op 'n slag) van die verkeersligte deur die pyp gesit het.

Ek het gate in die middelste lyn van die deksel geboor volgens die pen se deursnee. Toe het ek penne in gate ingebed, en ek het dit aan die onderkant van die deksel vasgom en probeer om die pale reguit te hou.

Ek sit ook 'n bietjie warm gom bo -op die paal om die verkeersligte aan die pale vas te maak.

Stap 5: Monteer

Montering
Montering
Montering
Montering

Ek het drade aan die NodeMCU (pinout) gekoppel:

Links verkeerslig:

  • rooi na D2 (GPIO4)
  • geel tot D3 (GPIO0)
  • groen tot D4 (GPIO2)
  • gemaal tot GND (ek het net een van die GND -pen van NodeMCU gekies)

Regte verkeerslig:

  • rooi na D5 (GPIO14)
  • geel tot D6 (GPIO12)
  • groen tot D7 (GPIO13)
  • gemaal tot GND (ek het net een van die GND -pen van NodeMCU gekies)

… en ek het die deksel toegemaak. Die drade wat ek gekies het, was redelik lank, en ek het 'n bietjie probleme gehad om dit almal in die klein boks te plaas, maar op een of ander manier het ek dit reggekry.

Stap 6: Ligtebedekking

Omslag van ligte
Omslag van ligte
Omslag van ligte
Omslag van ligte
Omslag van ligte
Omslag van ligte
Omslag van ligte
Omslag van ligte

Ek kon geen gereed oplossings vind as 'n ligte omhulsel nie - 'n soort bokse van lekkergoed of so. Daarom het ek besluit om dit met die hand te bou deur net 'n boks van 'n papier te sny.

Die grootte van die boks wat ek gekies het, was: 20mm x 15mm x 85mm.

Ek sny die gate sodat ek 'n soort "sterre" sny op die regte plekke waar die LED's geplaas is. Ek plak dit vas met dubbelzijdige kleeflint.

Om die deursigtige pale te bedek, kan u 'n permanente merker, nie -deursigtige kleeflint gebruik … Toe bedek ek die pale.

Ek was meer as bly oor die finale uitslag.

Stap 7: sagteware

Daar is baie benaderings om die huidige boutoestand aan te dui. Ek het so 'n gedrag geïmplementeer:

Rooi of groen lig brand as die gebou misluk of dienooreenkomstig verbygaan. Geel lig flikker elke keer as 'n HTTP -oproep gemaak word en word voortdurend aangeskakel as 'n plan tans opgestel word.

U kan die implementering maklik volgens u behoeftes verander - probeer om te eksperimenteer en kyk wat by u en/of u span pas.

U moet die kode opstel voordat u dit na u NodeMCU oplaai. U moet maksimum 2 WiFis stel.

U moet ook u gebruikerskenning stel. Om 'n API-token te kry, klik op U gebruikersnaam regs bo in Jenkins en dan op Configuration. U kan 'n knoppie vind "Wys API -token". Om 'n basiese verifikasiewaarde op te stel, skep 'n string met die patroon:

USER_NAME: API_TOKEN

en kodeer dit dan met behulp van Base64. Bv. Vir die boonste vals string, moet u die Base64 -waarde kry:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

U moet ook u Jenkins -gasheer-, poort- en 2 -werkroetes instel.

Na hierdie opstelling en die oplaai van die skets - is u gereed om u verkeersligte te gebruik.

Kode is ook beskikbaar op GitHub.

Stap 8: Laaste woorde

Koppel die toestel aan enige USB -aansluiting om die toestel aan te skakel. Dit gebruik WiFi -verbinding om toegang tot die internet te verkry, sodat enige werkende USB -aansluiting reg is - óf 'n rekenaarpoort óf 'n laaier. Na 'n opstart en verbinding met WiFi, sal u verkeersligte die huidige boustatus begin wys.

Ek vind hierdie verkeersligte baie handig. Hulle staan langs my monitors in die kantoor en wanneer rooi liggie brand - sien ek dit onmiddellik. Ek hoef nie tyd te mors om die boustatus direk op Jenkins na te gaan nie.

'N Verbetering kan gemaak word deur 'n stuk speelgoed vir verkeersligte te gebruik in plaas daarvan om een self te bou (gemors?).

Ek hoop dat u inspirasie vind om u eie Jenkins -geïntegreerde verkeersligte te bou.

Aanbeveel: