
La routine est un immense domaine d'automatisation. Si la tâche prend beaucoup d'énergie, nécessite de la persévérance et se répète de temps en temps - c'est un signe certain qu'il vaut la peine de prendre quelques mesures pour réduire cette douleur récurrente. Et vous pouvez transformer la mise en œuvre en un bon technofanchik.
Aujourd'hui, je vais parler de l'automatisation du système d'alerte, de la surveillance et des alertes. Sous la coupe, un clignotant polonais en 1984 et pas un seul incendie manqué. Le code et les instructions de montage sont inclus.
Récemment, j'ai eu 8 ans. 8 ans que je travaille chez 2GIS. À cette occasion, un ami a demandé: «Comment tenez-vous si longtemps? Il n'y avait aucune envie d'essayer quelque chose de nouveau? "
Cela a surgi. Et se pose toujours. Et essayez toujours. Je m'essaye dans de nouveaux rôles, équipes, technologies. Pourquoi pas? Après tout, le travail ne consiste pas seulement à «venir à 9h00, ouvrir le gestionnaire de tâches et entreprendre la tâche suivante, rentrer à la maison à 18h00» et même pas «Ah !!! Nous sommes à nouveau DDoS'yat, poussons request_limit ici, et ici nous allons faire trembler les adresses IP, et ici ... Oh, comment est-il déjà 3 heures du matin? " C'est tout faux. Le travail concerne l'équipe, les relations, les soirées dans la cuisine. Des tâches intéressantes et un cadre de vie confortable, après tout. Tout tue l'indifférence et la routine. Je ne sais pas comment travailler avec le premier, je ne l'ai pas remarqué par moi-même, mais je vais vous parler du second.
Aujourd'hui, nous sortirons des sentiers battus: un feu de signalisation dans le bureau et un de plus ; et automatiser les alertes, la surveillance et les alertes. Mais pour faire le prochain feu de signalisation pour le serveur de build - c'est parti. Nous avons beaucoup de constructions, de succursales et de tests, mais nous ne souhaitons pas voler l'entrepôt de la police de la circulation pour une douzaine de feux de signalisation. Nous allons visualiser les "incendies"!
Système de surveillance standard

Voici un écran typique qui pend dans notre bureau. 95% du temps, cela montre à quel point notre projet est vivant et ce qui lui arrive. En parallèle, il y a un canal dans Slack avec des notifications de versions et de bugs.
Afin de ne pas distraire toute l'équipe, un officier de permanence est nommé pour une semaine, qui agit en tant que maître des libérations et prend feu sur lui en cas de problème. Sa tâche est de découvrir ce qui s'est passé, et de le réparer vous-même, ou de trouver quelqu'un qui le réparera.
Nous utilisons également ce moniteur pour les réunions quotidiennes - nous ouvrons le tableau Kanban à Jira et c'est parti.
Qu'est-ce qui ne va pas?
Le statut de service n'annule pas les tâches. Si la personne responsable des incendies a erré trop loin dans les couloirs de son esprit, le résultat peut être moins opérationnel que requis. Cela a conduit à l'idée que pour un bonheur complet, nous avons besoin d'un avertissement plus important que les notifications sans fin de Slack.
Automatisez-le!
L'idée est devenue plus forte lorsqu'un excellent clignotant polonais vintage de 1984 a été découvert dans l'Avito. S'il y a un incendie quelque part, alors allumez cette chose! La chose a été promise même en état de fonctionnement presque. 500 roubles et elle est dans mon sac à dos. Alors ajoutons-lui un peu de battage médiatique IoT et de croquis Arduino.

Plan d'action
Le plan était simple et génial! Nous prenons une alimentation 12 volts, ajoutons un Sonoff SV - esp8266 avec un relais et tout le cerclage et la puissance nécessaires à partir de 12 volts. Nous clignotons quelque chose comme http://wifi-iot.ru/ , nous attrapons une lumière clignotante - profit! Nous avons un appareil connecté via Wi-Fi avec une API REST et 1000 autres fonctionnalités.
À propos des dépenses

Cordon d'alimentation avec une fiche plate de la radio d'une grand-mère ou du marché le plus proche pour les produits radio - 60 roubles
Alimentation 12v 10w avec Aliexpress ou tous les mêmes produits radio - 260 roubles
Sonoff SV - 4,85 $ + expédition
Flasher vintage - inestimable (500 roubles)
Opinion sur le Wi-Fi d'entreprise
Pour de telles actions audacieuses, le Wi-Fi d'entreprise avec des certificats EAP-PEAP et d'autres mots effrayants a dit "Vous ne passerez pas!".

Vous pouvez retrousser vos manches, google https://github.com/esp8266/Arduino/issues/1032 , prendre un nouveau SDK et écrire tout vous-même rapidement. Mais alors le technofanch se transforme en un long creusage et débag. Je vais reporter cette option jusqu'à la sortie de la version 2.0, améliorée et corrigée.
Produits doux
Prenez le bien-aimé olartamonov Arduino, une dispersion de ce qui accumule de la poussière dans les tiroirs depuis N ans, et récupérez un monstre de Frankenstein. Un entrepôt de pièces pour la maison sera suffisant pour vérifier la viabilité de MVP et jeter après avoir débogué la belle et brillante version 2.0.

La solution est maladroite: Arduino se connecte au réseau via Ethernet, reçoit IP via DHCP, écoute les requêtes HTTP et clignote «LED». N'importe qui le soir peut créer une telle solution à partir des exemples Arduino IDE (mais jamais, écoutez, ne l'utilisez jamais! C'est l'enfer).
Que faut-il utiliser?Pour ceux qui pleurent, piquent, mais mangent toujours un cactus, je suggère de passer à au moins PlatformIO (installé sur Atom ou VSCode), mais il vaut mieux ne pas l'utiliser du tout, mais lire un cours de conférences sur STM32 ou quelque chose de plus utile. Et moi, mordu comme un enfant par des Arduinistes, je finirai mon sale boulot :)
Le code est publié sur github , il n'y a pas d'autorisation, API branchée et belles pages html. Seulement MVP, seulement hardcore! À utiliser à vos risques et périls, ai-je averti.
Produits solides
Lorsque le logiciel est écrit, il est temps de démarrer une lumière clignotante. Voici un diagramme qui devrait aider à comprendre l'appareil.
En attente:

Réalité:

Remplacez donc Sonoff SV par:
Arduino UNO + wiznet w5100 + relais
Connexion par broches:
DIGITAL 10 - SS
DIGITAL 11 - MOSI
NUMÉRIQUE 12 - MISO
NUMÉRIQUE 13 - SCK
GND - GND
5V - 5V
Nous connectons le relais encore plus facilement: la broche de signal sur DIGITAL 4, le fil d'alimentation au clignotant nous accrochons dans l'espace sur C (commun) et NC (normalement fermé).
Achtung!
Consultez la documentation de vos appareils. Ce n'est pas un fait qu'en connectant une carte Ethernet à 5 volts, vous n'obtiendrez pas une drôle de fumée lors des tests! Dans mon cas, tout est normal, et le module est conçu pour une alimentation à partir de 5 volts.
Produits plastiques
Une annonce sur Avito a déclaré que le clignotant était presque opérationnel. Au fil des ans, un seul détail est mort en elle - l'engrenage faisant tourner le réflecteur.

Nous expirons, prenons Fusion360 entre nos mains, simulons un nouveau et l'imprimons sur une imprimante 3D de bureau.
Processus de modélisation des engrenagesNous vérifions les rayons et autres caractéristiques de l'engrenage, nous nous battons avec les paramètres de sous-extrusion et de trancheuse

Nous continuons à modéliser

Nous imprimons, essayons

Personnalisez un peu plus et imprimez à nouveau. Les rivets d'origine ont été percés et remplacés par une combinaison de vis M3 conventionnelles et d'écrous autobloquants. N'oubliez pas de leur ajouter des sièges.


Lubrifiez les engrenages, remplacez les fils, remontez - cela fonctionne!
Ce serait bien d'imprimer le matériel à partir de nylon, mais la première impression fine a échoué, et la deuxième sonde de Bestfilament n'était plus suffisante pour la seconde.
Ce pour quoi nous sommes - quoi qu'il arrive!

Comment allumer le clignotant quand quelque chose hors de l'ordinaire s'est produit?
Élémentaire! Nous utilisons Grafana au travail, nous commençons donc juste un nouveau canal de notification avec le type WebHook, qui envoie une demande pour allumer la lumière de secours selon certains critères. Elle s'éteint au bout de quelques secondes, pour ne pas aggraver encore plus l'atmosphère.
Combien de temps a pris tout ce bordel? Quelques soirées, sinon distraites. Plus une demi-journée de temps de travail pour configurer l'intégration avec d'autres systèmes internes.
La technofanchik a été un succès, l'équipe a apporté des bénéfices, des photos du processus d'assemblage sont enfin présentées.
Le voici devant nous, un flasher avec des fils