Raspberry pi y código Morse

Velero "NaN" emite un pitido SOS (vea nuestro éxito) Raspberry Pi, código Morse y MQTT: más diversión juntos



Mi nombre es Vova Balakin, soy de la escuela de Moscú en el sureste que lleva el nombre del mariscal VI Chuikov (clases "Silahedr": vk.com/silaedr ), terminé el quinto grado, estoy interesado en programación y tecnología. Quiero contarte lo que hice esta primavera. Tenía un velero llamado "Not a Number" ("NaN"). Es peligroso salir al mar sin señalización, así que pensé que carecía de luces de señalización en el mástil. Mejor aún, luces de señalización que se pueden controlar de forma remota. Mejor aún, ¡de forma remota desde cualquier parte del mundo! Tenía una Raspberry Pi, y luego se me ocurrió ...







Lo que quería (declaración del problema)



... que puedes colocar un LED en el mástil, conectarlo a una Raspberry Pi y programarlo para que cualquier mensaje de Internet se pueda enviar al velero - y se traduzca al código Morse - y el diodo en el mástil parpadee de acuerdo con este código. Y en el mismo mástil, fije un fotorresistor: decodificador de código Morse, para que otra computadora en Internet pueda recibir el código transmitido.



Que me paso (Resultado)



Después de dos meses de prueba y error, logré escribir un programa que, a través de un corredor de MQTT (http://www.hivemq.com/demos/websocket-client/), permite a cualquier persona en Internet que conozca Topic, la clave secreta, transmitir un mensaje al cliente. , - envíe absolutamente cualquier mensaje escrito en latín - ¡y el LED de mi mástil parpadea en código Morse!





Así funciona en general: escribimos un mensaje y lo enviamos al servidor MQTT, y este, a su vez, lo envía a la Raspberry pi, que lo traduce a código Morse y parpadea con un LED de acuerdo con el código.



Aquí está el código de Node.js en github .



Cómo tuve que sufrir (herramientas y técnicas)



Escribí por primera vez en Python3. Pero no pude conectar Python a MQTT, no encontré la documentación necesaria, y cambié a la plataforma Node.js.



Además, durante el día intenté hacer un decodificador de código Morse (usando un fotorresistor) e instalarlo en el mismo mástil del mismo velero, pero no funcionó, porque el fotorresistor (al menos el que yo tenía) no se puede distinguir la luz incluso de 5 LED (la diferencia de voltaje cuando los LED estaban encendidos y apagados era demasiado pequeña).



Consejos útiles para quienes harán algo como esto (Discusión).



Escriba directamente en Node.js si desea vincular el código con MQTT más adelante. Lograr que Python se conecte con MQTT no es una tarea fácil.



Lo que ha hecho la humanidad (Litobzor)



Antes de comenzar, busqué en Google cómo hacer esto. Todas las partes de este proyecto se describen por separado en Internet, pero no encontré todo junto.





¡Gracias por sus valiosos comentarios y fantásticos consejos de mis profesores de robótica e informática y de mis estudiantes de secundaria!



All Articles