Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

[IoT] Telegram Bot com Arduino MKR WiFi 1010

Componentes e suprimentos

Arduino MKR WIFI 1010
× 1

Sobre este projeto




Este projeto demonstra como fazer a interface do Arduino com as APIs do Telegram Bot. O projeto é construído em torno da nova placa MKR WiFi 1010 equipada com um módulo ESP32 da U-BLOX.

Nesta fase, o projeto não é mais do que uma prova de conceito, apenas para mostrar o que você pode fazer, então para isso você precisa apenas da placa Arduino.

Mas o que é um bot do Telegram?

Bem, os bots são simplesmente contas do Telegram operadas por software - não por pessoas - e muitas vezes têm recursos de IA. Eles podem fazer qualquer coisa - ensinar, reproduzir, pesquisar, transmitir, lembrar, conectar-se, integrar-se a outros serviços ou até mesmo passar comandos para a Internet das Coisas. (créditos por Telegram:https://telegram.org/blog/bot-revolution)

Em nosso caso, passaremos comandos para o Arduino construindo um dispositivo IoT simples. Ele responde a comandos simples e também liga / desliga o Led embutido. Vou deixar sua imaginação fazer mais ... (imagine conectar um ou mais relés aos pinos de I / O e ligar / desligar um aquecedor ou sistema de ar condicionado com seu smartphone, por exemplo).





Etapa 1:O que você precisa


Para este projeto, você precisa de:
  • Arduino MKR WiFi 1010 da loja Arduino:https://store.arduino.cc/arduino-mkr-wifi-1010
  • Arduino IDE 1.8.5 ou superior:https://www.arduino.cc/en/Main/Software
  • Um cabo micro-usb para conectar o Arduino ao seu PC
  • Uma conexão com a Internet, requer o SSID e a senha. Melhor se você usar seu próprio roteador doméstico para ter certeza de que não está bloqueado.
  • Aplicativo Telegram instalado em seu smartphone, não importa a marca. Verifique aqui as versões para PC e Web!





Etapa 2:Instalando o IDE


Sim, eu sei, eu sei ... a maioria de vocês já tem o IDE do Arduino instalado no PC, mas este tutorial é voltado também para iniciantes.

Portanto, antes de tudo, baixe o Arduino IDE 1.8.5 de sua escolha (arquivo zip para 'não administradores' ou arquivo exe)

Recomenda-se a versão 1.8.5, não testei as versões antigas e a nova placa usada no projeto não tinha suporte de forma alguma.

Agora você precisa instalar as novas placas com seus drivers:
  • inicie o IDE
  • Nas Ferramentas menu escolha Tabuleiros em seguida, no topo da lista de processadores, escolha Gerenciador de placas .
  • Role a nova janela (veja a imagem) até encontrar as placas Arduino SAMD que incluem o novo MKR WiFi 1010.
  • Clique nessa guia ou clique em Mais informações dentro da guia, escolha a versão mais recente e instale.
  • Aguarde até que a instalação seja concluída. Cuidará também da instalação dos drivers
  • Você também precisa de uma nova biblioteca WiFi para esta placa:escolha Sketch, Incluir Biblioteca e Gerenciar Bibliotecas. Procure por Wifinina e instale como fez com o processador acima.

Agora conecte sua nova placa Arduino e aguarde o Windows concluir a instalação do driver.

Em Ferramentas-> Quadro menu você encontrará as novas placas, escolha o MKR WiFi 1010.

Outra biblioteca especial é necessária para este projeto, é a biblioteca ESP8266TelegramBot de Giancarlo Bacchio. A biblioteca foi ligeiramente modificada para funcionar com esta placa, portanto, está incluída na pasta do esboço.

Escolha a porta de comunicação correta e teste a placa com Obter informações da placa comando.

Parabéns, você concluiu o IDE!





Etapa 3:Criando o Telegram Bot


Criar um novo bot do Telegram é bastante simples.

Abra o aplicativo Telegram e, na barra de pesquisa, digite @BotFather e inicie um bate-papo com ele (imagem1) .BotFather é o ... Bot factory. Isso o ajudará a criar um novo bot e alterar suas configurações.

Após o / start você verá a lista de ajuda (imagem2).
  • Digite / newbot (imagem3) Agora digite o nome do seu bot. O nome é exibido nos detalhes de contato e em outros lugares.
  • BotFather irá pedir um nome de usuário. O nome de usuário é um nome abreviado, a ser usado em links de menções e telegram.me. Os nomes de usuário têm de 5 a 32 caracteres e não diferenciam maiúsculas de minúsculas, mas podem incluir apenas caracteres latinos, números e sublinhados. O nome de usuário do seu bot deve terminar com ‘bot’, por exemplo ‘Tetris_bot’ ou ‘TetrisBot’ .
  • Se o nome e o nome de usuário forem válidos, você receberá uma longa sequência de caracteres chamada TOKEN. Esta é a sua 'chave' pessoal usada para se comunicar com os servidores Telegram. Copie e cole em um arquivo de texto no seu PC por enquanto. Nós o usaremos mais tarde no código do Arduino. Se você perder, não se preocupe, apenas reabra o chat e digite / token para gerar um novo.

Todas as etapas são descritas aqui:https://core.telegram.org/bots#6-botfather

Avançado (opcional)

Reabra o chat e digite / help

Clique em (ou digite) / setuserpic para enviar uma imagem para o seu bot. Clique em (ou digite) / setabouttext para definir a seção Sobre do seu bot:As pessoas verão este texto na página de perfil do bot e ele será enviado junto com um link para o seu bot quando o compartilharem com alguém.

Clique em (ou digite) / setdescription para definir uma seção de descrição para o seu bot. As pessoas verão essa descrição quando abrirem um bate-papo com seu bot, em um bloco intitulado 'O que esse bot pode fazer?'





Etapa 4:modificar, fazer upload e testar o esboço


É hora de fazer o upload do software para a placa Arduino MKR WiFi 1010.

Baixe o esboço em anexo e descompacte-o. Não altere nomes e pastas a menos que saiba o que está fazendo.

Modificar

Abra o esboço, precisamos preencher algumas informações (imagem1),

Vá para a guia arduino_secrets.h:
  • Localize as informações da rede WiFi e digite o nome da rede (SSID) e a senha.
  • Localize as informações do telegrama do bot e digite o nome, nome de usuário e token fornecidos por @BotFather

Upload

Verifique se a placa está correta (imagem2) no ide e conectada e tente compilar o código. Se a compilação for bem, carregue-o no fórum, levará apenas alguns segundos.

Em caso de problemas, verifique se há um erro de digitação e tente novamente.

Teste

[IMPORTANTE!] O esboço envia logs para o IDE. O processador possui uma porta USB nativa (como as placas Leonardo). Depois de ligado, o código aguardará até que o monitor serial esteja funcionando. Portanto, deixe-o conectado ao PC e abra o monitor serial. O Arduino primeiro se conectará à Internet e, em seguida, começará a pesquisar o servidor do Telegram em busca de novas mensagens (imagem3).

Agora abra o Telegram no seu dispositivo preferido e, na caixa de pesquisa, digite o nome do seu bot (não o nome de usuário que termina com 'bot'). Abra um bate-papo com ele.

O primeiro comando para iniciar um bate-papo com um bot é / start , nosso Arduino responderá com uma mensagem de boas-vindas. Agora digite ajuda (sem barra), ele responderá com uma lista de comandos suportados, você pode tentar todos eles (imagem4).

Você concluiu o teste, se algo não estiver funcionando, verifique as informações inseridas no esboço (nome, nome de usuário, token ...)

Certificados Se você estiver tendo erros na conexão com o servidor de telegramas (log:Bot não conectado):
  • Ferramentas abertas-> atualizador Wifi101 / wifinina
  • Certifique-se de que sua placa esteja conectada, verifique as portas à esquerda da ferramenta de atualização, a placa deve estar lá
  • Clique em Abrir esboço do atualizador e carregue-o no quadro
  • Após o upload, no atualizador, escolha o firmware mais recente para sua placa e clique em atualizar firmware
  • Após a atualização, no atualizador, seção Certificados SSL, clique em Adicionar domínio, na caixa de diálogo escreva telegram.org:443 e pressione OK.
  • Clique em Carregar certificados para módulo wi-fi
  • Envie este esboço para o quadro








Etapa 5:Improvementes


Olhando para o código é muito simples implementar novos comandos e responder ao usuário.

Novos Comandos

Você pode escrever um sub para cada novo comando. Cada sub-rotina se encarregará de completar o comando e (eventualmente) retornar uma informação de status para o usuário.

Limitando usuários

Claro que este projeto é apenas uma demonstração. Qualquer usuário do Telegram pode se conectar à sua casa e enviar comandos indesejados. Você não quer isso !.

Bem, olhe para a imagem1, ela mostra 2 usuários conectados. Como você pode ver, cada usuário possui seu próprio ID de usuário. Com um pouco de trabalho no lado do código, você pode filtrar (ou construir uma lista) apenas para usuários autorizados. Basta estudar o código e tentar interceptar o número de identificação do usuário. Em seguida, execute comandos apenas de usuários bem conhecidos.

Hardware

No lado do hardware, muitos sensores e relés podem ser conectados aos pinos de I / O do Arduino.

Cuidado:a placa usada neste projeto é tolerante a 3,3V !!! Use um deslocador de nível de tensão quando necessário! Para mais informações e dicas sobre este fórum, leia aqui:https://www.arduino.cc/en/Guide/MKRWiFi1010

Isso é tudo, divirta-se!

Código

  • MKR1010Bot_V1_02.zip
MKR1010Bot_V1_02.zip C / C ++
Esboço do Telegram Bot
 Sem visualização (apenas download). 

Processo de manufatura

  1. GoPiGo v2 com Windows IoT
  2. Aceitar moeda de controle com Arduino
  3. Detector de frequência de áudio
  4. Arduino com Bluetooth para controlar um LED!
  5. Tech-TicTacToe
  6. Voltímetro DIY com Arduino e um visor Nokia 5110
  7. Cronômetro de contagem regressiva do Arduino
  8. Dispositivos Bluetooth controlados por voz com OK Google
  9. Crie o aplicativo Fridgeye com uma tela Nextion
  10. RC Porsche Car (Projeto Arduino)