IoT - een Raspberry Pi Robot beheren via internet met HTML en shell scripts alleen (3 / 9 stap)

Stap 3: Controle motoren met Raspberry Pi en WiringPi


Op dit punt, de WiringPi-bibliotheek is geïnstalleerd en u kunt elke GPIO rechtstreeks vanaf de command line op uw monitor RPi. De volgende stap is het creëren van een logica om te controleren van de motoren. Om dat te doen, zullen we gebruik maken van een H-brug, de L-293-D. Deze H-brug kunt 2 motoren. Het heeft voor elk motoren, 3 ingangen:

  • Motor links: "enable"; "motor +" en "motor-"
  • Motor recht: "enable"; "motor +" en "motor-"

Beide "motoren maakt" input zal worden verbonden en wordt gecontroleerd door GPIO.18. Deze pin is verantwoordelijk voor de controle van de snelheid. Als u niet dat control de snelheid wilt, laat u deze pinnen bijvoorbeeld in hoog. in deze stap zullen we dit verder bespreken.

Laten we een Verdrag dat als we de motor links uitvoeren wilt, dat moeten we setup motor + zo hoog en motor-zo laag. Als u wilt uitvoeren op een omgekeerde richting, moeten we het tegenovergestelde: motor-als hoog en motor + zo laag.

De beste manier om echt definiëren de juiste ingangen voor het beheersen van de motor richting, is om ze te testen wanneer de echte motor is vergadering.

Laten we die de GPIOs voor H-bruggen ingangen zijn toegewezen:

  • Motor links +: GPIO.5
  • Links - motor: GPIO.6
  • Motor rechts +: GPIO.13
  • Recht - motor: GPIO.19

Gebaseerd op de bovenstaande aannames, kan een logica tabel worden opgebouwd met de mogelijke niveaus worden toegewezen aan de GPIOs (zie afbeelding van de tabel). De volgende stap is het creëren van shell-scripts voor het uitvoeren van de motoren

Elk scriptbestand is in wezen de tekst zonder opmaak. Als een tekstbestand wordt geprobeerd moet worden uitgevoerd, zal de schelpen ontleden door hen voor aanwijzingen over of ze scripts of niet, en hoe te behandelen alles goed. Vanwege dit zijn er een paar richtlijnen die je moet weten.

  • Elk script moet wezen met "#! / bin/bash" (de Hash-Bang Hack}
  • Elke nieuwe regel is een nieuwe opdracht
  • Regels met opmerkingen beginnen met een #
  • Opdrachten zijn omringd door)

Wanneer een shell door middel van een tekstbestand parseert, het meest directe manier om het bestand als een script is door het maken van uw eerste lijn: #! / bin/bash (de Hash-Bang kappen). Als u een andere shell gebruikt, vervang het pad hier. Regels met opmerkingen beginnen met knoeiboel (#), maar de bang (!) en de shell-pad toevoegen nadat het is een soort houwer die deze regel commentaar zal mijden en zal dwingen het script uit te voeren met de shell die deze regel naar verwijst.

Bijvoorbeeld wilt maken van een shellscript voor het uitvoeren van de motoren "Vooruit", op basis van de bovenstaande tabel, moet we maken het bestand balg (gebruik de beste editor voor u. Ik ben met behulp van NANO daarvoor):

sudo nano forward.cgi

#! / bin/bash

GPIO -g schrijven 5 1

GPIO -g schrijven 6 0

GPIO -g schrijven 13 1

GPIO -g schrijven 19 0

.

Zodra het script is gemaakt, moeten wij toestemming om te worden uitgevoerd:

sudo chmod 755 forward.cgi

Nu, het script uit te voeren:

sudo./forward.cgi

4 LEDs werden gebruikt voor het testen van de scripts, de echte motoren op een verdere stap zal worden toegevoegd. Als de werken, de correspondent LEDs moet worden op (zie foto).

Merk op dat ik als de bestandsextensie .cgi gebruiken. CGI betekent "Common Gateway Interface". Het is een standaard manier voor webservers met uitvoerbare programma's zijn geïnstalleerd op een server die dynamisch genereren van webpagina's. Dergelijke programma's worden genoemd van CGI scripts of gewoon CGI's; ze zijn meestal geschreven in een scripttaal, maar kunnen worden geschreven in een willekeurige programmeertaal.

Gaande is, moet het zelfde idee gelden voor de andere mogelijkheden van de vorige tabel:

sudo nano stop.cgi

#! / bin/bash

GPIO -g schrijven 5 0

GPIO -g schrijven 6 0

GPIO -g schrijven 13 0

GPIO -g schrijven 19 0

.

sudo nano reverse.cgi

#! / bin/bash

GPIO -g schrijven 5 0

GPIO -g schrijven 6 1

GPIO -g schrijven 13 0

GPIO -g schrijven 19 1

.

sudo nano left.cgi

#! / bin/bash

GPIO -g schrijven 5 0

GPIO -g schrijven 6 1

GPIO -g schrijven 13 1

GPIO -g schrijven 19 0

.

sudo nano right.cgi

#! / bin/bash

GPIO -g schrijven 5 1

GPIO -g schrijven 6 0

GPIO -g schrijven 13 0

GPIO -g schrijven 19 1

.

Zodra de scripts zijn gemaakt moet u machtigen hen om te worden uitgevoerd, dezelfde zoals werd gedaan met forward.cgi

sudo chmod 755 stop.cgi

sudo chmod 755 reverse.cgi

sudo chmod 755 left.cgi

sudo chmod 755 right.cgi

Nu, het uitvoeren van sommige tests om te bevestigen dat alles werkt:

./forward.cgi

./left.cgi

./reverse.cgi

./right.cgi

./stop.cgi

Het is een goede gewoonte dat wij hebben van een specifieke map voor de programma's gebruikt en noem het "bin". Wij dus, om de scripts die we zullen gebruiken in het project opslaat, moet u een map zoals cgi-bin met alle uitvoerbare scripts (of binaire bestanden) maken. Bijvoorbeeld, /var/ www/cgi-bin.

Dus, laten we de www directory onder var, waar onze webpagina geplaatst worden zal en eronder, de cgi-bin directory met de scripts maken:

sudo mkdir/var/www

sudo mkdir /var/ www/cgi-bin

Nu, laten we alle bestanden naar deze nieuwe map verplaatsen:

sudo mv /*.sgi /var/ www/cgi-bin

CD /var/ www/cgi-bin

Met behulp van de lijn commando ls, kunt u de bestanden die zijn gemaakt (zie foto).

ls

Een laatste ding voordat we overgaan tot een andere stap. Als u de RPi rebooten, zullen de GPIOs hun standaardmodus thats INPUT terugkomen. Dus, we moeten veranderen het /etc/rc.local script dat wordt uitgevoerd op een Raspberry van start. Net voor de laatste opdracht in het script == > 0, sluiten we de opdrachten in de modus GPIOs moet bevatten:

sudo nano /etc/rc.local

GPIO -g modus 5 uit

GPIO -g modus 6 uit

GPIO -g modus 13 uit

GPIO -g modus 19 uit

...

exit 0

Nu, op elk moment dat die de RPI begint, het zal klaar om te controleren de ontworpen uitgangen.

Gerelateerde Artikelen

Raspberry Pi Robot aangestuurd via Bluetooth

Raspberry Pi Robot aangestuurd via Bluetooth

deze tutorial is gebaseerd op een eerdere Instructable -Gebouw robots met Raspberry Pi en PythonHet doel is om een voorbeeld van hoe je een Bluetooth seriële verbinding met Arduino te controleren van een Raspberry Pi robot. Maar laat neem het nog een
IoT: Raspberry Pi Robot met Video Streamer en Pan/Tilt camera afstandsbediening via internet

IoT: Raspberry Pi Robot met Video Streamer en Pan/Tilt camera afstandsbediening via internet

(Als je dit Instructable, vergeet dan niet te stemmen - boven: rechts hoek vlag. Het is concurreren op INTERNET of THINGS en automatisering wedstrijden. Heel hartelijk bedankt! ;-)Dit is een tweede deel van mijn vorige Intructable: IoT - een Raspberr
Afstandsbediening Raspberry PI GPIO pinnen via internet

Afstandsbediening Raspberry PI GPIO pinnen via internet

Ik moest een manier om in- en uitschakelen enkele zonne-energie lichten thuis.De manier waarop die het werkt is werkelijk eenvoudig en het grote deel is dat u niet hoeft te knoeien met uw firewall naar de haven vooruit de verbinding met je raspberry
Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

het hart van dit project is een) aansluiten van een sensor op de analoge ingang van de arduino en b) programmeren met de if... else-statement.dit specifieke project toont een computer koelsysteem te handhaven bepaalde temperatuur binnen een computer
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Geef je Raspberry Pi Robot de hersenen van een Worm

Geef je Raspberry Pi Robot de hersenen van een Worm

De worm C Elegans is een van de meest bestudeerde dieren in de wetenschap. In de neurobiologie is het de meest elementaire hersenen model wetenschappers gebruiken om te bestuderen hoe de hersenen werken. Nu heb je een robot die als men denkt!De herse
Voeg 6 ultrasone afstand sensoren om bestaande Raspberry Pi Robot

Voeg 6 ultrasone afstand sensoren om bestaande Raspberry Pi Robot

Dit is niet een tutorial te maken van een Raspberry Pi robot met 6 ultrasone sensoren.Dit is een tutorial toont de beste methode om 6 ultrasone sensoren rechtstreeks toevoegen aan een raspberry pi zonder het gebruik van elke micro controller zoals de
PiMiDi: Een Raspberry Pi Midi vak of How I Learned to Stop Worrying and Love MIDI

PiMiDi: Een Raspberry Pi Midi vak of How I Learned to Stop Worrying and Love MIDI

Dit is mijn tweede instructable over het gebruik van de Raspberry Pi voor digitale audio, check out mijn eerste instructable voor het instellen en beheren van aangepaste audio-effecten op een Raspberry Pi.Als je knoeien met de audio-effecten of het m
Draadloze robot communicatie via ethernet

Draadloze robot communicatie via ethernet

Communiceren met een Raspberry Pi robot via een oude router of het toegangspunt. Dit is handig bij het maken van de langere robots.Stap 1: Get leveringenU zult: een Raspberry pi met verbeelde sd-kaart, ethernet-kabel, voeding voor Raspberry pi, het d
Hoe maak je een Raspberry Pi Media Panel (voorheen Digital Photo Frame)

Hoe maak je een Raspberry Pi Media Panel (voorheen Digital Photo Frame)

Het doel van dit project was het creëren van een low-cost Raspberry Pi Media Panel--een mooi uitziende scherm dat kan staan in de woonkamer of hechten aan de koelkast met het primaire doel van streaming persoonlijke foto en video inhoud full-time, ma
Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop, gebouwd net van LEGO onderdelen.Versie: 11 oktober 2015Inleiding en overzichtIkn het begin ik had het idee om het bouwen van een eenvoudige en goedkope microscoop met behulp van een raspberry pi en een p
SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

SMS verzenden vanuit een PHP website via HTTP met behulp van de Raspberry Pi

Achtergrond van het verzenden van SMS vanaf website met Raspberry PiBent u nieuwsgierig naar de meest eenvoudigste manier om SMS te verzenden vanaf uw website? Tegenwoordig, ik ben echt geïnteresseerd zijn in het gebied van Internet of Things (IoT) g
Maken van een robot van de internet gecontroleerd met behulp van Livebots

Maken van een robot van de internet gecontroleerd met behulp van Livebots

hier leert u hoe u een internet controlled robot of andere installatie met behulp van Livebots.Livebots is een project dat ik ben bezig dat uit een eenvoudig te gebruiken website voor alle robots bestaat die mensen kan communiceren met via het intern
Het toevoegen van Webmin voor het beheren van een Raspberry Pi

Het toevoegen van Webmin voor het beheren van een Raspberry Pi

Mijn voorkeur om te werken met een Raspberry Pi is via SSH. Wanneer een Raspian vanaf de website van Raspberry Pi installeert, is SSH actief en beschikbaar op poort 22 (SSH standaardnummer van poort). Al men moet is een ethernet-verbinding, een DHCP-