Съдържание:
- Стъпка 1: Спецификация на хардуера и софтуера
- Стъпка 2: Конфигуриране на безжичен сензор и Zigmo приемник с помощта на XCTU
- Стъпка 3: Анализ на температурата и вибрационните стойности на безжичната мрежа с помощта на Labview Utility
- Стъпка 4: Конфигуриране на DHCP/статични IP настройки с помощта на Captive Portal
- Стъпка 5: Запазване на настройките за WiFi с помощта на Captive Portal
- Стъпка 6: Публикуване на показанията на сензорите в UbiDots
- Стъпка 7: Визуализиране на данните
Видео: Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Понякога вибрациите са причина за сериозни проблеми в много приложения. От валове и лагери на машината до работа на твърдия диск, вибрациите причиняват повреда на машината, ранна подмяна, ниска производителност и нанасят сериозен удар върху точността. Мониторингът и периодичният анализ на вибрациите в машината могат да решат проблема с ранните повреди и износването на машинната част.
В тази инструкция ще работим върху безжичните сензори за вибрации и температура на IoT на дълги разстояния. Това са сензори от промишлен клас с много широко разпространени приложения като.
- Металообработване
- Производство на електроенергия
- Минен
- Храни и напитки
Така че в тази инструкция ще преминем през следното:
- Конфигуриране на безжични сензори с помощта на XCTU и потребителския интерфейс на Labview.
- Получаване на стойностите на вибрации от сензора.
- Разбиране на работата на xbee устройство и xbee протокол.
- Конфигуриране на идентификационни данни за WiFi и IP конфигурация с помощта на портала за задържане
Стъпка 1: Спецификация на хардуера и софтуера
Спецификация на хардуера
- Безжични сензори за вибрации и температура
- Зигмо приемник
- ESP32 BLE/ WiFi устройство
Спецификация на софтуера
- Arduino IDE
- Помощна програма LabView
Стъпка 2: Конфигуриране на безжичен сензор и Zigmo приемник с помощта на XCTU
Всяко IoT устройство се нуждае от комуникационен протокол, за да постави устройството над облака и да настрои безжичен интерфейс между различни устройства.
Тук безжичните сензори и приемникът Zigmo използват решение XBee с ниска мощност и дълги разстояния. XBee използва протокол ZigBee, който определя операцията в 902 до 928 MHz ISM ленти.
Xbee може да бъде конфигуриран с помощта на софтуер XCTU
- Потърсете устройството Xbee или добавете ново устройство Xbee, като щракнете върху иконата в горния ляв ъгъл.
- Устройството ще бъде изброено в панела вляво.
- щракнете двукратно върху устройството, за да видите настройките.
- Сега кликнете върху иконата на конзолата в горния десен ъгъл
- Можете да видите стойността, идваща на изхода на конзолата
- Тук получаваме рамката с дължина 54 байта
- тези байтове ще бъдат допълнително манипулирани, за да се получат реалните стойности. процедурата за получаване на реалната температура и стойностите на вибрациите са споменати в предстоящите стъпки.
Стъпка 3: Анализ на температурата и вибрационните стойности на безжичната мрежа с помощта на Labview Utility
Сензорът работи в два режима
- Режим на конфигуриране: Конфигурирайте Pan ID, забавяне, брой повторения и др. Повече за това е извън обхвата на тази инструкция и ще бъде обяснено в следващата инструкция.
- Режим на изпълнение: Работим с устройството в режим на изпълнение. И за да анализираме тези стойности, използваме помощната програма Labview
Този потребителски интерфейс на Labview показва стойностите в хубави графики. Той показва текущите, както и миналите стойности. Можете да отидете на тази връзка, за да изтеглите потребителския интерфейс на Labview.
щракнете върху иконата Run от менюто на целевата страница, за да преминете към режим Run.
Стъпка 4: Конфигуриране на DHCP/статични IP настройки с помощта на Captive Portal
Използваме портала за задържане, за да запазим идентификационните данни за WiFi и да задържим курсора на мишката през настройките на IP. За подробно представяне на портала за задържане можете да преминете през следните инструкции.
Порталът за задържане ни дава възможност да избираме между статични и DHCP настройки. Просто въведете идентификационните данни като Static IP, Subnet Mask, gateway и Wireless Sensor Gateway ще бъдат конфигурирани на този IP.
Стъпка 5: Запазване на настройките за WiFi с помощта на Captive Portal
Хоства се уеб страница, където има списък с наличните WiFi мрежи и RSSI. Изберете WiFi мрежата и паролата и въведете submit. Идентификационните данни ще бъдат записани в EEPROM, а настройката на IP ще бъде запазена в SPIFFS. Повече за това можете да намерите в тази инструкция.
Стъпка 6: Публикуване на показанията на сензорите в UbiDots
Тук използваме безжични сензори за температура и вибрации с приемника на шлюза ESP 32, за да получим данните за температурата и влажността. Изпращаме данните към UbiDots, използвайки протокола MQTT. MQTT следва механизъм за публикуване и абониране, а не тази заявка и отговор. Той е по -бърз и надежден от HTTP. Това работи по следния начин.
Четене на данните за безжичния сензор
Получаваме 29-байтова рамка от безжичните сензори за температура и вибрации. Тази рамка се манипулира, за да се получат действителната температура и данните за вибрациите
if (Serial2.available ()) {data [0] = Serial2.read (); забавяне (к); if (данни [0] == 0x7E) {Serial.println ("Получен пакет"); while (! Serial2.available ()); за (i = 1; i <55; i ++) {данни = Serial2.read (); забавяне (1); } if (data [15] == 0x7F) /////// за да проверите дали данните за получаване са правилни {if (data [22] == 0x08) //////// уверете се, че типът на сензора е правилно {rms_x = ((uint16_t) (((данни [24]) << 16) + ((данни [25]) << 8) + (данни [26]))/100); rms_y = ((uint16_t) (((данни [27]) << 16) + ((данни [28]) << 8) + (данни [29]))/100); rms_z = ((uint16_t) (((данни [30]) << 16) + ((данни [31]) << 8) + (данни [32]))/100); max_x = ((uint16_t) (((данни [33]) << 16) + ((данни [34]) << 8) + (данни [35]))/100); max_y = ((uint16_t) (((данни [36]) << 16) + ((данни [37]) << 8) + (данни [38]))/100); max_z = ((uint16_t) (((данни [39]) << 16) + ((данни [40]) << 8) + (данни [41]))/100);
min_x = ((uint16_t) (((данни [42]) << 16) + ((данни [43]) << 8) + (данни [44]))/100); min_y = ((uint16_t) (((данни [45]) << 16) + ((данни [46]) << 8) + (данни [47]))/100); min_z = ((uint16_t) (((данни [48]) << 16) + ((данни [49]) << 8) + (данни [50]))/100);
cTemp = ((((данни [51]) * 256) + данни [52])); плаваща батерия = ((данни [18] * 256) + данни [19]); плаващо напрежение = 0,00322 * батерия; Serial.print ("Номер на сензора"); Serial.println (данни [16]); Serial.print ("Тип сензор"); Serial.println (данни [22]); Serial.print ("Версия на фърмуера"); Serial.println (данни [17]); Serial.print ("Температура в Целзий:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS вибрация по оста X:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("RMS вибрация по оста Y:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("RMS вибрация по оста Z:"); Serial.print (rms_z); Serial.println ("mg");
Serial.print ("Минимални вибрации по оста X:");
Serial.print (min_x); Serial.println ("mg"); Serial.print ("Минимални вибрации по оста Y:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Минимални вибрации по оста Z:"); Serial.print (min_z); Serial.println ("mg");
Serial.print ("ADC стойност:");
Serial.println (батерия); Serial.print ("Напрежение на батерията:"); Serial.print (напрежение); Serial.println ("\ n"); if (напрежение <1) {Serial.println ("Време за смяна на батерията"); }}} else {for (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); забавяне (1); }}}}
Свързване към UbiDots MQTT API
Включете заглавния файл за процеса MQTT
#include "PubSubClient.h"
дефинирайте други променливи за MQTT като име на клиент, адрес на брокер, идентификационен номер на маркера (Извличаме идентификационния номер на маркера от EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; полезен товар char [100]; char тема [150]; // създаване на променлива за съхраняване на идентификатор на маркер String tokenId;
Създайте променливи за съхраняване на различни сензорни данни и създайте променлива char за съхраняване на тема
#define VARIABLE_LABEL_TEMPF "tempF" // Задаване на етикета на променливата #define VARIABLE_LABEL_TEMPC "tempC" // Определяне на етикета на променливата #define VARIABLE_LABEL_BAT "bat" #дефиниране на VARIABLE_LABEL_HUMID "влажен" етикет
char topic1 [100];
char topic2 [100]; char topic3 [100];
публикуване на данните към споменатата тема за MQTT полезният товар ще изглежда като {"tempc": {стойност: "tempData"}}
sprintf (topic1, "%s", ""); sprintf (topic1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf (полезен товар, "%s", "");
// Почиства полезния товар sprintf (полезен товар, "{"%s / ":", VARIABLE_LABEL_TEMPC);
// Добавя стойността sprintf (полезен товар, "%s {" стойност / ":%s}", полезен товар, str_cTemp);
// Добавя стойността sprintf (полезен товар, "%s}", полезен товар);
// Затваря скобите на речника Serial.println (полезен товар);
Serial.println (client.publish (topic1, полезен товар)? "Published": "notpublished");
// Направете същото и за друга тема
client.publish () публикува данните в UbiDots
Стъпка 7: Визуализиране на данните
- Отидете на Ubidots и влезте в профила си.
- Придвижете се до таблото за управление от раздела Данни, посочен в горната част.
- Сега щракнете върху иконата "+", за да добавите новите джаджи.
- Изберете приспособление от списъка и добавете променлива и устройства.
- Данните от сензора могат да се визуализират на таблото за управление, като се използват различни приспособления.
Общ код
Over кодът за HTML и ESP32 може да бъде намерен в това хранилище на GitHub.
- ncd ESP32 пробивна платка.
- ncd Безжични сензори за температура и влажност.
- pubsubclient
- UbiDots
Препоръчано:
IoT- Ubidots- ESP32+Сензор за безжична връзка с дълги разстояния и вибрации и температура: 7 стъпки
IoT-Ubidots- ESP32+Сензор за безжична връзка с дълги разстояния и вибрации и температура: Вибрацията е наистина движение напред-назад-или трептене-на машини и компоненти в моторизирани джаджи. Вибрациите в промишлената система могат да бъдат симптом или мотив на караница или могат да бъдат свързани с ежедневна работа. Например, osci
Безжични данни за сензора за вибрации и температура към MySQL, използвайки Node-RED: 40 стъпки
Безжични данни за сензора за вибрации и температура към MySQL с помощта на Node-RED: Представяне на NCD Long Range IoT Industrial безжичен сензор за вибрации и температура, който може да се похвали с обхват до 2 мили с използването на безжична мрежова структура. Включващ прецизен 16-битов сензор за вибрации и температура, това устройство
Изпращане на данни за безжични сензори за вибрации и температура в Excel с помощта на Node-RED: 25 стъпки
Изпращане на данни за безжични сензори за вибрации и температура към Excel с помощта на Node-RED: Представяне на NCD Long Range IoT Industrial безжичен сензор за вибрации и температура, който може да се похвали с обхват до 2 мили с използването на мрежова структура за безжична мрежа. Включващ прецизен 16-битов сензор за вибрации и температура, това устройство
Node-RED с IoT датчик за вибрации за дълги разстояния и температура: 34 стъпки
Node-RED с IoT датчик за вибрации и температура на дълги разстояния: Представяме безжичния сензор за влажност на температурата на NCD на далечни разстояния, който може да се похвали с обхват до 28 мили, използвайки мрежова архитектура с безжична мрежа. Включването на температурния сензор за влажност на Honeywell HIH9130 предава високо точна температура и
Структурен мониторинг на здравето на гражданските инфраструктури с помощта на безжични сензори за вибрации: 8 стъпки
Структурен мониторинг на здравето на гражданските инфраструктури с помощта на безжични сензори за вибрации: Влошаването на старата сграда и гражданската инфраструктура може да доведе до фатална и опасна ситуация. Постоянният мониторинг на тези структури е задължителен. Структурният мониторинг на здравето е изключително важна методология за оценка на