Satura rādītājs:
- 1. darbība. Izmantotās detaļas un rīki:
- 2. darbība. Wifi pārvaldnieka pielāgošana
- 3. darbība. Veidlapas darbības pielāgotās funkcijas
- 4. solis: Savienojumi un galvenā programma
- 5. darbība: tīmekļa servera izveide
- 6. solis: pēdējais solis !
Video: WIFI displejs ražošanas vadībai: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Es esmu mazliet sērija par IOT un vienas plates datoriem.
Es vienmēr vēlos to izmantot ārpus hobiju un izklaides projektiem (reāla ražošana un ražošana).
Šī pamācība gatavojas izveidot četrciparu 7 segmentu WIFI displeju ar ESP nodemcu, lai parādītu stundas ražošanas ieeju. Es strādāju elektronikas ražošanas nozarē, kur mēs izmantojam ražošanas izpildes sistēmu (MES), lai uzraudzītu un kontrolētu ražošanas grīdas ievadi, izvadi un procesu. Šajā projektā es izveidoju nelielu displeju, kas parādīs ražošanas ievades daudzumu rindā, maiņā un stundā.
Tehniski šis projekts ir līdzīgs Youtube abonentu skaita displejam, kurā mēs izmantojam API/HTTP atbildi tiešsaistē. Bet šeit mēs izveidosim savu API, lai mijiedarbotos ar mūsu vietējo MES sistēmu, lai iegūtu ievades daudzumu.
1. darbība. Izmantotās detaļas un rīki:
Izmantotās aparatūras daļas:
- ESP nodemcu
- TM1637 4 ciparu pulksteņa displejs
- Spiediet slēdzi
- 10k rezistors
- daži džemperu vadi
Izmantotie programmatūras rīki:
- Arduino IDE
- Xampp PHP/Apache tīmekļa serverim
Arduino bibliotēka tiek izmantota:
1. Tzapu & i Wifi pārvaldnieks Pielāgots maniem pielāgotajiem failiem (wifimanager)
2. ESP_EEPROM manu pielāgoto vērtību saglabāšanai zibatmiņā
3. SevenSegmentTM1637 displejam
2. darbība. Wifi pārvaldnieka pielāgošana
Šajā vispirms es vispirms instalēju wifi pārvaldnieku, un pēc tam es nokopēju Wifi pārvaldnieka mapi un atkal nokārtoju tajā pašā mapē Arduino bibliotēka, pēc tam pārdēvēju par WiFiManager_custom.
Mapes saknes direktorijs Galvenokārt patīk
C: / Lietotāji / jūsu datora nosaukums / Dokumenti / Arduino / bibliotēkas
Tad es atvēru mapi wifimanager_custom un pārdēvēju galvenes.cpp failu tāpat kā wifimanager_custom, pievienoju to pašu arī galvenē un.cpp failos.
Un galvenē pievienoju savu pielāgoto veidlapu un pogu.
HTTP_PORTAL_OPTIONS PROGMEM Es izvēlnei pievienoju savas pogas veidlapu.
un pievienoja jaunu veidlapu rindas un maiņas ievadīšanai. Es izveidoju šo veidlapu kā vienkāršu teksta formu.
Pēc tam mēs veidlapām izveidosim darbības funkcijas.cpp failā, lai to paveiktu, mums ir jādeklarē galvenes fails.
/ * manas pielāgotās funkcijas */
tukšs rokturisCustomForm (); tukšs rokturisCustomSave ();
es deklarēju savas pielāgotās funkcijas galvenes failā. ka tas, mūsu darbs galvenē ir pabeigts, mums ir jāizmanto.cpp fails, lai izveidotu savu funkciju un darbības.
3. darbība. Veidlapas darbības pielāgotās funkcijas
Tagad mēs atveram failu wifimanager_custom.cpp.
un mums ir jāpievieno mūsu http atbildes apstrādātājs, lai izsauktu mūsu funkcijas, kad mūsu veidlapa ir publicēta.
serveris-> ieslēgts (String (F ("/custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // MANS pielāgotais rokturis
serveris-> ieslēgts (String (F ("/custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // MANS pielāgotais rokturis
veidlapas ievietošanas laikā tās izsauks mūsu pielāgotās funkcijas.
1.handleCustomForm ()-> izveidos lapu ar mūsu pielāgoto veidlapu rindu un maiņu ievadīšanai un saglabāšanai.
2.handleCustomSave ()-> šī funkcija iegūs formas vērtības un saglabās Flash atmiņas vietās 0 (rinda) un 50 (maiņa).
4. solis: Savienojumi un galvenā programma
Savienojumi ir ļoti vienkārši..
Savienojumi un vadi:
nodemcu TM1637 Displejs
3.3v ---- Vcc
G ---- Gnd
D2 ---- CLK
D3 ----- DIO
nodemcu- spiediena slēdzis
- spiedpoga, kas piestiprināta pie tapas D8 no +5V - 10K rezistors, kas piestiprināts pie tapas D8 no zemes
mēs pabeidzām pielāgot savu sievu pārvaldnieku. tagad mums ir jāizveido mūsu galvenā programma.
1. mūsu wifi pārvaldnieks izveidos savienojumu ar wifi tīklu ar pēdējiem izmantotajiem akreditācijas datiem, lai izveidotu savienojumu, ja tas neizdodas, tas atver AutoConnectAP wifi serveri. Mēs varam konfigurēt jaunus wifi noziedzniekus, līniju un maiņu, izveidojot savienojumu ar šo wifi serveri.
2. tad tas nonāks galvenajā cilpā.
Mūsu galvenajā cilpā būs divas daļas. viens ir confi apakšprogramma, kad mums ir jāmaina līnija, jāpārvieto vai jāpievieno jebkādi wifi akreditācijas dati, lai konfigurētu pieprasījuma režīma AP. tas tiks izsaukts, kad tiks nospiesta spiedpoga, kas savienota ar D8 tapu.
void loop () {
config_loop ();
}
void config_loop () {Serial.println ("");
Serial.println ("Gaida konfigurācijas pogas statusu …");
//display.print(" Gaidi ");
ja (digitalRead (TRIGGER_PIN) == HIGH)
{
display.print ("Conf"); // WiFiManager
// Vietējā inicializācija. Kad bizness ir pabeigts, nav nepieciešams to turēt ap WiFiManager wifiManager;
// atiestatīt iestatījumus - pārbaudei
//wifiManager.resetSettings ();
// iestata taimautu, līdz konfigurācijas portāls tiek izslēgts // noderīgs, lai visu mēģinātu vēlreiz vai pārietu gulēt // sekundēs
//wifiManager.setTimeout(120);
// tas sāk piekļuves punktu ar norādīto nosaukumu
// šeit "AutoConnectAP" // un nonāk bloķēšanas ciklā, kas gaida konfigurāciju
// BEZ ŠĪS APLIETOJUMS NEDRĪKST PAREIZI STRĀDĀT AR SDK 1.5, atjauniniet uz vismaz 1.5.1 //WiFi.mode(WIFI_STA);
if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("neizdevās izveidot savienojumu un nokļūt taimautā"); kavēšanās (3000); // atiestatīt un mēģināt vēlreiz, vai varbūt likt to dziļā miegā ESP.reset (); kavēšanās (5000); }}
//Serial.println("Button status False. Back to Main loop "); //display.print("Galvenā cilpa "); //display.clear ();
}
Otrā būs mūsu galvenā programma HTTP atbildes saņemšanai no konkrēta servera un displejā parādīt ievades daudzumu.
Šim nolūkam vispirms ir jāiegūst informācija par līniju un maiņu no ESP zibatmiņas (adrese 0-> līnija, 50-> maiņa)
EEPROM.sākas (100); // eeprom storageEEPROM.get (0, rinda); // iegūt vērtību no adreses 0
EEPROM.get (50, maiņa); // Iegūstiet vērtību no adreses 50
tad mums ir jānodod šī līnija un jāpārvieto informācija uz mūsu http serveri, izmantojot metodi, lai iegūtu ievades un izvades vērtību.
String Base_url = "noņemts"; // mans bāzes urlHTTPClient http; // HTTPClient klases objekts
String URL = Base_url+"?"+"Line ="+line+"& shift ="+shift;
Serial.println (URL);
http.begin (URL);
int httpCode = http. GET ();
Serial.println (http.getString ()); // tas izdrukās visu http atbildes virkni;
ja vēlaties, lai viss teksts būtu pabeigts, mēs varam to tieši parādīt tm1637 displejā.
display.print (http.getString ());
Bet es nevēlos parādīt visu tekstu, jo tas satur ievadi, izvadi json formā un kādu citu vispārīgu tekstu par datubāzi un utt.
tāpēc vispirms es noņemu šo vispārīgo tekstu no atbildes virknes, izmantojot funkciju Substring ().
es saskaitīju vispārējā teksta garumu un to sagriezu.
ja (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bufferSize); DynamicJsonDocument sakne (bufferSize);
// JsonObject & root = doc.parseObject (http.getString ());
String json_string = http.getString (). Apakšvirkne (121); /* tas ir mans vispārējā teksta nobīde, ja jūsu atbildē nav tādas lietas kā jūs varat noņemt šo kodu; */
//Serial.println(json_string);
Deserializācijas kļūdas kļūda = deserializeJson (sakne, json_string);
// JsonObject & root = jsonBuffer.parseObject (http.getString ());
ja (kļūda)
{Serial.print (F ("deserializeJson () neizdevās:"));
Serial.println (error.c_str ());
atgriešanās;
}
cits {
const char* ievade = sakne ["ievade"];
const char* output = root ["output"];
Serial.print ("Ievade:");
Serial.println (ievade);
Serial.print ("Izeja:");
Serial.println (izvade);
display.print (".. in..");
display.clear (); // notīrīt displeju
display.print (ievade); // izdrukāt DAŽU CIPRU Skaitīšanu
}
tā mūsu galvenā programma ir pabeigta.
5. darbība: tīmekļa servera izveide
Es izmantoju xampp kā savu tīmekļa pakalpojumu un PHP kodu, lai iegūtu datus no savas SQL datu bāzes, lai iegūtu precīzu daudzumu.
Bet es nevaru dalīties ar visiem tā oriģinālajiem kodiem. jo tā ir mana uzņēmuma konfidencialitāte. bet es parādīšu, kā izveidot vienu tīmekļa serveri, parādīt fiktīvu statisko ievades un izvades daudzumu.
Šim nolūkam jums ir nepieciešams jebkurš tīmekļa mitinātājs, es šeit izmantoju xampp kā savu saimniekdatoru.
xampp varat lejupielādēt šeit.
instalējiet xampp … ja jums nepieciešama skaidra instrukcija, varat izmantot šo saiti.
Pēc xampp instalēšanas jums jādodas uz saknes direktoriju.
C: / xampp / htdocs
visām jūsu php programmām jābūt šīs saknes iekšpusē.
es izveidoju savu lapu ar nosaukumu ar nosaukumu esp_api.php
tas ir mans php kods. šeit es tikai parādīju ievades un izvades statiskās vērtības;
$ line = $ _ GET ['line']; $ shift = $ _ GET ['shift'];
echo ("myString"); // vispārīgs teksts
ja ($ line == 'a0401' un $ shift = 'dd') {$ result ['input'] = 100; $ result ['output'] = 99; }
cits {$ result ['input'] = 200; $ result ['output'] = 199; }
$ myObj-> input = ''. $ result ['input']. '';
$ myObj-> output = ''. $ result ['output']. '';
$ myJSON = json_encode ($ myObj);
echo $ myJSON;
Tagad mūsu HTTP atbildes API ir pabeigta.
Mūsu http bāzes URL būs līdzīgs
you_ip_address/esp_api.php
jūs varat pārbaudīt savu API atbildes tekstu pēc
localhost/esp_api.php? line = a0401 & shift = dd
šeit es minēju līniju kā a0401 un maiņu kā dd.
6. solis: pēdējais solis !
Ievadiet datora IP adresi bāzes URL
String Base_url = "noņemts"; // jūsu bāzes URL
un augšupielādējiet savā ESP nodemcu. Kad esat pabeidzis, vienkārši ieslēdziet savu Wi -Fi no mobilā vai klēpjdatora, jūs saņemsit tīklu ar nosaukumu AutoConnectAP. izveidojiet savienojumu ar to un ievadiet savus akreditācijas datus un līnijas konfigurācijas.
Pēc tam atiestatiet ierīci un pārbaudiet, vai tīkls ir pievienots, kad tas ir pievienots, un tad viss ir paveikts.
Jūs varat redzēt, ka displejā tiek parādīta ievade.
ja vēlaties mainīt jebkuru līniju vai wifi akreditācijas datus, dažas sekundes varat nospiest spiedpogu, displejā tiek parādīts Confi.
jūs ievadījāt pieprasījumaAP režīmā. jūs varat mainīt un atiestatīt ierīci.
Viņa galvenais moto ir pamācība, lai parādītu, kā mēs varam izmantot savus hobiju un jautros projektus reālajā ražošanas un ražošanas zonā un parādīt
Ieteicams:
TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): 6 soļi
TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): TTGO T-displejs ir tāfele, kuras pamatā ir ESP32 un kurā ir 1,14 collu krāsu displejs. Dēli var iegādāties par balvu, kas mazāka par 7 ASV dolāriem (ieskaitot piegādi, balva redzama banggood). Tā ir neticama balva par ESP32, ieskaitot displeju
D4E1: lasīšanas rīks 2.0 (uzlabots ražošanas process): 9 soļi
D4E1: Lasīšanas rīks 2.0 (uzlabots ražošanas process): Informācija:-Divi studenti Rūpniecības izstrādājumu dizains Kortrijkā (Beļģija) nāca klajā ar šo lasīšanas rīku. Mēs sākām, pamatojoties uz esošu dizainu, un esam to izstrādājuši citā dizainā. Lasīšanas rīks sākotnēji tika izstrādāts, lai to varētu izmantot
D4E1: lasīšanas rīks 2.0 (ražošanas pamatprocess): 9 soļi (ar attēliem)
D4E1: Lasīšanas rīks 2.0 (Ražošanas pamatprocess): Informācija:-Divi studenti Rūpniecības izstrādājumu dizains Kortrijkā (Beļģija) nāca klajā ar šo lasīšanas rīku. Mēs sākām, pamatojoties uz esošu dizainu, un esam to izstrādājuši citā dizainā. Lasīšanas rīks sākotnēji tika izstrādāts, lai to varētu izmantot
Ražošanas kontrole Qualcomm: 4 soļi
Ražošanas kontrole Qualcomm: Uma equipe Hackears desenvolveu um system de controle / monitoramento de processos industriais, usando uma plataforma DragonBoard 410c - Qualcomm, que tem como objetivo resolver problems de engenharia de production ç ã o de tal forma a garan
Enerģijas ražošanas apavi: 10 soļi (ar attēliem)
Enerģijas ražošanas apavi: šī pamācība parādīs, kā izveidot kurpes, kas ģenerē elektrību. Tas tiek darīts, izmantojot jūsu enerģiju staigājot un pārvērš to elektrībā. Ja jūs kādreiz esat pazaudējis elektroenerģiju savam mobilajam tālrunim nekurienes vidū, tad