Sisukord:
- Samm: kasutatud osad ja tööriistad:
- 2. toiming: Wifi halduri kohandamine
- 3. toiming: vormitoimingu kohandatud funktsioonid
- Samm: ühendused ja põhiprogramm
- Samm: veebiserveri loomine
- 6. samm: viimane samm !
Video: WIFI -ekraan tootmise haldamiseks: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Olen natuke seeria IOT -i ja ühe pardaarvutite kohta.
Soovin seda alati kasutada ka väljaspool hobi- ja lõbuprojekte (tegelik tootmine ja tootmine).
See juhendab umbes 4-kohalise 7-segmendilise WIFI-ekraani loomist ESP-nodemcu abil, et kuvada iga-aastane tootmissisend. Töötan elektroonikatööstuses, kus kasutame tootmispõranda süsteemi (MES), et jälgida ja juhtida tootmispõranda sisendit, väljundit ja protsessi. Selles projektis loon väikese kuvaüksuse, mis näitab tootmise sisendkogust rea, vahetuse ja tunni kohta.
Tehniliselt sarnaneb see projekt Youtube'i abonentide arvu kuvaga, kus kasutame võrgus API/HTTP vastust. Kuid siin loome oma API, et suhelda kohaliku MES -süsteemiga, et saada sisendkogus.
Samm: kasutatud osad ja tööriistad:
Kasutatud riistvaraosad:
- ESP nodemcu
- TM1637 4 -kohaline kellaekraan
- Vajutage lülitit
- 10k takisti
- mõned hüppajajuhtmed
Kasutatud tarkvara tööriistad:
- Arduino IDE
- Xampp PHP/Apache veebiserverile
Arduino raamatukogu kasutatakse:
1. Wifi haldur tzapu & i poolt kohandatud minu kohandatud failide jaoks (wifimanager)
2. ESP_EEPROM minu kohandatud väärtuste salvestamiseks välkmällu
3. SevenSegmentTM1637 ekraanile
2. toiming: Wifi halduri kohandamine
Esmalt installisin esmalt wifihalduri ja seejärel kopeerisin Wifi halduri kausta ning andsin uuesti Arduino raamatukogu kausta Same, seejärel nimetasin selle ümber nimeks WiFiManager_custom.
Kaust Juurkataloog Enamasti meeldib
C: / Kasutajad / teie arvuti nimi / Dokumendid / Arduino / teegid
Seejärel avasin kausta wifimanager_custom ja nimetasin päise.cpp -faili ümber samaks kui wifimanager_custom, lisasin sama ka päisesse ja.cpp -faili.
Ja lisasin päisesse oma kohandatud vormi ja nupu.
HTTP_PORTAL_OPTIONS PROGMEM lisasin menüü jaoks oma nupuvormi.
ja lisas uue vormi rea ja vahetuse sisestamiseks. lõin selle vormi lihtsa tekstivormina.
Pärast seda loome selle vormi jaoks.cpp -failis toimimisfunktsioonid, selleks peame päisefailis funktsiooni deklareerima.
/ * minu kohandatud funktsioonid */
tühi käepideCustomForm (); tühi käepideCustomSave ();
deklareerisin oma kohandatud funktsioonid päisefailis. et see, meie töö päises on lõppenud, peame oma funktsiooni ja toimingute loomiseks kasutama.cpp -faili.
3. toiming: vormitoimingu kohandatud funktsioonid
Nüüd avame oma faili wifimanager_custom.cpp.
ja peame lisama oma http vastuste käitleja, et helistada oma funktsioonidele, kui meie vorm on postitatud.
server-> on (String (F ("/custom_config")), std:: bind (& WiFiManager:: handleCustomForm, see)); // MINU kohandatud käepide
server-> sisse (String (F ("/custom_save")), std:: bind (& WiFiManager:: handleCustomSave, see)); // MINU kohandatud käepide
need kutsuvad vormi postitamisel meie kohandatud funktsioone.
1.handleCustomForm ()-> loob lehe, millel on meie kohandatud vorm rea ja nihke sisestamiseks ja salvestamiseks.
2.handleCustomSave ()-> see funktsioon saab vormi väärtused ja salvestab välkmälu asukohtadesse 0 (rida) ja 50 (vahetus).
Samm: ühendused ja põhiprogramm
Ühendused on väga lihtsad..
Ühendused ja juhtmestik:
nodemcu TM1637 Ekraan
3.3v ---- Vcc
G ---- Gnd
D2 ---- CLK
D3 ----- DIO
nodemcu- vajutage lülitit
- nupp D8 külge kinnitatud nupp +5V - 10K takisti külge, mis on kinnitatud tihvti D8 külge maapinnast
lõpetasime oma abikaasahalduri kohandamise. nüüd peame looma oma põhiprogrammi.
1. meie wifihaldur loob ühenduse viimati kasutatud volikirjaga wifi -võrguga, kui see ebaõnnestub, avab see AutoConnectAP wifi -serveri. Saame selle wifi -serveriga ühendades konfigureerida uued wifi -kriminaalid, liinid ja vahetused.
2. siis siseneb see põhiahelasse.
Meie peamine silmus koosneb kahest osast. üks on confi alamprogramm, kui peame seadistamiseks muutma rida, nihutama või lisama mis tahes WiFi -mandaadi nõudlusrežiimi AP kutsumiseks. see helistatakse, kui vajutatakse D8 tihvtiga ühendatud nupule.
void loop () {
config_loop ();
}
void config_loop () {Serial.println ("");
Serial.println ("Ootab konfiguratsiooninupu olekut …");
//display.print("Oota ");
if (digitalRead (TRIGGER_PIN) == HIGH)
{
display.print ("Conf"); // WiFiManager
// Kohalik intialiseerimine. Kui tema äri on tehtud, pole vaja seda WiFiManager wifiManager ümber hoida;
// seadete lähtestamine - testimiseks
//wifiManager.resetSettings ();
// määrab ajalõpu kuni konfiguratsiooniportaali väljalülitamiseni // kasulik, et seda kõike uuesti proovida või magama minna // sekunditega
//wifiManager.setTimeout(120);
// see alustab määratud nimega pöörduspunkti
// siin "AutoConnectAP" // ja läheb blokeerimisahelasse, mis ootab seadistamist
// ilma selleta ei tundu, et rakendus SDK 1.5 -ga korralikult töötaks, värskendage vähemalt versioonile 1.5.1 //WiFi.mode(WIFI_STA);
if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("ebaõnnestus ühendus ja tabas ajalõpp"); viivitus (3000); // lähtesta ja proovi uuesti või pane see võib -olla sügavasse unne ESP.reset (); viivitus (5000); }}
//Serial.println("Button status False. Back to Main loop "); //display.print("Peasilmus "); //display.clear ();
}
Teine on meie peamine programm HTTP -vastuse saamiseks konkreetselt serverilt ja sisendkoguse kuvamine ekraanil.
Selleks peame esmalt saama oma rea ja nihke üksikasjad ESP välkmälust (aadress 0-> rida, 50-> vahetus)
EEPROM.bin (100); // eeprom storageEEPROM.get (0, rida); // hankige väärtus aadressilt 0
EEPROM.get (50, vahetus); // Hankige väärtus aadressilt 50
siis peame edastama selle rea ja nihutama üksikasjad oma http -serverile, kasutades meetodit sisendi ja väljundi väärtuse saamiseks.
String Base_url = "eemaldatud"; // minu baasi urlHTTPClient http; // Klassi HTTPClient objekt
Stringi URL = Base_url+"?"+"Line ="+line+"& shift ="+shift;
Serial.println (URL);
http.begin (URL);
int httpCode = http. GET ();
Serial.println (http.getString ()); // see prindib kogu http vastuse stringi;
kui soovite, kuidas kogu tekst on teie töö siin lõpetatud, saame selle ise kuvada tm1637 ekraanil.
display.print (http.getString ());
Kuid ma ei taha kogu teksti näidata, sest see sisaldab sisendit, väljundit json -vormingus ja mõnda muud üldist teksti oma andmebaasi ja muude kohta.
nii et kõigepealt eemaldasin selle üldteksti vastuste stringist funktsiooni Substring () abil.
lugesin üldteksti pikkust ja kärpisin seda.
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 (). Alamstring (121); /* see on minu üldteksti nihe, kui teie vastusel pole midagi sellist, mille saate selle koodi eemaldada; */
//Serial.println(json_string);
DeserializationError error = deserializeJson (juur, json_string);
// JsonObject & root = jsonBuffer.parseObject (http.getString ());
kui (viga)
{Serial.print (F ("deserializeJson () ebaõnnestus:"));
Serial.println (error.c_str ());
tagasipöördumine;
}
muu {
const char* sisend = juur ["sisend"];
const char* väljund = juur ["väljund"];
Serial.print ("Sisend:");
Serial.println (sisend);
Serial.print ("Väljund:");
Serial.println (väljund);
display.print (".. sisse..");
display.clear (); // ekraani tühjendamine
display.print (sisend); // print MÕNE DIGITI LOENDAMINE
}
see on meie põhiprogramm.
Samm: veebiserveri loomine
i m Kasutan oma veebiteenindajana xamppi ja PHP -koodi, et saada andmeid oma SQL -andmebaasist täpse koguse saamiseks.
Kuid ma ei saa jagada kõiki selle algseid koode. sest see on minu ettevõtte konfidentsiaalsus. aga ma näitan, kuidas luua üks veebiserver, näidata näiv staatilist sisend- ja väljundkogust.
Selleks vajate mis tahes veebi, ma kasutan siin hostina xampp.
xamppi saate alla laadida siit.
installige xampp… kui vajate selgeid juhiseid, saate seda linki kasutada.
Pärast xamppi installimist peate minema oma juurkataloogi.
C: / xampp / htdocs
kõik teie php -programmid peaksid olema selles juuris.
lõin oma lehe nimega esp_api.php
see on minu php -kood. siin kuvan lihtsalt sisendi & väljundi staatilisi väärtusi;
$ line = $ _ GET ['rida']; $ shift = $ _ GET ['shift'];
echo ("myString"); // üldine tekst
kui ($ line == 'a0401' ja $ shift = 'dd') {$ result ['input'] = 100; $ result ['output'] = 99; }
else {$ result ['input'] = 200; $ result ['output'] = 199; }
$ myObj-> input = ''. $ result ['input']. '';
$ myObj-> output = ''. $ result ['output']. '';
$ myJSON = json_encode ($ myObj);
kaja $ myJSON;
Nüüd on meie HTTP vastuse API valmis.
Meie http baasi URL on sarnane
sa_ip_aadress/esp_api.php
saate oma API vastusteksti kontrollida
localhost/esp_api.php? line = a0401 & shift = dd
siin mainisin rida kui a0401 ja nihet kui dd.
6. samm: viimane samm !
Sisestage baasi URL -i oma arvuti IP -aadress
String Base_url = "eemaldatud"; // teie baasi URL
ja laadige üles oma ESP nodemcu. Kui olete oma mobiiltelefonist või sülearvutist lihtsalt WiFi sisse lülitanud, saate võrgu nimega AutoConnectAP. looge sellega ühendus ja sisestage oma mandaat ja rea konfiguratsioonid.
Seejärel lähtestage oma seade ja kontrollige, kas teie võrk on ühendatud, kui see on ühendatud, siis on kõik tehtud.
Näete, et sisend kuvatakse ekraanil.
kui soovite muuta mis tahes rida või wifi mandaati, võite vajutada mõne sekundi jooksul lülitit, ekraanil kuvatakse confi.
sisenesite nõudluse režiimi. saate seadet muuta ja lähtestada.
Tema juhendatav peamine moto näitab teile, kuidas saame oma hobi- ja lõbuprojekte reaalses tootmis- ja tootmispiirkonnas kasutada ning näidata
Soovitan:
Proyecto 1 tootmise digitaalne UVG: 4 sammu
Proyecto 1 Tootja Digital UVG: Diagrama Esquemático del circuitito de la lámpara. Materjalid: 3 NeoPixels Puentes kaablit 3 potentsiaali 10K Un botón Un Sensor DHT11 Un Arduino Una Resistencia de 220 ohmios Un interruptor Un protoboardEl proyecto consistió en realizar una
Shelly EM automaatne lülitus päikesepaneelide tootmise põhjal: 6 sammu
Shelly EM automaatne lülitus päikesepaneelide tootmise põhjal: P1: maja tarbimine (nt "P1 = 1kW" ⇒ tarbime 1kW) P2: päikesepaneelide tootmine (nt "P2 = - 4kW" ⇒ toodame 4kW) kütteseade tarbib sisselülitamisel 2kW. Soovime selle sisse lülitada, kui päikesepaneelid toodavad
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
Klass konfiguratsiooni haldamiseks ESP32 EEPROM -is: 5 sammu
Klass konfiguratsiooni haldamiseks ESP32 EEPROMis: Tere, ma tahan teiega jagada kogu klassi, mille olen välja töötanud, ja see lihtsustab ESP32 seadmetele konfiguratsiooniteabe lisamise ülesannet. Klassil on järgmised eesmärgid: Konfiguratsiooni loomise hõlbustamine süsteem ESP32 seadmetes
Tootmise kontroll Qualcomm: 4 sammu
Tootmise juhtimine Qualcomm: Uma equipe Hackears desenvolveu um system de controle / monitoring of processos industrias, usando uma plataforma DragonBoard 410c - Qualcomm, que tem como objetivo resolver problems de engenharia de production ç ã o de tal forma a garan