Inhoudsopgave:

Beaglebone Black Web Control met behulp van WebPy - Ajarnpa
Beaglebone Black Web Control met behulp van WebPy - Ajarnpa

Video: Beaglebone Black Web Control met behulp van WebPy - Ajarnpa

Video: Beaglebone Black Web Control met behulp van WebPy - Ajarnpa
Video: Топ 5 скрытых полезных программ Windows 10 2024, November
Anonim
Beaglebone Black-webcontrole met WebPy
Beaglebone Black-webcontrole met WebPy
Beaglebone Black-webcontrole met WebPy
Beaglebone Black-webcontrole met WebPy

Ooit een manier willen creëren om uw garagedeur te bedienen met uw telefoon, misschien gegevens verzamelen en bekijken vanaf uw laptop. Er is een computer met één bord, de Beaglebone Black, een extreem krachtig apparaat waarmee je de GPIO-pinnen kunt besturen om te communiceren met echte werelditems zoals motoren, LED's, lampen, enz. De Beaglebone is net als een raspberry pi board maar veel krachtiger. De Beaglebone-gemeenschap is niet zo groot als de Raspberry Pi's, dus wees gewaarschuwd voor het gebrek aan tutorials.

Terwijl ik op internet aan het zoeken was naar een oplossing om mijn Beaglebone Black vanaf mijn laptop te bedienen met behulp van een webpagina, verschenen er veel tutorials met behulp van de Beaglebone's bonescript-bibliotheek en de socket.io-bibliotheek met behulp van de cloud 9 ide. Terwijl ik tutorials volgde en naar de code van mensen keek, raakte ik gefrustreerd vanwege het feit dat de cloud 9 ide steeds crashte, mijn gebrek aan begrip van javascript en ook het gebrek aan flexibiliteit van elke tutorial (elke tutorial dwong je om een vooraf gedefinieerde hoeveelheid GPIO's). Ik was bekend met python en mijn vriend stelde me voor aan web.py, een geweldig webframework dat wordt gebruikt om web-apps te ontwikkelen. Ik heb ook de Beaglebone Black GPIO-bibliotheek van Adafruit gebruikt om de afzonderlijke pinnen van de Beaglebone Black te besturen.

Wat je nodig zult hebben:

  • Een computer
  • SSH-terminal zoals PuTTY of gebruik SSH op de terminal (voor Mac's en Linux heeft Windows geen ingebouwde SSH)
  • Een Beaglebone Black aangesloten op de computer via USB
  • Een internetverbinding met de Beaglebone Black
  • (optioneel) Een SFTP-client

Stap 1: Installeer de vereiste Python-bibliotheken

We moeten twee bibliotheken installeren die geen standaardmodules zijn in python 2.7. De bibliotheken zijn de bibliotheken Adafruit BBIO en WebPy. We moeten toegang krijgen tot de Beaglebone via SSH. Ik besloot de PuTTy-terminal te gebruiken en toegang te krijgen via het IP-adres van de beaglebone, de mijne is 192.168.7.2 die van jou is te vinden op de beaglebone start.html. Als u Angstrom gebruikt, typt u het volgende in:

  • opkg update && opkg installeer python-pip python-setuptools python-smbus
  • pip installeer Adafruit_BBIO
  • pip install web.py

Als u Debian of Ubuntu gebruikt:

  • sudo apt-get update
  • sudo apt-get install build-essentiële python-dev python-setuptools python-pip python-smbus -y
  • pip installeer Adafruit_BBIO
  • pip install web.py

Om te testen of de bibliotheken correct zijn geïnstalleerd, typt u het volgende in:

  • Python
  • internet importeren
  • importeer Adafruit_BBIO. GPIO

Als er geen fouten optreden op de python-console, hebt u de bibliotheken correct geïnstalleerd en zijn we klaar om te coderen.

Stap 2: De Python-code

De Python-code
De Python-code

De python-code is vrij eenvoudig te begrijpen als je bekend bent met het gebruik van python, als je een beginner bent met programmeren, heb je misschien wat moeite om delen van de code te begrijpen.

De documentatie van de 2 bibliotheken is hier te vinden:

  • Web.py
  • Adafruit GPIO-bibliotheek

Ik heb code geschreven en becommentarieerd zodat je het kunt begrijpen en eraan kunt sleutelen.

Stap 3: De webpagina maken

De webpagina maken
De webpagina maken

Als je de python-code gebruikt die ik heb bijgevoegd, kun je me zien praten over GET-verzoek. Een GET-verzoek is in feite een manier voor een webpagina om te communiceren met een server. Om de uitgangen toe te voegen, te verwijderen en om te schakelen, gebruiken we JQuery om een aantal standaard get-verzoeken uit te voeren. Ik heb een html-pagina bijgevoegd die precies dat doet en ik heb ook de code voor uw gemak becommentarieerd.

Het control.html-bestand is hier view-source:https://cdn.instructables.com/ORIG/F0Z/5DO7/I9B6JGNP/F0Z5DO7I9B6JGNP.html

Stap 4: Het Python-bestand overbrengen naar uw Beaglebone

Het Python-bestand overzetten naar uw Beaglebone
Het Python-bestand overzetten naar uw Beaglebone

Je kunt het main.py-bestand via de opdrachtregel overbrengen, maar om bestanden gemakkelijk over te zetten, ga ik WinSCP gebruiken (je kunt elke sftp-client gebruiken) die je hier kunt downloaden. Er is Cyberduck voor Mac-gebruikers, maar aangezien ik een pc-gebruiker ben, weet ik niet welke de beste is, dus je moet het googlen. Het proces is eenvoudig, sleep gewoon het main.py-bestand naar het bureaublad of een andere map die u kiest.

Stap 5: De server uitvoeren

De server draaien
De server draaien

Het runnen van de server is eenvoudig, gebruik gewoon SSH met PuTTY of uw terminal en verander uw directory in de main.py-directory. Typ in:

python main.py 1234

Wat we zojuist hebben gedaan, is python vragen om het main.py-bestand op poort 1234 uit te voeren

Stap 6: Jij hebt de controle

Jij hebt de controle!
Jij hebt de controle!
Jij hebt de controle!
Jij hebt de controle!
Jij hebt de controle!
Jij hebt de controle!

Ga nu naar het bestand control.html en open met google chrome of een andere browser die je gebruikt, je hebt een webpagina met 2 tekstvakken en 3 knoppen. Het tekstvak met het pinnummer vraagt om het pinnummer, zoals P8_10 of P8_29, enz. U moet de naam hebben ingevuld om de verwijder- en schakelknoppen te kunnen gebruiken. Nu u webcontrole heeft, kunt u dit voorbeeld gebruiken om een meer geavanceerd paneel te maken. Misschien database-mogelijkheden gebruiken om uw Beaglebone Black als datalogger te gebruiken of voor domotica, de mogelijkheden zijn eindeloos. Als je deze instructable leuk vindt, stem dan op dit project in de wedstrijd voor gecodeerde creaties en maak ook een favoriet van dit project. Bedankt voor het lezen van deze instructable en blijf hacken!:)

Aanbevolen: