Piscando com LEDs antigos ou quando avisamos sobre “incêndios” no projeto


A rotina é um campo enorme para automação. Se a tarefa exige muita energia, requer perseverança e se repete de tempos em tempos - este é um sinal claro de que vale a pena tomar algumas medidas para reduzir essa dor recorrente. E você pode transformar a implementação em um bom technofanchik.


Hoje vou falar sobre a automação do sistema de alerta, monitoramento e alertas. Sob o corte, um pisca-pisca polonês em 1984 e nem um único incêndio perdido. As instruções de código e montagem estão incluídas.


Recentemente eu completei 8 anos. 8 anos desde que trabalho na 2GIS. Nesta ocasião, um amigo perguntou: “Como você aguenta por tanto tempo? Não havia desejo de tentar algo novo?


Surgiu. E ainda surge. E ainda tente. Tento-me em novos papéis, equipes, tecnologias. Porque não Afinal, o trabalho não é apenas e nem tanto: “venha às 9:00, abra um gerenciador de tarefas e realize outra tarefa, vá para casa às 18:00” e nem mesmo “Ah !!! Nós somos novamente DDoS'yat, vamos empurrar request_limit aqui e aqui estamos IPs incompreensíveis, e aqui ... Oh, como já são três horas da manhã? ” Está tudo errado. O trabalho é sobre a equipe, relacionamentos, reuniões noturnas na cozinha. Sobre tarefas interessantes e um ambiente confortável, afinal. Tudo mata indiferença e rotina. Não sei como trabalhar com o primeiro, não percebi por mim mesmo, mas vou falar sobre o segundo.


Hoje sairemos do caminho batido: um semáforo no escritório e mais um ; e automatizar alertas, monitoramento e alertas. Mas, para tornar o próximo semáforo para o servidor de compilação - foi. Temos muitas construções, filiais e testes, mas não há desejo de roubar o armazém da polícia de trânsito por uma dúzia de semáforos. Vamos visualizar os "incêndios"!


Sistema de monitoramento padrão



Aqui está uma tela típica que fica pendurada em nosso escritório. 95% do tempo, mostra o quão animado é o nosso projeto e o que acontece com ele. Paralelamente, há um canal no Slack com notificações de lançamentos e bugs.


Para não distrair toda a equipe, um oficial de serviço é nomeado por uma semana, que atua como um mestre de liberação e atira em si mesmo se algo terrível acontecer. Sua tarefa é descobrir o que aconteceu e consertar você mesmo ou encontrar alguém que o conserte.


Também usamos esse monitor para reuniões diárias - abrimos o Quadro Kanban em Jira e vamos embora.


O que está errado?


O status da tarefa não cancela tarefas de trabalho. Se a pessoa responsável pelos incêndios vagou demais pelos corredores da mente, o resultado pode ser menos operacional do que o necessário. Isso levou à ideia de que, para a felicidade completa, precisamos de um aviso mais significativo do que as notificações intermináveis ​​do Slack.


Automatize-o!


A idéia ficou mais forte quando um excelente pisca-pisca polonês vintage de 1984 foi descoberto no Avito. Se houver um incêndio em algum lugar, deixe que isso acenda! A coisa foi prometida mesmo em condições quase funcionais. 500 rublos e ela está na minha mochila. Então, vamos adicionar a ela um pouco de hype da IoT e esboços do arduino.



Plano de ação


O plano era simples e brilhante! Tomamos uma fonte de alimentação de 12 volts, adicionamos um Sonoff SV - esp8266 com um relé e todas as cintas e energia necessárias de 12 volts. Estamos piscando algo como http://wifi-iot.ru/ , pegamos uma luz piscando - lucro! Temos um dispositivo conectado via Wi-Fi com uma API REST e outros 1000 recursos.


Sobre despesas



Cabo de alimentação com plugue plano do rádio da avó ou do mercado mais próximo para produtos de rádio - 60 rublos
Fonte de alimentação 12v 10w com Aliexpress ou os mesmos produtos de rádio - 260 rublos
Sonoff SV - US $ 4,85 + frete
Pisca-pisca vintage - inestimável (500 rublos)


Opinião corporativa sobre Wi-Fi


Para essas ações ousadas, o Wi-Fi corporativo com certificados EAP-PEAP e outras palavras assustadoras dizia "Você não passa!".



Você pode arregaçar as mangas, google https://github.com/esp8266/Arduino/issues/1032 , pegar um novo SDK e escrever tudo rapidamente. Mas então o technofanch se transforma em uma longa escavação e desagrado. Adiarei essa opção até o lançamento da versão 2.0, aprimorado e corrigido.


Produtos macios


Pegue o amado olartamonov Arduino, uma dispersão do que há várias décadas nas gavetas, e colecione um monstro Frankenstein. Um armazém de peças domésticas será suficiente para verificar a viabilidade do MVP e descartá-lo após a depuração da bela e brilhante versão 2.0.



A solução é desajeitada: o Arduino se conecta à rede via Ethernet, recebe IP via DHCP, escuta solicitações HTTP e pisca "LED". Qualquer pessoa à noite pode montar uma solução desse tipo no IDE do Arduino de Exemplos (mas nunca, ouça, nunca a use! Isso é o inferno).


O que usar?

Para aqueles que ainda choram, picam, mas ainda comem um cacto, sugiro transferir para pelo menos o PlatformIO (instalado no Atom ou VSCode), mas é melhor não usá-lo, mas ler um curso de palestras sobre STM32 ou algo mais útil. E eu, tão mordido como uma criança por arduinistas, terminarei minha ação suja :)


O código é publicado no github , não há autorização, API ramificada e belas páginas html. Apenas MVP, apenas hardcore! Use por sua conta e risco, eu avisei.


Produtos sólidos


Quando o software é escrito, é hora de iniciar uma luz piscando. Abaixo está um diagrama que deve ajudar a entender o dispositivo.


Aguardando:



Realidade:



Então substitua Sonoff SV por:
Arduino UNO + wiznet w5100 + Relé


Conexão por pinos:
DIGITAL 10 - SS
DIGITAL 11 - MOSI
DIGITAL 12 - MISO
DIGITAL 13 - SCK
GND - GND
5V - 5V


Conectamos o relé ainda mais fácil: o pino de sinal no DIGITAL 4, o fio de energia no pisca-pisca, ligamos o espaço em C (comum) e NC (normalmente fechado).


Achtung!
Consulte a documentação para seus dispositivos. Não é fato que, ao conectar uma placa Ethernet a 5 volts, você não receba uma fumaça engraçada ao testar! No meu caso, tudo está normal, e o módulo foi projetado para potência de 5 volts.


Produtos plásticos


Um anúncio no Avito disse que o pisca-pisca estava quase operacional. Ao longo dos anos, apenas um detalhe morreu - a engrenagem que gira o refletor.



Expiramos, pegamos o Fusion360 em nossas mãos, simulamos um novo e o imprimimos em uma impressora 3D de escritório.


Processo de modelagem de engrenagens

Verificamos os raios e outras características da engrenagem, lutamos com parâmetros de sub-extrusão e slicer


Continuamos a modelar


Nós imprimimos, experimentamos


Personalize um pouco mais e imprima novamente. Os rebites originais foram perfurados e substituídos por uma combinação de parafusos M3 convencionais e porcas de travamento automático. Não se esqueça de adicionar assentos para eles.



Lubrifique as engrenagens, substitua os fios, monte de volta - funciona!


Seria bom imprimir o equipamento em nylon, mas a primeira impressão falhou e a segunda amostra da Bestfilament não foi suficiente para a segunda.


Para que somos - não importa o quê!



Como fazer o pisca-pisca acender quando algo fora do comum aconteceu?


Elementar! Como usamos o Grafana no trabalho, iniciamos um novo canal de notificação com o tipo WebHook, que envia uma solicitação para acender a luz de emergência de acordo com determinados critérios. Ela se desliga após alguns segundos, para não aumentar ainda mais a atmosfera.


Quanto tempo toda essa bagunça levou? Um par de noites, se não distraído. Mais meio dia de trabalho para configurar a integração com outros sistemas internos.


O technofanchik foi bem sucedido, a equipe trouxe benefícios, as fotos do processo de montagem são finalmente apresentadas.


Aqui está na nossa frente, um pisca-pisca com fios






Source: https://habr.com/ru/post/pt438106/


All Articles