Satura rādītājs:

Dženkinsa darba luksofori: 8 soļi (ar attēliem)
Dženkinsa darba luksofori: 8 soļi (ar attēliem)

Video: Dženkinsa darba luksofori: 8 soļi (ar attēliem)

Video: Dženkinsa darba luksofori: 8 soļi (ar attēliem)
Video: 30 интересных фактов о Японии. Насколько хорошо вы знаете Японию? 2024, Novembris
Anonim
Jenkins Job Traffic Lights
Jenkins Job Traffic Lights

Programmatūras inženierijā nepārtraukta integrācija ir prakse, kad visas izstrādātāju darba kopijas tiek apvienotas kopīgā galvenajā līnijā vairākas reizes dienā. Dažas no labākajām praksēm, kā to panākt, ir šādas:

  • ikviens katru dienu apņemas ievērot sākotnējo līmeni,
  • automatizēt būvniecību,
  • ikviens var redzēt jaunāko versiju rezultātus.
  • …un daudzi citi.

Lai izpildītu tikai šos 3 iepriekš minētos punktus, ir svarīgi pēc iespējas ātrāk saņemt paziņojumu par būvēšanas statusu.

Šis projekts palīdz to sasniegt, izveidojot mini personiskos luksoforus, kas norāda pašreizējo būves statusu. Esmu izveidojis 2 luksoforu komplektus, kas ir integrēti Jenkins automatizācijas serverī, ko NodeMCU periodiski izvelk, izmantojot WiFi.

1. darbība: materiāli un instrumenti

Materiāli, kurus izmantoju:

  • NodeMCU (es izmantoju v3) (BangGood.com)
  • No vīriešu līdz sieviešu maizes dēļa džemperu kabeļi (BangGood.com)
  • 2 gaismas diožu komplekti: sarkans, dzeltens, zaļš (BangGood.com)
  • 2 komplekti no 3 rezistoriem (450Ω, 500Ω, 22Ω)
  • 2 plānas, bet garas prototipa PCB plates (BangGood.com)
  • microUSB kabelis kā barošanas avots
  • Dažas kastes (es to izmantoju elektriskajiem augstsprieguma komponentiem. Vietējā DIY mazumtirgotāja veikalā es atradu daudz dažādu formu un lētu)
  • 2 pildspalvas vai 2 biezas caurules 0,5-1cm iekšējais diametrs; un/vai 2 biezi dzērienu salmiņi

Nepieciešamie rīki:

  • Asu nazi (piemēram, lielo nazi paklāja griešanai)
  • Rotācijas instruments
  • Karstās līmes pistole
  • Lodēšanas stacija
  • Knaibles, diagonālās knaibles/sānu griezēji
  • Skrūvgriezis
  • Biezā papīra gabals
  • Divpusēja līmlente
  • Jūs

2. darbība: luksofori

Luksofori
Luksofori
Luksofori
Luksofori
Luksofori
Luksofori

Lai izveidotu luksoforus, mēs izmantojam prototipēšanas dēli 20x80mm. Lodēt gaismas diodes, lai tās būtu novietotas līnijā. Esmu izmantojis šādas rezistoru vērtības:

  • sarkans: 510Ω
  • dzeltens: 470Ω
  • zaļš: 22Ω

Vērtības ir daudz augstākas par ieteicamo (20mA maksimālā strāva uz LED), taču, eksperimentējot ar dažādām vērtībām, gaisma nav pārāk spoža un arī visiem 3 ir līdzīga intensitāte. Lūdzu, ņemiet vērā, ka NodeMCU spriegums ir 3,3 V.

Elektroinstalācija ir taisni uz priekšu, vienkārši pievienojiet (lodēt) katras gaismas diodes katodu ar rezistoru un pēc tam lodējiet ar džempera kabeļa galu. Dēļa vienā pusē es gribēju tikai LED elementus bez citām "uznirstošām" detaļām, piemēram, rezistoru kājām, vadiem utt. Tāpēc esmu izmantojis "tehniku", kas ir sava veida SMD, izmantojot PCB komponentus.

Mēs to pagaidām atstājam šādi; lukturu pārsegs tiks veikts vēlāk.

3. darbība: kaste - galvenā

Kaste - galvenais
Kaste - galvenais
Kastīte - galvenais
Kastīte - galvenais
Kaste - galvenais
Kaste - galvenais

Mums ir jāiekļauj mūsu NodeMCU kastes apakšā. Kastē ir nepieciešams caurums microUSB portam, lai mēs varētu ieslēgt galveno ierīci. Es rupji izmērīju urbuma stāvokli un vienkārši to izurbju.

Tad es piestiprināju plastmasas starplikas, izmantojot skrūves, nodemcu. Katrā kastes stūrī es ieliku nedaudz līmes un uzliku visu konstrukciju. Pēc tam, kad tas bija atdzisis, es atskrūvēju NodeMCU un ap starplikām uzliku vēl kādu karstu līmi, kas, manuprāt, bija ideāli piemērota NodeMCU. Tomēr kastes iekšpusē nekas nesvārstās, un mēs varam viegli piestiprināt microUSB portu, nepārvietojot lietas iekšā.

4. solis: kaste - vāks

Kastīte - vāks
Kastīte - vāks
Kastīte - vāks
Kastīte - vāks
Kastīte - vāks
Kastīte - vāks
Kastīte - vāks
Kastīte - vāks

Vispirms es mēģināju izmantot dzērienu salmiņus kā luksofora stabu, bet pēc dažām pārbaudēm es atklāju, ka plastmasa ir pārāk plāna un, kad es vēlējos tās pievienošanai izmantot karstu līmi, tā vienkārši kļuva ļoti mīksta un pat mainījās tā forma. Tāpēc es nolēmu izmantot kaut ko grūtāku - pildspalvas. Esmu izvēlējies dažas lētas caurspīdīgas pildspalvas, kuras nogriezu vēlamajā garumā un caur cauruli ievietoju 4 kabeļus (pa 1) no luksoforiem.

Es urbju caurumus vāka viduslīnijā atbilstoši pildspalvas diametram. Tad es ievietoju pildspalvas caurumos, un es tos uzlīmēju vāka apakšējā pusē, cenšoties noturēt stabus taisnus.

Es uzliku arī kādu karstu līmi staba virspusē, lai pie stabiem piestiprinātu luksoforu dēļus.

5. solis: salikšana

Salikšana
Salikšana
Salikšana
Salikšana

Es pievienoju vadus NodeMCU (pinout):

Kreisais luksofors:

  • no sarkanas līdz D2 (GPIO4)
  • dzeltens līdz D3 (GPIO0)
  • zaļš līdz D4 (GPIO2)
  • zemes līdz GND (es tikko izvēlējos vienu no NodeMCU GND tapām)

STIPRS luksofors:

  • sarkans līdz D5 (GPIO14)
  • dzeltens līdz D6 (GPIO12)
  • zaļš līdz D7 (GPIO13)
  • sasmalcināts līdz GND (es tikai izvēlējos vienu no NodeMCU GND tapām)

… un es aizvēru vāku. Vadi, kurus izvēlējos, bija diezgan gari, tāpēc man bija nelielas problēmas ar visu ievietošanu mazajā kastītē, bet kaut kā man tas izdevās.

6. solis: gaismas vāks

Gaismas vāks
Gaismas vāks
Gaismas vāks
Gaismas vāks
Gaismas vāks
Gaismas vāks
Gaismas vāks
Gaismas vāks

Es nevarēju atrast nekādus gatavus risinājumus kā gaismas pārvalkus - kaut kādas kastes no konfektēm vai tā. Tāpēc es nolēmu tos veidot ar rokām, vienkārši izgriežot no papīra kastīti.

Kastes izmērs, kuru izvēlējos, bija: 20mm x 15mm x 85mm.

Es izgriezu caurumus tā, lai es izgrieztu sava veida "zvaigznes" pareizajās vietās, kur gaismas diodes tika novietotas. Es tos pielīmēju, izmantojot divpusēju līmlenti.

Lai pārklātu caurspīdīgos stabiņus, varat izmantot kādu pastāvīgu marķieri, nepārredzamu skotu lenti,… Es izmantoju melnus dzērienu salmiņus, kurus es izgriezu no gala līdz galam. Tad es pārklāju polus.

Es biju vairāk nekā priecīgs par gala rezultātu.

7. solis: programmatūra

Pastāv daudzas pieejas, lai norādītu pašreizējo uzbūves stāvokli. Es īstenoju šādu uzvedību:

Sarkana vai zaļa gaisma iedegas, kad būve neizdodas vai attiecīgi iet garām. Dzeltenā gaisma mirgo katru reizi, kad tiek veikts HTTP zvans, un tiek nepārtraukti ieslēgta, kad pašlaik tiek veidots plāns.

Jūs varat viegli mainīt ieviešanu atbilstoši savām vajadzībām - mēģiniet eksperimentēt un pārbaudiet, kas atbilst jums un/vai jūsu komandai.

Pirms augšupielādējat kodu savā NodeMCU, jums ir jāiestata kods. Jums ir jāiestata ne vairāk kā 2 WiFis.

Jums arī jāiestata lietotāja marķieris. Lai iegūtu API marķieri, Jenkins augšējā labajā stūrī noklikšķiniet uz Jūsu lietotājvārds, pēc tam uz Konfigurācija. Jūs varat atrast pogu "Rādīt API marķieri". Lai izveidotu pamata autentifikācijas vērtību, izveidojiet virkni, izmantojot modeli:

USER_NAME: API_TOKEN

un pēc tam kodējiet to, izmantojot Base64. Piem. iepriekš viltotajai virknei jums vajadzētu iegūt Base64 vērtību:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Jums arī jāiestata Jenkins resursdatora, porta un 2 darbu ceļi.

Pēc šīs iestatīšanas un skices augšupielādes - esat gatavs izmantot luksoforus.

Kods ir pieejams arī vietnē GitHub.

8. solis: pēdējie vārdi

Lai ieslēgtu ierīci, vienkārši pievienojiet ierīci jebkurai USB ligzdai. Lai piekļūtu internetam, tiek izmantots WiFi savienojums, tāpēc jebkura strādājoša USB ligzda ir piemērota - vai nu datora ports, vai lādētājs. Pēc sāknēšanas un savienojuma ar WiFi jūsu luksofori sāks rādīt pašreizējo būves statusu.

Man šis luksofors šķiet ļoti noderīgs. Viņi stāv birojā blakus maniem monitoriem un ikreiz, kad iedegas sarkanā gaisma - es to uzreiz ievēroju. Man nav jātērē laiks, lai pārbaudītu būves statusus tieši vietnē Jenkins.

Vienu uzlabojumu varētu paveikt, izmantojot kādu luksoforu rotaļlietu, nevis uzbūvēt to no jauna (junk?).

Es ceru, ka jūs atradīsiet iedvesmu, lai izveidotu savus Jenkins integrētos luksoforus.

Ieteicams: