Oferiți-vă Proiectului Arduino propriul Mini-Webserver, cu un ecran Ethernet

Oferiți-vă Proiectului Arduino propriul Mini-Webserver, cu un ecran Ethernet / DIY

Cu ceva timp în urmă, ți-am arătat cum să instalezi un sistem de control al internetului pentru Arduino Cum să instalezi controlul web al lui Arduino fără un ecran Ethernet Cum să instalezi controlul web al lui Arduino fără un ecran Ethernet În ultimele câteva săptămâni am dat controlul iluminarea stării de spirit în studioul meu pentru telespectatori în timpul transmisiunii live a Technophilia Podcast - puteți vedea rezultatele acestui lucru în ... Read More - dar a trebuit să rămână conectat la un computer prin USB pentru a menține conexiunea la internet. Dacă aveți un scut Ethernet, nu este necesar astăzi vom examina crearea unui Arduino ca server de bază pentru a putea găzdui propriul site de control al dispozitivului.

Vei avea nevoie:

  • O clona Arduino sau Arduino așa cum este detaliată aici Nu cheltui bani pe un arduino - Construieste-ti propriul pentru mult mai putin Nu cheltui bani pe un Arduino - Construieste-ti propria mult mai putin Îmi place Arduinos. În orice moment, am destul de multe proiecte în mișcare - prototipul este la fel de ușor cu ei. Dar, uneori, vreau să păstrez funcționalitatea proiectului fără a cumpăra ... Citește mai mult
  • Ecranul Ethernet (~ 35 $) - asigurați-vă că obțineți o versiune care se potrivește cu Arduino, deoarece nu este compatibilă
  • Portul de port de pe router sau comutator și cablul Ethernet
  • Exemplul WebServer furnizat în aplicația Arduino

Configurare

Ecranul Ethernet utilizează ace 10 până la 13 pentru a controla conexiunea la rețea, așa că lăsați-i pe cei din proiect; pinul 4 este, de asemenea, utilizat pentru cardul SD, dar nu o vom folosi azi.

Primele lucruri în primul rând - deschideți Fişier->Exemple->Ethernet->Webserver care este furnizat în IDE-ul Arduino. Găsiți liniile care se referă la MAC și adresa IP.

Adresa MAC a mea a fost găsită pe cutie - a ta poate fi pe scutul propriu-zis. Ajustați prima linie de valori - trebuie să părăsiți precedentul 0x dar bit. Din punct de vedere tehnic, nu contează exact ceea ce ați pus aici, atâta timp cât nu aveți valori conflictuale în subnetul dvs. - dar chiar și așa, aceasta a fost adresa atribuită de producător, așadar, probabil, ar trebui să rămânem cu asta. Doar știți că dacă veți greși, va funcționa în continuare.

Următoarea este adresa IP. Vrem o adresă fixă ​​specifică, astfel încât să putem seta corect redirecționarea portului - scutul este capabil să obțină o adresă din DHCP, dar acest lucru este util numai dacă va fi folosit doar ca client, nu ca server. Completați o adresă IP care este neutilizată și memorabilă în rețeaua locală, pe IP-ul routerului și pe 255.255.255.0 (subrețea). Dacă nu aveți niciun sens în acest sens, citiți ghidul nostru gratuit și detaliat de rețea la domiciliu Tot ce trebuie să știți despre rețeaua de domiciliu Tot ce trebuie să știți despre rețeaua de domiciliu Configurarea unei rețele de domiciliu nu este la fel de greu pe cât credeți că este . Citeste mai mult .

Port forwarding

Editați linia care spune Serverul EthernetServer (număr), și schimbați numărul la 8081. Aceasta va configura serverul nostru pentru a asculta pe portul 8081 în cazul în care ISP dvs. blochează traficul web pe portul tradițional 80.

Încărcați demo-ul în acest moment și testați-l dintr-o mașină locală. Desigur, trebuie să conectați și cablul Ethernet. Păstrați și USB-ul conectat, pentru că avem nevoie de alimentare - puteți înlocui acesta cu o sursă de alimentare de 9V mai târziu, dar încercăm încă să încercăm.

Noob-sfat: dacă primești această eroare, înseamnă că ai greșit capital O în loc de a 0 în zona de adrese MAC. Nu există O în hex-valori! Dacă sunteți cu adevărat noi, ar fi bine să verificați ghidul Arduino al începătorului nostru!

Pentru a accesa Arduino, introduceți adresa și numărul portului direct dintr-un browser.

Ar trebui să vezi ceva de genul ăsta - atât de bine. Din păcate, acest lucru este accesibil numai pe retea locala chiar acum, căutați-vă pe pagina de configurare a portului routerului pentru a configura o redirecționare de la portul 8081 la același port de pe arduin's IP (Consultați: Ce este redirecționarea porturilor? Ce este Port forwarding și cum mă poate ajuta? [Explicarea MakeUseOf] Ce este portul de expediere și cum mă poate ajuta? [MakeUseOf explică] Plângeți puțin înăuntru când cineva vă spune că există o problemă de expediere a portului și de aceea noua dvs. aplicație strălucitoare nu va funcționa? Xbox-ul tău nu te va lăsa să joci jocuri, descărcările de torrent refuza ... Citește mai mult )

Testați acest lucru de la un dispozitiv mobil de internet 3G cu Wifi dezactivat; nu uitați să vă folosiți adresa IP publică, nu adresa dvs. de rețea locală. Router-ul dvs. ar trebui să vă poată spune acest lucru sau doar să îl întrebați pe Google “care este IP-ul meu“.

Înțelegerea rezultatelor

Pagina care este difuzată în demo este citirea valorilor de la pinii analogi - dar, deoarece nu există nimic conectat acolo, veți obține nonsens. Încercați să conectați un senzor de lumină (rezistorul foto) la port A0 și +5v, cu Rezistor de 10k de asemenea A0 și gnd (acesta este un divizor de tensiune, deoarece pini analogice poate citi doar tensiune, și nu rezistență) doar pentru a confirma că serverul este de fapt valorile citite. Observați că atunci când intensitatea luminii se schimbă, valorile de pe celelalte pini se schimbă și ele - de fapt, deoarece toate sunt deconectate.

Interactiv

Citirea acestor valori este bine și bună, dar facem saltul controlul un Arduino de aici este un salt și în afara acestui tutorial astăzi. În loc să reinventăm roata, vă îndrume spre utilizatorul forumului Arduino hari, care a scris un API de bază pentru interacțiunea cu pini digitali. Folosind acest cod (am modificat-o pentru a lucra cu cea mai recentă bibliotecă Ethernet), conectați lungimea unui LED (anod) la pinul 8, iar scurta plumb la pinul 7 (cu un rezistor adecvat). Apoi puteți utiliza adresele URL ale formularului http: // ip: port / digitalWrite / 8/1 pentru a activa LED-ul și http: // ip: port / digitalWrite / 8/0 pentru ao dezactiva și a citi valorile analitice cu analogRead / 0.

Acest exemplu de la Bildr vă va învăța cum să controlați o secvență de LED-uri citirea solicitării GET.

S-ar putea dori, de asemenea, să verificați acest exemplu care scoate un formular din pagină pentru a controla un LED RGB blinkm, deși ați putea să-l adaptați cu ușurință pentru o bandă RGB cum ar fi proiectul de iluminare ambientală dinamică Construiți-vă propriul iluminat ambiental dinamic pentru un centru Media Build Iluminarea proprie dinamică ambientală pentru un centru media Dacă vizionați o mulțime de filme pe PC-ul dvs. sau în centrul media, sunt sigur că v-ați confruntat cu dilema de iluminare; opriți complet toate luminile? Îi păstrezi în plină explozie? Sau ... Citește mai mult am construit un timp înapoi.

Ei bine, am avut plăcere să le construiesc, așa că sper că ați făcut și voi. Dacă ați creat o bibliotecă care face ca paginile și controalele să fie simple, contactați-vă în comentarii.

Aflați mai multe despre: Arduino, Web Server.