Inhoudsopgave:
- Stap 1: Installeer de vereiste Python-bibliotheken
- Stap 2: De Python-code
- Stap 3: De webpagina maken
- Stap 4: Het Python-bestand overbrengen naar uw Beaglebone
- Stap 5: De server uitvoeren
- Stap 6: Jij hebt de controle
Video: Beaglebone Black Web Control met behulp van WebPy - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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 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
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
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
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
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:
Meting van versnelling met behulp van ADXL345 en Particle Photon: 4 stappen
Meting van versnelling met behulp van ADXL345 en deeltjesfoton: De ADXL345 is een kleine, dunne, ultralaagvermogen, 3-assige versnellingsmeter met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de
Upgrade de achtergrondverlichting van een VU-meter naar blauwe led met behulp van oude CFL-lamponderdelen: 3 stappen
Upgrade een VU-meterachtergrondverlichting naar blauwe led met behulp van oude CFL-lamponderdelen.: Tijdens het repareren van een oude Sony TC630 reel-to-reel bandrecorder, merkte ik dat een van de glazen bollen voor de achtergrondverlichting van de VU-meter kapot was. Geen hoeveelheid geleidende verf werkte omdat het lood onder het glasoppervlak was afgebroken. De enige vervanger die ik
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing: 6 stappen
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing. We komen verschillende projecten tegen die temperatuur-, druk- en vochtigheidsbewaking vereisen. We realiseren ons dus dat deze parameters eigenlijk een cruciale rol spelen bij het hebben van een schatting van de werkefficiëntie van een systeem bij verschillende atmosferische cond
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik