Índice:
- Etapa 1: Materiais e Ferramentas
- Etapa 2: semáforos
- Etapa 3: Caixa - Principal
- Etapa 4: Caixa - Tampa
- Etapa 5: montagem
- Etapa 6: Tampa das Luzes
- Etapa 7: Software
- Etapa 8: últimas palavras
Vídeo: Jenkins Job Traffic Lights: 8 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Na engenharia de software, a integração contínua é a prática de mesclar todas as cópias de trabalho do desenvolvedor em uma linha principal compartilhada várias vezes ao dia. Algumas das melhores práticas para conseguir isso são:
- todos se comprometem com a linha de base todos os dias,
- automatizar a construção,
- todos podem ver os resultados das compilações mais recentes.
- …e muitos outros.
Para cumprir apenas esses 3 pontos acima, é importante ser notificado sobre o status da compilação o mais rápido possível.
Este projeto ajuda a alcançar isso criando um mini semáforo pessoal que indica o status atual da construção. Eu construí 2 conjuntos de semáforos que são integrados ao servidor de automação Jenkins que é puxado pelo NodeMCU periodicamente via WiFi.
Etapa 1: Materiais e Ferramentas
Materiais que usei:
- NodeMCU (usei v3) (BangGood.com)
- Cabos jumper de placa de ensaio macho para fêmea, (BangGood.com)
- 2 conjuntos de LEDs: vermelho, amarelo, verde (BangGood.com)
- 2 conjuntos de 3 resistores (450Ω, 500Ω, 22Ω)
- 2 placas de PCB protótipo finas, mas longas (BangGood.com)
- cabo microUSB como fonte de alimentação
- Alguma caixa (usei uma para componentes elétricos de alta tensão. Encontrei muitos formatos diferentes e baratos na minha loja local de bricolagem)
- 2 canetas ou 2 tubos grossos de 0,5-1cm de diâmetro interno; e / ou 2 canudos grossos de bebida
Ferramentas necessárias:
- Faca afiada (por exemplo, faca para cortar carpete)
- Ferramenta rotativa
- Pistola de cola quente
- Estação de solda
- Alicates, alicates diagonais / cortadores laterais
- Chave de fenda
- Pedaço de papel grosso
- Fita adesiva dupla-face
- Vocês
Etapa 2: semáforos
Para construir semáforos, usamos placa de prototipagem 20x80mm. Solda os LEDs para que sejam posicionados em uma linha. Eu usei estes valores de resistor:
- vermelho: 510Ω
- amarelo: 470Ω
- verde: 22Ω
Os valores são muito mais altos do que o recomendado (corrente máxima de 20mA por LED), mas experimentando valores diferentes, a luz não é muito brilhante e também todos os 3 têm intensidade semelhante. Observe que a tensão é de 3,3 V para NodeMCU.
A fiação é direta, basta conectar (soldar) o cátodo de cada LED com o resistor e depois soldar na extremidade macho do cabo de jumper. De um lado da placa, eu queria apenas elementos de LED, sem quaisquer outras partes que "saltassem" como pernas do resistor, fios e assim por diante. É por isso que usei uma "técnica" que é uma espécie de SMD usando componentes PCB.
Vamos deixar assim por enquanto; a cobertura das luzes será feita mais tarde.
Etapa 3: Caixa - Principal
Precisamos embutir nosso NodeMCU na parte inferior da caixa. A caixa precisa de um orifício para a porta microUSB para que possamos ligar a unidade principal. Eu medi raughly a posição do buraco e eu apenas o perfurei.
Em seguida, conectei os espaçadores de plástico usando parafusos para nodemcu. Eu coloco um pouco de cola em cada canto da caixa e coloco toda a construção nela. Depois que ele esfriou, eu desparafusei o NodeMCU e coloquei um pouco de cola quente adicional ao redor dos espaçadores que eu tinha certeza que estavam posicionados perfeitamente para o NodeMCU. Obrigado, nada está balançando dentro da caixa e podemos facilmente conectar a porta microUSB sem mover coisas dentro.
Etapa 4: Caixa - Tampa
Primeiro tentei usar canudos de bebida como um poste para meus semáforos, mas depois de alguns testes, descobri que o plástico é muito fino e quando eu queria usar uma cola quente para fixá-lo, ele ficou muito macio e até mudou Sua forma. Então decidi usar algo mais difícil - canetas. Escolhi algumas canetas transparentes baratas, que cortei no comprimento desejado e coloquei 4 cabos (1 de cada vez) dos semáforos através do cano.
Fiz furos em uma linha média da tampa de acordo com o diâmetro da caneta. Em seguida, coloquei canetas dentro dos orifícios e colei-as com cola quente na parte inferior da tampa, tentando manter as hastes retas.
Também coloquei um pouco de cola quente no topo do poste para prender as placas dos semáforos aos postes.
Etapa 5: montagem
Eu conectei os fios ao NodeMCU (pinagem):
Semáforo esquerdo:
- vermelho para D2 (GPIO4)
- amarelo para D3 (GPIO0)
- verde para D4 (GPIO2)
- aterrado no GND (acabei de escolher um dos pinos GND do NodeMCU)
Semáforo à direita:
- vermelho para D5 (GPIO14)
- amarelo para D6 (GPIO12)
- verde para D7 (GPIO13)
- aterrado no GND (acabei de escolher um dos pinos GND do NodeMCU)
… E fechei a tampa. Os fios que escolhi eram bastante longos, então tive alguns problemas em colocá-los todos dentro da pequena caixa, mas de alguma forma consegui fazer isso.
Etapa 6: Tampa das Luzes
Não consegui encontrar nenhuma solução pronta para cobrir as luzes - algum tipo de caixa de doces ou algo assim. Então, decidi construí-los à mão apenas cortando uma caixa de papel.
O tamanho da caixa que escolhi foi: 20 mm x 15 mm x 85 mm.
Eu cortei os buracos para que eu corte uma espécie de "estrelas" nos lugares apropriados onde os LEDs foram posicionados. Colei com fita adesiva dupla-face.
Para cobrir os postes transparentes, pode-se usar hidrocor permanente, fita adesiva não transparente, … Usei canudinhos pretos que cortei de ponta a ponta. Então eu cobri os postes.
Fiquei mais do que feliz com o resultado final.
Etapa 7: Software
Existem muitas abordagens para indicar o estado de compilação atual. Eu implementei tal comportamento:
A luz vermelha ou verde acende quando a compilação está falhando ou passando de acordo. A luz amarela pisca sempre que é feita uma chamada HTTP e fica continuamente ligada durante a construção de um plano.
Você pode facilmente alterar a implementação de acordo com suas necessidades - tente experimentar e verificar o que se adapta a você e / ou sua equipe.
Você precisa configurar o código antes de enviá-lo para seu NodeMCU. Você precisa definir no máximo 2 WiFis.
Além disso, você precisa definir seu token de usuário. Para obter o token de API, clique em Seu nome de usuário no canto superior direito do Jenkins e em Configuração. Você pode encontrar um botão "Mostrar token API". Para construir o valor de autenticação básica, crie uma string usando o padrão:
USER_NAME: API_TOKEN
e, em seguida, codifique-o usando Base64. Por exemplo. para a string falsa acima, você deve obter o valor Base64:
VVNFUl9OQU1FOkFQSV9UT0tFTg ==
Você também deve definir o host Jenkins, a porta e os caminhos de 2 jobs.
Após esta configuração e upload do esboço - você está pronto para usar seus semáforos.
O código também está disponível no GitHub.
Etapa 8: últimas palavras
Para ligar o dispositivo, basta conectá-lo a qualquer tomada USB. Ele usa conexão Wi-Fi para acessar a Internet, portanto, qualquer tomada USB está OK - porta de computador ou carregador. Depois de inicializar e conectar-se ao WiFi, seus semáforos começarão a mostrar o status de compilação atual.
Acho este semáforo muito útil. Eles estão próximos aos meus monitores no escritório e sempre que uma luz vermelha acende - eu noto imediatamente. Não preciso perder tempo para verificar o status da compilação diretamente no Jenkins.
Uma melhoria poderia ser feita usando algum brinquedo de semáforo em vez de construir um sozinho do zero (lixo?).
Espero que você encontre alguma inspiração para construir seus próprios semáforos integrados Jenkins.
Recomendado:
MQTT Mood Lights com ESP32: 4 etapas (com imagens)
MQTT Mood Lights com ESP32: Já fazia algum tempo que me sentia tentado a entrar no movimento do LED, então corri e peguei uma tira de LED para brincar. Acabei fazendo essas luzes de humor. Eles podem ser controlados com MQTT, tornando possível adicionar todos os tipos de inteligência
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Traffic Solver: 7 etapas
Traffic Solver: O Traffic Solver automatiza o controle de tráfego em uma única faixa de uma zona de construção. Para que este sistema funcione sem acidentes entre eles, deve haver duas unidades, uma de cada lado. Ambas as unidades terão um motor e um dispositivo de retenção rotativo que
Post Lights LED: 8 etapas (com imagens)
Postes de luz LED: Meu jardim da frente era originalmente uma confusão de arbustos de zimbro e pedras. Depois que o homem veio e arrancou tudo, fiquei com terra e uma chance de fazer meu quintal brilhar. Meu novo jardim da frente tem 6 postes de tijolos que precisavam de um toque especial, mas não muito. Eu só
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e