Índice:
- Etapa 1: vídeo de demonstração
- Etapa 2: coisas que precisamos
- Etapa 3: Como funciona?
- Etapa 4: Interface do usuário
- Etapa 5: casos de uso e vantagens
- Etapa 6: Arduino MKR WiFi 1010
- Etapa 7: IDE Arduino
- Etapa 8: Portal cativo
- Etapa 9: Twilio e coisas que falam
- Etapa 10: Modo AP OU STA
- Etapa 11: TM1637 Display LED de tubo digital de 4 bits e botão de pressão
- Etapa 12: Circuito
- Etapa 13: Caso
- Etapa 14: Arduino Sketch
- Etapa 15: O QMN
Vídeo: Tokens mãos-livres: 15 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Ei geeks, Agora estou estudando no +2, o que equivale ao 12º ano. Estou muito interessado em ciência da computação e também meu assunto principal é esse. Passei muito tempo desenvolvendo projetos Embedded. Tenho cerca de 3 anos de experiência na área de embarcados. Sempre foco em soluções inovadoras e variadas. Meus pais me deram um grande apoio para fazer este projeto.
O tema principal do concurso é criar soluções mãos livres.
Aqui estou criando um dispositivo chamado QMN (Queue Management Node) que pode criar um token virtual e, portanto, pode manter a fila virtual.
Em certas filas, precisamos receber tokens físicos do balcão que provavelmente o colocarão em perigo. Portanto, ao usar esses tokens virtuais, você pode evitar esse perigo. Na verdade, você está recebendo tokens virtuais em seu smartphone. O token é totalmente mãos-livres.
É um criador de fila virtual simples e fácil de usar, equipado com Arduino MKR WiFI 1010.
Etapa 1: vídeo de demonstração
Assista ao vídeo de demonstração para saber mais.
Etapa 2: coisas que precisamos
Componentes de hardware
- Arduino MKR WiFi 1010 x 1
- Módulo de botão de pressão x 1
- TM1637 Módulo de display LED de tubo digital de 4 bits x 1
-
Jumpers x 1
Componentes de software
- IDE Arduino
- API Twilio SMS
- API ThingSpeak
Ferramentas
- Decapador e cortador de fio x 1
- Ferro de soldar x 1
- Solda x 1
Etapa 3: Como funciona?
O Nó de gerenciamento de fila (QMN) é o dispositivo que está criando tokens inteligentes. Para criar os tokens inteligentes, a pessoa deve estar na faixa wi-fi do Arduino MKR 1010. A pessoa também precisa de um smartphone para fazer o processo. O fluxo de trabalho será o seguinte …
- Um ponto de acesso WI-FI será criado pelo Arduino MKR 1010.
- A pessoa que deseja o token precisa conectar o telefone ao ponto de acesso e isso será redirecionado ao host local.
- Nessa página, a pessoa precisa inserir seu número de telefone. Naquele instante, o OTP será enviado ao número em questão para verificá-lo. O número de telefone é usado intencionalmente para notificar.
- Depois de verificar o número de telefone, o token será exibido no localhost.
- Quando chega a sua vez, o dispositivo (QMN) irá enviar uma notificação de mensagem para a pessoa em questão para ser a sua vez.
Este dispositivo está, na verdade, recebendo a solicitação das pessoas e dando a elas os tokens inteligentes. Para enviar a mensagem, estamos usando uma API Twilio SMS no dispositivo QMN. A notificação de Turn pode ser enviada pressionando o botão no QMN.
Quando todos os tokens são chamados, você pode limpar a memória pressionando o botão de reinicialização no Arduino MKR WiFi 1010.
Etapa 4: Interface do usuário
*) Ao se conectar ao ponto de acesso, você será redirecionado para a página como a primeira.
*) Depois de enviar o número de telefone, você receberá uma OTP para esse número. Em seguida, ele mostra a página OTP para inserir seu número OTP.
*) Ao enviar o OTP correto, você receberá o token nesta página de token.
*) Se você inseriu o OTP errado, ele mostrará OTP inválido.
*) Se o seu número já recebeu o token, ele informará que você já está registrado.
Isso é tudo sobre a interface do usuário.
Não sei muito sobre HTML. Meu pai tornou essas páginas mais atraentes usando CSS.
Etapa 5: casos de uso e vantagens
Ele pode ser usado em qualquer lugar, como hospitais, lojas e hotéis.
Vantagens
- Não é necessária conexão com a Internet para obter tokens
- Uma interface web simples e amigável.
- Notificação de dispositivo nativo, quando chegar a vez.
- Sem tokens físicos.
- Fácil de implementar.
- Sem tempo de espera desnecessário, apareça quando chegar a sua vez.
Etapa 6: Arduino MKR WiFi 1010
O cérebro do dispositivo é o Arduino MKR WiFi 1010. É o ponto de entrada mais fácil para IoT básico e design de aplicativo de rede pico. O processador principal da placa é um Arm® Cortex®-M0 SAMD21 de 32 bits de baixo consumo, como nas outras placas da família Arduino MKR. A conectividade WiFi e Bluetooth® é realizada com um módulo da u-blox, o NINA-W10.
Este dispositivo depende totalmente da conectividade WiFi do Arduino MKR WiFi 1010. O dispositivo usa o modo AP (Ponto de Acesso) e o modo STA (Estação) do módulo wifi. O dispositivo alternará de forma inteligente entre esses modos para a operação adequada deste dispositivo.
Etapa 7: IDE Arduino
O Arduino IDE é usado aqui para programar o Arduino MKR WiFI 1010. Dê uma olhada aqui para começar a usar o dispositivo. Use o Arduino IDE mais recente para programar o Arduino MKR wifi 1010. Antes de entrar na programação, verifique se há alguma atualização de firmware mais recente para o dispositivo. Dê uma olhada aqui para saber como atualizar o firmware.
Etapa 8: Portal cativo
Na verdade, estamos criando um ponto de acesso (AP) pelo Arduino MKR WiFI 1010, qualquer dispositivo (móvel) pode ser conectado a este AP. Anteriormente, para acessar a interface da web, uma pessoa precisava digitar o endereço IP ou o nome do host no navegador. Quase tudo bem, mas o usuário precisa inserir manualmente o IP ou o nome do host no navegador. Isso é uma coisa muito estranha. Mas, neste caso, o dispositivo que está se conectando ao QMN será redirecionado automaticamente para a interface da web por meio do Portal Captive. Aqui o Captive Portal desempenha um grande papel na redução do esforço do usuário. Existem muitos projetos de portal cativo com dispositivos Espressif; infelizmente, nenhum com a biblioteca NINA. Porque o MKR WiFi 1010 usa a biblioteca NINA. Por fim, encontrei um projeto no hub Arduino que usa o Captive Portal como as coisas-chave do JayV. Então comecei meu projeto tomando-o como código base. Está quase funcionando bem.
O que estamos realmente fazendo é configurar o DNS e o próprio ponto de acesso (AP) - endereço IP e verificar as primeiras (16) solicitações de DNS por meio da porta UDP 53. Depois de verificar as primeiras 16 solicitações, enviaremos uma resposta para as solicitações de DNS com o endereço IP redirecionado do próprio ponto de acesso. Em seguida, o telefone carregará automaticamente a interface da web por meio dos navegadores da web. O efeito final será assim quando um dispositivo conectado ao AP especificado, o telefone carregará automaticamente a interface da web. O servidor UDP e o servidor Web funcionam ao mesmo tempo. O servidor da web é uma página principal simples com um botão de formulário para inserir o número de telefone.
Etapa 9: Twilio e coisas que falam
Infelizmente, não tenho um módulo GSM para enviar as mensagens. Para enviar a OTP e a notificação do dispositivo, precisamos usar qualquer API de SMS. Portanto, neste projeto, usei a API SMS do Twilio para realizar a tarefa. Como sabemos disso, para que a API funcione precisamos dar a requisição HTTP para o servidor. Primeiro, dei uma solicitação HTTP normal sem nenhuma criptografia para o Twilio, mas o Twilio não considerou minha solicitação. Eles precisam de impressões digitais SSL para garantir a segurança. Não vi nenhuma função nas bibliotecas NINA que suportem esses SSL. Usei Thingsspeak para ativar o Twilio. Para utilizar estes serviços você precisa se cadastrar em ambas as plataformas.
No Twilio crie um novo número e esse será o número no qual você enviou os dados. Você receberá crédito gratuito no Twilio para mensagens. Para a conta de teste, você precisa verificar os números para os quais deseja enviar os dados.
Acesse Thingspeak.com, clique em apps, em ThingHTTP e em New ThingHTTP. Isso o levará para a página de configuração. Você terá que encontrar o SID da sua conta do Twilio e o token de autenticação na página do painel do Twilio.
- Nomeie-o como Twilio Enviar SMS
- O URL é https://api.twilio.com/2010-04-01/Accounts/YOUR TWILIO CONTA SID / SMS / Mensagens
- O nome de usuário de autenticação HTTP é SEU SID DE CONTA TWILIO
- A senha de autenticação HTTP é SEU TOKEN TWILIO AUTH
- Defina o método para POST
- O tipo de conteúdo é application / x-www-form-urlencoded
- Clique em remover cabeçalhos e deixe o host em branco
- Body = From = SEU NÚMERO TWILIO & To = %% number %% & Body = %% message %%
Clique em Salvar ThingHTTP. A chave API do ThingHTTp deve ser incluída no Arduino Sketch.
Etapa 10: Modo AP OU STA
Todas as placas Arduino com módulo Nina desempenham uma função por vez, ou seja, modo de estação ou modo de ponto de acesso. Precisamos alternar constantemente entre esses modos para fazer o trabalho. Primeiro, o QMN estará no modo AP após obter o número, ele mudará para o modo STA para enviar o OTP. Depois de enviar o OTP, o QMN voltará ao modo AP. Se uma pessoa acionou o botão, o QMN mudará para o modo STA para fornecer notificação por SMS. Depois disso, ele voltará ao modo AP. Para fornecer a conexão à Internet, estamos trocando o QMN para o modo STA. A API SMS requer conexão com a internet.
Etapa 11: TM1637 Display LED de tubo digital de 4 bits e botão de pressão
O Módulo de Display LED de tubo digital de 4 bits TM1637 é uma solução acessível para exibir os dados de saída de seu projeto incorporado. Embora os dados exibidos sejam restritos por números, eles ainda permitem que os usuários exibam alguns caracteres também, como A, B, C, etc. O número do token atual que estará em execução é exibido neste LED de sete segmentos de 4 bits. Este Dsiplay LED de 7 segmentos tem 4 dígitos que são controlados pelo chip de driver TM1637. Requer apenas duas conexões para controlar este módulo de display de LED de tubo digital de 4 bits TM1637. Olhando para esta tela, qualquer um pode entender facilmente o número do Token. Esse é o uso real deste dispositivo.
Você precisa de uma biblioteca chamada TM1637Display.h para trabalhar com este módulo. Basta baixar a biblioteca aqui.
Aqui, o botão de pressão é usado para chamar os tokens. Usei o módulo de botão de pressão, por isso é muito fácil de integrar. Aqui, o botão de pressão está no modo suspenso. Você também pode facilmente fazer um módulo com um resistor e o botão de pressão.
Etapa 12: Circuito
O circuito é muito simples, não consiste em nenhum hardware complexo. Basta conectar de acordo com os esquemas. Primeiro fiz o circuito na placa de ensaio. Então eu conectei com os jumpers.
Etapa 13: Caso
Comprei este caso em uma loja local. Acabei de cortar um pequeno pedaço na frente para mostrar os sete segmentos liderados para mostrar o token. Também rasguei duas peças da lateral, uma é para o botão e a outra é para o cabo USB. Para dar poder ao Nodo. Este caso é muito adequado, Todos os componentes estão muito bem colocados.
Etapa 14: Arduino Sketch
Todas as páginas HTML mostradas na interface são armazenadas na memória flash do Arduino MKR WiFi 1010. Para o armazenamento usei o utilitário PROGMEM.
PROGMEM faz parte da biblioteca pgmspace.h. Ele é incluído automaticamente nas versões modernas do IDE. No entanto, se você estiver usando uma versão do IDE abaixo de 1.0 (2011), primeiro você precisará incluir a biblioteca no topo do seu esboço, como este:
#incluir.
Embora o PROGMEM possa ser usado em uma única variável, realmente só vale a pena se preocupar se você tiver um bloco maior de dados que precisa ser armazenado, o que geralmente é mais fácil em um array. Temos um grande bloco de dados aqui, então vamos fazer isso.
Todos os arquivos HTML são armazenados na guia "source.h". O código completo para este projeto pode ser encontrado aqui. Basta fazer upload desse código no dispositivo Arduino.
Etapa 15: O QMN
A visão final do dispositivo. O dispositivo está pronto para uso. Basta ligá-lo com um cabo USB e divirta-se!
Vice-campeão no Concurso da Família "Can't Touch This"
Recomendado:
Distribuidor de desinfetante de mãos sem contato faça você mesmo, sem um Arduino ou um microcontrolador: 17 etapas (com imagens)
Dispensador de desinfetante de mãos sem contato DIY Sem um Arduino ou um microcontrolador: Como todos sabemos, o surto COVID-19 atingiu o mundo e mudou nosso estilo de vida. Nessa condição, o Álcool e os desinfetantes para as mãos são fluidos vitais, no entanto, devem ser usados de maneira adequada. Tocar recipientes de álcool ou desinfetantes para as mãos com mãos infectadas c
Ultimate Electronics Helper -- PSU de bancada variável com mãos que ajudam: 12 etapas (com imagens)
Ultimate Electronics Helper || PSU de bancada variável com mãos que ajudam: Ao trabalhar com eletrônicos, duas ferramentas são quase sempre necessárias. Hoje estaremos criando esses dois fundamentos. E também vamos dar um passo adiante e mesclar esses dois juntos no melhor ajudante de eletrônica! É claro que estou falando sobre
Tokens de carrinho de compras: 8 etapas
Tokens de carrinho de compras: - Este tutorial irá mostrar-lhe como criar um corte a laser simples, mas eficaz ou um token de carrinho de compras impresso em 3D- Este produto é prático para ter em suas chaves ou como presentes para familiares e amigos.- Este produto é feito melhor no Tinker CAD espec
Construir um par de mãos que ajudam: 5 etapas (com imagens)
Construir um par de mãos que ajudam: Com apenas alguns itens que você pode ter em casa, você pode construir um gabarito de solda, colagem ou montagem. É um par extra de mãos que ajudam
Meu teclado Minhas mãos: 8 etapas (com imagens)
Meu teclado, minhas mãos: Eu usei o novo cortador a laser Epilog que o Instructables recentemente conseguiu gravar a laser uma imagem de minhas mãos no teclado do meu laptop … permanentemente. Isso está anulando sua garantia no estilo faça você mesmo! Eu gravei a laser mais laptops do que a maioria desde que ajudei o