Mục lục:

Đèn giao thông công việc Jenkins: 8 bước (có hình ảnh)
Đèn giao thông công việc Jenkins: 8 bước (có hình ảnh)

Video: Đèn giao thông công việc Jenkins: 8 bước (có hình ảnh)

Video: Đèn giao thông công việc Jenkins: 8 bước (có hình ảnh)
Video: Tất tần tật về Jenkins và Github Action 2024, Tháng mười một
Anonim
Đèn giao thông công việc Jenkins
Đèn giao thông công việc Jenkins

Trong kỹ thuật phần mềm, tích hợp liên tục là thực hành hợp nhất tất cả các bản sao làm việc của nhà phát triển vào một dòng chính được chia sẻ nhiều lần trong ngày. Một số phương pháp hay nhất để đạt được điều đó là:

  • mọi người đều cam kết đường cơ sở mỗi ngày,
  • tự động hóa việc xây dựng,
  • mọi người có thể xem kết quả của các bản dựng mới nhất.
  • … Và nhiều người khác.

Để hoàn thành 3 điểm trên, điều quan trọng là phải được thông báo về trạng thái xây dựng càng nhanh càng tốt.

Dự án này giúp đạt được điều đó bằng cách tạo ra một đèn giao thông cá nhân, nhỏ cho biết tình trạng xây dựng hiện tại. Tôi đã xây dựng 2 bộ đèn giao thông được tích hợp vào máy chủ tự động hóa Jenkins được NodeMCU kéo định kỳ qua WiFi.

Bước 1: Vật liệu và công cụ

Vật liệu tôi đã sử dụng:

  • NodeMCU (Tôi đã sử dụng v3) (BangGood.com)
  • Cáp jumper breadboard nam sang nữ, (BangGood.com)
  • 2 bộ đèn LED: đỏ, vàng, xanh lá cây (BangGood.com)
  • 2 bộ 3 điện trở (450Ω, 500Ω, 22Ω)
  • 2 bảng mạch PCB nguyên mẫu mỏng nhưng dài (BangGood.com)
  • cáp microUSB làm nguồn điện
  • Một số hộp (Tôi đã sử dụng một hộp cho các linh kiện điện cao thế. Tôi tìm thấy nhiều hình dạng khác nhau và giá rẻ trong cửa hàng bán lẻ DIY tại địa phương của tôi)
  • 2 bút hoặc 2 ống dày đường kính trong 0,5-1cm; và / hoặc 2 ống hút dày

Công cụ cần thiết:

  • Dao sắc (ví dụ như dao tiện ích để cắt thảm)
  • Dụng cụ xoay
  • Súng bắn keo nóng
  • Trạm hàn
  • Kìm, kìm chéo / kìm cắt cạnh
  • Cái vặn vít
  • Mảnh giấy dày
  • Băng dính hai mặt
  • Bạn

Bước 2: Đèn giao thông

Đèn giao thông
Đèn giao thông
Đèn giao thông
Đèn giao thông
Đèn giao thông
Đèn giao thông

Để xây dựng đèn giao thông, chúng tôi sử dụng bảng tạo mẫu 20x80mm. Đèn LED hàn để chúng được định vị trên một đường thẳng. Tôi đã sử dụng các giá trị điện trở này:

  • đỏ: 510Ω
  • màu vàng: 470Ω
  • màu xanh lá cây: 22Ω

Giá trị cao hơn nhiều so với khuyến nghị (dòng điện tối đa 20mA cho mỗi đèn LED), nhưng thử nghiệm với các giá trị khác nhau, ánh sáng không quá sáng và cả 3 đều có cường độ tương tự. Xin lưu ý rằng điện áp là 3.3V cho NodeMCU.

Nối dây thẳng về phía trước, chỉ cần kết nối (hàn) cực âm của mỗi đèn LED với điện trở và sau đó hàn vào đầu nam của cáp jumper. Ở một mặt của bảng, tôi chỉ muốn các phần tử LED mà không có bất kỳ bộ phận "bật lên" nào khác như chân điện trở, dây dẫn, v.v. Đó là lý do tại sao tôi đã sử dụng một "kỹ thuật" là một loại SMD sử dụng các thành phần PCB.

Chúng tôi để nó như thế này cho bây giờ; việc che đèn sẽ được thực hiện sau.

Bước 3: Hộp - Chính

Hộp - Chính
Hộp - Chính
Hộp - Chính
Hộp - Chính
Hộp - Chính
Hộp - Chính

Chúng ta cần nhúng NodeMCU của mình vào cuối hộp. Hộp cần một lỗ cho cổng microUSB để chúng ta có thể cấp nguồn cho thiết bị chính. Tôi đã đo vị trí lỗ một cách vụng về và tôi chỉ khoan nó.

Sau đó, tôi gắn các miếng đệm bằng nhựa bằng cách sử dụng vít để gật đầu. Tôi đặt một ít keo vào mỗi góc của hộp và tôi dán toàn bộ công trình lên đó. Sau khi nó nguội đi, tôi tháo NodeMCU và bôi thêm một ít keo nóng xung quanh các miếng đệm mà tôi chắc chắn rằng nó đã được định vị hoàn hảo cho NodeMCU. Hơn nữa, không có gì lung lay bên trong hộp và chúng tôi có thể dễ dàng gắn cổng microUSB mà không cần di chuyển đồ đạc bên trong.

Bước 4: Hộp - Nắp

Hộp - Nắp
Hộp - Nắp
Hộp - Nắp
Hộp - Nắp
Hộp - Nắp
Hộp - Nắp
Hộp - Nắp
Hộp - Nắp

Đầu tiên tôi thử dùng ống hút nước uống làm cột đèn tín hiệu giao thông nhưng sau một số thử nghiệm thì tôi phát hiện ra rằng nhựa quá mỏng và khi tôi muốn dùng keo nóng để gắn vào thì nó rất mềm và thậm chí bị thay đổi. Hình dạng của nó. Vì vậy, tôi quyết định sử dụng một thứ khó hơn - bút. Tôi đã chọn một số bút trong suốt rẻ tiền, mà tôi cắt theo chiều dài mong muốn và đặt 4 dây cáp (mỗi lần 1) từ đèn giao thông qua đường ống.

Tôi khoan lỗ ở đường giữa của nắp theo đường kính của bút. Sau đó, tôi nhúng bút vào bên trong các lỗ và tôi nung chúng ở phía dưới cùng của nắp cố gắng giữ cho các cực thẳng.

Tôi cũng bôi một ít keo nóng lên đầu cột để gắn bảng đèn tín hiệu giao thông vào cột.

Bước 5: Lắp ráp

Lắp ráp
Lắp ráp
Lắp ráp
Lắp ráp

Tôi đã kết nối dây với NodeMCU (sơ đồ chân):

Đèn giao thông bên trái:

  • đỏ đến D2 (GPIO4)
  • màu vàng đến D3 (GPIO0)
  • xanh lục đến D4 (GPIO2)
  • nối đất tới GND (tôi vừa chọn một trong các chân GND của NodeMCU)

RIght đèn giao thông:

  • màu đỏ đến D5 (GPIO14)
  • màu vàng đến D6 (GPIO12)
  • xanh lục đến D7 (GPIO13)
  • nối đất tới GND (Tôi chỉ chọn một trong các chân GND của NodeMCU)

… Và tôi đóng nắp lại. Những sợi dây mà tôi chọn khá dài nên tôi gặp một chút vấn đề khi đặt tất cả chúng vào bên trong chiếc hộp nhỏ, nhưng bằng cách nào đó tôi vẫn làm được.

Bước 6: Che đèn

Đèn 'che
Đèn 'che
Đèn 'che
Đèn 'che
Đèn 'che
Đèn 'che
Đèn 'che
Đèn 'che

Tôi không thể tìm thấy bất kỳ giải pháp sẵn sàng nào làm vỏ đèn - một số loại hộp từ kẹo hoặc tương tự. Vì vậy, tôi quyết định chế tạo chúng bằng tay chỉ bằng cách cắt một chiếc hộp từ giấy.

Kích thước của hộp tôi chọn là: 20mm x 15mm x 85mm.

Tôi cắt các lỗ để cắt một loại "ngôi sao" ở những vị trí thích hợp mà đèn LED được đặt. Tôi dán chúng bằng băng dính hai mặt.

Để che các cột điện trong suốt, Bạn có thể sử dụng một số bút đánh dấu cố định, băng keo không trong suốt,… Tôi đã sử dụng ống hút nước màu đen mà tôi cắt từ đầu đến cuối. Sau đó, tôi che các cực.

Tôi đã rất hạnh phúc với kết quả cuối cùng.

Bước 7: Phần mềm

Có nhiều cách tiếp cận để chỉ ra trạng thái xây dựng hiện tại. Tôi đã thực hiện một hành vi như vậy:

Đèn đỏ hoặc xanh lá cây sáng lên khi công trình bị hỏng hoặc vượt qua tương ứng. Đèn vàng nhấp nháy mỗi khi có cuộc gọi HTTP và được bật liên tục khi một kế hoạch hiện đang được xây dựng.

Bạn có thể dễ dàng thay đổi việc triển khai theo nhu cầu của Bạn - hãy thử thử nghiệm và kiểm tra xem điều gì phù hợp với Bạn và / hoặc nhóm của Bạn.

Bạn cần thiết lập mã trước khi tải nó lên NodeMCU của bạn. Bạn cần đặt tối đa 2 WiFis.

Ngoài ra Bạn cần đặt mã thông báo người dùng của mình. Để nhận mã thông báo API, hãy nhấp vào Tên người dùng của bạn ở trên cùng bên phải trong Jenkins, sau đó nhấp vào Cấu hình. Bạn có thể tìm thấy một nút "Hiển thị mã thông báo API". Để tạo giá trị xác thực Cơ bản, hãy tạo một chuỗi bằng cách sử dụng mẫu:

USER_NAME: API_TOKEN

và sau đó mã hóa nó bằng Base64. Ví dụ. đối với chuỗi giả trên, Bạn sẽ nhận được giá trị Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Bạn cũng phải đặt máy chủ Jenkins của bạn, cổng và đường dẫn 2 công việc.

Sau khi thiết lập và tải lên bản phác thảo này - Bạn đã sẵn sàng sử dụng đèn giao thông của mình.

Mã cũng có sẵn trên GitHub.

Bước 8: Từ cuối cùng

Để bật nguồn thiết bị, chỉ cần kết nối thiết bị với bất kỳ ổ cắm USB nào. Nó sử dụng kết nối WiFi để truy cập Internet nên bất kỳ ổ cắm USB nào đang hoạt động đều OK - cổng máy tính hoặc bộ sạc. Sau khi khởi động và kết nối với WiFi, đèn giao thông của bạn sẽ bắt đầu hiển thị trạng thái xây dựng hiện tại.

Tôi thấy đèn giao thông này rất hữu ích. Họ đang đứng cạnh màn hình của tôi trong văn phòng và bất cứ khi nào đèn đỏ sáng lên - tôi nhận ra ngay. Tôi không cần phải mất thời gian để kiểm tra các trạng thái xây dựng trực tiếp trên Jenkins.

Một cải tiến có thể được thực hiện bằng cách sử dụng một số đồ chơi đèn giao thông thay vì tự mình chế tạo từ đầu (rác?).

Tôi hy vọng Bạn tìm thấy một số cảm hứng để xây dựng đèn giao thông tích hợp Jenkins của riêng Bạn.

Đề xuất: