Raspberry pi e código Morse

Veleiro "NaN" emite um bipe SOS (veja nosso sucesso) Raspberry Pi, Código Morse e MQTT: Mais Diversão Juntos



Meu nome é Vova Balakin, sou da escola de Moscou no Sudeste que leva o nome do Marechal VI Chuikov (classes "Silahedr": vk.com/silaedr ), concluí a 5ª série, tenho interesse em programação e tecnologia. Quero contar a você o que fiz nesta primavera. Eu tinha um veleiro chamado “Not a Number” (“NaN”). É perigoso sair para o mar sem sinalizar, por isso pensei que faltavam luzes de sinalização no mastro. Melhor ainda, luzes de sinalização que podem ser controladas remotamente. Melhor ainda, remotamente de qualquer lugar do mundo! Eu comi um Raspberry Pi - e então pensei ...







O que eu queria (declaração do problema)



... que você pode anexar um LED ao mastro, conectá-lo a um Raspberry Pi e programá-lo para que qualquer mensagem da Internet possa ser enviada ao veleiro - e seja traduzida em código Morse - e o diodo no mastro pisque de acordo com este código. E no mesmo mastro, fixe um fotorresistor - decodificador de código Morse, para que outro computador na Internet possa receber o código transmitido.



O que aconteceu comigo (resultado)



Após dois meses de tentativa e erro, consegui escrever um programa que, por meio de um broker MQTT (http://www.hivemq.com/demos/websocket-client/), permite que qualquer pessoa na Internet que conheça o Tópico - a chave secreta, transmita uma mensagem ao cliente , - envia absolutamente qualquer mensagem escrita em latim - e o LED em meu mastro pisca em código Morse!





Funciona assim em geral: escrevemos uma mensagem e a enviamos para o servidor MQTT, que, por sua vez, a envia para o Raspberry pi, que a traduz para o código Morse e pisca com um LED de acordo com o código.



Aqui está o código Node.js no github .



Como eu tive que sofrer (ferramentas e técnicas)



Escrevi pela primeira vez em Python3. Mas não consegui conectar o python ao MQTT - não encontrei a documentação necessária - e mudei para a plataforma Node.js.



Além disso, durante o dia tentei fazer um decodificador de sinal de luz em código Morse (usando um fotorresistor) e instalá-lo no mesmo mastro do mesmo veleiro, mas não funcionou, porque o fotorresistor (pelo menos o que eu tinha) não consegue distinguir a luz nem mesmo de 5 LEDs (a diferença de tensão quando os LEDs estavam ligados e desligados era muito pequena).



Conselhos úteis para quem vai fazer algo assim (discussão).



Grave diretamente no Node.js se desejar vincular o código ao MQTT posteriormente. Fazer com que o Python se conecte ao MQTT não é uma tarefa fácil.



O que foi feito pela humanidade (Litobzor)



Antes de começar, pesquisei no Google como fazer isso. Todas as partes deste projeto são descritas separadamente na Internet, mas não encontrei tudo junto.





Obrigado por seus comentários valiosos e conselhos legais de meus professores de robótica e ciência da computação e meus alunos do ensino médio!



All Articles