Cet article est le 20e jour du calendrier de l'Avent Retty 2019. Hier, M. Hirano "Retty Data Analysis Team-Review of the Second Year of Launch-Data Platform / Data Democratization / Statistical Model- / 190000) ».
Ravi de vous rencontrer. Je suis Koda, un ingénieur de 20 ans actuellement stagiaire chez Retty.
Pour le moment, je me demandais quoi écrire après m'être inscrit pour participer, mais comme j'ai fait mon propre système de gestion des entrées / sorties (serrure électronique) opéré dans le laboratoire de l'université que je fréquente, j'en parlerai.
Nous avons reçu beaucoup d'avis de Hatena Bookmark et ainsi de suite. Merci beaucoup. Comme certains l'ont souligné, la réaction sur Slack lorsque le problème "Je ne pouvais pas sortir de la pièce la nuit" se produisait était inappropriée, alors je l'ai supprimée. Je regrette qu'il n'était pas approprié de reprendre de tels contenus dans le blog. De plus, nous n'avons pas pris de mesures en cas de situation imprévue comme un tremblement de terre ou un incendie, nous aimerions donc envisager un mécanisme qui peut être déverrouillé en cas d'urgence.
Immédiatement après avoir été affecté au laboratoire, on m'a demandé quoi faire avec la clé de la chambre.
Lorsqu'il s'agit de créer des clés en double pour le nombre de personnes, cela coûte cher et il est difficile de gérer les clés pour le nombre de personnes. Lorsque le nombre total d'étudiants de troisième année atteint environ 20, certaines personnes le perdront.
Ensuite, j'ai pensé à introduire une serrure intelligente comme Qrio, mais la porte de notre laboratoire n'était pas compatible avec le tour de pouce "type avec bouton de porte". (Les autres tours de pouce pris en charge sont résumés en détail sur cette page.)
Pour autant que je sache, il n'existe pas de produit de verrouillage intelligent pour ce type, ce qui élève considérablement la barre pour l'IoT de porte.
Je n'avais pas d'autre choix que de le faire moi-même, alors j'ai décidé de le faire. [^ 1]
La composition finale ressemble à ceci. Je l'ai fait comme j'aime avec la technologie que je souhaite utiliser.
Le corps de la serrure électronique est un «RaspberryPi3 Model B +» avec un servomoteur, un interrupteur et un lecteur de carte connectés. Le programme qui contrôle le servomoteur a été écrit en Python. Deux lecteurs de cartes sont utilisés, et en les fixant à l'intérieur et à l'extérieur de la porte, l'état «dans la pièce» ou «sortie» est géré. J'expliquerai pourquoi je le gère plus tard.
Afin de le rendre ** auto-verrouillage **, un interrupteur principal est attaché pour acquérir l'état ouvert / fermé de la porte.
L'ID étudiant et l'ICOCA ʻidm` que chacun possède sont enregistrés dans la base de données, et ils sont utilisés comme clé pour l'authentification. Nous ne l'avons pas encore rendu compatible, mais si vous le rendez compatible, vous pouvez le déverrouiller même avec une carte enregistrée auprès d'Apple Pay.
Comme avantage secondaire, "** Vous pouvez réduire le risque de perdre votre clé **". En effet, si vous supprimez les données cibles de la base de données, vous ne pourrez pas entrer ou sortir avec cette carte.
C'était maddox / dasher
qui était souvent utilisé lorsque le piratage d'Amazon Dash Button était populaire, mais quand j'ai regardé dans le référentiel après un long moment, Nekmo / amazon-dash
a été mentionné.
Tous les paramètres peuvent être écrits au format yaml
, et une image Docker est également disponible.
Le "** tableau d'affichage dans la chambre (tableau blanc) **" qui est familier dans les laboratoires universitaires semble être bon en utilisant des serrures électroniques, donc je l'ai fait bien.
Cela sera expliqué dans la prochaine introduction des fonctions.
Je voudrais l'introduire car il a certaines fonctions, pas seulement en tant que "serrure électronique".
J'ai créé un écran de gestion simple avec Flask
pour enregistrer / modifier / supprimer des membres.
Tout le monde aime la réception, «Bootstrap + jQuery».
Au fait, vous devez rechercher vous-même «idm» et le saisir manuellement.
Si vous utilisez WebUSB
ou quelque chose du genre, vous pouvez connecter un lecteur Felica, le lire à partir de là et l'enregistrer, mais je ne l'ai pas encore implémenté.
Nous avons rendu possible la visualisation du statut d'occupation en ligne afin que vous puissiez voir qui vient de n'importe où. Un moniteur est installé à l'entrée avec un bras de moniteur, et un autre RaspberryPi est utilisé pour créer un terminal kiosque pour l'affichage. C'est pratique car vous n'avez pas à déplacer l'aimant sur le tableau blanc.
Lorsque vous appuyez sur le bouton de la porte, vous entendrez ce message sur le canal de notification de Slack. Il est lié aux [Composants interactifs] de Slack (https://api.slack.com/interactive-messages), et en appuyant sur «Déverrouiller», vous pouvez déverrouiller sans avoir à vous rendre à l'entrée pour récupérer. Je vais. D'ailleurs, dans ce cas, il vous sera demandé d'ouvrir la porte vous-même et d'entrer en criant «La clé est ouverte!» De votre siège à haute voix.
Vous pouvez rester à l'écart en appuyant sur "Ignorer".
Comme le montre l'image, un journal de «qui a répondu» reste. Il est également agréable de voir le badge de notification Slack disparaître lorsque quelqu'un répond car le message est écrasé.
J'ai conçu un petit peu pour connecter le bouton de déverrouillage de Slack et RaspberryPi.
Plus précisément, lorsque vous appuyez sur le bouton Slack, Slack envoie une requête POST
au point de terminaison spécifié ici, et il s'agit de savoir où placer ce point de terminaison.
Il semble rapide de définir le point final directement sur le RaspberryPi, mais je ne voulais pas exposer la serrure électronique à Internet, alors j'ai décidé de mettre un MQTT
entre les deux.
Pour les courtiers MQTT et MQTT, "First MQTT" est facile à comprendre, je vais donc le poster.
Tout d'abord, configurez une API pour recevoir les demandes de Slack, et lorsque vous recevez une demande indiquant que «le bouton de déverrouillage a été enfoncé», «publier» sur le sujet «cible». En "souscrivant" le même "sujet" du côté RaspberryPi, il est possible de détecter l'occurrence d'un événement sans l'exposer à Internet.
Je pensais que le déverrouillage prendrait un certain temps, mais est-ce pratique car il sera déverrouillé environ 1 seconde après avoir appuyé sur le bouton Slack? C'était dans la fourchette.
Un jour vers 20h00, alors que je travaillais à la maison, j'ai reçu une notification de visite du bouton d'appel du laboratoire.
Apparemment, le professeur est resté ce jour-là, et il est sorti un moment avec les lumières allumées. La plupart des visites pendant cette période sont des gardiens, et elles viennent lorsque les lumières sont allumées. ~~ Je me mettrai en colère à une date ultérieure s'il ne reste personne. ~~
Au moment où j'ai reçu la notification de visite, j'ai pensé "Ah" et j'ai éteint les lumières à distance. [^ 2]
Après cela, l'incident du titre s'est produit.
** Il semble que j'ai éteint les lumières lorsque le gardien est entré dans le laboratoire et a vérifié la pièce **, et il paniquait ... De plus, ** il a été verrouillé par verrouillage automatique lors de la vérification de la chambre **.
J'avais un bouton qui peut être déverrouillé de la pièce pendant un certain temps, mais cela ne semblait pas nécessaire, donc cela s'est produit immédiatement après l'avoir retiré.
M. Mamoru, je suis vraiment désolé de vous avoir fait peur.
[^ 1]: C'était NG du côté de l'université pour remplacer tout le bouton de porte. [^ 2]: l'éclairage est également IoT. À l'origine, c'est une fonction qui s'éteint automatiquement à une heure fixe au cas où vous oublieriez de l'éteindre.
Recommended Posts