Raspberry pi et code Morse

Le voilier "NaN" émet un bip SOS (voyez notre succès) Raspberry Pi, Morse Code et MQTT: plus de plaisir ensemble



Je m'appelle Vova Balakin, je suis de l'école de Moscou dans le Sud-Est du nom du maréchal VI Chuikov (classes "Silahedr": vk.com/silaedr ), j'ai terminé la 5e année, je m'intéresse à la programmation et à la technologie. Je veux vous dire ce que j'ai fait ce printemps. J'avais un voilier appelé «Not a Number» («NaN»). Il est dangereux de prendre la mer sans signalisation, j'ai donc pensé qu'il manquait des feux de signalisation sur le mât. Mieux encore, des feux de signalisation qui peuvent être contrôlés à distance. Mieux encore, à distance de n'importe où dans le monde! J'avais un Raspberry Pi - et puis j'ai trouvé ...







Ce que je voulais (énoncé du problème)



... que vous pouvez attacher une LED au mât, le connecter à un Raspberry Pi et le programmer de sorte que tout message d'Internet puisse être envoyé au voilier - et il est traduit en code Morse - et la diode sur le mât clignote conformément à ce code. Et sur le même mât, fixez une photorésistance - décodeur de code Morse, afin qu'un autre ordinateur sur Internet puisse recevoir le code transmis.



Qu'est-ce qui m'est arrivé (résultat)



Après deux mois d'essais et d'erreurs, j'ai réussi à écrire un programme qui, via un courtier MQTT (http://www.hivemq.com/demos/websocket-client/), permet à toute personne sur Internet qui connaît Topic - la clé secrète de transmettre un message au client , - envoyez absolument n'importe quel message écrit en latin - et la LED sur mon mât le fait clignoter en code Morse!





C'est ainsi que cela fonctionne en général: nous écrivons un message et l'envoyons au serveur MQTT, et celui-ci, à son tour, l'envoie au Raspberry pi, qui le traduit en code Morse et clignote avec une LED conforme au code.



Voici le code Node.js sur github .



Comment j'ai dû souffrir (outils et techniques)



J'ai d'abord écrit en Python3. Mais je n'ai pas pu connecter python à MQTT - je n'ai pas trouvé la documentation nécessaire - et je suis passé à la plate-forme Node.js.



De plus, pendant la journée j'ai essayé de faire un décodeur de signal lumineux en code Morse (en utilisant une photorésistance) et de l'installer sur le même mât du même voilier, mais cela n'a pas fonctionné, car la photorésistance (au moins celle que j'avais) pas capable de distinguer la lumière même de 5 LED (la différence de tension lorsque les LED étaient allumées et éteintes était trop petite).



Des conseils utiles pour ceux qui feront quelque chose comme ça (discussion).



Écrivez directement dans Node.js si vous souhaitez lier le code avec MQTT plus tard. Obtenir Python pour se connecter avec MQTT n'est pas une tâche facile.



Ce qui a été fait par l'humanité (Litobzor)



Avant de commencer, j'ai cherché sur Google comment faire cela. Toutes les parties de ce projet sont décrites séparément sur Internet, mais je n'ai pas tout trouvé ensemble.



  • Un article sur Habré sur ce qui serait bien de faire ça (il y a encore beaucoup d'idées sympas): habr.com/ru/company/madrobots/blog/243253
  • Une vidéo claire sur YouTube sur MQTT et Raspberry pi: https: /www.youtube.com/watch? V = p3vJxGKWDIg "
  • Code Morse et NodeJS
  • Raspberry pi et code Morse: www.youtube.com/watch?v=wiciIlsS0eo


Merci pour vos précieux commentaires et les bons conseils de mes professeurs de robotique et d'informatique et de mes lycéens!



All Articles