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 Gauge com Arduino, Yaler e IFTTT

Componentes e suprimentos

Arduino Yun
× 1
Servos (Tower Pro MG996R)
× 1
Porcas e parafusos M3
× 3
Contraplacado de 4 mm
× 1

Ferramentas e máquinas necessárias

Cortador a laser
Pistola de cola quente
Telefone Android ou iOS

Aplicativos e serviços online

Serviço IFTTT Maker

Sobre este projeto


(De http://www.instructables.com/id/IoT-Gauge-with-Arduino-Yaler-IFTTT/)

Como construir um IoT Gauge habilitado para Web e baseado em Arduino com uma API REST e conectá-lo à plataforma de mash-up IFTTT.com, por meio do serviço de retransmissão Yaler.net *.

O que há de empolgante nisso? Com o Maker Channel, o IFTTT oferece suporte a Webhooks personalizados para integrar projetos DIY IoT. Estou esperando por isso desde 2011 **.

Inspirado por WhereDial, um clássico DIY das Coisas, o IoT Gauge mostra a localização atual de seu proprietário. Um pouco como o Relógio Weasley em Harry Potter.

O design e o código do IoT Gauge são genéricos e também podem ser usados ​​para exibir, por exemplo, condições do tempo. A lógica reside na nuvem, o medidor é apenas um servo com uma API.

Saúde, @tamberg

Downloads (para o Uno)
  • Biblioteca Yaler Arduino, YalerEthernetServer.zip
  • código do Arduino Uno, IoTGaugeWebService.ino

*) Sou um dos fundadores da Yaler.

**) Zapier , outra plataforma de mash-up, sempre suportou Webhooks personalizados.





Etapa 1:corte a laser e montagem do medidor IoT


Produzindo as peças
  • Baixe os arquivos de design do IoT Gauge
  • Corte o desenho a laser em compensado de 4 mm
  • Grave nomes de locais (ou o que você precisar) ou adicione-os com uma caneta

Montagem do medidor IoT
  • Adicione o escudo Ethernet ao Arduino (para o Uno)
  • Aparafuse o Arduino à placa de base (observe sua orientação)
  • Adicione a placa frontal grande ao servo e, a seguir, a placa frontal pequena
  • Cole a placa de base em ambas as placas frontais, certifique-se de que tudo esteja alinhado
  • Cole os indicadores na placa frontal, certifique-se de que estejam orientados corretamente
  • Use fios de jumper para conectar o servo ao pino 9, 5V e GND do Arduino (ou blindagem)
  • Adicione o ponteiro do relógio (a ser calibrado mais tarde)





Etapa 2:fazer upload do código do Arduino do serviço da Web IoT Gauge


Serviço da web simples

Controlar o IoT Gauge é bastante simples. Um serviço da Web (ou API REST) ​​está ouvindo as solicitações de entrada e configurando a posição do servo de acordo. O IoT Gauge é apenas um servo "burro". Manter a lógica na nuvem permite que você troque o "cérebro" mais tarde, por exemplo, para exibir as condições meteorológicas em vez de um local.

Acesso remoto ao Arduino

Para dar ao serviço IFTTT Cloud acesso ao IoT Gauge, nossa API REST do Arduino precisa estar acessível e endereçável a partir da web. Os especialistas podem adicionar uma exceção ao seu firewall ou roteador. Mas, como isso pode ser um problema, usaremos um serviço de retransmissão *.

Instalando o Arduino Uno (para o Yun, veja abaixo)
  • Instale a biblioteca YalerEthernetServer.zip conforme mostrado em https://yaler.net/arduino
  • Baixe o código IoTGaugeWebService.ino Arduino Uno
  • Certifique-se de usar um endereço MAC exclusivo
  • Substitua RELAY_DOMAIN com seu domínio de retransmissão. (Para obter um domínio de retransmissão, inscreva-se para uma conta de teste gratuita em Yaler.net)
  • Faça upload do código para o seu Arduino Uno

Instalando o Arduino Yun (para o Uno, veja acima)
  • Instale YalerTunnel e habilite o acesso à web conforme mostrado em https://yaler.net/arduino-yun
  • Baixe o código IoTGaugeMailboxApi.ino Arduino Yun
  • Faça upload do código para o seu Arduino Yun

Por que o código Yun é diferente do código Uno?

O Yun fornece uma API REST integrada chamada caixa de correio. Para tornar esta API acessível a partir da Web, usamos o daemon YalerTunnel Linux (que também suporta criptografia SSL, ao contrário do Uno). Com base no que já existe, você pode simplificar seu código.

Dê uma olhada em ambos os programas e decida por si mesmo. A API de caixa de correio do Yun não é perfeita (e não é estritamente RESTful, pois permite que GET altere valores), mas é baseada em um script executado no lado Linux do Yun, que usa menos da preciosa memória do lado do Arduino.

*) Se você não estiver satisfeito com o uso de um serviço de retransmissão, apenas remova-o e (para o Uno) descomente o servidor local.





Etapa 3:Testar o serviço da Web Arduino com Curl


Instalando a ferramenta de linha de comando Curl em seu computador
  • Baixe e instale o Curl em http://curl.haxx.se/
  • Abra um shell em seu computador e teste o Curl com $ curl -v http://google.com/

Ativando a API Arduino Yun (pule para o Uno)
  • Ligue o Yun, espere um pouco e visite http://arduino.local/
  • Faça login e clique em Configurar
  • Role para baixo e defina o acesso da API REST para Abrir
  • Clique em Configurar e reiniciar

Testando o IoT Gauge com Curl
  • Certifique-se de que o Arduino esteja ligado e conectado à Internet
  • Defina a posição do servo para 3 (ou qualquer outra posição de 1 a 5) com * $ curl -vX POST http://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Substitua RELAY_DOMAIN com o domínio de retransmissão que você usou antes)
  • Certifique-se de que o servo moveu a mão para a posição desejada (ajuste a mão se necessário)
  • Certifique-se de obter algo como 200 OK como uma resposta à chamada curl
  • Se você obtiver 504 o Arduino não está online ou ocorreu um erro de digitação

Por que você deve testar sua API com Curl?

Curl é um cliente HTTP padrão. Seu navegador é ótimo para testar solicitações GET e existem ferramentas online para testar solicitações PUT e POST. Mas às vezes o navegador adiciona magia, como seguir redirecionamentos. Portanto, se você deseja ter certeza de que um cliente básico ou uma chamada de Webhook de terceiros como a enviada do IFTTT pode acessar sua API de serviço da Web, Curl é ótimo.

*) Para o Uno, POST / mailbox / pos / 3 funciona bem como PUT / servo? pos =3 porque o código que analisa a solicitação é bastante tolerante.





Etapa 4:conectando o Arduino ao canal IFTTT Maker


Criação de uma nova receita IFTTT (ou pule para adicionar uma receita existente)

O IFTT permite criar receitas conectando um gatilho a uma ação.
  • Visite https://ifttt.com/myrecipes/personal/new (inscreva-se se ainda não o fez)
  • Para escolher um canal acionador, pesquise, por exemplo, "Dispositivo Android" ou "Localização iOS" e selecione o ícone do canal
  • Em seguida, escolha um acionador, por exemplo Conecta-se a uma rede WiFi específica (para Android)
  • Insira um nome de rede ou local
  • Ao escolher o canal de ação, pesquise pelo Maker canal e selecione-o
  • Em seguida, selecione a ação Fazer uma solicitação da web
  • Insira o URL http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Substitua RELAY_DOMAIN com o domínio de retransmissão que você usou antes)
  • Para o método, selecione P OST
  • Para o tipo de conteúdo, selecione application / x-www-form-urlencoded
  • O corpo pode ser deixado em branco

Adicionar uma receita IFTTT existente

O IFTTT permite aos usuários publicar receitas. Aqui estão duas receitas para controlar seu medidor de IoT:
  • Abra a receita "IoT Gauge position from Android WiFi location" aqui
  • Ou a receita "IoT Gauge position from iOS" aqui
  • Ou pesquise * por receitas "IoT Gauge", https://ifttt.com/recipes/search?q=IoT+Gauge
  • Para adicionar uma instância da receita às suas receitas, clique em Adicionar botão
  • Insira um nome de rede WiFi ou local (ou o que quer que a receita peça)
  • Substitua RELAY_DOMAIN no URL com o domínio de retransmissão que você usou antes
  • Adapte o parâmetro pos no URL de 1 a 5 para corresponder à sua localização
  • Adicione outra instância da receita para cada local

*) Parece que o IFTTT ainda não adiciona as receitas do canal Maker aos resultados da pesquisa





Etapa 5:Criação de um botão IFTTT Do para o medidor IoT


IFTTT Do aplicativos

IFTTT também fornece Do aplicativos para iOS e Android. O aplicativo permite que você acione ações manualmente. Isso pode ser ótimo para testar suas outras receitas de IFTTT.

Ao contrário das receitas IFTTT normais, as receitas do app não podem (ainda?) Ser compartilhadas ou tornadas públicas. Portanto, você terá que criá-los do zero.

Criação de um novo botão IFTTT Do
  • Obtenha o aplicativo Do Button para Android ou iPhone em https://ifttt.com/products/do/button
  • Trabalhe nas telas de introdução um tanto chatas, mas obrigatórias (?)
  • Use o pequeno ícone no canto inferior direito para abrir a lista de receitas
  • Toque no sinal e, em seguida, toque em Canais e pesquise pelo Maker canal
  • Em seguida, selecione a ação Fazer uma solicitação da web
  • Insira o URL http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (Substitua RELAY_DOMAIN com o domínio de retransmissão que você usou antes)
  • Para o Método selecione POSTAR
  • Para o Tipo de conteúdo selecione application / x-www-form-urlencoded
  • O Corpo pode ser deixado vazio
  • Toque em Adicionar para criar o botão
  • Depois de criada, a receita pode ser editada online em https://ifttt.com/myrecipes/do



É isso - obrigado pela leitura e deixe-me saber se você tiver alguma dúvida ou sugestão.

Código

Bitbucket

Peças personalizadas e gabinetes

IoT_Gauge.zip

Esquemas


Processo de manufatura

  1. DIY mais simples relógio IV9 Numitron com Arduino
  2. Jogo Arduino Gyroscope com MPU-6050
  3. Como salvar vidas aquáticas e combater a poluição da água com IoT e IA
  4. MotionSense
  5. Roda de medição simples DIY com codificador rotativo
  6. Levitação eletromagnética repulsiva Arduino
  7. Registrador de dados do balão meteorológico Arduino
  8. ArduFarmBot - Parte 2:Estação Remota e Implementação IoT
  9. Relógio giratório Arduino de matriz de LED único
  10. Laboratório de microcontroladores