Orodha ya maudhui:

Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji: Hatua 6
Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji: Hatua 6

Video: Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji: Hatua 6

Video: Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji: Hatua 6
Video: Siri 5 ili kuwa mjasiriamali mwenye mafanikio. 2024, Novemba
Anonim
Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji
Uonyesho wa WIFI kwa Usimamizi wa Uzalishaji

Mimi ni Mfululizo kidogo juu ya IOT na kompyuta za bodi Moja.

Daima napenda kuitumia zaidi ya Miradi ya Hobby & Furaha (Uzalishaji halisi na Utengenezaji).

Inayoweza kufundishwa iko karibu Kuunda onyesho la WIFI lenye nambari 4 za sehemu 7 na ESP nodemcu ili Kuonyesha Ingizo la Uzalishaji la kila saa. Ninafanya kazi katika tasnia ya utengenezaji wa Elektroniki, ambapo tunatumia Mfumo wa Utekelezaji wa Viwanda (MES) Kufuatilia na Kudhibiti Uingizaji wa Uzalishaji wa sakafu, Pato na Mchakato. Katika mradi huu ninaunda kitengo kidogo cha onyesho ambacho kitaonyesha Uzito wa Uzalishaji kama kwa kila mstari, zamu na saa.

Katika kiufundi Mradi huu ni sawa na onyesho la Hesabu ya Msajili wa Youtube, ambapo tunatumia majibu ya API / HTTP kutoka mkondoni. Lakini hapa tutaunda api yetu ya kuingiliana na mfumo wetu wa MES wa ndani kupata Wingi wa Ingizo.

Hatua ya 1: Sehemu na Zana Zilizotumika:

Sehemu na Zana Zilizotumiwa
Sehemu na Zana Zilizotumiwa

Sehemu za vifaa zinazotumika:

  1. ESP nodemcu
  2. TM1637 Onyesho la saa 4
  3. Bonyeza kubadili
  4. Kinzani ya 10k
  5. waya chache za kuruka

Zana za Programu Zilizotumika:

  1. Arduino IDE
  2. Xampp kwa seva ya wavuti ya PHP / Apache

Maktaba ya Arduino Imetumika:

1. Meneja wa Wifi na tzapu & i Imebinafsishwa kwa faili zangu za kawaida (wifimanager)

2. ESP_EEPROM ya kuhifadhi maadili yangu ya kawaida katika kumbukumbu ya Flash

3. SeventSegmentTM1637 Kwa Uonyesho

Hatua ya 2: Customize Wifi Manager

Customize Wifi Meneja
Customize Wifi Meneja

Katika hii Kwanza niliweka msimamizi wa wifi kwanza kisha nikanakili Folda ya msimamizi wa Wifi na nikapita tena katika ile ile kwenye folda ya maktaba ya Arduino, kisha ikapewa jina kama WiFiManager_custom.

Saraka ya Mizizi ya folda Hupenda sana

C: / Watumiaji / jina la kompyuta yako / Nyaraka / Arduino / maktaba

Kisha nikafungua folda ya wifimanager_custom na nikaipa jina kichwa.cpp faili sawa na wifimanager_custom, imeongezwa sawa kwenye kichwa na faili za.cpp pia.

Na Aliongeza Fomu yangu ya kawaida na kitufe kwa kichwa.

katika HTTP_PORTAL_OPTIONS PROGMEM niliongeza fomu yangu ya kifungo kwa Menyu.

na akaongeza Fomu mpya ya kuingiza laini na mabadiliko. niliunda fomu hii kama fomu rahisi ya maandishi.

Baada ya hii tutafanya kazi za kuchukua hatua kwa fomu hizi katika faili ya.cpp, kwa kuwa tunalazimika kufanya tamko la kazi katika faili ya kichwa.

/ * kazi zangu za kawaida * /

kushughulikia batiliCustomForm (); kushughulikia batiliCustomSave ();

nilitangaza kazi zangu za kawaida katika faili ya kichwa. kwamba, kazi yetu katika kichwa imekamilika lazima tuende na faili ya.cpp kuunda kazi na matendo yetu.

Hatua ya 3: Kazi za Kimila za Kitendo cha Fomu

Kazi za Desturi za Hatua ya Fomu
Kazi za Desturi za Hatua ya Fomu
Kazi za Desturi za Hatua ya Fomu
Kazi za Desturi za Hatua ya Fomu
Kazi za Desturi za Hatua ya Fomu
Kazi za Desturi za Hatua ya Fomu

Sasa tunafungua faili yetu ya wifimanager_custom.cpp.

na lazima tuongeze mshughulikiaji wetu wa majibu ya http kupiga kazi zetu wakati fomu yetu iko kwenye chapisho.

seva-> kwenye (Kamba (F ("/ custom_config")), std:: bind (& WiFiManager:: handleCustomForm, hii)); // kushughulikia yangu ya kawaida

seva-> kwenye (Kamba (F ("/ custom_save")), std:: bind (& WiFiManager:: handleCustomSave, hii)); // kushughulikia yangu ya kawaida

hizi zitaita kazi zetu za kawaida wakati fomu imechapishwa.

1.handleCustomForm () -> itaunda ukurasa na fomu yetu ya kawaida kwa laini na kuhama pembejeo na kitufe cha kuokoa.

2.handleCustomSave () -> kazi hii itapata maadili ya fomu na kuhifadhi katika maeneo ya kumbukumbu ya Flash 0 (line) & 50 (shift).

Hatua ya 4: Uunganisho na Programu kuu

Uunganisho na Programu kuu
Uunganisho na Programu kuu

Uunganisho ni rahisi sana..

Uunganisho na wiring:

onyesho la nodemcu TM1637

3.3v ---- Vcc

G ---- Gnd

D2 ---- CLK

D3 ----- DIO

swichi ya kushinikiza nodemcu-

- kitufe cha kushinikiza kilichowekwa kwenye pini D8 kutoka + 5V - 10K kontena iliyoshikamana na pini D8 kutoka ardhini

tulimaliza kubadilisha wifimanager yetu. sasa tunapaswa kuunda programu yetu kuu.

1. meneja wetu wa wifi ataungana na mtandao wa wifi na vitambulisho vya mwisho kutumika, ikiwa inashindwa inafungua seva ya wifi ya AutoConnectAP. tunaweza kusanidi viambishi vipya vya wifi, laini na kuhama kwa kuunganisha na seva hii ya wifi.

2. basi itaingia kwenye kitanzi kuu.

Kitanzi chetu kikuu kitakuwa na sehemu mbili. moja ni confrrine ndogo wakati tunahitaji kubadilisha laini, kuhama au kuongeza kitambulisho chochote cha wifi kuita mode ya mahitaji AP kusanidi. hii itaitwa wakati kitufe cha kushinikiza kilichounganishwa na pini ya D8 kimesisitizwa.

kitanzi batili () {

config_loop ();

}

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

Serial.println ("Inasubiri Hali ya kitufe cha Usanidi…");

// kucheza.print ("Subiri");

ikiwa (digitalRead (TRIGGER_PIN) == JUU)

{

onyesho.print ("Conf"); // Wasimamizi wa WiFi

// Ushawishi wa ndani. Mara baada ya biashara yake kufanywa, hakuna haja ya kuiweka karibu na WiFiManager wifiManager;

// kuweka upya mipangilio - kwa upimaji

//wifiManager.setetSettings ();

// huweka muda wa kumaliza hadi lango la usanidi litazimwa // muhimu kuifanya yote kujaribu tena au kulala // kwa sekunde

//wifiManager.setTimeout (120);

// huanza kituo cha ufikiaji na jina maalum

// hapa "AutoConnectAP" // na huenda kwenye kitanzi cha kuzuia kinachosubiri usanidi

// BILA HII AP HAONEKANI KUFANYA KAZI SAWA NA SDK 1.5, sasisha hadi angalau 1.5.1 //WiFi.mode(WIFI_STA);

ikiwa (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("imeshindwa kuunganisha na kumaliza muda"); kuchelewesha (3000); // kuweka upya na ujaribu tena, au labda uweke kwenye usingizi mzito ESP.reset (); kuchelewesha (5000); }}

//Serial.println ("Hali ya vifungo Sio kweli. Rudi kwenye kitanzi kuu"); //drisplay.print ("Kitanzi kikuu"); //kucheza.safi ();

}

Ya pili itakuwa mpango wetu kuu kupata majibu ya HTTP kutoka kwa seva fulani & Onyesha kiwango cha pembejeo kwenye Onyesho.

Kwa hii Kwanza tunapaswa kupata laini yetu na maelezo ya kuhama kutoka kwa Hifadhi ya Kiwango cha ESP (anwani 0-> laini, 50-> kuhama)

Kuanza (100); // uhifadhi wa eepromEEPROM.get (0, mstari); // pata Thamani kutoka kwa anwani 0

Kupata (50, mabadiliko); // Pata Thamani Kutoka kwa anwani 50

basi tunalazimika kupitisha laini hii na kuhama maelezo kwa seva yetu ya http kwa kupata njia ya kupata thamani ya pembejeo na pato.

Kamba Base_url = "imeondolewa"; // msingi wangu urlHTTPMteja http; // Kitu cha mteja wa darasa la

Kamba ya URL = Base_url + "?" + "Line =" + line + "& shift =" + shift;

Serial.println (URL);

kuanza. (URL);

int httpCode = http. GET ();

Serial.println (http.getString ()); // hii itachapisha kamba zote za majibu ya

ikiwa unataka jinsi maandishi yote basi kazi yako imekamilika hapa ni ya kibinafsi tunaweza kuionesha moja kwa moja kwenye onyesho la tm1637.

onyesho.print (http.getString ());

Lakini sitaki kuonyesha maandishi yote, kwa sababu yana pembejeo, pato katika fomu ya json & maandishi mengine ya jumla juu ya hifadhidata yake nk.

kwa hivyo kwanza niliondoa maandishi hayo ya jumla kutoka kwa kamba ya majibu kwa kutumia kazi ya Substring ().

nilihesabu urefu wa maandishi ya jumla na kuipunguza.

ikiwa (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bafaSize); Mzizi wa Hati ya DynamicJson (bufferSize);

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

Kamba json_string = http.getString (). Substring (121); / * hii ndio orodha yangu ya maandishi ya jumla ikiwa majibu yako hayana kitu kama hicho unaweza kuondoa nambari hii; * /

//Serial.println (json_string);

Kosa la kukosekana kwa utaifa = kosa deserializeJson (mzizi, json_string);

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

ikiwa (kosa)

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

Serial.println (error.c_str ());

kurudi;

}

mwingine {

const char * pembejeo = mzizi ["ingizo"];

const char * pato = mzizi ["pato"];

Serial.print ("Ingizo:");

Serial.println (pembejeo);

Serial.print ("Pato:");

Serial.println (pato);

alama ya kuonyesha (".. in..");

onyesha wazi (); // wazi maonyesho

alama ya kuonyesha (pembejeo);

}

hiyo ni mpango wetu kuu umekamilika.

Hatua ya 5: Kuunda Seva ya Wavuti

Kuunda Seva ya Wavuti
Kuunda Seva ya Wavuti
Kuunda Seva ya Wavuti
Kuunda Seva ya Wavuti

mimi kutumia xampp kama wavuti yangu hutumikia & nambari ya PHP kupata data kutoka kwa hifadhidata yangu ya SQL kupata idadi kamili.

Lakini siwezi kushiriki nambari zote za asili. kwa sababu usiri wake wa kampuni yangu. lakini nitaonyesha jinsi ya kuunda seva moja ya wavuti, onyesha uingizaji wa tuli na kiwango cha pato.

Kwa hili unapaswa kuhitaji mwenyeji wowote wa wavuti, ninatumia hapa xampp kama mwenyeji wangu.

unaweza kupakua xampp hapa.

weka xampp… ikiwa unahitaji maagizo wazi unaweza kutumia kiunga hiki.

Baada ya kusanikisha xampp lazima uende kwenye saraka yako ya mizizi.

C: / xampp / htdocs

programu zako zote za php zinapaswa kuwa ndani ya mzizi huu.

niliunda ukurasa wangu kwa jina la kuitwa esp_api.php

hii ni nambari yangu ya php. hapa ninaonyesha tu maadili tuli ya uingizaji na pato;

$ line = $ _ PATA ['mstari'], $ shift = $ _ GET ['shift'];

echo ("myString"); // Nakala ya jumla

ikiwa ($ line == 'a0401' na $ shift = 'dd') {$ matokeo ['input'] = 100; $ matokeo ['pato'] = 99; }

kingine {$ matokeo ['input'] = 200; $ matokeo ['pato'] = 199; }

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

$ myObj-> output = ". $ matokeo ['pato"]. ";

$ myJSON = json_encode ($ myObj);

echo $ myJSON;

Sasa API yetu ya majibu ya HTTP imekamilika.

URL yetu ya msingi ya http itakuwa kama

wewe_ip_adress / esp_api.php

unaweza kuangalia maandishi yako ya majibu ya API kwa

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

hapa nilitaja laini kama a0401 na kuhama kama dd.

Hatua ya 6: Hatua ya Mwisho !!

Hatua ya Mwisho !!!
Hatua ya Mwisho !!!
Hatua ya Mwisho !!!
Hatua ya Mwisho !!!
Hatua ya Mwisho !!!
Hatua ya Mwisho !!!

Ingiza anwani yako ya ip ya kompyuta kwenye Base Base

Kamba Base_url = "imeondolewa"; // url yako ya msingi

na Pakia kwa EEM nodemcu yako. Mara tu ukimaliza washa wifi yako kutoka kwa simu yako ya rununu au kompyuta ndogo, utapata mtandao unaoitwa AutoConnectAP. unganisha nayo na ingiza usanidi wako wa usanidi na laini.

Kisha weka upya kifaa chako na uangalie katika mtandao wako umeunganishwa mara tu ikiunganishwa basi kila kitu kimefanywa.

Unaweza kuona pembejeo inaonyeshwa kwenye onyesho.

ikiwa unataka kubadilisha laini yoyote au kitambulisho cha wifi unaweza kubonyeza kitufe cha kushinikiza kwa sekunde chache, onyesho linaonyesha confi.

uliingia ili kudai modeAP. yako inaweza kubadilisha na kuweka upya kifaa.

Moto kuu wa kufundisha kwake kukuonyesha jinsi tunaweza kutumia miradi yetu ya kupendeza na ya kufurahisha katika eneo halisi la uzalishaji na utengenezaji na onyesho

Ilipendekeza: