Índice:
- Etapa 1: Especificação de Hardware e Software
- Etapa 2: configurar o sensor sem fio e o receptor Zigmo usando o XCTU
- Etapa 3: Análise de valores de temperatura e vibração sem fio usando o Labview Utility
- Etapa 4: definir configurações de DHCP / IP estático usando o portal cativo
- Etapa 5: salvando as configurações de WiFi usando o portal cativo
- Etapa 6: Publicação de leituras de sensor para UbiDots
- Etapa 7: Visualizando os Dados
Vídeo: Introdução aos sensores de vibração e temperatura sem fio de longo alcance: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
À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
- 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
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
- Procure o dispositivo Xbee ou adicione um novo dispositivo Xbee clicando no ícone superior esquerdo.
- O dispositivo será listado no painel do lado esquerdo.
- clique duas vezes no dispositivo para ver as configurações.
- Agora clique no ícone do console no canto superior direito
- Você pode ver o valor vindo na saída do console
- Aqui estamos obtendo o quadro de 54 bytes de comprimento
- 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
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
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
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
- 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.
- placa de breakout ncd ESP32.
- Sensores de umidade e temperatura sem fio ncd.
- pubsubclient
- UbiDots
Recomendado:
Node-RED com sensor de temperatura e vibração de longo alcance IoT: 34 etapas
Node-RED com sensor de temperatura e vibração de longo alcance IoT: Apresentando o sensor de temperatura e umidade sem fio de longo alcance da NCD, com alcance de até 28 milhas usando uma arquitetura de rede mesh sem fio. Incorporar o sensor de temperatura e umidade Honeywell HIH9130 transmite a temperatura de alta precisão e
ThingSpeak, ESP32 e Temperatura e umidade sem fio de longo alcance: 5 etapas
ThingSpeak, ESP32 e Long Range Wireless Temp and Humidity: Neste tutorial, mediremos diferentes dados de temperatura e umidade usando o sensor de temperatura e umidade. Você também aprenderá como enviar esses dados para ThingSpeak. Para que você possa analisá-lo de qualquer lugar para diferentes aplicativos
Envio de dados do sensor de umidade e temperatura sem fio de longo alcance da IoT para a planilha do Google: 39 etapas
Enviando dados do sensor de temperatura e umidade sem fio de IoT de longo alcance para a planilha do Google: estamos usando aqui o sensor de temperatura e umidade do NCD, mas as etapas permanecem iguais para qualquer produto ncd, portanto, se você tiver outros sensores sem fio ncd, fique à vontade para observar ao lado, além disso. Por meio da parada deste texto, você precisa
Sensor de umidade e temperatura sem fio de longo alcance IOT com nó vermelho: 27 etapas
Sensor de temperatura e umidade sem fio de longo alcance IOT com Node-Red: Apresentando o sensor de temperatura e umidade sem fio de longo alcance da NCD, ostentando um alcance de 28 milhas usando uma arquitetura de rede mesh sem fio. Incorporar o sensor de temperatura-umidade Honeywell HIH9130 transmite temperatura de alta precisão e
Indicador de nível de água sem fio de longo alcance com alarme - Alcance até 1 Km - Sete níveis: 7 etapas
Indicador de nível de água sem fio de longo alcance com alarme | Alcance até 1 Km | Sete níveis: assista no Youtube: https://youtu.be/vdq5BanVS0YVocê pode ter visto muitos indicadores de nível de água com e sem fio que forneceriam um alcance de 100 a 200 metros. Mas neste instrutível, você verá um Indi de nível de água sem fio de longo alcance