Агуулгын хүснэгт:

Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг эхлүүлэх нь: 7 алхам
Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг эхлүүлэх нь: 7 алхам

Видео: Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг эхлүүлэх нь: 7 алхам

Видео: Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг эхлүүлэх нь: 7 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг ашиглаж эхлэх нь
Урт хугацааны утасгүй температур ба чичиргээ мэдрэгчийг ашиглаж эхлэх нь

Заримдаа чичиргээ нь олон програмын ноцтой асуудлын шалтгаан болдог. Машины босоо ам, холхивчоос эхлээд хатуу дискний гүйцэтгэл хүртэлх чичиргээ нь машиныг гэмтээх, эрт солих, гүйцэтгэл муутай болгож, нарийвчлалд ихээхэн цохилт өгдөг. Машины доторх чичиргээг хянах, цаг тухайд нь дүн шинжилгээ хийх нь машины эд анги эрт гэмтэх, элэгдэх асуудлыг шийдэх боломжтой.

Энэхүү зааварчилгаанд бид IoT урт хугацааны утасгүй чичиргээ, температур мэдрэгч дээр ажиллах болно. Эдгээр нь өргөн хэрэглэгддэг олон төрлийн үйлдвэрлэлийн зэрэглэлийн мэдрэгч юм.

  • Металл боловсруулах
  • Цахилгаан үүсгэвэр
  • Уул уурхай
  • Хоол хүнс, ундаа

Тиймээс энэхүү зааварчилгаанд бид дараахь зүйлийг даван туулах болно.

  • XCTU болон Labview UI ашиглан утасгүй мэдрэгчийг тохируулах.
  • Чичиргээний утгыг мэдрэгчээс авах.
  • Xbee төхөөрөмж болон xbee протоколын ажиллагааг ойлгох.
  • Олзлогдсон портал ашиглан WiFi -ийн итгэмжлэл, IP тохиргоог тохируулах

Алхам 1: Техник хангамж ба програм хангамжийн тодорхойлолт

Техник хангамж ба програм хангамжийн тодорхойлолт
Техник хангамж ба програм хангамжийн тодорхойлолт
Техник хангамж ба програм хангамжийн тодорхойлолт
Техник хангамж ба програм хангамжийн тодорхойлолт
Техник хангамж ба програм хангамжийн тодорхойлолт
Техник хангамж ба програм хангамжийн тодорхойлолт

Тоног төхөөрөмжийн тодорхойлолт

  • Утасгүй чичиргээ ба температур мэдрэгч
  • Зигмо хүлээн авагч
  • ESP32 BLE/ WiFi төхөөрөмж

Програм хангамжийн тодорхойлолт

  • Arduino IDE
  • LabView хэрэгсэл

Алхам 2: XCTU ашиглан утасгүй мэдрэгч ба зигмо хүлээн авагчийг тохируулах

XCTU ашиглан утасгүй мэдрэгч ба зигмо хүлээн авагчийг тохируулах
XCTU ашиглан утасгүй мэдрэгч ба зигмо хүлээн авагчийг тохируулах
XCTU ашиглан утасгүй мэдрэгч ба зигмо хүлээн авагчийг тохируулах
XCTU ашиглан утасгүй мэдрэгч ба зигмо хүлээн авагчийг тохируулах

IoT төхөөрөмж бүр төхөөрөмжийг үүлэн дээр байрлуулах, өөр өөр төхөөрөмжүүдийн хооронд утасгүй интерфэйсийг тохируулахын тулд харилцаа холбооны протокол хэрэгтэй.

Энд утасгүй мэдрэгч ба зигмо хүлээн авагч нь бага хүч чадал, урт хугацааны XBee шийдлийг ашигладаг. XBee нь 902 -оос 928 МГц -ийн ISM зурвасын үйл ажиллагааг тодорхойлдог ZigBee протоколыг ашигладаг.

Xbee -ийг XCTU програм хангамж ашиглан тохируулж болно

  1. Xbee төхөөрөмжийг хайж олох эсвэл зүүн дээд дүрс дээр дарж шинэ Xbee төхөөрөмж нэмнэ үү.
  2. Төхөөрөмжийг зүүн талын самбар дээр жагсаах болно.
  3. Тохиргоог харахын тулд төхөөрөмж дээр хоёр товшино уу.
  4. Одоо баруун дээд буланд байгаа консолын дүрс дээр дарна уу
  5. Консолын гаралт дээр гарч буй утгыг харж болно
  6. Энд бид 54 байтын урттай хүрээг авч байна
  7. Эдгээр байтуудыг цаашид бодит утгыг олж авахын тулд удирдах болно. Бодит температур ба чичиргээний утгыг олж авах журмыг дараагийн алхамуудад дурдсан болно.

Алхам 3: Labview хэрэгслийг ашиглан утасгүй температур ба чичиргээний утгыг шинжлэх

Labview хэрэгслийг ашиглан утасгүй температур ба чичиргээний утгын шинжилгээ
Labview хэрэгслийг ашиглан утасгүй температур ба чичиргээний утгын шинжилгээ
Labview хэрэгслийг ашиглан утасгүй температур ба чичиргээний утгын шинжилгээ
Labview хэрэгслийг ашиглан утасгүй температур ба чичиргээний утгын шинжилгээ

Мэдрэгч нь хоёр горимд ажилладаг

  • Тохиргооны горим: Pan ID, саатал, дахин оролдлогын тоо гэх мэтийг тохируулна уу.
  • Ажиллуулах горим: Бид төхөөрөмжийг Run горимд ажиллуулж байна. Эдгээр утгыг шинжлэхийн тулд бид Labview хэрэгслийг ашиглаж байна

Энэхүү Labview UI нь утгыг сайхан графикаар харуулдаг. Энэ нь одоогийн болон өмнөх үнэ цэнийг харуулдаг. Та энэ линкээр орж Labview UI татаж авах боломжтой.

Ажиллах горим руу очихын тулд буух хуудасны цэснээс Run дүрс дээр дарна уу.

Алхам 4: Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах

Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах
Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах
Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах
Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах
Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах
Captive Portal ашиглан DHCP/статик IP тохиргоог тохируулах

Бид олзлогдсон портал ашиглан WiFi -ийн итгэмжлэлийг хадгалж, IP тохиргоогоор гүйлгэж байна. Олзлогдсон портал дээрх дэлгэрэнгүй танилцуулгыг авахын тулд та дараахь зааварчилгааг үзэх боломжтой.

Олзлогдсон портал нь Статик ба DHCP тохиргоонуудын хооронд сонголт хийх боломжийг бидэнд олгодог. Статик IP, дэд сүлжээний маск, гарц, утасгүй мэдрэгчийн гарц зэрэг итгэмжлэлийг оруулна уу.

Алхам 5: Captive Portal ашиглан WiFi тохиргоог хадгалах

Captive Portal ашиглан WiFi тохиргоог хадгалах
Captive Portal ашиглан WiFi тохиргоог хадгалах

Wi -Fi сүлжээ болон RSSI -ийг харуулсан жагсаалт бүхий вэб хуудсыг зохион байгуулж байна. WiFi сүлжээ, нууц үгээ сонгоод илгээхийг оруулна уу. Итгэмжлэлийг EEPROM -д, IP тохиргоог SPIFFS -д хадгалах болно. Энэ талаар дэлгэрэнгүйг энэхүү зааварчилгаанаас олж болно.

Алхам 6: Мэдрэгчийн уншилтыг UbiDots дээр нийтлэх

Энд бид температур, чийгшлийн мэдээллийг авахын тулд ESP 32 гарц хүлээн авагчтай утасгүй температур ба чичиргээ мэдрэгчийг ашиглаж байна. Бид өгөгдлийг MQTT протокол ашиглан UbiDots руу илгээж байна. MQTT нь хүсэлт, хариултаас илүү нийтлэх, захиалах механизмыг дагаж мөрддөг. Энэ нь HTTP -ээс хурдан бөгөөд найдвартай. Энэ нь дараах байдлаар ажилладаг.

Утасгүй мэдрэгчийн өгөгдлийг унших

Бид утасгүй температур ба чичиргээ мэдрэгчээс 29 байтын хүрээг авч байна. Энэ хүрээг бодит температур, чичиргээний өгөгдлийг авахын тулд удирддаг

if (Serial2.available ()) {data [0] = Serial2.read (); саатал (k); if (өгөгдөл [0] == 0x7E) {Serial.println ("Got Packet"); while (! Serial2.available ()); for (i = 1; i <55; i ++) {data = Serial2.read (); саатал (1); } if (өгөгдөл [15] == 0x7F) /////// дахин хүлээн авсан өгөгдөл зөв эсэхийг шалгахын тулд {if (өгөгдөл [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 ("Firmware хувилбар"); Serial.println (өгөгдөл [17]); Serial.print ("Цельсийн температур:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("X тэнхлэг дэх RMS чичиргээ:"); Цуваа.хэвлэх (rms_x); Serial.println ("мг"); Serial.print ("Y тэнхлэг дэх RMS чичиргээ:"); Цуваа.хэвлэх (rms_y); Serial.println ("мг"); Serial.print ("Z тэнхлэг дэх RMS чичиргээ:"); Цуваа.хэвлэх (rms_z); Serial.println ("мг");

Serial.print ("X тэнхлэг дэх хамгийн бага чичиргээ:");

Цуваа.хэвлэх (мин_х); Serial.println ("мг"); Serial.print ("Y тэнхлэг дэх хамгийн бага чичиргээ:"); Цуваа.хэвлэх (мин_y); Serial.println ("мг"); Serial.print ("Z тэнхлэг дэх хамгийн бага чичиргээ:"); Цуваа.хэвлэх (min_z); Serial.println ("мг");

Serial.print ("ADC утга:");

Serial.println (зай); Serial.print ("Зайны хүчдэл:"); Цуваа.хэвлэх (хүчдэл); Serial.println ("\ n"); if (хүчдэл <1) {Serial.println ("Зайг солих цаг"); }}} else {for (i = 0; i <54; i ++) {Serial.print (өгөгдөл ); Serial.print (","); саатал (1); }}}}

UbiDots MQTT API руу холбогдож байна

MQTT процессын толгой файлыг оруулна уу

#"PubSubClient.h" -ийг оруулна уу

үйлчлүүлэгчийн нэр, брокерийн хаяг, жетоны ID гэх мэт MQTT -ийн бусад хувьсагчдыг тодорхойлох (Бид токен ID -г EEPROM -с авч байна)

#define MQTT_CLIENT_NAME "ClientVBShightime123" char mqttBroker = "things.ubidots.com"; ачааны ачаалал [100]; char сэдэв [150]; // токен ID String tokenId хадгалах хувьсагч үүсгэх;

Мэдрэгчийн янз бүрийн өгөгдлийг хадгалах хувьсагч үүсгэх ба сэдвийг хадгалах char хувьсагч үүсгэх

#define VARIABLE_LABEL_TEMPF "tempF" // Хувьсагчийн шошгыг тодорхойлох #тодорхойлох VARIABLE_LABEL_TEMPC "tempC" // Хувьсагчийн шошгыг үнэлэх

char сэдэв1 [100];

char сэдэв2 [100]; char сэдэв3 [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 (сэдэв1, ачаалал)? "Хэвлэгдсэн": "хэвлэгдээгүй");

// Бусад сэдвээр мөн адил хий

client.publish () нь өгөгдлийг UbiDots дээр нийтэлдэг

Алхам 7: Өгөгдлийг дүрслэн харуулах

Өгөгдлийг дүрслэн харуулах
Өгөгдлийг дүрслэн харуулах
  • Ubidots руу ороод данс руугаа нэвтэрнэ үү.
  • Дээд талд жагсаасан Өгөгдлийн таб дээрээс Хяналтын самбар руу очно уу.
  • Шинэ виджет нэмэхийн тулд "+" дүрс дээр дарна уу.
  • Жагсаалтаас виджет сонгоод хувьсагч болон төхөөрөмж нэмнэ үү.
  • Мэдрэгчийн өгөгдлийг янз бүрийн виджет ашиглан хяналтын самбар дээр дүрслэх боломжтой.

Ерөнхий код

HTML болон ESP32 -ийн Over кодыг энэ GitHub репозитороос олж болно.

  1. ncd ESP32 таслах самбар.
  2. ncd Утасгүй температур ба чийгшлийн мэдрэгч.
  3. pubsubclient
  4. UbiDots

Зөвлөмж болгож буй: