Satura rādītājs:

7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266: 8 soļi (ar attēliem)
7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266: 8 soļi (ar attēliem)

Video: 7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266: 8 soļi (ar attēliem)

Video: 7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266: 8 soļi (ar attēliem)
Video: Как отслеживать и контролировать ESP32 из любой точки мира с помощью RemoteXY IoT Cloud 2024, Novembris
Anonim
7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266
7 segmentu LED displeja vadīšana, izmantojot tīmekļa serveri ESP8266

Manam projektam ir Nodemcu ESP8266, kas kontrolē 7 segmentu displeju, izmantojot http serveri, izmantojot html formu.

1. darbība: PAR ŠO PROJEKTU

Tas ir IOT projekts, kas izstrādāts, izmantojot ESP8266 (NodeMCU) wifi moduli. Projekta motīvs ir modulī izveidot tīmekļa serveri, kas tīklā var uzņemt vairākus klientus. Šeit, lai izprastu manu projektu, ir nepieciešamas pamatzināšanas par html un javaScript. Dažas iepriekšējas tēmas, kuras es šeit apspriedīšu attiecībā uz ESP8266 un javaScript, ir šādas:

1. Failu augšupielāde ESP8266 SPIFFS, lai tos efektīvāk izmantotu mūsu arduino kodā.

2. Tīmekļa krātuve, izmantojot javaScript

SPIFFS

Līdz šim mēs savā skicē vienmēr esam iekļāvuši savu tīmekļa lapu HTML kā virkņu literāļus. Tas padara mūsu kodu ļoti grūti lasāmu, un atmiņa drīz beigsies.

SPIFFS ir viegla failu sistēma mikrokontrolleriem ar SPI zibatmiņas mikroshēmu. ESP8266 iebūvētajā zibatmiņas mikroshēmā ir daudz vietas jūsu tīmekļa lapām, it īpaši, ja jums ir 1 MB, 2 MB vai 4 MB versija. Jūs varat saprast, kā pievienot rīkus arduino programmatūrai failu augšupielādēšanai SPIFFS, izmantojot šo saiti:

Šajā projektā man ir 2 html fails un javascript fails. Visi šie faili tiek augšupielādēti SPIFFS, atdalīti no skices, lai šo failu izmaiņas nebūtu atkarīgas no galvenās skices.

Abi html faili tiek izgūti, sagatavojot failu (), kā parādīts zemāk:

void prepFile () {

bool ok = SPIFFS.begin (); ja (labi) {Fails f = SPIFFS.open ("/index.html", "r"); Fails f1 = SPIFFS.open ("/index1.html", "r"); dati = f.readString (); dati1 = f1.readString (); f. aizvērt (); f1.aizver (); } else Serial.println ("Šāds fails netika atrasts."); }

kamēr JavaScript fails tiek lasīts, izmantojot loadScript (), kā parādīts zemāk:

void loadScript (virknes ceļš, virknes veids) {

ja (SPIFFS.eksistē (ceļš)) {Faila fails = SPIFFS.open (ceļš, "r"); server.streamFile (fails, tips); }}

Vietējā uzglabāšana tīmekļa lietojumprogrammām

Jūs varat saprast, kā izmantot dažādus vietējās krātuves objektus un metodes HTML5, izmantojot javascript no šī raksta: https://diveintohtml5.info/storage.html. Darba sadaļā es apspriedīšu vietējās krātuves izmantošanu savā projektā.

2. darbība. Nepieciešama aparatūra

NodeMCU ESP8266 12E Wifi modulis

Maizes dēlis bez lodēšanas

Džempera vads

7 septiskais displejs (kopējais katods)

1K omu rezistors

Mikro-USB kabelis (NodeMCU savienošanai ar datoru)

3. darbība: ķēde un savienojumi

Ķēde un savienojumi
Ķēde un savienojumi

Savienojumi ir patiešām vienkārši. Iepriekš redzamajā shēmā nodemcu tapas ir savienotas šādā veidā:

A D1

B D2

C D3

D D4

E D6

F D7

G D8

kur A, B, C, D, E & F ir 7 segmentu displeja segmenti

. Ignorējiet DP no 7 segmenta displejiem. Nepievienojiet to ESP tapai D5

4. solis: DARBĪBA

DARBA
DARBA

Kā minēts iepriekš, mums ir divi html faili. Viens no tiem ir saknes html lapa, kas tiek izsaukta, kad ESP8266 serveris saņēma "/", ti, ja tiek pieprasīts URI '/', serverim jāatbild ar HTTP statusa kodu 200 (labi) un pēc tam jānosūta atbilde ar "indeksu". html "failu.

Otrais html fails tiks nosūtīts, kad klients to pieprasīs no saknes lapas, veidlapā iesniedzot ievadi. Tiklīdz serveris no veidlapas saņem POSTED ievadi, tas salīdzina to ar fiksētu virknes vērtību un atbildē nosūta otro html lapu.

ja (server.arg ("nam") == "0") {server.send (200, "text/html", data1); septiņiSeg (0); }

Tā kā skicē nav definēts otrās lapas html, šeit mēs atsaucamies uz "data1", kas jau ir nolasījis html kodus, izmantojot SPIFFS.readString ()

Fails f1 = SPIFFS.open ("/index1.html", "r"); data1 = f1.readString ();

Šeit septiņus Segus () sauc arī ar argumentu "0", lai to varētu izmantot, lai parādītu "0", ieslēdzot un izslēdzot dažādus segmentus. Šeit es padarīju fuction nosaukumu pašsaprotamu, ti, onA () ieslēgs A segmentu no 7 seg displeja uz maizes dēļa, līdzīgi offA to izslēgs.

Tātad, šajā gadījumā, lai parādītu "0", mums ir jāpārslēdz viss segments, izņemot G (DP tiek ignorēts, jo tas nav savienots ar nevienu ESP8266 tapu). Tātad mana funkcija izskatās šādi:

ja (skaits == 0) {onA (); onB (); onC (); onD (); onE (); onF (); offG (); }

5. darbība: HTML un JAVASCRIPT KODS

HTML & JAVASKRIPTA KODS
HTML & JAVASKRIPTA KODS

Index.html ir audekls ar 7 segmentu displeju izslēgtā režīmā un formā zem tā. Lūk, ko jūs redzat pēc atvēršanas:

Ja mēs vēlamies izmantot mūsu tīmekļa vietni bez ESP8266, tas būs iespējams, mainot saiti veidlapas darbības atribūtā. Pašlaik šī ir saite darbībā:

Šeit jūs varat redzēt, ka saite darbībā ir tā pati ip adrese, kas tiek piešķirta jūsu nodeMCU pēc savienojuma ar jebkuru wifi (vai karsto punktu). Veidlapas tags pēc pielāgošanas izskatās šādi:

Šeit es izmantoju pārlūkprogrammas tīmekļa veidlapu, lai saglabātu lietotāja ievadīto vērtību tā, lai indeksā index.html ievadītā vērtība tiktu lokāli saglabāta pārlūkprogrammā (piemēram, sīkfails). Šo vērtību iegūst indekss1.html, un skaitlis tiek parādīts 7 segmentu displejā uz html audekla. Jūs varat saprast šo procedūru, skatoties šo videoklipu:

video_attach

6. darbība: GALVENĀS PIEZĪMES

Šis projekts darbosies ar jūsu nodemcu, ja rūpēsities par šādiem punktiem:

1. Saitei html saknes faila darbības atribūtā jābūt "https:// (IP seriālajā monitorā vai IP, kas piešķirts jūsu ESP)/iesniegt".

2. Izmantojiet jaunāko pārlūkprogrammas versiju, kas atbalsta html5, kā arī jaunus tagus un funkcionalitāti.

3. SPIFFS darbosies tikai tad, ja jūsu mapē index.html, index1.html un main.js ir apkopoti dati. Jūs varat klonēt koda failu no mana github

7. darbība: KODĒT

KODS
KODS

Šī ir mana projekta koda krātuves saite. Ja strādājat ar SPIFFS programmā ESP8266, varat saprast, kāpēc esmu ievietojis html un javascript failus datu mapē. Izmantojiet to tā.

GitHub krātuves saite

8. solis: video apmācība

Ja tas palīdz, lūdzu, abonējiet

Ieteicams: