Interfaces para dispositivo de balanço de berço - do chaveiro à Web
Pouco mais de um ano se passou desde a redação do meu primeiro artigo sobre um dispositivo para balançar um berço. Durante esse período, desenvolvi um novo painel de controle com uma tela e, em seguida, uma interface da web para esse dispositivo. Se você estiver interessado em aprender mais, seja bem-vindo ao gato.No começo - algumas palavras sobre o dispositivo em si, um breve resumo da série anterior.Portanto, o dispositivo foi projetado para balançar um berço com um mecanismo de pêndulo. Uma unidade de acionamento com um eletroímã e componentes eletrônicos internos é instalada na parte fixa do berço. Um ímã de neodímio é fixado na parte móvel. Voando sobre um eletroímã, um ímã permanente induz um CEM, cuja forma determina o momento de conectar o mesmo eletroímã a uma fonte de energia. Assim, o eletroímã no momento certo empurra o ímã permanente e, portanto, a parte móvel do berço. Ao mesmo tempo em que o eletroímã não é alimentado, ele desempenha o papel de um sensor de posição para a parte móvel do berço.
Fiz a primeira cópia do dispositivo para mim. Depois, descobriu-se que esses dispositivos podem ser vendidos e, por mais de três anos, venho fazendo isso com graus variados de sucesso. Agora, em pequenos lotes, quatro modelos do dispositivo são fabricados e vendidos através de um dos maiores fabricantes russos de móveis infantis.No primeiro modelo do dispositivo para balançar um berço, esse controle remoto é usado como painel de controle. Existem quatro botões com as funcionalidades "Iniciar", "Parar", "Mais forte" e "Mais fraco". Conseqüentemente, usando este controle remoto, você pode iniciar e parar o balanço, além de alterar sua intensidade - escolha um dos seis níveis possíveis. O chaveiro opera em uma frequência de 433 MHz e não possui feedback.Após algum tempo, uma versão simplificada do dispositivo (modelo 0) foi desenvolvida, geralmente sem um painel de controle. Eles apertaram o berço com a mão - e ele continua oscilando indefinidamente. Parado - balançando parado.No desenvolvimento do próximo, segundo modelo do dispositivo de oscilação (modelo 2), a tarefa principal era adicionar um temporizador de enjôo e iniciar o balanço com o choro da criança. E isso acabou sendo um problema.O fato é que o tempo de oscilação deve ser definido de alguma forma, em horas e minutos. E a sensibilidade do microfone também seria interessante de alguma forma. Mas tudo isso requer uma interface, e um controle remoto "cego" com quatro botões claramente não é suficiente.Obviamente, o primeiro pensamento foi fazer alguma indicação no gabinete do dispositivo. Coloque alguns LEDs e / ou uma pequena tela. E controle também, com a ajuda deste pequeno controle remoto. No entanto, a desvantagem desta solução é que o dispositivo geralmente é instalado em um local inacessível, em algum lugar na parede traseira do berço contra a parede. E as indicações no caso neste caso simplesmente não serão visíveis.Por isso, foi decidido fazer um painel de controle com um monitor. Um pouco menos de um ano de desenvolvimento - e o dispositivo com o controle remoto está pronto!
Dentro do console está o ATMega32A, a tela é uma tela do Nokia 1202 e o transceptor é NRF24L01 +. O case é padrão pronto, o teclado é filme. No controle remoto, você pode definir o tempo de enjôo, sensibilidade do microfone, intensidade do balanço, além de iniciar e interromper o processo. No caso de várias camas no mesmo quarto, existe a possibilidade de alterar o canal de controle, pois o NRF24L01 + permite isso facilmente.O console e o dispositivo estão constantemente em diálogo entre si. Isso é feito para feedback - o status atual do dispositivo é exibido na tela, a saber, se o processo de oscilação está em andamento ou não (se houver, a imagem do berço no controle remoto também está oscilando), quanto tempo resta para bombear, quais são as configurações atuais para a intensidade da doença de movimento e a sensibilidade do microfone. Para que as baterias no painel de controle não sejam descarregadas muito rapidamente, é fornecido um modo de suspensão - se ninguém pressionar os botões no controle remoto por meia hora, o controle remoto "adormecerá".Após o desenvolvimento e o lançamento do "Modelo 2", embora em uma produção modesta, mas ainda assim, continuei pensando em melhorar o dispositivo de giro. Seria ótimo, pensei, se você pudesse controlar o dispositivo a partir de um telefone celular! Ou de um tablet. Por exemplo, quando durmo, coloco um telefone celular ao meu lado. Há um despertador e correio, e você pode ler algo antes de dormir. E certamente muitos pais jovens também. Por que usar um controle remoto separado para o dispositivo de oscilação quando aqui está - algo universal - um smartphone ou tablet! Que ele seja o painel de controle, pensei.Quais interfaces de rádio mais ou menos adequadas existem em um smartphone moderno? Bluetooth e Wi-Fi. No começo, considerei controlar o dispositivo de oscilação via Bluetooth. Das vantagens - é fácil de implementar a partir do lado do dispositivo. Você pode usar o módulo - o "bridge" Bluetooth-UART, e este é o problema.É verdade, do lado do smartphone - problemas contínuos.Para começar, mantendo o Bluetooth no telefone o tempo todo é uma má idéia. Além disso, para cada sistema operacional, você terá que escrever seu próprio software, esses são pelo menos dois aplicativos - para Android e iPhone. Mas também existem telefones no Windows Phone ... Depois de me aprofundar um pouco mais no assunto, descobri que nada pode funcionar com o iPhone, parece haver algumas limitações. Bem, mesmo que tudo dê certo. Os pedidos devem ser escritos primeiro. Em seguida, publique nas lojas apropriadas. Em seguida, eles precisam ser mantidos em boas condições de funcionamento, para corrigir erros e responder aos comentários do usuário. O problema é que nunca fiz nada disso, para mim é uma "floresta sombria com guerrilheiros" e, para essa parte do trabalho, você precisa contratar uma pessoa experiente. E contratar não apenas uma vez e, em seguida, colaborar constantemente com ele em termos de suporte ao programa.Bem, ou aprenda tudo sozinho. Acontece de alguma forma caro e tecnicamente feio. Portanto, o Bluetooth desaparece.E então eu descobri a existência do ESP8266.Sim, já foi escrito muito sobre esses módulos, além disso, há um excelente fórum em russo sobre eles. Há pouco menos de um ano, tendo começado a considerar este módulo para a minha aplicação, durante muito tempo não pude formar uma opinião sobre suas capacidades. E agora, a julgar pelas perguntas dos novatos no mesmo fórum, vejo que muitos não sabem do que esse módulo (chip) é capaz.Há uma coisa importante a dizer aqui - inicialmente o ESP8266 foi "equipado" com um SDK chinês muito "bruto" e "buggy" e, portanto, o chip não pôde ser usado para resolver tarefas reais de "combate". Então, é claro, era possível jogar, piscar o LED, mas era impossível fazer algo funcionando de maneira estável.No ano passado, no entanto, a situação mudou fundamentalmente. Em um fórum em russo dedicado a esse chip, um de seus participantes implementou um projeto - "Desenvolvimento de uma 'biblioteca' de um pequeno servidor da Web no ESP8266". Uma pessoa incógnita incrível que se esconde sob o apelido pvvx do firmware criado quase sozinho para o ESP8266, que permite revelar completamente os recursos desse chip. Os códigos-fonte do projeto estão disponíveis para acesso público, o autor permite que sejam usados como você desejar, inclusive para fins comerciais. Além disso, o pvvx continua complementando a montagem com novos recursos e, muito importante, está presente ativamente no fórum e não se cansa (bem, provavelmente) de aconselhar iniciantes (e não iniciantes também).Como resultado disso, não tenho medo de um trabalho extraordinário, tornou-se possível (entre muitas outras coisas) fornecer a qualquer dispositivo uma interface da Web completa e estável. Os recursos do chip e do firmware não se limitam a este aplicativo, mas eu precisava resolver esse mesmo problema.As vantagens de usar o ESP8266 são óbvias e, além disso, atualmente não há outras opções comparáveis em preço e funcionalidade.De fato, a um preço de cerca de 170 rublos no módulo ESP8266, você pode organizar um servidor da Web com uma interface de controle de dispositivo, o que permite que você não grave nenhum programa em nenhum sistema operacional, apenas uma vez para criar uma interface da Web. O módulo pode operar como um ponto de acesso e uma estação, bem como simultaneamente nesses dois modos. Por exemplo, conectando-se ao módulo como um ponto de acesso, você pode configurar seus parâmetros de comunicação e, se desejar, conectar o módulo como uma estação à sua rede Wi-Fi doméstica. A montagem (“despejo”, como o autor chama respeitosamente) tem muitas configurações (mais de 250) disponíveis na interface da web.Obviamente, há outro firmware para o ESP8266, mas nenhum deles possui recursos, estabilidade e qualidade de trabalho como a montagem do pvvx (esta é minha opinião subjetiva, no que diz respeito à minha tarefa).Com base nesse firmware, uma interface da web foi desenvolvida para um dispositivo de balanço. A web part em si foi escrita de tal forma que o site foi exibido corretamente em várias telas com tamanhos e resoluções diferentes.

Obviamente, o hardware do dispositivo teve que ser refeito em grande escala (de fato - feito novamente). O algoritmo de oscilação agora está implementado no microcontrolador Attiny441, interagindo com o ESP8266 via UART. A alimentação de 3,3 volts é feita usando o ST1S10. Placa opcional com erro (corrigida pela montagem na superfície):
Portanto, agora ficou mais fácil do que nunca "amarrar" o Wi-Fi e a interface da Web a qualquer coisa. Ao mesmo tempo, o sistema funcionará de maneira estável e o custo dos componentes será de apenas 250 rublos (se você calcular toda a ligação, não apenas o próprio módulo ESP8266).E assim apareceu a interface web do dispositivo para balançar um berço. Source: https://habr.com/ru/post/pt386293/
All Articles