Spisu treści:
- Krok 1: Specyfikacja sprzętu i oprogramowania
- Krok 2: Konfiguracja czujnika bezprzewodowego i odbiornika Zigmo za pomocą XCTU
- Krok 3: Bezprzewodowa analiza wartości temperatury i wibracji za pomocą narzędzia Labview
- Krok 4: Konfiguracja ustawień DHCP/statycznego adresu IP za pomocą portalu przechwytującego
- Krok 5: Zapisywanie ustawień Wi-Fi za pomocą Captive Portal
- Krok 6: Publikowanie odczytów czujników w UbiDots
- Krok 7: Wizualizacja danych
Wideo: Pierwsze kroki z bezprzewodowymi czujnikami temperatury i wibracji dalekiego zasięgu: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Czasami wibracje są przyczyną poważnych problemów w wielu aplikacjach. Od wałów maszyn i łożysk po wydajność dysków twardych, wibracje powodują uszkodzenie maszyny, wczesną wymianę, niską wydajność i poważnie wpływają na dokładność. Monitorowanie i od czasu do czasu analiza drgań w maszynie może rozwiązać problem wczesnego uszkodzenia i zużycia części maszyny.
W tej instrukcji będziemy pracować nad bezprzewodowymi czujnikami wibracji i temperatury dalekiego zasięgu IoT. Są to czujniki klasy przemysłowej o wielu powszechnych zastosowaniach, takich jak.
- Obróbka metalu
- Wytwarzanie energii
- Górnictwo
- Żywność i napoje
Tak więc w tym Instruktażowym przejdziemy przez następujące czynności:
- Konfiguracja czujników bezprzewodowych za pomocą XCTU i Labview UI.
- Pobieranie wartości drgań z czujnika.
- Zrozumienie działania urządzenia xbee i protokołu xbee.
- Konfigurowanie danych logowania Wi-Fi i konfiguracji IP za pomocą portalu przechwytującego
Krok 1: Specyfikacja sprzętu i oprogramowania
Specyfikacja sprzętu
- Bezprzewodowe czujniki wibracji i temperatury
- Odbiornik Zigmo
- Urządzenie ESP32 BLE/WiFi
Specyfikacja oprogramowania
- IDE Arduino
- Narzędzie LabView
Krok 2: Konfiguracja czujnika bezprzewodowego i odbiornika Zigmo za pomocą XCTU
Każde urządzenie IoT potrzebuje protokołu komunikacyjnego, aby umieścić urządzenie w chmurze i skonfigurować interfejs bezprzewodowy między różnymi urządzeniami.
Tutaj czujniki bezprzewodowe i odbiornik Zigmo wykorzystują rozwiązanie XBee o niskim poborze mocy i dalekim zasięgu. XBee używa protokołu ZigBee, który określa działanie w pasmach ISM od 902 do 928 MHz.
Xbee można skonfigurować za pomocą oprogramowania XCTU
- Wyszukaj urządzenie Xbee lub dodaj nowe urządzenie Xbee, klikając ikonę w lewym górnym rogu.
- Urządzenie zostanie wyświetlone na lewym panelu bocznym.
- kliknij dwukrotnie urządzenie, aby zobaczyć ustawienia.
- Teraz kliknij ikonę konsoli w prawym górnym rogu
- Możesz zobaczyć wartość nadchodzącą na wyjściu konsoli
- Tutaj otrzymujemy ramkę o długości 54 bajtów
- te bajty byłyby dalej manipulowane, aby uzyskać rzeczywiste wartości. procedura uzyskiwania rzeczywistych wartości temperatury i wibracji jest opisana w kolejnych krokach.
Krok 3: Bezprzewodowa analiza wartości temperatury i wibracji za pomocą narzędzia Labview
Czujnik działa w dwóch trybach
- Tryb konfiguracji: Skonfiguruj Pan ID, opóźnienie, liczbę ponownych prób itp. Więcej na ten temat wykracza poza zakres tej instrukcji i zostanie wyjaśnione w następnej instrukcji.
- Tryb Run: Uruchamiamy urządzenie w trybie Run. Do analizy tych wartości używamy narzędzia Labview
Ten interfejs użytkownika Labview pokazuje wartości na ładnych wykresach. Pokazuje aktualne i przeszłe wartości. Możesz przejść do tego linku, aby pobrać interfejs użytkownika Labview.
kliknij ikonę Uruchom z menu strony docelowej, aby przejść do trybu uruchamiania.
Krok 4: Konfiguracja ustawień DHCP/statycznego adresu IP za pomocą portalu przechwytującego
Używamy portalu przechwytującego, aby zapisać poświadczenia Wi-Fi i najechać na ustawienia IP. Aby uzyskać szczegółowe wprowadzenie do portalu dla niewoli, możesz przejść przez następujące instrukcje.
Portal przechwytujący daje nam możliwość wyboru między ustawieniami statycznymi i DHCP. Wystarczy wprowadzić dane uwierzytelniające, takie jak statyczny adres IP, maska podsieci, brama i brama czujnika bezprzewodowego zostaną skonfigurowane na tym adresie IP.
Krok 5: Zapisywanie ustawień Wi-Fi za pomocą Captive Portal
Hostowana jest strona internetowa, na której znajduje się lista z dostępnymi sieciami Wi-Fi i RSSI. Wybierz sieć Wi-Fi i hasło i wprowadź prześlij. Poświadczenia zostaną zapisane w pamięci EEPROM, a ustawienia IP zostaną zapisane w SPIFFS. Więcej na ten temat można znaleźć w tej instrukcji.
Krok 6: Publikowanie odczytów czujników w UbiDots
Tutaj używamy bezprzewodowych czujników temperatury i wibracji z odbiornikiem bramki ESP 32, aby uzyskać dane dotyczące temperatury i wilgotności. Dane przesyłamy do UbiDots za pomocą protokołu MQTT. MQTT stosuje mechanizm publikowania i subskrybowania, a nie żądanie i odpowiedź. Jest szybszy i niezawodny niż HTTP. Działa to w następujący sposób.
Odczytywanie danych czujnika bezprzewodowego
Otrzymujemy 29-bajtową ramkę z bezprzewodowych czujników temperatury i wibracji. Ta ramka jest manipulowana, aby uzyskać rzeczywistą temperaturę i dane dotyczące wibracji
if (Serial2.available()) { data[0] = Serial2.read(); opóźnienie(k); if(data[0]==0x7E) { Serial.println("Mam pakiet"); while (!Serial2.available()); for (i = 1; i< 55; i++) { dane = Serial2.odczyt(); opóźnienie(1); } if(data[15]==0x7F) /////// aby sprawdzić, czy otrzymane dane są poprawne { if(data[22]==0x08) //////// upewnij się, że typ czujnika jest poprawne { rms_x = ((uint16_t)(((dane[24])<<16) + ((dane[25])<<8) + (dane[26]))/100); rms_y = ((uint16_t)(((dane[27])<<16) + ((dane[28])<<8) + (dane[29]))/100); rms_z = ((uint16_t)(((dane[30])<<16) + ((dane[31])<<8) + (dane[32]))/100); max_x = ((uint16_t)(((dane[33])<<16) + ((dane[34])<<8) + (dane[35]))/100); max_y = ((uint16_t)(((dane[36])<<16) + ((dane[37])<<8) + (dane[38]))/100); max_z = ((uint16_t)(((dane[39])<<16) + ((dane[40])<<8) + (dane[41]))/100);
min_x = ((uint16_t)(((dane[42])<<16) + ((dane[43])<<8) + (dane[44]))/100); min_y = ((uint16_t)(((dane[45])<<16) + ((dane[46])<<8) + (dane[47]))/100); min_z = ((uint16_t)(((dane[48])<<16) + ((dane[49])<<8) + (dane[50]))/100);
cTemp = ((((dane[51]) * 256) + dane[52])); bateria podtrzymująca = ((dane[18] * 256) + dane[19]); napięcie podtrzymujące = 0,00322 * bateria; Serial.print("Numer czujnika"); Serial.println(dane[16]); Serial.print("Typ czujnika"); Serial.println(dane[22]); Serial.print("Wersja oprogramowania"); Serial.println(dane[17]); Serial.print("Temperatura w stopniach Celsjusza:"); druk.seryjny(cTemp); Serial.println("C"); Serial.print("Wibracje RMS w osi X:"); Serial.print(rms_x); Serial.println(" mg"); Serial.print("Wibracje RMS w osi Y:"); Serial.print(rms_y); Serial.println(" mg"); Serial.print("Wibracje RMS w osi Z:"); Serial.print(rms_z); Serial.println(" mg");
Serial.print("Minimalne wibracje w osi X:");
Serial.print(min_x); Serial.println(" mg"); Serial.print("Minimalne wibracje w osi Y:"); Serial.print(min_y); Serial.println(" mg"); Serial.print("Minimalne wibracje w osi Z:"); Serial.print(min_z); Serial.println(" mg");
Serial.print("wartość ADC:");
Serial.println(akumulator); Serial.print("Napięcie baterii:"); Serial.print(napięcie); Serial.println("\n"); if (napięcie < 1) { Serial.println("Czas na wymianę baterii"); } } } else { for (i = 0; i< 54; i++) { Serial.print(data); Serial.print(", "); opóźnienie(1); } } } }
Łączenie z UbiDots MQTT API
Dołącz plik nagłówkowy dla procesu MQTT
#include "PubSubClient.h"
zdefiniować inne zmienne dla MQTT, takie jak nazwa klienta, adres brokera, identyfikator tokena (pobieramy identyfikator tokena z EEPROM)
#define MQTT_CLIENT_NAME "ClientVBShightime123"char mqttBroker = "things.ubidots.com"; ładunek znaków[100]; temat char[150]; //utwórz zmienną do przechowywania identyfikatora tokena String tokenId;
Utwórz zmienne do przechowywania różnych danych z czujników i utwórz zmienną typu char do przechowywania tematu
#define VARIABLE_LABEL_TEMPF "tempF" // Przypisanie etykiety zmiennej#define VARIABLE_LABEL_TEMPC "tempC" // Przypisanie etykiety zmiennej #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "wilgotny" // Przypisanie etykiety zmiennej
char temat1[100];
char temat2[100]; char temat3[100];
opublikuj dane we wspomnianym temacie MQTT, ładunek będzie wyglądał następująco { "tempc": {value: "tempData"}}
sprintf(temat1, "%s", "");sprintf(temat1, "%s%s", "/v1.6/devices/", DEVICE_LABEL); sprintf(ładunek, "%s", "");
// Czyści sprintf(payload, "{"%s\":", VARIABLE_LABEL_TEMPC);
// Dodaje wartość sprintf(payload, "%s{"value\":%s}", payload, str_cTemp);
// Dodaje wartość sprintf(payload, "%s}", payload);
// Zamyka nawiasy słownikowe Serial.println(payload);
Serial.println(client.publish(topic1, payload) ? "opublikowane": "nieopublikowane");
//Zrób to samo dla innego tematu
client.publish() publikuje dane do UbiDots
Krok 7: Wizualizacja danych
- Przejdź do Ubidots i zaloguj się na swoje konto.
- Przejdź do pulpitu nawigacyjnego z karty Dane wymienionej na górze.
- Teraz kliknij ikonę „+”, aby dodać nowe widżety.
- Wybierz widżet z listy i dodaj zmienną oraz urządzenia.
- Dane z czujników można wizualizować na desce rozdzielczej za pomocą różnych widżetów.
Ogólny kod
Kod Over dla HTML i ESP32 można znaleźć w tym repozytorium GitHub.
- Płytka zaciskowa ncd ESP32.
- ncd Bezprzewodowe czujniki temperatury i wilgotności.
- pubsubklient
- UbiDots
Zalecana:
IoT-Ubidots-ESP32+Bezprzewodowy-Długiego Zasięgu-Czujnik-Wibracji-Temperatury-: 7 Kroków
IoT-Ubidots-ESP32+Długi zasięg-Bezprzewodowy-czujnik-wibracji-i-temperatury: Wibracje to naprawdę ruch tam i z powrotem – lub oscylacja – maszyn i komponentów w zmotoryzowanych gadżetach. Wibracje w systemie przemysłowym mogą być objawem lub motywem kłopotów lub mogą być związane z codzienną pracą. Na przykład osci
Node-RED z czujnikiem wibracji i temperatury dalekiego zasięgu IoT: 34 kroki
Node-RED z czujnikiem wibracji i temperatury dalekiego zasięgu IoT: Przedstawiamy bezprzewodowy czujnik wilgotności dalekiego zasięgu NCD, który może pochwalić się zasięgiem do 28 mil przy użyciu bezprzewodowej architektury sieci kratowej. Wyposażony w czujnik temperatury i wilgotności Honeywell HIH9130 przekazuje bardzo dokładną temperaturę i
Wysyłanie danych z bezprzewodowego czujnika temperatury i wilgotności dalekiego zasięgu IoT do arkusza Google: 39 kroków
Wysyłanie danych z bezprzewodowego czujnika temperatury i wilgotności dalekiego zasięgu IoT do arkusza Google: używamy tutaj czujnika temperatury i wilgotności NCD, ale kroki pozostają takie same dla każdego produktu ncd, więc jeśli masz inne bezprzewodowe czujniki ncd, możesz swobodnie obserwować obok. Za pomocą stopu tego tekstu musisz
Bezprzewodowy czujnik temperatury i wilgotności IOT dalekiego zasięgu z czerwonym węzłem: 27 kroków
Bezprzewodowy czujnik temperatury i wilgotności IOT dalekiego zasięgu z Node-Red: Przedstawiamy bezprzewodowy czujnik temperatury i wilgotności dalekiego zasięgu NCD, który może pochwalić się zasięgiem do 28 mil przy użyciu bezprzewodowej architektury sieci kratowej. Wyposażony w czujnik temperatury i wilgotności Honeywell HIH9130 przekazuje bardzo dokładną temperaturę i
Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): 10 kroków (ze zdjęciami)
Konsola ręczna z bezprzewodowymi kontrolerami i czujnikami (Arduino MEGA i UNO): Co użyłem: - Arduino MEGA - 2x Arduino UNO - Adafruit 3.5" Ekran dotykowy TFT 320x480 HXD8357D- Buzzer- Głośnik 4Ohm 3W- Diody LED 5mm- Drukarka Ultimaker 2+ z czarnym żarnikiem PLA- Wycinarka laserowa z drewnem MDF- Czarna farba w sprayu (do drewna)- 3x nRF24