Talaan ng mga Nilalaman:

Ipakita ang WIFI para sa Pamamahala ng Produksyon: 6 na Hakbang
Ipakita ang WIFI para sa Pamamahala ng Produksyon: 6 na Hakbang

Video: Ipakita ang WIFI para sa Pamamahala ng Produksyon: 6 na Hakbang

Video: Ipakita ang WIFI para sa Pamamahala ng Produksyon: 6 na Hakbang
Video: EPP 4 - LIGTAS AT RESPONSABLENG PAGGAMIT NG COMPUTER, INTERNET, AT EMAIL 2024, Nobyembre
Anonim
Ipakita ang WIFI para sa Pamamahala sa Produksyon
Ipakita ang WIFI para sa Pamamahala sa Produksyon

Ako ay maliit na Serye tungkol sa IOT at Single board computer.

Palagi kong hinahangad na gamitin ito lampas sa Mga Proyekto sa Libangan at Kasayahan (tunay na Produksyon at Paggawa).

Ang Instructable na ito ay malapit nang Lumikha ng 4 na digit na 7-segment na display ng WIFI na may ESP nodemcu upang Ipakita ang oras-oras na Pag-input ng Produksyon. Nagtatrabaho ako sa industriya ng pagmamanupaktura ng Elektronika, kung saan ginagamit namin ang System ng Pagpapatupad ng Paggawa (MES) upang Subaybayan at Kontrolin ang Pag-input, Paglabas at Proseso ng Production Production Floor. Sa proyektong ito Lumilikha ako ng Maliit na yunit ng pagpapakita na magpapakita ng dami ng input ng Production ayon sa bawat linya, paglilipat at oras.

Sa panteknikal na ang Project na ito ay katulad ng isang display ng count ng Subscriber ng Youtube, kung saan gumagamit kami ng tugon ng API / HTTP mula sa online. Ngunit dito lilikha kami ng aming sariling api upang makipag-ugnay sa aming lokal na system ng MES upang Kumuha ng dami ng Input.

Hakbang 1: Ginamit ang Mga Bahagi at Kasangkapan:

Ginamit na Mga Bahagi at Kasangkapan
Ginamit na Mga Bahagi at Kasangkapan

Ginamit ang Mga Bahagi ng Hardware:

  1. ESP nodemcu
  2. TM1637 4 na digit na orasan Ipakita
  3. Push switch
  4. 10k risistor
  5. ilang mga jumper wires

Ginamit ang Mga Tool ng Software:

  1. Arduino IDE
  2. Xampp para sa PHP / Apache web server

Ginamit ang Arduino Library:

1. Wifi manager ni tzapu & i Customized para sa aking pasadyang mga filed (wifimanager)

2. ESP_EEPROM para sa pagtatago ng aking mga pasadyang halaga sa memorya ng Flash

3. SevenSegmentTM1637 Para sa Ipakita

Hakbang 2: Pagpapasadya ng Wifi Manager

Pagpapasadya ng Wifi Manager
Pagpapasadya ng Wifi Manager

Sa Una na ito nag-install muna ako ng wifi manager at pagkatapos ay Kinopya ko ang Wifi manager Folder at ipinasa muli sa Same sa folder ng Arduino library, pagkatapos ay pinalitan ng pangalan bilang WiFiManager_custom.

Direktoryo ng Folder Root Karamihan sa gusto

C: / Mga Gumagamit / iyong pangalan ng computer / Mga Dokumento / Arduino / aklatan

Pagkatapos ay binuksan ko ang wifimanager_custom folder at pinalitan ang pangalan ng

At Idinagdag ang aking Pasadyang Form at Button sa header.

sa HTTP_PORTAL_OPTIONS PROGMEM idinagdag ko ang aking form sa pindutan para sa Menu.

at nagdagdag ng bagong Form para sa pagpasok ng linya at shift. nilikha ko ang form na ito bilang simpleng form ng teksto.

Pagkatapos nito ay lilikha kami ng mga pagpapaandar ng pagkilos para sa mga form na ito sa.cpp file, para doon kailangan nating gawin ang pagdeklara ng pagpapaandar sa header file.

/ * aking mga pasadyang pagpapaandar * /

walang bisa ang hawakanCustomForm (); walang bisa ang hawakanCustomSave ();

idineklara ko ang aking pasadyang mga pagpapaandar sa header file. na ito, tapos na ang aming trabaho sa header kailangan naming pumunta kasama ang.cpp file upang likhain ang aming pag-andar at mga pagkilos.

Hakbang 3: Mga Pasadyang Pag-andar para sa Pagkilos ng Form

Mga Pasadyang Pag-andar para sa Pagkilos ng Form
Mga Pasadyang Pag-andar para sa Pagkilos ng Form
Mga Pasadyang Pag-andar para sa Pagkilos ng Form
Mga Pasadyang Pag-andar para sa Pagkilos ng Form
Mga Pasadyang Pag-andar para sa Pagkilos ng Form
Mga Pasadyang Pag-andar para sa Pagkilos ng Form

Ngayon ay binubuksan namin ang aming wifimanager_custom.cpp file.

at kailangan naming idagdag ang aming tagapamahala ng tugon sa http upang tawagan ang aming mga pag-andar kapag ang aming form ay nai-post.

server-> on (String (F ("/ custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // ANG aking pasadyang hawakan

server-> on (String (F ("/ custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // ANG aking pasadyang hawakan

tatawagan nito ang aming mga pasadyang pagpapaandar kapag na-post ang form.

1.handleCustomForm () -> lilikha ng isang pahina gamit ang aming pasadyang form para sa linya at i-shift ang pindutan ng pag-save.

2.handleCustomSave () -> ang pagpapaandar na ito ay makakakuha ng mga halaga ng form at mag-iimbak sa mga lokasyon ng memorya ng Flash na 0 (linya) at 50 (shift).

Hakbang 4: Mga Koneksyon at Pangunahing Program

Mga Koneksyon at Pangunahing Program
Mga Koneksyon at Pangunahing Program

Ang mga koneksyon ay napaka-simple..

Mga koneksyon at kable:

nodemcu TM1637 Ipakita

3.3v ---- Vcc

G ---- Gnd

D2 ---- CLK

D3 ----- DIO

nodemcu- push switch

- pushbutton na nakakabit sa pin D8 mula sa + 5V - 10K risistor na nakakabit sa pin D8 mula sa lupa

natapos namin ang pagpapasadya ng aming wifimanager. ngayon kailangan nating lumikha ng aming pangunahing programa.

1. ang aming wifi manager ay Makikonekta sa wifi network na may huling ginamit na mga kredensyal upang kumonekta, kung nabigo ito ay bubukas ang isang AutoConnectAP wifi server. Maaari nating mai-configure ang mga bagong kriminal sa wifi, linya at paglilipat sa pamamagitan ng pagkonekta sa wifi server na ito.

2. pagkatapos ay papasok ito sa pangunahing loop.

Maglalaman ang aming pangunahing loop ng dalawang bahagi. ang isa ay confi subroutine kapag kailangan naming baguhin ang linya, ilipat o magdagdag ng anumang kredensyal sa wifi upang tawagan ang demand mode AP upang i-configure. tatawagin ito kapag ang isang pindutan ng push na konektado sa pin ng D8 ay Pinindot.

void loop () {

config_loop ();

}

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

Serial.println ("Naghihintay Para sa Katayuan ng pindutan ng Config …");

//display.print("Wait ");

kung (digitalRead (TRIGGER_PIN) == TAAS)

{

display.print ("Conf"); // WiFiManager

// Local intialization. Kapag tapos na ang negosyo, hindi na kailangang panatilihin ito sa paligid ng WiFiManager wifiManager;

// reset setting - para sa pagsubok

//wifiManager.resetSettings ();

// nagtatakda ng timeout hanggang sa naka-off ang portal ng pagsasaayos // kapaki-pakinabang upang gawin itong muli subukang muli o matulog // sa mga segundo

//wifiManager.setTimeout(120);

// nagsisimula ito ng isang access point na may tinukoy na pangalan

// dito "AutoConnectAP" // at papunta sa isang pag-block ng loop na naghihintay ng pagsasaayos

// NG WALANG ITO ANG AP AY HINDI GUMAGAWA NG PROPERLY NG SDK 1.5, i-update sa hindi bababa sa 1.5.1 //WiFi.mode(WIFI_STA);

kung (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("nabigong kumonekta at ma-hit ang timeout"); pagkaantala (3000); // reset at subukang muli, o marahil ilagay ito sa mahimbing na pagtulog ng ESP.reset (); pagkaantala (5000); }}

//Serial.println("Mga katayuan ng pindutan Maling. Balik sa Pangunahing loop "); //display.print("Main loop "); //display.clear ();

}

Ang pangalawa ay ang aming pangunahing programa upang makakuha ng tugon sa HTTP mula sa partikular na server at Ipakita ang dami ng pag-input sa Display.

Para sa Una na ito kailangan naming makuha ang aming linya at detalye ng paglilipat mula sa Flash na imbakan ng ESP (address 0-> linya, 50-> shift)

EEPROM.begin (100); // eeprom storageEEPROM.get (0, linya); // kumuha ng Halaga mula sa address 0

EEPROM.get (50, shift); // Kumuha ng Halaga Mula sa address 50

pagkatapos ay kailangan nating ipasa ang mga detalye ng linya at paglilipat sa aming http server sa pamamagitan ng pagkuha ng pamamaraan upang makuha ang halaga ng pag-input at output.

String Base_url = "tinanggal"; // my base urlHTTPClient http; // Bagay ng klase

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

Serial.println (URL);

http.begin (URL);

int httpCode = http. GET ();

Serial.println (http.getString ()); // ililimbag nito ang lahat ng string ng pagtugon sa

kung nais mo kung paano ang lahat ng teksto pagkatapos ang iyong trabaho ay tapos na dito ito sa sarili maaari nating direktang ipakita ito sa tm1637 display.

display.print (http.getString ());

Ngunit hindi ko nais na ipakita ang lahat ng teksto, dahil naglalaman ito ng input, output sa json form at ilang iba pang pangkalahatang teksto tungkol sa database at etcs.

kaya't tinanggal ko muna ang pangkalahatang teksto na iyon mula sa string ng pagtugon sa pamamagitan ng paggamit ng Substring () na pagpapaandar.

binilang ko ang haba ng pangkalahatang teksto at pinutol ito.

kung (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bufferSize); Ugat ng DynamicJsonDocument (bufferSize);

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

String json_string = http.getString (). Substring (121); / * ito ang aking offset ng pangkalahatang teksto kung ang iyong pagtugon ay walang anumang bagay tulad na maaari mong alisin ang code na ito; * /

//Serial.println(json_string);

Error sa DeserializationError = deserializeJson (root, json_string);

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

kung (error)

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

Serial.println (error.c_str ());

bumalik;

}

iba pa {

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

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

Serial.print ("Input:");

Serial.println (input);

Serial.print ("Output:");

Serial.println (output);

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

display.clear (); // limasin ang display

display.print (input); // print COUNTING SOME DIGITS

}

iyon ang aming pangunahing programa ay tapos na.

Hakbang 5: Lumilikha ng Web Server

Lumilikha ng Web Server
Lumilikha ng Web Server
Lumilikha ng Web Server
Lumilikha ng Web Server

Gumagamit ako ng xampp bilang aking web service at PHP code upang makakuha ng data mula sa aking SQL database upang makakuha ng eksaktong dami.

Ngunit hindi ko maibabahagi ang lahat ng mga orihinal na code nito. dahil ang pagiging kompidensiyal nito ng aking kumpanya. ngunit ipapakita ko kung paano lumikha ng isang web server, ipakita ang dummy static input at output dami.

Para sa mga ito kailangan mong kailanganin ang anumang web host, gumagamit ako dito bilang aking host.

maaari kang mag-download ng xampp dito.

i-install ang xampp… kung kailangan mo ng malinaw na tagubilin maaari mong gamitin ang link na ito.

Pagkatapos i-install ang xampp kailangan mong pumunta sa iyong direktoryo ng ugat.

C: / xampp / htdocs

lahat ng iyong mga programa sa php ay dapat nasa loob ng ugat na ito.

nilikha ko ang aking pahina sa pangalang tinatawag na esp_api.php

ito ang aking php code. narito ako ay nagpapakita lamang ng mga static na halaga ng pag-input at output;

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

echo ("myString"); // pangkalahatang Teksto

kung ($ line == 'a0401' at $ shift = 'dd') {$ resulta ['input'] = 100; $ resulta ['output'] = 99; }

iba pa {$ resulta ['input'] = 200; $ resulta ['output'] = 199; }

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

$ myObj-> output = ''. $ resulta ['output']. '';

$ myJSON = json_encode ($ myObj);

echo $ myJSON;

Ngayon ang aming HTTP response API ay tapos na.

Ang aming http base url ay magiging katulad

you_ip_address / esp_api.php

maaari mong suriin ang iyong teksto ng tugon sa API sa pamamagitan ng

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

dito nabanggit ko ang linya bilang a0401 at ilipat bilang dd.

Hakbang 6: Pangwakas na Hakbang !!

Pangwakas na Hakbang !!!
Pangwakas na Hakbang !!!
Pangwakas na Hakbang !!!
Pangwakas na Hakbang !!!
Pangwakas na Hakbang !!!
Pangwakas na Hakbang !!!

Ipasok ang iyong computer ip address sa Base URL

String Base_url = "tinanggal"; // iyong base url

at I-upload sa iyong ESP nodemcu. Kapag natapos mo na lang i-on ang iyong wifi mula sa iyong mobile o laptop, makakakuha ka ng network na tinatawag na AutoConnectAP. kumonekta dito at ipasok ang iyong mga kredensyal at linya na config.

Pagkatapos ay i-reset ang iyong aparato at suriin sa iyong network ay konektado sa sandaling ito ay konektado pagkatapos ng bawat bagay ay tapos na.

Maaari mong makita ang input ay ipinapakita sa display.

kung nais mong baguhin ang anumang linya o kredensyal ng wifi maaari mong pindutin ang push switch nang ilang segundo, ipinapakita ang display confi.

pumasok ka sa demandAP mode. maaari mong baguhin at i-reset ang aparato.

Ang pangunahing moto ng kanyang itinuro na ipakita sa iyo kung paano namin magagamit ang aming libangan at mga nakakatuwang proyekto sa totoong lugar ng paggawa at pagmamanupaktura at palabas

Inirerekumendang: