IoT - kontrollera en Raspberry Pi Robot över internet med HTML och shell skript endast (3 / 9 steg)

Steg 3: Kontrollera motorer med Raspberry Pi och WiringPi



Vid denna punkt, WiringPi biblioteket är installerat och du kan styra alla GPIO direkt från kommandoraden på bildskärmen RPi. Nästa steg är att skapa en logik för att kontrollera motorerna. För att göra det, kommer vi att använda en H-bron, L-293-D. Denna H-brygga kan styra 2 motorer. Det har för varje motorer, 3 ingångar:

  • Motor vänster: "Aktivera"; "motor +" och "motor-"
  • Motor just: "Aktivera"; "motor +" och "motor-"

Båda "motorer gör" input kommer att anslutas till varandra och kommer att kontrolleras av GPIO.18. Detta stift kommer att ansvara för kontrollen hastighet. Om du inte vill kontrollera hastigheten, lämna dessa stift i hög, till exempel. Vi kommer att diskutera detta vidare i det här steget.

Låt oss göra en konvention som om vi vill motorn kvar att köra framåt, vi måste setup motor + så högt och motor-som låg. För att köra på en omvänd riktning, vi måste göra motsatsen: motor-som hög och motor + så lågt.

Det bästa sättet att verkligen definiera rätt ingångar för styrning av motor riktning, är att testa dem när den riktiga motorn är församlingen.

Låt oss tilldelade GPIOs för H-överbryggar ingångar:

  • Motor till vänster +: GPIO.5
  • Vänster - motor: GPIO.6
  • Motor höger +: GPIO.13
  • Rätt - motor: GPIO.19

Baserat på ovanstående antaganden, kan en logik tabell byggas med möjliga nivåer som ska tilldelas de GPIOs (se tabell bild). Nästa steg är att skapa skalskript för att köra motorerna

Varje skriptfil är i huvudsak oformaterad text. När en textfil görs ett försök att bli avrättad, kommer att skal analysera igenom dem för ledtrådar om huruvida de är skript eller inte, och hur man hanterar allt ordentligt. På grund av detta finns det några riktlinjer du behöver veta.

  • Varje skript bör att vara med "#! / bin/bash" (The Hash-Bang hacka}
  • Varje ny rad är ett nytt kommando
  • Kommentarrader börja med en #
  • Kommandon är omgivna av)

När ett skal tolkar genom en textfil, mest direkta sättet att identifiera filen som ett skript är genom att göra din första raden: #! / bin/bash (The Hash-Bang hacka). Om du använder en annan shell, ersätta sin väg här. Kommentarrader börja med hash-värden (#), men att lägga till bang (!) och shell vägen när det är en slags hacka som kommer att kringgå denna kommentar regel och kommer att tvinga skriptet ska köras med skal som den här raden pekar på.

Till exempel för att skapa ett skalskript för att köra motorerna "Framåt", baserat på ovanstående tabell, måste vi skapa den fil nedan (Använd den bästa redigeraren för dig. Jag använder NANO för det):

sudo nano forward.cgi

#! / bin/bash

gpio -g skriva 5 1

gpio -g skriva 6 0

gpio -g skriva 13 1

gpio -g skriva 19 0

.

När skriptet har skapats, måste vi ge den behörighet som ska köras:

sudo chmod 755 forward.cgi

Nu, att köra skriptet:

sudo./forward.cgi

4 lysdioder användes för att testa skript, den riktiga motorer kommer att läggas på ytterligare ett steg. Om arbeten, korrespondent lysdioder måste vara på (se bild).

Observera att jag använder .cgi som filtillägget. CGI betyder "Common Gateway Interface". Det är ett standardiserat sätt för webbservrar att samverka med körbara program installerade på en server som genererar webbsidor dynamiskt. Sådana program kallas CGI-skript eller helt enkelt cgi; de är oftast skrivna på ett skriptspråk, men kan skrivas i alla programmeringsspråk.

Gå på, måste samma idé tillämpas för andra möjligheter i föregående tabell:

sudo nano stop.cgi

#! / bin/bash

gpio -g skriva 5 0

gpio -g skriva 6 0

gpio -g skriva 13 0

gpio -g skriva 19 0

.

sudo nano reverse.cgi

#! / bin/bash

gpio -g skriva 5 0

gpio -g skriva 6 1

gpio -g skriva 13 0

gpio -g skriva 19 1

.

sudo nano left.cgi

#! / bin/bash

gpio -g skriva 5 0

gpio -g skriva 6 1

gpio -g skriva 13 1

gpio -g skriva 19 0

.

sudo nano right.cgi

#! / bin/bash

gpio -g skriva 5 1

gpio -g skriva 6 0

gpio -g skriva 13 0

gpio -g skriva 19 1

.

När skripten skapats måste du ge dem behörighet att vara utförda, samma som gjordes med forward.cgi

sudo chmod 755 stop.cgi

sudo chmod 755 reverse.cgi

sudo chmod 755 left.cgi

sudo chmod 755 right.cgi

Nu, kör några tester för att bekräfta att allt fungerar:

./forward.cgi

./left.cgi

./Reverse.cgi

./Right.cgi

./stop.cgi

Det är en god praxis att vi har en specifik katalog för de program som används och kallar det "bin". Så, om du vill spara skript som vi kommer att använda i projektet, vi måste skapa en katalog som cgi-bin som innehåller alla körbara skript (eller binära filer). Till exempel /var/ www/cgi-bin.

Så, låt oss skapa katalogen www under var, var vår hemsida kommer att placeras och under det, cgi-bin katalogen med skript:

sudo mkdir/var/www

sudo mkdir /var/ www/cgi-bin

Nu, låt oss flytta alla filer till denna nya katalog:

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

CD /var/ www/cgi-bin

Med linje-kommandot ls, kan du se de filer som skapas (se foto).

LS

En sista sak innan vi flyttar till ett annat steg. Om du pånyttfödd RPi, kommer att GPIOs återvända till deras standard tillstånd som är indata. Så, måste vi ändra skriptet /etc/rc.local som körs på alla hallon start. Strax före det sista kommandot på skriptet == > avsluta 0, vi måste inkludera de GPIOs kommandona:

sudo nano /etc/rc.local

gpio -g läge 5 ut

gpio -g läge 6 ut

gpio -g läge 13 ut

gpio -g läge 19 ut

...

utgång 0

Nu, när som helst som som RPI startar, det kommer att vara redo att styra designade utgångarna.

Se Steg
Relaterade Ämnen

Skicka SMS från Arduino över Internet med ENC28J60 och Thingspeak

Detta Instructable förklarar hur du skickar ett SMS från en Arduino använder Internet. Det finns många sätt att närma sig detta och jag kommer att förklara ett av de olika metoder som används för att utföra denna uppgift.Några viktiga punkter som beh...

IoT: Raspberry Pi Robot med Video Streamer och Pan/Tilt kamera fjärrkontroll över internet

(Om du gillar detta Instructable, glöm inte att rösta på den - ovan: högra hörnet flaggan. Det tävlar om SAKERNAS INTERNET och AUTOMATION tävlingar. Tack så mycket! ;-)Detta är en andra del av min föregående Intructable: IoT - kontrollera en Raspberr...

Hur dela data av temperatura från DHT22 över Internet med Xively

webben har definitivt ändrats många saker, såsom tillgången till uppgifter på begäran, snabbt och enkelt. Till exempel är vet att temperaturen som finns där ute, lätt tillgänglig genom olika webbplatser ägnas, som också ger prognoser på kort och lång...

Remote control Raspberry PI GPIO stift över internet

Jag behövde ett sätt att på och av vissa sol ljus hemma.Hur den fungerar är egentligen enkel och den stora delen är att du slipper fippla med din brandvägg till port framåt anslutningen till din raspberry pi att styra det som de flesta lösningar kräv...

Raspberry Pi Robot kontrollerad via Bluetooth

denna handledning är baserad på en tidigare Instructable -Byggnaden robotar med Raspberry Pi och PythonSyftet är att presentera ett exempel på hur man ställer in en Bluetooth seriell anslutning med Arduino att styra en Raspberry Pi robot. Men kan ta...

Monitor kamera och Relay kontroll över Internet

Många av oss har smartphones, iPads eller netbooks som vi tar med oss och det skulle vara bra att checka in på plats, i ett kafé eller när du reser. Nu använder vi raspberry pi 2 för övervakning kamera och Styrrelä över internet. Allt är förklara för...

Voice Control ESP8266 (WEMOS D1mini) över Internet (utan MQTT)

Jag gillar att göra saker enkelt...här är ett enkelt sätt att kontrollera din ESP från över internet utan att jävlas med för mycket kod eller långsam MQTT mäklareSteg 1: delar:1. Wemos d1 mini2. TP-Link router3. någon smartphone (jag använde iphone 5...

Kontrollera en IR-luftkonditionering med Android och Arduino

För min första Arduino projekt bestämde jag mig att kontrollera min luftkonditioneringen över internet med hjälp av Arduino och min Android mobiltelefon överallt där jag har tillgång till internet. Videon är på spanska men du får vad jag visar.Steg 1...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

JavaScript för IoT: kontrollera en knapp på Raspberry Pi via Node.js

Denna handbok förklarar hur att montera en "push att göra"-knappen på en skärbräda, att anslutit den till Raspberry Pi och kontrollera det med JavaScript och Node.js. Det hela exemplet är öppen källkod och är tillgänglig på GitHub under MIT lice...

Lägga till Internet-kontroll i Raspberry Pi Robot med Runmyrobot.com

Hur dela din Robot med världen och låta andra människor spela med den med runmyrobot.com. Denna webbplats beta-testning men det bör fungera. Om du har några frågor, låt oss veta genom att publicera på webbplatsen Disqus sida.BTW, måste du ansluta din...

CupBots - 3D tryckt Robotic plattform för Arduino och Raspberry Pi

Här är en stor helg robotics projekt att genomföra med vänner eller folk på din lokala maker utrymme. Behöver du en 3D-skrivare händig till 3D tryck STL filer bifogas som en del av stegen nedan och en kopp, i mitt fall, jag använder en venti kopp frå...

Sakernas Internet med Raspberry Pi-2

Detta är en uppföljning till mitt tidigare instructable Sakernas Internet med Raspberry Pi - 1.(Om inte du är bekant med webbservrar, PHP kodning och grundläggande begrepp för Sakernas Internet, bör du nog gå igenom del 1 första.)I den tidigare instr...

Ge din Raspberry Pi Robot en mask hjärna

Masken C Elegans är ett av de mest studerade djur i vetenskapen. I neurobiologi är det den mest grundläggande hjärnan modellen forskare använder för att studera hur hjärnan fungerar. Nu kan du ha en robot som tänker som en!C Elegans mask hjärnan har...

Sakernas Internet med Raspberry Pi - 1

När jag var ny på IOT (Internet Of Things), såg jag att det fanns knappt några tutorials som var tillräckligt enkelt för nybörjare att förstå och prova. Det var antingen till mycket tekniska jargong, eller hårdvaran var alltför komplex.Så nu när jag...

Remote Raspberry Pi Robot (PS3 Controller) - Fablab NerveCentre

Dessa anvisningar försöka ta väldigt lite. Förhoppningsvis, om du kan starta en Raspberry Pi och är ansluten till internet bör du kunna slutföra denna stora lilla projekt.I grund och botten är detta ett projekt som kommer att resultera i vissa specif...

Skapa din första IoT Ethernet-enhet. Del 5: Sakernas Internet, Home Automation

Detta är en "twofer" (två för en) är den första delen (A) Ethernet motsvarande sin WiFi ESP8266/DHT22 baserat föregångare med en extra I2C LCD-display för sammanfattningsdata (se andra bilden ovan). I del (B) vi kommer att utöka design (se först...

Kontrollera en Roomba robot med Arduino och Android

(Om du gillar detta Instructable, glöm inte att rösta på den - ovan: högra hörnet flaggan. Det tävlar på AUTOMATION tävling. Tack så mycket! ;-)Som en av robotteknik tävling 2016 vinnarna här på Instructables fick jag som pris en iRobot Roomba Create...

Anslutning av DIY IoT enheter till Internet med pfodApp

Hur du ansluter hemma och bort med hjälp av samma anslutningDetta instructabe omfattar hur du får din WiFi pfodDevice, IoT, ansluten till Internet. Det visar också hur pfodApp löser problemet med att inte kunna ansluta till din lokala enhet via Inter...