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

Үйлдвэрлэлийн менежментийн WIFI дэлгэц: 6 алхам
Үйлдвэрлэлийн менежментийн WIFI дэлгэц: 6 алхам

Видео: Үйлдвэрлэлийн менежментийн WIFI дэлгэц: 6 алхам

Видео: Үйлдвэрлэлийн менежментийн WIFI дэлгэц: 6 алхам
Видео: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, Долдугаар сарын
Anonim
Үйлдвэрлэлийн менежментийн WIFI дэлгэц
Үйлдвэрлэлийн менежментийн WIFI дэлгэц

Би IOT болон дан самбарын компьютерын талаар бага зэрэг цуврал юм.

Би үүнийг хобби ба хөгжилтэй төслүүдээс (бодит үйлдвэрлэл ба үйлдвэрлэл) гадна ашиглахыг үргэлж хүсч байна.

Энэхүү зааварчилгаа нь ESP nodemcu бүхий 4 оронтой 7 сегмент бүхий WIFI дэлгэцийг бүтээх бөгөөд үйлдвэрлэлийн үйлдвэрлэлийн оролтыг харуулах болно. Би үйлдвэрлэлийн шалны оролт, гаралт, процессыг хянах, хянах зорилгоор Үйлдвэрлэлийн Гүйцэтгэх Системийг (MES) ашигладаг электроникийн үйлдвэрлэлийн салбарт ажилладаг. Энэ төсөлд би үйлдвэрлэл, оролтын хэмжээг шугам, ээлжинд, цаг тутамд харуулах жижиг дэлгэцийн нэгжийг бий болгож байна.

Техникийн хувьд энэ төсөл нь Youtube -ийн захиалагчдын тоог харуулахтай төстэй бөгөөд энд бид API/HTTP хариултыг онлайнаар ашигладаг боловч энд бид өөрийн орон нутгийн MES системтэй харилцах оролтыг авахын тулд өөрийн api бүтээх гэж байна.

Алхам 1: Ашигласан эд анги, багаж хэрэгсэл:

Ашигласан эд анги, багаж хэрэгсэл
Ашигласан эд анги, багаж хэрэгсэл

Ашигласан техник хангамжийн хэсгүүд:

  1. ESP зангилаа
  2. TM1637 4 оронтой цаг Дэлгэц
  3. Түлхүүрийг дарна уу
  4. 10к эсэргүүцэл
  5. цөөн тооны холбогч утас

Ашигласан програм хангамжийн хэрэгсэл:

  1. Arduino IDE
  2. PHP/Apache вэб серверийн хувьд Xampp

Arduino номын сангийн ашигласан:

1. Wifi менежер tzapu & i миний захиалгат файлд тохируулсан (wifimanager)

2. Миний өөрчлөн тохируулсан утгыг Flash санах ойд хадгалах ESP_EEPROM

3. SevenSegmentTM1637 харуулах зориулалттай

Алхам 2: Wifi менежерийг тохируулах

Wifi менежерийг тохируулах
Wifi менежерийг тохируулах

Энэ хэсэгт би эхлээд wifi менежерийг суулгаж, дараа нь Wifi менежерийн хавтасыг хуулж, Arduino номын сангийн хавтсанд дахин оруулаад дараа нь WiFiManager_custom гэж нэрлэв.

Folder Root лавлах Ихэнх нь дуртай

C: / Хэрэглэгчид / таны компьютерийн нэр / Documents / Arduino / сангууд

Дараа нь би wifimanager_custom фолдерыг нээж, толгой.cpp файлыг wifimanager_custom -тэй адилаар нэрлэжээ.

Толгой дээр миний захиалгат маягт, товчлуурыг нэмсэн.

HTTP_PORTAL_OPTIONS PROGMEM -д би цэсийн товчлуурын маягтаа нэмсэн.

мөр оруулах, шилжүүлэх шинэ маягт нэмсэн. Би энэ маягтыг энгийн текст хэлбэрээр бүтээсэн.

Үүний дараа бид.cpp файлд энэ маягтуудын үйл ажиллагааны функцуудыг үүсгэх гэж байгаа бөгөөд үүний тулд бид толгой файл дээр функцын мэдэгдлийг хийх ёстой.

/ * миний захиалгат функцууд */

void handleCustomForm (); void handleCustomSave ();

Би өөрийн хувийн функцуудыг толгой файл дээр зарласан. Толгой дээрх бидний ажил дууссан тул бид өөрсдийн үйл ажиллагаа, үйлдлүүдийг үүсгэхийн тулд.cpp файлыг ашиглах ёстой.

Алхам 3: Маягт үйлдлийн захиалгат функцууд

Маягт үйлдэлд зориулсан захиалгат функцууд
Маягт үйлдэлд зориулсан захиалгат функцууд
Маягт үйлдэлд зориулсан тусгай функцууд
Маягт үйлдэлд зориулсан тусгай функцууд
Маягт үйлдэлд зориулсан тусгай функцууд
Маягт үйлдэлд зориулсан тусгай функцууд

Одоо бид wifimanager_custom.cpp файлыг нээж байна.

мөн бид маягтаа байршуулах үед функцуудаа дуудахын тулд http хариулагчаа нэмэх ёстой.

server-> on (String (F ("/custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // Миний захиалгат бариул

server-> on (String (F ("/custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // Миний захиалгат бариул

Эдгээр нь маягтыг байршуулах үед бидний захиалгат функцуудыг дуудах болно.

1.handleCustomForm ()-> нь шугам, ээлжийн оролт, хадгалах товчлуурыг манай захиалгат маягтаар хуудас үүсгэх болно.

2.handleCustomSave ()-> энэ функц нь хэлбэрийн утгыг авах бөгөөд Flash санах ойн 0 (шугам) & 50 (ээлжийн) байршилд хадгалагдах болно.

Алхам 4: Холболт ба үндсэн програм

Холболт ба үндсэн програм
Холболт ба үндсэн програм

Холболтууд нь маш энгийн..

Холболт ба утас:

nodemcu TM1637 Дэлгэц

3.3v ---- Vcc

G ---- Gnd

D2 ---- CLK

D3 ----- DIO

зангилаа түлхэх түлхүүр

- +5V -аас D8 зүү дээр бэхлэгдсэн товчлуур - D8 зүү дээр газраас 10K эсэргүүцэл холбосон

бид wifimanager -ээ өөрчилж дууслаа. одоо бид үндсэн програмаа бий болгох ёстой.

1. Манай wifi менежер хамгийн сүүлд ашигласан итгэмжлэл бүхий wifi сүлжээнд холбогдох болно, хэрэв энэ нь амжилтгүй болвол AutoConnectAP wifi сервер нээгдэнэ. Энэ wifi сервертэй холбогдож шинэ wifi -ийн нууц үг, шугам, шилжүүлгийг тохируулах боломжтой.

2. дараа нь энэ нь үндсэн хүрд рүү орох болно.

Манай үндсэн хэлхээ нь хоёр хэсгээс бүрдэнэ. Бид тохируулахын тулд AP горимын эрэлтийн горимыг дуудахын тулд шугамыг өөрчлөх, өөрчлөх эсвэл wifi -ийн итгэмжлэлийг нэмэх шаардлагатай үед нэг нь confi subroutine юм. D8 зүүтэй холбогдсон товчлуур дарагдсан үед үүнийг дуудах болно.

void loop () {

config_loop ();

}

хүчингүй config_loop () {Serial.println ("");

Serial.println ("Тохируулах товчлуурын төлөвийг хүлээж байна …");

//display.print("Хүлээгээрэй ");

хэрэв (digitalRead (TRIGGER_PIN) == HIGH)

{

display.print ("Conf"); // WiFi менежер

// Орон нутгийн интиализаци. Түүний бизнесийг хийсний дараа WiFiManager wifiManager -ийн эргэн тойронд байлгах шаардлагагүй болно;

// тохиргоог дахин тохируулах - туршихад зориулагдсан

//wifiManager.resetSettings ();

// тохиргооны портал унтрах хүртэл завсарлагааг тохируулна // бүгдийг дахин оролдох эсвэл хэдэн секундын дотор унтахын тулд хэрэгтэй болно

//wifiManager.setTimeout(120);

// энэ нь заасан нэртэй хандалтын цэгийг эхлүүлнэ

// энд "AutoConnectAP" // ба тохиргоог хүлээж буй блоклох гогцоонд орно

// ЭНЭГҮЙ бол AP нь SDK 1.5 -тэй зөв ажиллахгүй мэт санагдаж, дор хаяж 1.5.1 болгон шинэчлэх //WiFi.mode(WIFI_STA);

if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("холбогдож чадаагүй бөгөөд хугацаа хэтэрсэн"); саатал (3000); // дахин тохируулаад дахин оролдоно уу, эсвэл гүн нойронд оруулна уу ESP.reset (); саатал (5000); }}

//Serial.println("Tutton status False. Back to Main loop "); //display.print("Gain давталт "); //display.clear ();

}

Хоёрдугаарт, тодорхой серверээс HTTP хариулт авах, оролтын хэмжээг дэлгэц дээр харуулах бидний гол програм болно.

Үүнийг хийхийн тулд бид ESP-ийн Flash хадгалалтаас шугам, ээлжийн дэлгэрэнгүй мэдээллийг авах ёстой (хаяг 0-> шугам, 50-> ээлжийн)

EEPROM.begin (100); // eeprom storageEEPROM.get (0, мөр); // 0 хаягаас Утга авах

EEPROM.get (50, ээлж); // 50 -р хаягаас үнэ цэнийг авах

Дараа нь бид энэ мөрийг дамжуулж, оролт, гаралтын утгыг олж авахын тулд дэлгэрэнгүй мэдээллийг http сервер рүү шилжүүлэх ёстой.

String Base_url = "хасагдсан"; // миний үндсэн urlHTTPClient http; // HTTPClient ангийн объект

String URL = Base_url+"?"+"Line ="+line+"& shift ="+shift;

Serial.println (URL);

http.begin (URL);

int httpCode = http. GET ();

Serial.println (http.getString ()); // энэ нь бүх http хариултын мөрийг хэвлэх болно;

Хэрэв та бүх текстийг хэрхэн яаж дуусгахыг хүсч байвал бид үүнийг tm1637 дэлгэц дээр шууд үзүүлэх боломжтой.

display.print (http.getString ());

Гэхдээ би бүх текстийг харуулахыг хүсэхгүй байна, учир нь энэ нь оролт, json хэлбэрээр гаралт, мэдээллийн сан болон бусад зүйлсийн талаархи бусад ерөнхий текстийг агуулдаг.

Тиймээс эхлээд би Substring () функцийг ашиглан ерөнхий текстийг хариултын мөрөөс устгасан.

Би ерөнхий текстийн уртыг тоолж, хайчилж авлаа.

if (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bufferSize); DynamicJsonDocument root (bufferSize);

// JsonObject & root = doc.parseObject (http.getString ());

String json_string = http.getString (). Дэд мөр (121); /* Хэрэв таны хариултанд энэ кодыг устгах боломжтой зүйл байхгүй бол энэ бол ерөнхий текстийн миний офсет юм. */

//Serial.println(json_string);

DeserializationError error = deserializeJson (root, json_string);

// JsonObject & root = jsonBuffer.parseObject (http.getString ());

хэрэв (алдаа)

{Serial.print (F ("deserializeJson () амжилтгүй болсон:"));

Serial.println (error.c_str ());

буцах;

}

өөр {

const char* оролт = root ["оролт"];

const char* output = root ["output"];

Serial.print ("Оролт:");

Serial.println (оролт);

Serial.print ("Гаралт:");

Serial.println (гаралт);

display.print (".. in..");

display.clear (); // дэлгэцийг цэвэрлэх

display.print (оролт); // хэвлэх COUNTING SOME DIGITS

}

Тиймээс бидний үндсэн хөтөлбөр дууссан.

Алхам 5: Вэб сервер үүсгэх

Вэб сервер үүсгэх
Вэб сервер үүсгэх
Вэб сервер үүсгэх
Вэб сервер үүсгэх

Би xampp -ийг вэб үйлчилгээ болон PHP кодыг ашиглан SQL мэдээллийн сангаас өгөгдөл авахын тулд яг тодорхой тоо хэмжээ авах боломжтой.

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

Үүний тулд танд ямар ч вэб хост хэрэгтэй болно, би энд xampp -ийг хостоор ашиглаж байна.

Та эндээс xampp татаж авах боломжтой.

xampp -ийг суулгаарай … хэрэв танд тодорхой заавар хэрэгтэй бол энэ холбоосыг ашиглаж болно.

Xampp суулгасны дараа та өөрийн үндсэн лавлах руу очих ёстой.

C: / xampp / htdocs

Таны бүх php програмууд энэ үндэс дотор байх ёстой.

Би өөрийн хуудсыг esp_api.php нэртэйгээр үүсгэсэн

энэ бол миний php код. энд би зөвхөн оролт, гаралтын статик утгыг харуулж байна;

$ line = $ _ АВАХ ['мөр']; $ шилжилт = $ _ АВАХ ['ээлжийн'];

цуурай ("myString"); // ерөнхий текст

if ($ line == 'a0401' ба $ shift = 'dd') {$ үр дүн ['оролт'] = 100; $ үр дүн ['гаралт'] = 99; }

өөр {$ үр дүн ['input'] = 200; $ үр дүн ['гаралт'] = 199; }

$ myObj-> оролт = ''. $ үр дүн ['оролт']. '';

$ myObj-> output = ''. $ үр дүн ['гаралт']. '';

$ myJSON = json_encode ($ myObj);

echo $ myJSON;

Одоо манай HTTP хариу API дууссан.

Манай http -ийн үндсэн URL нь ийм байх болно

you_ip_address/esp_api.php

Та API хариултын текстээ шалгах боломжтой

localhost/esp_api.php? line = a0401 & shift = dd

Энд би a0401 гэж шугамыг хэлээд dd гэж шилжүүлэв.

Алхам 6: Эцсийн алхам !

Эцсийн алхам !!!
Эцсийн алхам !!!
Эцсийн алхам !!!
Эцсийн алхам !!!
Эцсийн алхам !!!
Эцсийн алхам !!!

Үндсэн URL дээр компьютерийн IP хаягийг оруулна уу

String Base_url = "хасагдсан"; // таны үндсэн URL

болон ESP nodemcu дээрээ байршуулна уу. Wifi -г гар утас эсвэл зөөврийн компьютераасаа асаасны дараа танд AutoConnectAP сүлжээ бий болно. түүнтэй холбогдож, итгэмжлэл, шугамын тохиргоог оруулна уу.

Дараа нь төхөөрөмжөө дахин тохируулаад сүлжээгээ холбосны дараа бүх зүйлийг хийсний дараа холбоно уу.

Оролт дэлгэц дээр гарч байгааг та харж болно.

Хэрэв та ямар нэгэн шугам эсвэл wifi итгэмжлэлийг өөрчлөхийг хүсч байвал түлхүүрийг хэдхэн секундын турш дарж болно.

таAP горимыг шаардаж байна. Та төхөөрөмжийг сольж, дахин тохируулах боломжтой.

Хобби, хөгжилтэй төслүүдээ жинхэнэ үйлдвэрлэл, үйлдвэрлэлийн талбай, шоунд хэрхэн ашиглаж болохыг харуулах түүний зааварчилгааны гол мото.

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