Roboten Counter-Strike (13 / 16 steg)

Steg 13: Raspberry Pi Server kod - ställa in



I det här avsnittet ska vi gå över koden för servern. Koden är ansluten, men låt oss gå igenom varje del av koden så att du kan ändra den för att passa dina behov.

# Grundläggande Pi bibliotek
Importera tid
från att importera sömn
importera termios, fcntl, sys, os

# För PWM
importera RPi.GPIO som GPIO
från RPIO importera PWM

# För socketanslutningar
import socket

Denna första del är för att importera bibliotek vi behöver.

Nästa, vi ska ställa upp våra GPIO stift (Observera att dessa är baserade på Pi revidering-2 layouter. Kontrollera vilken ändring du har här, och vilken layout du har här). Se till att du sätter dem i rätt stift eller ändra din pin konfigurationer korrekt nedan:

# Ställ in stift
# OBSERVERA - DESSA ÄR BASERADE PÅ PI REVIDERING 2 GPIO STIFTTILLDELNINGAR

PIN_RIGHT_POWER = 7 # om detta, så skicka ström till höger trampa
PIN_RIGHT_DIRECTION = 11 # om detta, då relä för rätt slitbanan blir på (skicka slitbanan i backen)

PIN_LEFT_POWER = 13 # om detta, och sedan skicka ström till vänster trampa
PIN_LEFT_DIRECTION = 15 # om detta, då relä för vänster slitbanan blir på (skicka slitbanan i backen)

# Initiera dessa GPIO pins som GPIO. UTE
GPIO.setmode (GPIO. STYRELSEN)
GPIO.setup (7, GPIO. OUT)
GPIO.setup (11, GPIO. OUT)
GPIO.setup (13, GPIO. OUT)
GPIO.setup (15, GPIO. OUT)

Efter det ska vi initiera våra servomotorer (Observera kommentera GPIO BCM layout):

# Starta servo-biblioteket
servo = PWM. Servo()

# Observera - RPIO. PWM pin outs hänvisa till BCM GPIO layout nummer
# Se: < en href = "http://www.hobbytronics.co.uk/raspberry-pi-gpio-pinout" >< en href = "http://www.hobbytronics.co.uk/raspberry-pi-gpio-p... < / a" > http://www.hobbytronics.co.uk/raspberry-pi-gpio-p...</a>>
# Exempel: Pin 18 är faktiskt BCM GPIO 24 på revidering 2 Pi (5th från botten till höger)

# Initiera servo positionen för pistol
POS = 1500

Denna nästa avsnitt, vi ställer in några hjälpare metoder så att vi inte behöver manuellt ringa stift varje gång. Detta hjälper oss att hålla vår kod torr och återanvändbara. Vi kommer bara lägga en stympad version här, eftersom det är ganska självförklarande i koden kommentarerna:

# Definiera funktioner för stift

# Slå på en PIN-kod
def powerOn(pin):
GPIO.output (pin, GPIO. HÖG)
returnera

# Inaktivera en PIN-kod
def powerOff(pin):
GPIO.output (pin, GPIO. LÅG)
# time.sleep(1)
returnera

# Eld pistolen. Observera - RPIO PWM används den
def fireGun():
# Se anmärkning om BCM GPIO pin
servo.set_servo (23, 1800)
Sleep(0.5)
servo.set_servo (23, 1000)
returnera

# Set tornet till en position med PWM
def turretX(pos):
servo.set_servo (24, pos)
returnera

# Ställ in rätt slitbanan i forawrd läge
def rightForward():
powerOff(PIN_RIGHT_DIRECTION)
# time.sleep(0.5)
Sleep(0.5)
returnera

.
.
.
.

# Vända fordonet vänster
def spinLeft(duration=1):
powerOn(PIN_LEFT_DIRECTION)
Sleep(0.2)
powerOn(PIN_LEFT_POWER)
Sleep(duration)
fullStop()
returnera

Slutligen, den sista biten av inrättats innan roligt: sockets. I detta projekt, kommer att vi använda en grundläggande TCP-socket för att skicka kommandon till våra Pi. Du behöver inte att förstå så mycket om hur detta fungerar, men i grund och botten innebär detta att någon på din networkcan bara skicka ett meddelande till värd/port här Pi, så länge de har IP och portnummer.

Vi körde detta projekt på våra egna hem Wifi. För att få den lokala IP-adressen, kör detta kommando på din Pi:

ifconfig/alla

Och IP-adress kopplad till WLAN bör din wifi. Vår var 10.0.0.101. Ersätt variabeln "värd" nedan med din IP-adress:

# HYLSNYCKELSATS UPP
# Vi använder TCP för att kommunicera med Pi
s = socket.socket() # skapa ett socket objekt
s.Setsockopt (socket. SOL_SOCKET, uttag. SO_REUSEADDR, 1) # hålla uttaget öppen att återanvända
Host = "10.0.0.101" # lokala IP-adress din Pi. Kör ' ifconfig/all "att se din WiFi-adress
Port = 12345 # reservera en port för din tjänst.
s.BIND (('', port)) # binda till port och acceptera anslutningar från någonstans < /p >< p > s.listen(5) # nu vänta för klientanslutning, med en eftersläpning köns storlek av 5 < /p >< p > # upprätta anslutning
anslutning, adress = s.accept()
skriva ut "Fick en anslutning från", adress
meddelande = "Tack för att ansluta till" + str(host) + "port" + str(port)
Connection.send(Message)

Detta avslutar setup del av koden. Nästa steg kommer att gå igenom den faktiska funktionell del av programmet.

Se Steg
Relaterade Ämnen

Counter Strike spel spelare Assault Hoodie

Japp, görs denna xmas gåva för den samma ungen med TARDIS bokhylla och Halo M5AB gevär prop. Verkar hans senaste intresse är datorspelet Counter Strike och alltid ber om att få några ånga saker att göra i app inköp. Hur som helst, inspirerade från de...

Att nå en högre rang i Counter Strike: globala offensiv

Counter Strike: Globala offensiv är en av de mest populära tävlingsmatcher. På övre nivå av lek, kan professionell spelare vinna hundratusentals dollar i turneringar. Om du har hittat denna guide, du är troligen en ny eller kämpande spelare och du ha...

Hur till få & installerar CS:S(Counter Strike Source) texturer på Garry's Mod

Med en enkel server updater kan vi installera Counter Strike Source texturer på Garry's Mod.Steg 1: Steg 1: Skaffa Steam CMDLadda ner härFN-Zip filen steamcmd_win32.zip till en helt ny mappSteg 2: Steg 2: kör SteamCMD och uppdateringDubbelklicka på S...

HLDS Counter Strike 1.6 [Linux]

så att du har spelat Counter Strike ett tag och funderar på att ställa in din egen server. Så är det handledningen du.Välkommen till min andra tutorial om hur du konfigurerar en Half Life dedikerad Server, HLDS för spel. Denna handledning kommer att...

Counter-Strike Source Console kommandon.

i nästan varje spel med console kommandon aktiverat de spelar en stor roll, från modding storleken på din hårkorset till fina tweaking din server console kommandon finns överallt.I detta instructable jag kommer att visa dig hur du använder dessa komm...

Counter Strike C4 Prop

Genom att följa detta instructable kan du göra din alldeles egna CS:GO C4 prop.För detta projekt behöver du:KortBruna papperspåsarSilvertejpMassor av varmt limEn gammal LCD-modulEn gammal knappsatsEtt 9 volts batteriWireMenyfliksområdet trådEn röd LE...

Counter-Strike Source karta till 3D-modellen.

Något jag har velat göra för en lång tid eftersom jag hittade ut i Source SDK att göra kartor för Half-life Source spel kunde exportera till. DXF. Detta var inte en enkel process. Exportera till. DXF gjorde allt som enskilda delar som modeller. Expor...

Heta till göra en enkel men effektiv katapult i GMOD 10

detta instructable visar dig hur man gör en enkel, men långt skjuter katapult i garry's mod 10. Det är en gemensam grej som är perfekt för nybörjare. de flesta Garry's Mod spelare vet hur man gör något sådant.Njut!Krav:Garry's Mod 10 - http://store.s...

Hur du lägger till en Nuclear Option risken (brädspel Mod)

Risken är ett klassiskt brädspel som ofta har husets regler. Några av dessa mods är även officiella mods, som Starcraft, Sagan om ringen, Halo, Doctor Who, Walking Dead och 2210. Eftersom risken är ursprungligen om posten andra världskriget kalla kri...

CS:go Shadow dolkar

I denna tutorial jag ska visa dig hur man gör dolkar från counter strike: globala offensiv.Steg 1: mall Skriva ut mallen och dra den eller limma fast den i trä.Steg 2: Skär trä Steg 3: slipning Steg 4: färg Steg 5: gjort Hoppas ni gillar den. :-D...

Cosplay Karambit kniv

Ursprungligen från Indonesien är karambit en handhållen kniv vars design sägs vara insired av kattens klo. Karambit funktioner i populära datorspelet Counter Strike. Jag gjorde denna cosplay karambit kniv för #1Son. Klingan är tillverkad av svart akr...

Hur att delta i ett LAN-party

LAN parterna kan vara en fantastisk upplevelse med dina vänner! Eller en frustrerande övning i datorn fel eller programvara installationsproblem. Idag skulle prata om hur man få den bästa upplevelsen och vara den mest beredd att ha kul med vänner och...

Billiga (men utmärkt) musmatta

jag är för billigt att spendera $25 på en kvalitet musmatta, så jag bestämde mig att göra min egen. Allt ska vara under $5. Jag använder den med en Logitech G5 lasermus och har testat det med en Razer Copperhead lasermus och billiga Microsoft ball mu...

Gör en tid förflutit av din datorskärm

du kan göra en tidsfördröjning på skärmen med hjälp av enkla program.Den som jag rekommenderar är CamStudioAnledningarna till varförGratisLätt att användaÖppen källkodVista eller XPFungerar med nästan alla video-codecFör lappteknik videor tillsammans...

TRÅDLÖSA 555 timer mus ändring

först av allt, min blogg/the original.Andra av allt, vill jag nämna hur lätt Instructables är att använda. Det är bara så mycket lättare att ge instruktioner när du kan märka dina bilder och svara på kommentarer.Kan komma till business...Ett par år s...

Gamla tangentbord Transormed in Custom Gaming Keyboard

Hej alla, detta är en instructable om hur man gör och gamla, nu värdelösa, tangentbord i en aktuell gaming klaviatur. Detta kommer att vara mest effektiva om gjort för ett visst spel (dvs Counter-Strike ) på grund av nyckel-borttagning. Dessutom reko...

Hur man gör texturer för något spel som använder Source-motorn

denna handledning visar hur man gör en grundläggande struktur för alla source spel, såsom; Half Life 2, Half Life 2: episode 1, Half Life 2: episode 2, Counter-Strike: Source och många andra.När jag började göra egna texturer, fann jag att det var vä...

Fixa validering fel med Steam-spel (Windows)

i detta instructable jag wil lära dig hur man gör en vbscript i anteckningar som kommer att åtgärda valideringsfel med steam spel som portal 2 och sedan ge dig möjligheten th lansera dem.Det kommer också ge dig en uppfattning om hur du skriver din eg...

PC Rapid Fire

Redigera: fast det slutliga programmet så kommer du inte att byta namn på dess förlängningSkjuta semi-auto pistoler med automatisk hastighet! Detta är en risk-fri programvara mod, så det finns inget sätt du kan permanent skruva upp din mus/joystick.X...