Taula de continguts:

Beaglebone Black Web Control mitjançant WebPy: 6 passos
Beaglebone Black Web Control mitjançant WebPy: 6 passos

Vídeo: Beaglebone Black Web Control mitjançant WebPy: 6 passos

Vídeo: Beaglebone Black Web Control mitjançant WebPy: 6 passos
Vídeo: Controlling Expansion connector's BeagleBoard running as a Web Server 2024, Juliol
Anonim
Beaglebone Black Web Control mitjançant WebPy
Beaglebone Black Web Control mitjançant WebPy
Beaglebone Black Web Control mitjançant WebPy
Beaglebone Black Web Control mitjançant WebPy

Alguna vegada heu volgut crear una manera de controlar la porta del garatge mitjançant el telèfon, potser recopilar dades i visualitzar-les des del portàtil. Hi ha un únic ordinador de placa anomenat Beaglebone Black, que és un dispositiu extremadament potent que permet controlar els seus pins GPIO per interactuar amb elements del món real com ara motors, LEDs, làmpades, etc. El Beaglebone és com un pi de gerds tauler però molt més potent. La comunitat de Beaglebone no és tan gran com la del raspberry pi, per tant, cal advertir-vos de la manca de tutorials.

Mentre cercava per Internet una solució per controlar el meu Beaglebone Black des del meu ordinador portàtil mitjançant una pàgina web, van aparèixer molts tutorials mitjançant la biblioteca bonescript de Beaglebone i la biblioteca socket.io mitjançant el núvol 9 ide. A mesura que seguia els tutorials i mirava el codi de la gent, em vaig sentir frustrat pel fet que l’idea del núvol 9 continuava fallant, la meva falta de comprensió de javascript i la manca de flexibilitat de cada tutorial (tots els tutorials us obligaven a utilitzar una quantitat predefinida de GPIO). Coneixia Python i el meu amic em va presentar a web.py, que és un excel·lent marc web utilitzat per desenvolupar aplicacions web. També he utilitzat la biblioteca Beaglebone Black GPIO d’Adafruit per controlar els pins individuals del Beaglebone Black.

Què necessiteu:

  • Un ordinador
  • Terminal SSH com PuTTY o utilitzeu SSH al terminal (per a Mac i Linux, Windows no té SSH integrat)
  • Un Beaglebone Black connectat a l'ordinador mitjançant USB
  • Una connexió a Internet al Beaglebone Black
  • (opcional) Un client SFTP

Pas 1: instal·leu les biblioteques Python necessàries

Hem d’instal·lar dues llibreries que no són mòduls estàndard a Python 2.7. Les biblioteques són les biblioteques Adafruit BBIO i WebPy. Hem d’accedir a Beaglebone mitjançant SSH. Vaig decidir utilitzar el terminal PuTTy i accedir-hi mitjançant l'adreça IP del beaglebone; el meu és 192.168.7.2. El vostre es pot trobar a beaglebone start.html. Si utilitzeu Angstrom, escriviu:

  • opkg update && opkg install python-pip python-setuptools python-smbus
  • instal·lar pip Adafruit_BBIO
  • pip instal·lar web.py

Si utilitzeu Debian o Ubuntu:

  • sudo apt-get update
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • instal·lar pip Adafruit_BBIO
  • pip instal·lar web.py

Per provar si les biblioteques estan instal·lades correctament, escriviu:

  • pitó
  • importació web
  • importa Adafruit_BBIO. GPIO

Si no es produeixen errors a la consola de Python, heu instal·lat les biblioteques correctament i estem preparats per codificar.

Pas 2: el codi Python

El codi Python
El codi Python

El codi Python és bastant fàcil d’entendre si esteu familiaritzat amb l’ús de Python, si sou principiant a la programació, potser tingueu problemes per entendre parts del codi.

La documentació de les 2 biblioteques es pot trobar aquí:

  • Web.py
  • Biblioteca Adafruit GPIO

He escrit codi i l'he comentat perquè entengueu-lo i feu-hi joc.

Pas 3: creació de la pàgina web

Creació de la pàgina web
Creació de la pàgina web

Si teniu el codi python que he adjuntat, em podreu veure parlant de la sol·licitud GET. Una sol·licitud GET és bàsicament una manera perquè una pàgina web es comuniqui amb un servidor. Per afegir, suprimir i canviar les sortides, estem utilitzant Jquery per fer algunes sol·licituds bàsiques d’obtenció. He adjuntat una pàgina HTML que fa això i també he comentat el codi per a la vostra comoditat.

El fitxer control.html és aquí font de visualització:

Pas 4: transferir el fitxer Python al vostre Beaglebone

Transferència del fitxer Python al vostre Beaglebone
Transferència del fitxer Python al vostre Beaglebone

Podeu transferir el fitxer main.py mitjançant la línia d’ordres, però per transferir fitxers fàcilment faré servir WinSCP (podeu utilitzar qualsevol client sftp) que podeu descarregar aquí. Hi ha Cyberduck per a usuaris de Mac, però com que sóc usuari de PC, no sé quin és el millor, així que heu de buscar-lo a Google. El procés és senzill, només cal que arrossegueu el fitxer main.py a l’escriptori o a qualsevol altre directori que trieu.

Pas 5: Execució del servidor

Execució del servidor
Execució del servidor

Executar el servidor és fàcil, feu servir SSH mitjançant PuTTY o el vostre terminal i canvieu el directori al directori main.py. Escriure:

python main.py 1234

Ara el que acabem de fer és demanar a python que executi el fitxer main.py al port 1234

Pas 6: teniu el control

Vostè té el control!
Vostè té el control!
Vostè té el control!
Vostè té el control!
Vostè té el control!
Vostè té el control!

Ara aneu al fitxer control.html i obriu amb google chrome o qualsevol altre navegador que utilitzeu, tindreu una pàgina web amb 2 quadres de text i 3 botons. El quadre de text del número de PIN demana el número de PIN, com ara P8_10 o P8_29, etc. Cal que empleneu el nom per poder utilitzar els botons de supressió i canvi. Ara que teniu control web, podeu utilitzar aquest exemple per crear un tauler més avançat. Potser utilitzeu funcions de base de dades per utilitzar el vostre Beaglebone Black com a registrador de dades o utilitzar-lo per a la domòtica, les possibilitats són infinites. Si us agrada aquesta instrucció, voteu per aquest projecte al concurs de creacions codificades i preferiu aquest projecte. Gràcies per llegir aquest instructiu i seguiu piratejant.:)

Recomanat: