Obsah:

WIFI displej pro řízení výroby: 6 kroků
WIFI displej pro řízení výroby: 6 kroků

Video: WIFI displej pro řízení výroby: 6 kroků

Video: WIFI displej pro řízení výroby: 6 kroků
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, Červenec
Anonim
WIFI displej pro řízení výroby
WIFI displej pro řízení výroby

Jsem malá série o IOT a jednodeskových počítačích.

Vždycky bych ho chtěl použít nad rámec Hobby & Fun Projects (skutečná výroba a výroba).

This Instructable is about to Creating 4 digit 7-segment WIFI display with ESP nodemcu to Show hodinly Production Input. Pracuji ve výrobním průmyslu elektroniky, kde používáme systém Manufacturing Execution System (MES) k monitorování a řízení vstupního, výstupního a procesního výrobního minima. V tomto projektu vytvářím malou zobrazovací jednotku, která bude zobrazovat vstupní množství produkce podle řádku, směny a hodiny.

Technicky je tento projekt podobný zobrazení počtu odběratelů na Youtube, kde používáme odezvu API/HTTP online. Ale zde si vytvoříme vlastní rozhraní API pro interakci s naším místním systémem MES za účelem získání vstupního množství.

Krok 1: Použité součásti a nástroje:

Použité díly a nástroje
Použité díly a nástroje

Použité hardwarové součásti:

  1. ESP nodemcu
  2. TM1637 4místný displej s hodinami
  3. Stiskněte spínač
  4. 10k odpor
  5. několik propojovacích vodičů

Použité softwarové nástroje:

  1. Arduino IDE
  2. Xampp pro webový server PHP/Apache

Použitá knihovna Arduino:

1. Správce WiFi od tzapu & i Přizpůsoben pro mé vlastní soubory (wifimanager)

2. ESP_EEPROM pro ukládání vlastních hodnot do paměti Flash

3. SevenSegmentTM1637 pro zobrazení

Krok 2: Přizpůsobení správce Wifi

Přizpůsobení správce Wifi
Přizpůsobení správce Wifi

V tomto Nejprve jsem nejprve nainstaloval správce wifi a poté jsem zkopíroval složku Správce Wifi a znovu ji předal ve složce Same ve složce knihovny Arduino a poté přejmenoval na WiFiManager_custom.

Složka Kořenový adresář Většinou jako

C: / Users / název vašeho počítače / Documents / Arduino / libraries

Poté jsem otevřel složku wifimanager_custom a přejmenoval soubor záhlaví.cpp stejně jako wifimanager_custom, přidal to samé také do souborů záhlaví a.cpp.

A přidal můj vlastní formulář a tlačítko v záhlaví.

v HTTP_PORTAL_OPTIONS PROGMEM jsem přidal svůj formulář tlačítka pro Menu.

a přidán nový formulář pro zadávání řádku a posunu. Tento formulář jsem vytvořil jako jednoduchý textový formulář.

Poté vytvoříme akční funkce pro tyto formuláře v souboru.cpp, proto musíme provést deklaraci funkcí v hlavičkovém souboru.

/ * mé vlastní funkce */

void handleCustomForm (); void handleCustomSave ();

deklaroval jsem své vlastní funkce v hlavičkovém souboru. že naše práce v záhlaví je hotová, musíme vytvořit soubor funkcí a akcí pomocí souboru.cpp.

Krok 3: Vlastní funkce pro akci formuláře

Vlastní funkce pro akci formuláře
Vlastní funkce pro akci formuláře
Vlastní funkce pro akci formuláře
Vlastní funkce pro akci formuláře
Vlastní funkce pro akci formuláře
Vlastní funkce pro akci formuláře

Nyní otevřeme náš soubor wifimanager_custom.cpp.

a musíme přidat náš obslužný program odezvy http pro volání našich funkcí, když je náš formulář post.

server-> on (String (F ("/custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // MOJE vlastní rukojeť

server-> on (String (F ("/custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // MOJE vlastní rukojeť

tyto budou po odeslání formuláře volat naše vlastní funkce.

1.handleCustomForm ()-> vytvoří stránku s naším vlastním formulářem pro zadání řádku a posun a tlačítko uložení.

2. handleCustomSave ()-> tato funkce získá hodnoty formuláře a uloží je do paměti Flash 0 (řádek) a 50 (posun).

Krok 4: Připojení a hlavní program

Připojení a hlavní program
Připojení a hlavní program

Připojení je velmi jednoduché..

Připojení a zapojení:

Displej nodemcu TM1637

3,3 V ---- Vcc

G ---- Gnd

D2 ---- CLK

D3 ----- DIO

nodemcu- spínač

- tlačítko připojené ke kolíku D8 od +5V - odpor 10K připojený ke kolíku D8 ze země

dokončili jsme přizpůsobení našeho wifimanageru. nyní musíme vytvořit náš hlavní program.

1. náš správce wifi se připojí k síti Wi -Fi s posledně použitými přihlašovacími údaji pro připojení, pokud se nezdaří, otevře wifi server AutoConnectAP. Můžeme nakonfigurovat nové wifi sítě, linku a posun připojením k tomuto serveru wifi.

2. poté vstoupí do hlavní smyčky.

Naše hlavní smyčka bude obsahovat dvě části. jedním z nich je podprogram confi, když potřebujeme změnit linku, přesunout nebo přidat jakékoli wifi pověření pro konfiguraci režimu poptávky AP. toto bude vyvoláno po stisknutí tlačítka připojeného ke kolíku D8.

prázdná smyčka () {

config_loop ();

}

void config_loop () {Serial.println ("");

Serial.println ("Čekání na stav tlačítka Stav …");

//display.print("Wait ");

if (digitalRead (TRIGGER_PIN) == HIGH)

{

display.print („Conf“); // WiFiManager

// Místní inicializace. Jakmile je jeho podnikání hotové, není třeba jej udržovat kolem WiFiManager wifiManager;

// reset nastavení - pro testování

//wifiManager.resetSettings ();

// nastaví časový limit, dokud se konfigurační portál nevypne // užitečné, aby se vše opakovalo nebo šlo do režimu spánku // během několika sekund

//wifiManager.setTimeout(120);

// spustí přístupový bod se zadaným názvem

// zde "AutoConnectAP" // a přejde do blokovací smyčky čekající na konfiguraci

// BEZ TOHO AP NEVYDÁVÁ SPRÁVNĚ FUNGOVAT S SDK 1.5, aktualizujte alespoň na 1.5.1 //WiFi.mode(WIFI_STA);

if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("nepodařilo se připojit a vypršel časový limit"); zpoždění (3000); // reset a zkus to znovu, nebo to dej do hlubokého spánku ESP.reset (); zpoždění (5000); }}

//Serial.println("Button status False. Back to Main loop "); //display.print("Hlavní smyčka "); //display.clear ();

}

Druhý bude náš hlavní program pro získání odpovědi HTTP z konkrétního serveru a zobrazení vstupního množství na displeji.

Nejprve musíme získat podrobnosti o řádku a posunu z Flash úložiště ESP (adresa 0-> řádek, 50-> posun)

EEPROM.begin (100); // eeprom storageEEPROM.get (0, řádek); // získejte hodnotu z adresy 0

EEPROM.get (50, směna); // Získejte hodnotu z adresy 50

pak musíme předat tento řádek a podrobnosti o posunu našemu http serveru metodou get, abychom získali hodnotu vstupu a výstupu.

String Base_url = "odstraněno"; // moje základna urlHTTPClient http; // Objekt třídy

Řetězcová URL = Base_url+"?"+"Line ="+line+"& shift ="+shift;

Serial.println (URL);

http.begin (URL);

int httpCode = http. GET ();

Serial.println (http.getString ()); // toto vytiskne všechny řetězce odpovědí

pokud chcete, jak je celý text hotový, pak je vaše práce zde hotová, můžeme ji přímo zobrazit na displeji tm1637.

display.print (http.getString ());

Ale nechci zobrazit celý text, protože obsahuje vstup, výstup ve formátu json a další obecný text o jeho databázi a atd.

nejprve jsem tedy odstranil obecný text z řetězce odpovědí pomocí funkce Substring ().

napočítal jsem délku obecného textu a ořízl ho.

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

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

Řetězec json_string = http.getString (). Podřetězec (121); /* toto je můj offset obecného textu, pokud vaši respondenti nemají nic takového, můžete tento kód odstranit; */

//Serial.println(json_string);

Chyba DeserializationError = deserializeJson (root, json_string);

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

pokud (chyba)

{Serial.print (F ("deserializeJson () failed:"));

Serial.println (error.c_str ());

vrátit se;

}

jiný{

const char* input = root ["vstup"];

const char* output = root ["výstup"];

Serial.print ("Vstup:");

Serial.println (vstup);

Serial.print ("Výstup:");

Serial.println (výstup);

display.print („.. in..“);

display.clear (); // vymazat displej

display.print (vstup); // tisk POČÍTÁNÍ NĚKTERÝCH ČÍSEL

}

tím je náš hlavní program hotový.

Krok 5: Vytvoření webového serveru

Vytvoření webového serveru
Vytvoření webového serveru
Vytvoření webového serveru
Vytvoření webového serveru

Používám xampp jako webový server a kód PHP pro získání dat z mé databáze SQL, abych získal přesné množství.

Ale nemohu sdílet všechny původní kódy. protože jde o důvěrnost mé společnosti. ale ukážu, jak vytvořit jeden webový server, ukázat fiktivní statické vstupní a výstupní množství.

K tomu byste potřebovali libovolného webového hostitele, používám zde xampp jako svého hostitele.

xampp si můžete stáhnout zde.

nainstalujte xampp … pokud potřebujete jasné pokyny, můžete použít tento odkaz.

Po instalaci xampp musíte přejít do kořenového adresáře.

C: / xampp / htdocs

všechny vaše php programy by měly být uvnitř tohoto kořene.

vytvořil jsem svou stránku pod názvem esp_api.php

toto je můj php kód. zde právě zobrazuji statické hodnoty vstupu a výstupu;

$ line = $ _ GET ['line']; $ shift = $ _ GET ['shift'];

echo ("myString"); // obecný text

if ($ line == 'a0401' a $ shift = 'dd') {$ result ['input'] = 100; $ result ['output'] = 99; }

jinak {$ result ['input'] = 200; $ result ['output'] = 199; }

$ myObj-> input = ''. $ result ['input']. '';

$ myObj-> output = ''. $ result ['výstup']. '';

$ myJSON = json_encode ($ myObj);

echo $ myJSON;

Nyní je naše API odpovědi HTTP dokončeno.

Naše základní adresa URL http bude vypadat jako

you_ip_address/esp_api.php

text odpovědi API můžete zkontrolovat do

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

zde jsem zmínil řádek jako a0401 a posun jako dd.

Krok 6: Poslední krok !

Poslední krok !!!
Poslední krok !!!
Poslední krok !!!
Poslední krok !!!
Poslední krok !!!
Poslední krok !!!

Do základní adresy URL zadejte adresu IP svého počítače

String Base_url = "odstraněno"; // vaše základní URL

a Nahrát do vašeho ESP nodemcu. Jakmile skončíte, stačí zapnout wifi z mobilu nebo notebooku, získáte síť s názvem AutoConnectAP. spojte se s ním a zadejte své pověření a konfigurace linek.

Poté resetujte zařízení a zkontrolujte, zda je vaše síť připojena, jakmile je připojena, a pak je vše hotovo.

Můžete vidět, že vstup je zobrazen na displeji.

pokud chcete změnit pověření pro libovolnou linku nebo wifi, můžete stisknout tlačítko na několik sekund, na displeji se zobrazí confi.

jste vstoupili do režimu poptávkyAP. můžete zařízení změnit a resetovat.

Hlavní moto jeho instruktáže, aby vám ukázal, jak můžeme použít naše hobby a zábavné projekty ve skutečné oblasti výroby a výroby a ukázat

Doporučuje: