Isi kandungan:

Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)
Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)

Video: Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)

Video: Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)
Video: Asekkk😀😀😀 #shorts #pontianak #komedi 2024, Julai
Anonim
Lampu Lalu Lintas Pekerjaan Jenkins
Lampu Lalu Lintas Pekerjaan Jenkins

Dalam kejuruteraan perisian, integrasi berterusan adalah amalan menggabungkan semua salinan kerja pemaju ke saluran utama bersama beberapa kali sehari. Beberapa amalan terbaik untuk mencapainya ialah:

  • setiap orang berjanji pada setiap hari,
  • automatikkan pembinaan,
  • semua orang dapat melihat hasil binaan terkini.
  • … dan banyak lagi.

Untuk memenuhi 3 perkara di atas, penting untuk diberitahu mengenai status binaan secepat mungkin.

Projek ini membantu mencapainya dengan membuat lampu isyarat peribadi yang mini yang menunjukkan status pembinaan semasa. Saya telah membina 2 set lampu isyarat yang disatukan ke pelayan automatik Jenkins yang ditarik oleh NodeMCU secara berkala melalui WiFi.

Langkah 1: Bahan dan Alat

Bahan yang saya gunakan:

  • NodeMCU (saya menggunakan v3) (BangGood.com)
  • Kabel pelompat papan roti lelaki hingga wanita, (BangGood.com)
  • 2 set LED: merah, kuning, hijau (BangGood.com)
  • 2 set 3 perintang (450Ω, 500Ω, 22Ω)
  • 2 papan prototaip nipis tetapi panjang (BangGood.com)
  • kabel microUSB sebagai bekalan kuasa
  • Beberapa kotak (saya menggunakan satu untuk komponen voltan tinggi elektrik. Saya menjumpai pelbagai bentuk dan murah di kedai runcit DIY tempatan saya)
  • 2 pen atau 2 paip tebal diameter dalaman 0.5-1cm; dan / atau 2 straw minuman tebal

Alat yang diperlukan:

  • Pisau tajam (mis. Pisau utiliti untuk memotong permaidani)
  • Alat putar
  • Pistol gam panas
  • Stesen pematerian
  • Tang, tang pepenjuru / pemotong sisi
  • Pemutar skru
  • Sekeping kertas tebal
  • Pita pelekat dua sisi
  • Anda

Langkah 2: Lampu isyarat

Lampu isyarat
Lampu isyarat
Lampu isyarat
Lampu isyarat
Lampu isyarat
Lampu isyarat

Untuk membina lampu isyarat, kami menggunakan papan prototaip 20x80mm. LED pateri sehingga mereka diposisikan dalam satu garis. Saya telah menggunakan nilai perintang ini:

  • merah: 510Ω
  • kuning: 470Ω
  • hijau: 22Ω

Nilai jauh lebih tinggi daripada yang disyorkan (arus maksimum 20mA per LED), tetapi bereksperimen dengan nilai yang berbeza, cahaya tidak terlalu terang dan ketiga-tiganya mempunyai intensiti yang serupa. Sila ambil perhatian bahawa voltan adalah 3.3V untuk NodeMCU.

Pendawaian lurus ke depan, sambungkan katod (solder) setiap LED dengan perintang dan kemudian pateri ke kabel jumper hujung lelaki. Di satu sisi papan, saya mahukan hanya elemen LED tanpa bahagian "timbul" lain seperti kaki perintang, wayar dan sebagainya. Itulah sebabnya saya menggunakan "teknik" iaitu sejenis SMD yang menggunakan komponen PCB.

Kami membiarkannya seperti ini buat masa ini; penutup lampu akan dilakukan kemudian.

Langkah 3: Kotak - Utama

Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama

Kita perlu memasukkan NodeMCU kita ke bahagian bawah kotak. Kotak itu memerlukan lubang untuk port microUSB supaya kita dapat menghidupkan unit utama. Saya mengukur kedudukan lubang dengan kasar dan hanya menggerudi.

Kemudian saya pasangkan spacer plastik menggunakan skru ke nodemcu. Saya meletakkan beberapa gam di setiap sudut kotak dan saya meletakkan keseluruhan pembinaan di atasnya. Setelah sejuk, saya membuka penutup NodeMCU dan meletakkan beberapa gam panas tambahan di sekitar spacer yang saya pasti berada pada kedudukan yang sempurna untuk NodeMCU. Walaupun begitu, tidak ada yang goyah di dalam kotak dan kita boleh memasang port microUSB dengan mudah tanpa memindahkan barang ke dalam.

Langkah 4: Kotak - Tudung

Kotak - Tudung
Kotak - Tudung
Kotak - Tudung
Kotak - Tudung
Kotak - Tudung
Kotak - Tudung
Kotak - Tudung
Kotak - Tudung

Mula-mula saya cuba menggunakan sedotan minuman sebagai tiang lampu isyarat saya tetapi selepas beberapa ujian, saya mendapati plastiknya terlalu nipis dan ketika saya mahu menggunakan gam panas untuk memasangnya, ia hanya sangat lembut dan bahkan berubah bentuknya. Oleh itu, saya memutuskan untuk menggunakan sesuatu yang lebih sukar - pen. Saya telah memilih beberapa pena lutsinar yang murah, yang saya potong dengan panjang yang dikehendaki dan meletakkan 4 kabel (1 pada satu masa) dari lampu isyarat melalui paip.

Saya menggerudi lubang di garis tengah penutup mengikut diameter pen. Kemudian saya melekatkan pena di dalam lubang dan saya melekatkannya di bahagian bawah penutup sambil berusaha memastikan tiang tetap lurus.

Saya meletakkan beberapa gam panas di atas tiang untuk memasang papan lampu isyarat ke tiang.

Langkah 5: Berkumpul

Berkumpul
Berkumpul
Berkumpul
Berkumpul

Saya menyambungkan wayar ke NodeMCU (pinout):

Lampu isyarat kiri:

  • merah ke D2 (GPIO4)
  • kuning hingga D3 (GPIO0)
  • hijau hingga D4 (GPIO2)
  • arahkan ke GND (saya baru memilih salah satu pin GND NodeMCU)

Lampu isyarat yang betul:

  • merah hingga D5 (GPIO14)
  • kuning hingga D6 (GPIO12)
  • hijau hingga D7 (GPIO13)
  • tanah ke GND (Ijust memilih salah satu pin GND NodeMCU)

… dan saya menutup penutupnya. Kawat yang saya pilih agak panjang sehingga saya menghadapi sedikit masalah dengan meletakkan semuanya di dalam kotak kecil, tetapi entah bagaimana saya berjaya melakukannya.

Langkah 6: Penutup Lampu

Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu

Saya tidak dapat mencari penyelesaian siap sebagai penutup lampu - semacam kotak dari gula-gula atau lebih. Oleh itu, saya memutuskan untuk membinanya dengan tangan dengan memotong kotak dari kertas.

Ukuran kotak yang saya pilih ialah: 20mm x 15mm x 85mm.

Saya memotong lubang sehingga saya memotong semacam "bintang" di tempat yang betul di mana LED diletakkan. Saya menempelkannya menggunakan pita pelekat dua sisi.

Untuk menutup tiang lutsinar, Anda boleh menggunakan beberapa penanda kekal, pita scotch yang tidak telus,… Saya menggunakan straw minuman hitam yang saya potong dari hujung ke hujung. Kemudian saya menutup tiang.

Saya lebih gembira dengan keputusan akhir.

Langkah 7: Perisian

Terdapat banyak pendekatan untuk menunjukkan keadaan binaan semasa. Saya melaksanakan tingkah laku seperti itu:

Lampu merah atau hijau menyala ketika binaannya gagal atau lewat dengan sewajarnya. Lampu kuning berkedip setiap kali ada panggilan HTTP dan terus dihidupkan ketika rancangan sedang dibuat.

Anda boleh mengubah pelaksanaannya dengan mudah mengikut keperluan Anda - cuba bereksperimen dan periksa apa yang sesuai dengan Anda dan / atau pasukan Anda.

Anda perlu menyiapkan kod sebelum memuat naiknya ke NodeMCU Anda. Anda perlu menetapkan WiFis maksimum 2.

Anda juga perlu menetapkan token pengguna anda. Untuk mendapatkan token API, klik pada Nama pengguna anda di kanan atas di Jenkins, kemudian Konfigurasi. Anda dapat mencari butang "Tunjukkan token API". Untuk membina nilai pengesahan Asas, buat rentetan menggunakan corak:

PENGGUNA: API_TOKEN

dan kemudian mengekodnya menggunakan Base64. Cth. untuk rentetan palsu di atas, Anda harus mendapat nilai Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Anda juga harus menetapkan hos, pelabuhan dan 2 laluan pekerjaan Jenkins Anda.

Selepas persediaan ini dan memuat naik lakaran - Anda sudah bersedia untuk menggunakan lampu isyarat anda.

Kod juga terdapat di GitHub.

Langkah 8: Kata Terakhir

Untuk menghidupkan peranti, sambungkan sahaja peranti ke soket USB mana pun. Ia menggunakan koneksi WiFi untuk mengakses Internet sehingga mana-mana soket USB yang berfungsi adalah baik - sama ada port komputer atau pengecas. Setelah boot dan menyambung ke WiFi, lampu isyarat anda akan mula menunjukkan status binaan semasa.

Saya dapati lampu isyarat ini sangat berguna. Mereka berdiri di sebelah monitor saya di pejabat dan bila-bila masa lampu merah menyala - saya segera melihatnya. Saya tidak perlu membuang masa untuk memeriksa status bina secara langsung di Jenkins.

Satu penambahbaikan dapat dilakukan dengan menggunakan beberapa mainan lampu isyarat dan bukannya membuat sendiri dari awal (sampah?).

Saya harap Anda mendapat inspirasi untuk membina lampu isyarat bersepadu Jenkins anda sendiri.

Disyorkan: