Talaan ng mga Nilalaman:

Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors: 7 Hakbang
Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors: 7 Hakbang

Video: Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors: 7 Hakbang

Video: Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors: 7 Hakbang
Video: 4 Things na Wag Gagawin sa pag Drive ng Automatic Transmission na Kotse 2024, Hulyo
Anonim
Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors
Pagsisimula Sa Long Range Wireless Temperature at Vibration Sensors

Minsan ang panginginig ng boses ay ang sanhi ng mga seryosong isyu sa maraming mga application. Mula sa mga shaft ng machine at bearings hanggang sa pagganap ng hard disk, ang pag-vibrate ay nagdudulot ng pinsala sa makina, maagang pagpapalit, mababang pagganap, at naghahatid ng isang pangunahing hit sa kawastuhan. Ang pagsubaybay at pag-aaral ng oras sa oras ng pag-vibrate sa makina ay maaaring malutas ang problema ng maagang pinsala at pagkasira ng bahagi ng makina.

Sa itinuturo na ito, gagana kami sa IoT malayuan na panginginig ng wireless na panginginig at mga sensor ng temperatura. Ito ang mga pang-industriya na grado na sensor na may maraming kalat na mga application tulad ng.

  • Paggawa ng metal
  • Pagbuo ng lakas
  • Pagmimina
  • Pagkain at Inumin

Kaya, Sa Maituturo na ito madadaan namin ang mga sumusunod:

  • Ang pag-configure ng Mga Wireless Sensor gamit ang XCTU at Labview UI.
  • Pagkuha ng mga halaga ng panginginig ng boses mula sa sensor.
  • Pag-unawa sa pagtatrabaho ng xbee device at xbee protocol.
  • Ang pag-configure ng mga kredensyal ng WiFi at pagsasaayos ng IP gamit ang bihag na portal

Hakbang 1: Pagtukoy sa Hardware at Software

Pagtukoy sa Hardware at Software
Pagtukoy sa Hardware at Software
Pagtukoy sa Hardware at Software
Pagtukoy sa Hardware at Software
Pagtukoy sa Hardware at Software
Pagtukoy sa Hardware at Software

Pagtukoy sa Hardware

  • Mga Wireless Vibration at Temperatura Sensor
  • Tumatanggap ng Zigmo
  • Aparatong ESP32 BLE / WiFi

Pagtukoy ng Software

  • Arduino IDE
  • Utility ng LabView

Hakbang 2: Pag-configure ng Wireless Sensor at Zigmo Receiver Gamit ang XCTU

Ang pag-configure ng Wireless Sensor at Zigmo Receiver Gamit ang XCTU
Ang pag-configure ng Wireless Sensor at Zigmo Receiver Gamit ang XCTU
Ang pag-configure ng Wireless Sensor at Zigmo Receiver Gamit ang XCTU
Ang pag-configure ng Wireless Sensor at Zigmo Receiver Gamit ang XCTU

Ang bawat aparato ng IoT ay nangangailangan ng isang protocol ng komunikasyon upang mailagay ang aparato sa ulap at upang mag-set up ng isang wireless interface sa pagitan ng iba't ibang mga aparato.

Dito gumagamit ang Wireless Sensors at Zigmo Receiver ng mababang lakas at malakihang solusyon na XBee. Gumagamit ang XBee ng isang ZigBee protocol na tumutukoy sa operasyon sa 902 hanggang 928 MHz ISM band.

Maaaring i-configure ang Xbee gamit ang XCTU software

  1. Maghanap para sa Xbee device o magdagdag ng bagong Xbee device sa pamamagitan ng pag-click sa kaliwang tuktok na icon.
  2. Ang aparato ay nakalista sa panel ng kaliwang bahagi.
  3. i-double click sa aparato upang makita ang mga setting.
  4. Ngayon mag-click sa icon ng console sa kanang sulok sa itaas
  5. Maaari mong makita ang halagang nagmumula sa output ng console
  6. Narito nakukuha namin ang frame ng haba ng 54 bytes
  7. ang mga byte na ito ay karagdagang manipulahin upang makuha ang totoong halaga. ang pamamaraan upang makuha ang totoong mga halaga ng temperatura at panginginig ng boses ay nabanggit sa mga paparating na hakbang.

Hakbang 3: Pagsusuri sa Mga Halaga ng Temperatura ng Wireless at Vibration Paggamit ng Labview Utility

Pagsusuri ng Mga Halaga ng Wireless na Temperatura at Panginginig ng Buhok Paggamit ng Labview Utility
Pagsusuri ng Mga Halaga ng Wireless na Temperatura at Panginginig ng Buhok Paggamit ng Labview Utility
Pagsusuri ng Mga Halaga ng Wireless na Temperatura at Panginginig ng Buhok Paggamit ng Labview Utility
Pagsusuri ng Mga Halaga ng Wireless na Temperatura at Panginginig ng Buhok Paggamit ng Labview Utility

Tumatakbo ang Sensor sa dalawang mga mode

  • Mode ng Pag-configure: I-configure ang Pan ID, pagkaantala, Bilang ng mga muling pagsubok at iba pa Higit pa sa ito ay lampas sa saklaw ng pagtuturo na ito at ipapaliwanag sa susunod na maituturo.
  • Run Mode: Pinapatakbo namin ang aparato sa Run mode. At upang pag-aralan ang halagang ito ginagamit namin ang Labview Utility

Ipinapakita ng Labview UI na ito ang mga halaga sa magagandang mga graph. Ipinapakita nito ang kasalukuyang pati na rin ang mga nakaraang halaga. Maaari kang pumunta sa link na ito upang i-download ang Labview UI.

mag-click sa Run icon mula sa menu ng landing page upang pumunta sa run mode.

Hakbang 4: Pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal

Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal
Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal
Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal
Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal
Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal
Ang pag-configure ng Mga setting ng DHCP / Static IP Gamit ang Captive Portal

Gumagamit kami ng bihag na portal upang mai-save ang mga kredensyal ng WiFi at upang mag-hover sa pamamagitan ng mga setting ng IP. Para sa detalyadong pagpapakilala sa bihag na portal, maaari kang dumaan sa sumusunod na itinuro.

Binibigyan kami ng portal ng bihag na pagpipilian upang pumili sa pagitan ng mga setting ng Static at DHCP. Ipasok lamang ang mga kredensyal tulad ng Static IP, Subnet Mask, gateway at ang Wireless Sensor Gateway ay mako-configure sa IP na iyon.

Hakbang 5: Sine-save ang Mga setting ng WiFi Gamit ang Captive Portal

Sine-save ang Mga setting ng WiFi Gamit ang Captive Portal
Sine-save ang Mga setting ng WiFi Gamit ang Captive Portal

Ang isang webpage ay nai-host kung saan ang isang listahan na nagpapakita ng mga magagamit na mga network ng WiFi at doon RSSI. Piliin ang WiFi network at password at ipasok ang isumite. Ang mga kredensyal ay mai-save sa EEPROM at ang setting ng IP ay nai-save sa SPIFFS. Higit pa dito ay matatagpuan sa itinuturo na ito.

Hakbang 6: Mga Pagbasa ng Sensor sa Pag-publish sa UbiDots

Narito ginagamit namin ang Wireless Temperature at Vibration Sensors kasama ang tatanggap ng ESP 32 gateway upang makuha ang temperatura at data ng Humidity. Ipinapadala namin ang data sa UbiDots gamit ang MQTT protocol. Sinusundan ng MQTT ang mekanismo ng pag-publish at pag-subscribe sa halip ang kahilingan at tugon. Ito ay mas mabilis at maaasahan kaysa sa HTTP. Gumagawa ito tulad ng sumusunod.

Pagbabasa ng Data ng Wireless Sensor

Nakakakuha kami ng isang 29-byte na frame mula sa Wireless Temperature at Vibration Sensors. Ang frame na ito ay manipulahin upang makuha ang aktwal na data ng data at panginginig ng boses

kung (Serial2.available ()) {data [0] = Serial2.read (); antala (k); kung (data [0] == 0x7E) {Serial.println ("Got Packet"); habang (! Serial2.available ()); para sa (i = 1; i <55; i ++) {data = Serial2.read (); antala (1); } kung (data [15] == 0x7F) /////// upang suriin kung tama ang recive data {kung (data [22] == 0x08) //////// siguraduhin na ang uri ng sensor wasto {rms_x = ((uint16_t) (((data [24]) << 16) + ((data [25]) << 8) + (data [26])) / 100); rms_y = ((uint16_t) (((data [27]) << 16) + ((data [28]) << 8) + (data [29])) / 100); rms_z = ((uint16_t) (((data [30]) << 16) + ((data [31]) << 8) + (data [32])) / 100); max_x = ((uint16_t) (((data [33]) << 16) + ((data [34]) << 8) + (data [35])) / 100); max_y = ((uint16_t) (((data [36]) << 16) + ((data [37]) << 8) + (data [38])) / 100); max_z = ((uint16_t) (((data [39]) << 16) + ((data [40]) << 8) + (data [41])) / 100);

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

cTemp = ((((data [51]) * 256) + data [52])); float baterya = ((data [18] * 256) + data [19]); float boltahe = 0.00322 * baterya; Serial.print ("Sensor Number"); Serial.println (data [16]); Serial.print ("Sensor Type"); Serial.println (data [22]); Serial.print ("Bersyon ng Firmware"); Serial.println (data [17]); Serial.print ("Temperatura sa Celsius:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("RMS panginginig sa X-axis:"); Serial.print (rms_x); Serial.println ("mg"); Serial.print ("Panginginig ng RMS sa Y-axis:"); Serial.print (rms_y); Serial.println ("mg"); Serial.print ("Panginginig ng RMS sa Z-axis:"); Serial.print (rms_z); Serial.println ("mg");

Serial.print ("Min na panginginig sa X-axis:");

Serial.print (min_x); Serial.println ("mg"); Serial.print ("Min na panginginig sa Y-axis:"); Serial.print (min_y); Serial.println ("mg"); Serial.print ("Min na panginginig sa Z-axis:"); Serial.print (min_z); Serial.println ("mg");

Serial.print ("Halaga ng ADC:");

Serial.println (baterya); Serial.print ("Boltahe ng Baterya:"); Serial.print (boltahe); Serial.println ("\ n"); kung (boltahe <1) {Serial.println ("Oras upang Palitan Ang Baterya"); }}} iba pa {para sa (i = 0; i <54; i ++) {Serial.print (data ); Serial.print (","); antala (1); }}}}

Kumokonekta sa UbiDots MQTT API

Isama ang header file para sa proseso ng MQTT

# isama ang "PubSubClient.h"

tukuyin ang iba pang mga variable para sa MQTT tulad ng pangalan ng kliyente, address ng broker, token ID (Kinukuha namin ang token ID mula sa EEPROM)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "bagay.ubidots.com"; char payload [100]; paksa ng char [150]; // create variable to store token ID String tokenId;

Lumikha ng mga variable upang mag-imbak ng iba't ibang data ng sensor at lumikha ng isang variable ng char upang mag-imbak ng paksa

#define VARIABLE_LABEL_TEMPF "tempF" // Assing the variable label # define VARIABLE_LABEL_TEMPC "tempC" // Assing the variable label #define VARIABLE_LABEL_BAT "bat" #define VARIABLE_LABEL_HUMID "humid" // Assing the variable label

paksa ng char1 [100];

paksa ng char2 [100]; paksa ng char3 [100];

i-publish ang data sa nabanggit na paksa ng MQTT na ang karga ay magiging katulad ng "" tempc ": {value:" tempData "}}

sprintf (topic1, "% s", ""); sprintf (topic1, "% s% s", "/v1.6/devices/", DEVICE_LABEL); sprintf (payload, "% s", "");

// Nililinis ang sprintf ng bayad (payload, "{"% s / ":", VARIABLE_LABEL_TEMPC);

// Nagdaragdag ng halaga ng sprintf (payload, "% s {" halaga / ":% s}", payload, str_cTemp);

// Nagdaragdag ng halaga ng sprintf (payload, "% s}", payload);

// Isinasara ang mga bracket ng diksyunaryo Serial.println (payload);

Serial.println (client.publish (topic1, payload)? "Nai-publish": "notpublished");

// Gawin din ito para sa iba pang paksa

nai-publish ng client.publish () ang data sa UbiDots

Hakbang 7: Ipinapakita ang Data

Ipinapakita ang Data
Ipinapakita ang Data
  • Pumunta sa Ubidots at Mag-login sa iyong account.
  • Mag-navigate sa Dashboard mula sa tab na Data na nakalista sa itaas.
  • Ngayon i-click ang icon na "+" upang idagdag ang mga bagong widget.
  • Pumili ng isang widget mula sa listahan at magdagdag ng isang variable at mga aparato.
  • Ang data ng sensor ay maaaring makita sa dashboard gamit ang iba't ibang mga widget.

Pangkalahatang Code

Ang Over code para sa HTML at ESP32 ay matatagpuan sa GitHub repository na ito.

  1. ncd breakout board ng ESP32.
  2. ncd Wireless temperatura at Humidity Sensors.
  3. pubsubclient
  4. UbiDots

Inirerekumendang: