Trimiteți comenzi către Arduino de pe WEB

Trebuie să trimit Arduino niște instrucțiuni de pe web. Practic, aș avea o aplicație web cu câteva butoane, iar când le apăs, le trimit o instrucțiune lui Arduino pentru a muta, de exemplu, un motor sau a transforma o lampă. Acest lucru trebuie să funcționeze de la distanță, deci nu local.

Folosesc un Arduino Yùn.

Cum ar trebui să fac asta? WebSocket? Cum? Mulțumiri!

0
Ar trebui să trimiteți comenzi prin intermediul unui soclu, da. Puteți să vă creați propriul dvs. port propriu sau puteți să faceți doar cereri HTTP (de exemplu, cereri GET). Doar căutați un tutorial care să arate cum să faceți acest lucru cu o pagină Web, apoi să renunțați la tot proiectarea paginii web și să implementați doar paginile de obținere. Din aplicația Web la distanță, atunci, apelați aceste pagini. Sau doar să-ți faci propriul protocol
adăugat autor Tom Collins, sursa

3 răspunsuri

Ea devine mult mai ușoară dacă vedeți yun ca un computer linux cu un arduino conectat prin serial Apoi întrebarea devine: care este cel mai bun mod de a trimite comenzi pe internet la un computer (linux) Răspuns: există atât de multe căi, pentru că nu există cel mai bun mod Care sunt principalele motoare cheie: Calculatorul dvs. Linux trebuie să fie accesibil de pe internet. Aceasta înseamnă deschiderea rețelei dvs. locale (firewall). Paravanul de protecție există pentru un motiv. Aveți abilitățile de a deschide firewall-ul și de a fi în siguranță? Dacă da, puteți rula un serviciu (o mulțime de opțiuni) și puteți ajunge la Yun de oriunde de pe internet. La fel ca și pe plan local.

Dacă nu, va trebui să mergeți la un sistem de votare. Utilizați un server care se află pe internet și vă trimite o cerere către acel server. Yun-ul dvs. sondează serverul pentru a primi mesajele pe care le trimiteți.

Există oa treia opțiune: Dacă vă puteți deschide paravanul de protecție de pe internet și sunteți singurul utilizator al serviciului și foarte rar aveți nevoie de acest serviciu, puteți deschide temporar paravanul de protecție atunci când aveți nevoie de el .

1
adăugat

O altă opțiune, dacă vă puteți limita la controlul dispozitivului dvs. dintr-o aplicație mobilă, este blynk.cc . Acestea oferă aplicații mobile pentru Android și iOS, care vă permit să construiți un panou de control prin drag-and-drop și bibliotecile de platforme integrate pentru Arduino, ESP8266, RPi și altele, care vorbește ambele sensuri între aplicație și dispozitivul dvs. încorporat, precum și între dispozitive.

Dispozitivele încorporate și aplicațiile mobile comunică ca clienți pe serverele lor (sau pe serverul dvs., dacă alegeți să găzduiți codul de server open-source), astfel încât să nu aveți nevoie să deschideți niciun port pe router sau firewall.

Nu veți avea libertatea deplină (sau cerința!) De a crea pagini web personalizate; dar OTOH, poți fi pregătit cu exemplul lor în câteva minute.

Am câteva monitoare de temperatură în cameră pe biroul meu care pot raporta temperatura (plus istoric) pentru mine oriunde pot obține o conexiune web. Am pus două butoane pe panoul meu pentru a porni sau a clipi 2 LED-uri pe bord. Cu picioarele sus pe vatră controlez LED-urile. Există butoane de control care pot vorbi și cu porturile PWM. Toate capacitățile de care aveți nevoie sunt acolo, cel puțin pentru a începe.

0
adăugat

Cea mai simplă modalitate de a face acest lucru ar fi să găzduiți o pagină web cu butoanele de pe Yün în sine, ca de exemplu aici . Există o mulțime de exemple pentru chestii de genul ăsta.

Pentru a accesa aceasta "de la distanță" - presupun că vrei să spui de oriunde pe internet - ar trebui să transmiți un port de la router-ul tău de acasă la Yun, ca aceasta . Acest lucru îl va face pe Yun accesibil de pe internet. Trebuie doar să cunoașteți adresa dvs. exterioară (Google: "Find my IP") și apoi să vă puteți accesa arduino-ul din întreaga lume.

0
adăugat