Índice:

Introdução aos sensores de vibração e temperatura sem fio de longo alcance: 7 etapas
Introdução aos sensores de vibração e temperatura sem fio de longo alcance: 7 etapas

Vídeo: Introdução aos sensores de vibração e temperatura sem fio de longo alcance: 7 etapas

Vídeo: Introdução aos sensores de vibração e temperatura sem fio de longo alcance: 7 etapas
Vídeo: Sistema de análise de vibração sem fio - VibroWatch 2024, Novembro
Anonim
Primeiros passos com sensores de vibração e temperatura sem fio de longo alcance
Primeiros passos com sensores de vibração e temperatura sem fio de longo alcance

Às vezes, a vibração é a causa de problemas sérios em muitas aplicações. De eixos e rolamentos da máquina ao desempenho do disco rígido, a vibração causa danos à máquina, substituição antecipada, baixo desempenho e inflige um grande impacto na precisão. O monitoramento e a análise periódica da vibração na máquina podem resolver o problema de danos e desgaste prematuros da peça da máquina.

Neste instrutível, trabalharemos nos sensores de vibração e temperatura sem fio de longo alcance da IoT. Estes são sensores de nível industrial com muitas aplicações generalizadas como.

  • Metalurgia
  • Geração de energia
  • Mineração
  • Alimentos e Bebidas

Portanto, neste Instructable, iremos passar pelo seguinte:

  • Configurando sensores sem fio usando XCTU e Labview UI.
  • Obtendo os valores de vibração do sensor.
  • Compreender o funcionamento do dispositivo xbee e do protocolo xbee.
  • Configurar credenciais de WiFi e configuração de IP usando o portal cativo

Etapa 1: Especificação de Hardware e Software

Especificação de Hardware e Software
Especificação de Hardware e Software
Especificação de Hardware e Software
Especificação de Hardware e Software
Especificação de Hardware e Software
Especificação de Hardware e Software

Especificação de Hardware

  • Sensores de vibração e temperatura sem fio
  • Receptor Zigmo
  • Dispositivo ESP32 BLE / WiFi

Especificação de Software

  • IDE Arduino
  • Utilitário LabView

Etapa 2: configurar o sensor sem fio e o receptor Zigmo usando o XCTU

Configurando o sensor sem fio e o receptor Zigmo usando o XCTU
Configurando o sensor sem fio e o receptor Zigmo usando o XCTU
Configurando o sensor sem fio e o receptor Zigmo usando o XCTU
Configurando o sensor sem fio e o receptor Zigmo usando o XCTU

Cada dispositivo IoT precisa de um protocolo de comunicação para colocar o dispositivo na nuvem e configurar uma interface sem fio entre diferentes dispositivos.

Aqui, os sensores sem fio e o receptor Zigmo usam a solução XBee de baixo consumo de energia e longo alcance. O XBee usa um protocolo ZigBee que especifica a operação em bandas ISM de 902 a 928 MHz.

O Xbee pode ser configurado usando o software XCTU

  1. Procure o dispositivo Xbee ou adicione um novo dispositivo Xbee clicando no ícone superior esquerdo.
  2. O dispositivo será listado no painel do lado esquerdo.
  3. clique duas vezes no dispositivo para ver as configurações.
  4. Agora clique no ícone do console no canto superior direito
  5. Você pode ver o valor vindo na saída do console
  6. Aqui estamos obtendo o quadro de 54 bytes de comprimento
  7. esses bytes seriam posteriormente manipulados para obter os valores reais. o procedimento para obter os valores reais de temperatura e vibração são mencionados nas próximas etapas.

Etapa 3: Análise de valores de temperatura e vibração sem fio usando o Labview Utility

Análise de valores de temperatura e vibração sem fio usando o utilitário Labview
Análise de valores de temperatura e vibração sem fio usando o utilitário Labview
Análise de valores de temperatura e vibração sem fio usando o utilitário Labview
Análise de valores de temperatura e vibração sem fio usando o utilitário Labview

O sensor funciona em dois modos

  • Modo de configuração: Configure o Pan ID, atraso, número de tentativas, etc. Mais sobre isso está além do escopo deste instrutível e será explicado no próximo instrutível.
  • Modo de execução: estamos executando o dispositivo no modo de execução. E para analisar esses valores, estamos usando o utilitário Labview

Esta IU do Labview mostra os valores em bons gráficos. Mostra os valores atuais e passados. Você pode acessar este link para baixar a IU do Labview.

clique no ícone Executar no menu da página de destino para ir para o modo de execução.

Etapa 4: definir configurações de DHCP / IP estático usando o portal cativo

Definição de configurações de DHCP / IP estático usando o portal cativo
Definição de configurações de DHCP / IP estático usando o portal cativo
Definição de configurações de DHCP / IP estático usando o portal cativo
Definição de configurações de DHCP / IP estático usando o portal cativo
Definição de configurações de DHCP / IP estático usando o portal cativo
Definição de configurações de DHCP / IP estático usando o portal cativo

Estamos usando o portal cativo para salvar as credenciais de WiFi e passar o mouse pelas configurações de IP. Para obter uma introdução detalhada sobre o portal cativo, você pode seguir as instruções a seguir.

O portal cativo nos dá a opção de escolher entre configurações estáticas e DHCP. Basta inserir as credenciais como IP estático, máscara de sub-rede, gateway e o gateway do sensor sem fio será configurado nesse IP.

Etapa 5: salvando as configurações de WiFi usando o portal cativo

Salvando configurações de WiFi usando o portal cativo
Salvando configurações de WiFi usando o portal cativo

Uma página da web está sendo hospedada onde uma lista mostrando as redes WiFi disponíveis e RSSI. Selecione a rede WiFi e a senha e insira enviar. As credenciais serão salvas na EEPROM e a configuração de IP será salva no SPIFFS. Mais sobre isso pode ser encontrado neste instrutível.

Etapa 6: Publicação de leituras de sensor para UbiDots

Aqui, estamos usando sensores sem fio de temperatura e vibração com o receptor de gateway ESP 32 para obter os dados de temperatura e umidade. Estamos enviando os dados para UbiDots usando o protocolo MQTT. MQTT segue um mecanismo de publicação e assinatura em vez de solicitação e resposta. É mais rápido e confiável do que HTTP. Isso funciona da seguinte maneira.

Lendo os dados do sensor sem fio

Estamos obtendo um quadro de 29 bytes dos sensores de temperatura e vibração sem fio. Este quadro é manipulado para obter os dados reais de temperatura e vibração

if (Serial2.available ()) {data [0] = Serial2.read (); atraso (k); if (dados [0] == 0x7E) {Serial.println ("Pacote obtido"); while (! Serial2.available ()); para (i = 1; i <55; i ++) {dados = Serial2.read (); atraso (1); } if (data [15] == 0x7F) /////// para verificar se os dados recive estão corretos {if (data [22] == 0x08) //////// certifique-se do tipo de sensor está correto {rms_x = ((uint16_t) (((dados [24]) << 16) + ((dados [25]) << 8) + (dados [26])) / 100); rms_y = ((uint16_t) (((dados [27]) << 16) + ((dados [28]) << 8) + (dados [29])) / 100); rms_z = ((uint16_t) (((dados [30]) << 16) + ((dados [31]) << 8) + (dados [32])) / 100); max_x = ((uint16_t) (((dados [33]) << 16) + ((dados [34]) << 8) + (dados [35])) / 100); max_y = ((uint16_t) (((dados [36]) << 16) + ((dados [37]) << 8) + (dados [38])) / 100); max_z = ((uint16_t) (((dados [39]) << 16) + ((dados [40]) << 8) + (dados [41])) / 100);

min_x = ((uint16_t) (((dados [42]) << 16) + ((dados [43]) << 8) + (dados [44])) / 100); min_y = ((uint16_t) (((dados [45]) << 16) + ((dados [46]) << 8) + (dados [47])) / 100); min_z = ((uint16_t) (((dados [48]) << 16) + ((dados [49]) << 8) + (dados [50])) / 100);

cTemp = ((((dados [51]) * 256) + dados [52])); bateria flutuante = ((dados [18] * 256) + dados [19]); tensão flutuante = 0,00322 * bateria; Serial.print ("Número do sensor"); Serial.println (dados [16]); Serial.print ("Tipo de sensor"); Serial.println (dados [22]); Serial.print ("Versão do firmware"); Serial.println (dados [17]); Serial.print ("Temperatura em Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("vibração RMS no eixo X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("vibração RMS no eixo Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("vibração RMS no eixo Z:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Vibração mínima no eixo X:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Vibração mínima no eixo Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Vibração mínima no eixo Z:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("valor ADC:");

Serial.println (bateria); Serial.print ("Voltagem da bateria:"); Serial.print (voltagem); Serial.println ("\ n"); if (voltagem <1) {Serial.println ("Hora de substituir a bateria"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); atraso (1); }}}}

Conectando-se à UbiDots MQTT API

Inclua o arquivo de cabeçalho para o processo MQTT

#include "PubSubClient.h"

definir outras variáveis para MQTT como nome do cliente, endereço do corretor, ID do token (estamos buscando o ID do token de EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; carga útil char [100]; char tópico [150]; // cria a variável para armazenar o ID do token String tokenId;

Crie variáveis para armazenar diferentes dados do sensor e crie uma variável char para armazenar o tópico

#define VARIABLE_LABEL_TEMPF "tempF" // Atribuindo o rótulo da variável # define VARIABLE_LABEL_TEMPC "tempC" // Atribuindo o rótulo da variável #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "úmido" // Atribuindo o rótulo da variável

char topic1 [100];

char topic2 [100]; char topic3 [100];

publicar os dados no tópico MQTT mencionado, a carga útil será semelhante a {"tempc": {value: "tempData"}}

sprintf (tópico1, "% s", ""); sprintf (tópico1, "% s% s", "/v1.6/dispositivos/", DEVICE_LABEL); sprintf (carga útil, "% s", "");

// Limpa a carga útil sprintf (carga útil, "{"% s / ":", VARIABLE_LABEL_TEMPC);

// Adiciona o valor sprintf (carga útil, "% s {" valor / ":% s}", carga útil, str_cTemp);

// Adiciona o valor sprintf (payload, "% s}", payload);

// Fecha os colchetes do dicionário Serial.println (carga útil);

Serial.println (client.publish (tópico1, carga útil)? "Publicado": "não publicado");

// Faça o mesmo para outro tópico também

client.publish () publica os dados para UbiDots

Etapa 7: Visualizando os Dados

Visualizando os Dados
Visualizando os Dados
  • Vá para Ubidots e faça login em sua conta.
  • Navegue até o Painel a partir da guia Dados listada na parte superior.
  • Agora clique no ícone "+" para adicionar os novos widgets.
  • Selecione um widget da lista e adicione uma variável e dispositivos.
  • Os dados do sensor podem ser visualizados no painel usando diferentes widgets.

Código Geral

O código Over para HTML e ESP32 pode ser encontrado neste repositório GitHub.

  1. placa de breakout ncd ESP32.
  2. Sensores de umidade e temperatura sem fio ncd.
  3. pubsubclient
  4. UbiDots

Recomendado: