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

Enviar dados MKR1000 para Planilhas Google

Componentes e suprimentos

Arduino MKR1000
× 1
Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 1
Fios de jumpers (genérico)
× 1
Breadboard (genérico)
× 1

Aplicativos e serviços online

Arduino IDE
Planilhas Google

Sobre este projeto


Este projeto permite que você processe dados com seu MKR1000 e envie esses dados para Planilhas Google na nuvem via WiFi. Este projeto pode ser realizado sem quaisquer inscrições de cartão de crédito ou uso de APIs proprietárias de caixa preta. Para este exemplo específico, eu uso o sensor ambiental DHT11 barato e onipresente; no entanto, você pode alterar facilmente o código do Arduino incluído para qualquer sensor ou dispositivo de sua preferência. Vale a pena ressaltar agora que este projeto poderia ser facilmente combinado em um esboço com um de meus projetos relacionados, que carrega dados DHT11 para Thingspeak.com para gráficos gráficos.

Esta é a primeira de quatro partes. Na primeira parte do projeto, você definirá e configurará sua própria planilha do Google para aceitar seus dados de WiFi usando o código do Google App Script incluído.





Parte 1:Criando e implantando sua planilha Google


1. Inscreva-se para obter um e-mail gratuito do Google, se ainda não tiver um.

2. faça login em sua conta gratuita do Google e crie uma nova “planilha do Google,” esta é a planilha que será preenchida por nossos valores de sensor DHT via WiFi. Neste ponto, você precisará copiar e salvar a chave de URL de suas planilhas. Esta chave está listada no URL entre “/ d /” e “/ editar” de sua nova planilha (veja o círculo azul).

3. Nomeie sua planilha com algo original como “Dados ambientais”, agora devemos criar nosso Google App Script (semelhante ao JavaScript) que irá processar nossos dados e preencher nossa planilha corretamente. Para inserir nosso Google App Script, primeiro navegamos de nossa planilha até o Editor de Script:

Ferramentas → Editor de Script

Agora estaremos na página do Editor de scripts do Google. Agora podemos nomear nosso Gscript com algo extra-criativo como “My Environmental GScript”. Neste ponto, temos quatro coisas a fazer na página do editor de scripts.

A) Copie e cole o código do Google Script incluído no Editor

B) Copie e cole a chave de URL da planilha salva anteriormente (etapa 2) na linha correta no código do Google Script (entre aspas) onde diz:
  var id =''; // ID da planilha  

C) Salve o script: Arquivo → Salvar tudo

D) Implementar como um aplicativo da web: Publicar- → Implementar como um aplicativo da web…

4. Nossa etapa final para configurar nossa planilha do Google envolverá a configuração dos parâmetros de implantação da web. É importante que você defina todos esses campos corretamente. Se você não definir todos os quatro campos exatamente, sua planilha não funcionará corretamente.

Campo 1) Copie e salve o “ URL atual do aplicativo da web: “Que acabou de ser gerado, vamos precisar disso mais tarde, quando configurarmos nossa API no PushingBox.

Campo 2) Salvar uma versão do projeto como “ novo ”Em cada iteração, é importante observar que se você não fizer uma nova versão do projeto para cada revisão de script que fizer (se decidir fazer qualquer revisão), suas revisões de script não serão atualizadas na web. Isso é contra-intuitivo e fácil de negligenciar, mas é assim que o Google configurou este sistema atualmente.

Campo 3) “ Executar o aplicativo como : “Defina isso como“ eu (seu GMail aqui) ”.

Campo 4) “ Quem tem acesso ao aplicativo : “Defina isso como" qualquer pessoa, mesmo anônima . "





Parte 2:Configurando PushingBox


Pushingbox.com atua como intermediário de API simples, gratuito e fácil, permitindo que nossos dados DHT sejam palatáveis ​​para o Google Sheets. A necessidade de usar o intermediário da API PushingBox é transformar nossos dados transmitidos por HTTP em dados criptografados HTTPS em conformidade com o Google. Poderíamos tentar fazer um algoritmo de criptografia não trivial para satisfazer o requisito padrão, mas usar PushingBox é mais fácil, e recebemos até 1.000 solicitações por dia gratuitamente. Além disso, não temos que lidar com nenhuma API de "caixa preta" na qual podemos inserir nossos próprios parâmetros, mas temos pouco controle sobre a personalização e nenhuma ideia real de como a função realmente funciona. Abaixo estão as etapas para configurar o Pushingbox para funcionar com nossos dados:

1. Crie uma conta PushingBox usando seu Gmail.

2. No topo, clique em “Meus Serviços”

3. Agora em “Meus Serviços” vá até a caixa “Adicionar um serviço” e clique em “Adicionar um serviço”.

4. O serviço que você deseja criar é o último item da lista de serviços e é denominado:” CustomURL, Defina seu próprio serviço! ”. Agora selecione este serviço CustomUrl.

5. Uma caixa se abrirá e pedirá três itens. Preencha-os como abaixo e, em seguida, clique em enviar

Nome de sua configuração CustomURL:

URL raiz: Este url começará com https://script.google.com ... já que este é o seu endereço do Google Script salvo na Parte 1

Método:

6. Depois de enviar seu serviço, você deve agora criar um cenário para o serviço. Para fazer isso, selecione “Meus cenários” na parte superior da página.

7. Digite um nome apropriado para o seu cenário na caixa “Criar um cenário ou adicionar um dispositivo”. Depois de nomear seu serviço, clique no botão “adicionar” à direita.

8. Agora, ele pedirá “Adicionar uma ação para o seu cenário” Agora você deve escolher o botão “Adicionar uma ação a este serviço” listado próximo ao nome do serviço que você criou na etapa anterior. Isso atribui seu novo cenário ao seu novo serviço.

9. Uma caixa de dados será aberta solicitando seu método “Get” ou “Post” (usamos o método Get, embora isso pareça contra-intuitivo). Para registrar todos os nossos dados DHT (cinco pontos de dados) em sua planilha do Google, você precisa vincular os nomes das variáveis ​​listadas em seu Google App Script aos nomes listados em nosso esboço do Arduino. Formatar os nomes corretamente na API Pushingbox realizará essa tarefa de vinculação. Copie e cole a seguinte string em sua caixa.
 ? umidadeData =$ umidadeData $ &celData =$ celData $ &fehrData =$ fehrData $ &hicData =$ hicData $ &hifData =$ hifData $  

Nota: A declaração começa com " ? "para indicar" GET ".

O resultado deve ser o seguinte, mas com seu próprio nome de cenário e número de ID do dispositivo:

Certifique-se de copiar sua string "DeviceID", você precisará dela para os testes preliminares na próxima etapa e, posteriormente, para o Arduino Sketch na Parte 4.





3. Testando a API


Antes de passarmos para a última subida, na qual programamos o MKR1000 para enviar nossos dados DHT pela web, seria útil testar se tudo o que fizemos até agora está correto. Se esperarmos para concluir a parte do hardware, a causa de quaisquer erros pode ser mais difícil de rastrear. Felizmente, temos um método simples de testar nosso código até agora. Podemos simplesmente inserir diretamente alguns pseudo-dados embutidos em código na barra de endereços do nosso navegador da web e verificar se nossa planilha do Google está sendo atualizada corretamente. Aqui está um exemplo do que você pode copiar e colar na barra de endereços do seu navegador.

http://api.pushingbox.com/pushingbox?devid=(YOUR-DEVID-HERE)&humidityData=33&celData=44&fehrData=111&hicData=22&hifData=77

Se quiser, você pode até inserir novos dados falsos com valores diferentes para as linhas subsequentes; no entanto, lembre-se de que você só tem 1.000 solicitações por dia do Pushingbox, então não enlouqueça! Se este procedimento não atualizou sua planilha, volte e revise as Partes 1-3 deste manual de instruções para erros antes de tentar a Parte 4.





Parte 4


Depois de confirmar que você conseguiu enviar alguns pseudo-dados codificados diretamente de seu navegador para sua Planilha Google, você agora está pronto para a próxima etapa, que envolve o envio de dados diretamente do MKR1000 para Planilhas Google via Pushingbox via WiFi. Antes de fazer o upload e executar o esboço do Arduino incluído no MKR1000, você deve concluir as três etapas a seguir.

Hardware

1. Ligar o MKR1000 ao DHT:Esta é uma tarefa simples, especialmente se estiver usando o MKR1000. Eu recomendo que você alimente o DHT com 5 volts, que está disponível no MKR1000, listado como 5v. Supostamente, o DHT pode funcionar em 3,3 V, mas não achei as leituras do DHT confiáveis ​​na tensão mais baixa. Você tem a opção de usar vários pinos diferentes para inserir os dados do DHT para o MKR1000, mas em meu esboço eu uso o pino 5 o que mapeia para o Pin D5 no MKR1000 na parte superior da placa.

Software (1)

2. Existem algumas etapas para configurar seu IDE Arduino para funcionar com seu MKR1000. Essas etapas incluem o download de duas bibliotecas e a configuração do Arduino IDE (1.6.4 ou posterior) com o pacote de placa MRK1000 correto (Ferramentas -> Placa -> Gerenciador de placas). Muitos de vocês já terão instalado todo o software de que precisam, para aqueles que não o fizeram, abaixo estão os links para recuperar as bibliotecas necessárias e o pacote de suporte da placa MKR1000. Observe também que tive que usar uma versão anterior do pacote da placa MKR1000, pois o pacote de suporte da placa MKR1000 mais recente não funcionava corretamente. Espero que este problema tenha sido resolvido no momento em que você ler isto.

https://www.arduino.cc/en/Reference/WiFi101

As duas bibliotecas necessárias para o esboço:
  • https://github.com/arduino-libraries/WiFi101
  • https://learn.adafruit.com/dht

Software (2)

3. Agora você está pronto para a etapa final do projeto, você precisa copiar e colar o esboço do Arduino incluído, personalizá-lo para o seu dispositivo e, em seguida, fazer o upload do esboço para o seu MKR1000. O sketch também retransmite a saída serial a 9600 baud para que você possa monitorar os dados sendo enviados via wi-fi. Os três campos no esboço do Arduino que você deve personalizar são:

A) Seu nome de WiFi

B) Sua senha WiFi

C) O ID do dispositivo da sua caixa push (devid)

É isso, pronto! Se tudo foi concluído corretamente, sua saída será semelhante à imagem abaixo:

Obrigado a todas as pessoas que construíram a maioria dos componentes de software sobre os quais este projeto foi construído. Listei seus nomes nos comentários do código para atribuição adequada. Sinta-se à vontade para usar quaisquer peças deste projeto de que você precisa para criar sua própria magia.

-SDB

Código

  • MKR1000 para planilhas do Google via PushingBox usando o DHT
  • Google Script para receber dados sem fio em formato HTTPS
  • String de URL PushingBox (para cola HTTPS)
MKR1000 para o Google Sheets via PushingBox usando o DHT Arduino
Este Arduino Sketch envia dados via WiFI para a caixa de envio para criptografia e depois para o PushingBox para registrar esses dados em sua Planilha Google
 // --------------------- -------------------------- // Este esboço é combinado do sensor Adafruit DHT e tdicola para a biblioteca dht.h // https:// aprender .adafruit.com / dht / overview // https://gist.github.com/teos0009/acad7d1e54b97f4b2a88//other Autores Arduino e Google Script associado:// Aditya Riska Putra // Ahmed Reza Rafsanzani // Ryan Eko Saputro // Veja também:// http://jarkomdityaz.appspot.com/////ELINS UGM //// Modificado para o projeto Hackster.io para o MKR1000 // por Stephen Borsay (Portland, OR, EUA) // Desde Arduino não é possível https, precisamos usar a API Pushingbox (usa http) para executar // o Google Script (usa https). Como alternativa, use a criptografia SecureWifi de Ivan # include  #include "DHT.h" #define DHTPIN 5 // a que pino estamos conectados, o pino1 é o quinto pino da extremidade // Remova o comentário de qualquer tipo de sensor DHT que você está usando ! # define DHTTYPE DHT11 // DHT 11 // # define DHTTYPE DHT21 // DHT 21 // # define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN, DHTTYPE); const char WEBSITE [] ="api.pushingbox.com"; // pushbox API serverconst String devid ="YOUR_DEVICEID"; // ID do dispositivo no Pushingbox para nosso Scenarioconst char * MY_SSID ="YOUR SSID"; const char * MY_PWD ="YOUR WiFi PASSWORD"; int status =WL_IDLE_STATUS; // se você não quiser usar DNS (e reduzir seu esboço tamanho) // use o IP numérico em vez do nome do servidor:// servidor IPAddress (74,125,232,128); // IP numérico para Google (sem DNS) void setup () {// Inicializar serial e esperar a porta abrir:Serial.begin (9600); while (! Serial) {; // aguarde a conexão da porta serial. Necessário apenas para porta USB nativa} // verifique a presença do escudo:if (WiFi.status () ==WL_NO_SHIELD) {Serial.println ("escudo WiFi não presente"); // não continue:while (true); } // tentativa de conexão à rede Wifi:while (status! =WL_CONNECTED) {Serial.print ("Tentando conectar ao SSID:"); Serial.println (MY_SSID); // Conecte-se à rede WPA / WPA2. Altere esta linha se estiver usando open / WEP network status =WiFi.begin (MY_SSID, MY_PWD); // aguarde 10 segundos pela conexão:delay (10000); } Serial.println ("Conectado a wi-fi"); printWifiStatus (); } void loop () {// Aguarde entre as medições. atraso (10000); // prefere usar float, mas o tamanho do pacote ou a conversão de float não está funcionando // revisará no futuro com uma função de string ou função de conversão de float int umidadeData =dht.readHumidity (); // Lê a temperatura como Celsius (o padrão) int celData =dht.readTemperature (); // Lê a temperatura como Fahrenheit (isFahrenheit =true) int fehrData =dht.readTemperature (true); // Verifique se alguma leitura falhou e saia mais cedo (para tentar novamente). if (isnan (wetData) || isnan (celData) || isnan (fehrData)) {Serial.println ("Falha ao ler do sensor DHT!"); Retorna; } // Computa o índice de calor em Fahrenheit (o padrão) int hifData =dht.computeHeatIndex (fehrData, moistData); // Computa o índice de calor em Celsius (isFahreheit =false) int hicData =dht.computeHeatIndex (celData, moistData, false); Serial.print ("Umidade:"); Serial.print (umidadeData); Serial.print ("% \ t"); Serial.print ("Temperatura:"); Serial.print (celData); Serial.print ("* C"); Serial.print (fehrData); Serial.print ("* F \ t"); Serial.print ("Índice de calor:"); Serial.print (hicData); Serial.print ("* C"); Serial.print (hifData); Serial.println ("* F \ n"); Serial.println ("\ nEnviando dados para o servidor ..."); // se você obtiver uma conexão, reporte via serial:WiFiClient client; // Instancie o objeto WiFi, pode definir o escopo daqui ou globalmente // serviço de API usando o cliente WiFi por meio de PushingBox e, em seguida, retransmitido para o Google if (client.connect (WEBSITE, 80)) {client.print ("GET / pushbox? Devid =" + devid + "&wetData =" + (String) umidadeData + "&celData =" + (String) celData + "&fehrData =" + (String) fehrData + "&hicData =" + (String) hicData + "&hifData =" + (String) hifData); // HTTP 1.1 fornece uma conexão persistente, permitindo solicitações em lote // ou canalizadas para um buffer de saída client.println ("HTTP / 1.1"); client.print ("Host:"); client.println (WEBSITE); client.println ("User-Agent:MKR1000 / 1.0"); // para MKR1000, ao contrário de esp8266, não feche a conexão client.println (); Serial.println ("\ nDados enviados"); }} void printWifiStatus () {// imprime o SSID da rede à qual você está conectado:Serial.print ("SSID:"); Serial.println (WiFi.SSID ()); // imprime o endereço IP do seu escudo WiFi:IPAddress ip =WiFi.localIP (); Serial.print ("Endereço IP:"); Serial.println (ip); // imprime a intensidade do sinal recebido:long rssi =WiFi.RSSI (); Serial.print ("intensidade do sinal (RSSI):"); Serial.print (rssi); Serial.println ("dBm");} 
Google Script para receber dados sem fio em formato HTTPS JavaScript
Cole-o no Editor de scripts de sua Planilha Google para receber seus dados sem fio. Lembre-se de que ele deve ser criptografado / no formato HTTPS do certificado de segurança, é por isso que estou usando PushingBox
 // -------------------------- --------------------- // Originalmente publicado por Mogsdad @ Stackoverflow // Modificado para jarkomdityaz.appspot.com//Modificado para Hackster.io por Stephen Borsay // -----------------------------------------------/*PEGUE solicitar consulta:https://script.google.com/macros/s/  / exec? celData =data_here ----------------------- ----------------------------------------------- GScript, PushingBox e Arduino / ESP8266 Variáveis ​​em ordem:umidadeDatcelDatafehrDatahicDatahifData ----------------------------------------- ----------- * // * Usando a API de planilha * / function doGet (e) {Logger.log (JSON.stringify (e)); // visualizar parâmetros var result ='Ok'; // assume sucesso if (e.parameter ==undefined) {result ='No Parameters'; } else {var id =' 
String de URL PushingBox (para cola HTTPS) HTML
Esta é a sua string para conectar os nomes das variáveis ​​do Arduino / MKR1000 sendo transmitidos para o Google Sheets com os mesmos nomes exatos. Usando PushingBox como um intermediário de habilitação de segurança RESTfully.
? UmidadeData =$ umidadeData $ &celData =$ celData $ &fehrData =$ fehrData $ &hicData =$ hicData $ &hifData =$ hifData $ 

Peças personalizadas e gabinetes

outros dados
outro wirelesshttps://github.com/sboursay/Arduino_Wireless

Esquemas

Layout

Processo de manufatura

  1. ASSISTENTE DO GOOGLE MATRIX VOICE - PROJETO MATRIX VOICE
  2. Envie dados do sensor de um Arduino para outro usando Firebase
  3. Faça Monitor Ambilight usando Arduino
  4. Transferência de dados magnéticos sem fio
  5. Jogo Arduino Pong - Tela OLED
  6. Arduino - Tirar uma foto - Carregar para o Google Drive
  7. Detector de frequência de áudio
  8. Arduino Tamagotchi Clone - Animal de estimação digital
  9. Manipulador de interruptor de luz sem fio
  10. Tech-TicTacToe