Counter-Strike Robot (13 / 16 stap)

Stap 13: Raspberry Pi Server Code - instellen


In deze sectie gaan we over de code voor de server. De code is gekoppeld, maar laten we lopen door elk deel van de code, zodat u kunt aanpassen aan uw behoeften.

 # Basic Pi librariesimport timefrom time import sleepimport termios, fcntl, sys, os # For PWMimport RPi.GPIO as GPIOfrom RPIO import PWM # For socket connectionsimport socket 

Dit eerste deel is voor het importeren van de bibliotheken die we nodig hebben.

Stel we vervolgens op onze GPIO pinnen (Let op dat deze zijn gebaseerd op de Pi revisie-2 lay-outs. Controleer welke herziening u moet hier, en welke lay-out hebt hier). Zorg ervoor dat u hen aan te op de juiste pinnen sluiten, of veranderen van uw pin-configuratie correct hieronder:

 # Set up pins# NOTE - THESE ARE BASED ON PI REVISION 2 GPIO PINOUTS PIN_RIGHT_POWER=7 # if this is on, then send power to the right treadPIN_RIGHT_DIRECTION=11 # if this is on, then relay for the right tread will be on (sending the tread into reverse) PIN_LEFT_POWER=13 # if this is on, then send power to the left treadPIN_LEFT_DIRECTION=15 # if this is on, then relay for the left tread will be on (sending the tread into reverse) # Initialize these GPIO pins as GPIO.OUTGPIO.setmode(GPIO.BOARD)GPIO.setup(7, GPIO.OUT)GPIO.setup(11, GPIO.OUT)GPIO.setup(13, GPIO.OUT)GPIO.setup(15, GPIO.OUT) 

Na dat initialiseren we onze servomotoren (Let op het commentaar op de GPIO BCM-indeling):

 # Initialize the servo libraryservo = PWM.Servo() # NOTE - the RPIO.PWM pin outs refer to the BCM GPIO layout numbers# See: <a href="http://www.hobbytronics.co.uk/raspberry-pi-gpio-pinout"> <a href="http://www.hobbytronics.co.uk/raspberry-pi-gpio-p...</a"> http://www.hobbytronics.co.uk/raspberry-pi-gpio-p...</a>># Example: Pin 18 is actually BCM GPIO 24 on the Revision 2 Pi (5th from bottom on the right) # Initialize the servo position for gunpos=1500 

Dit volgende deel, we instelt aantal helper methodes zodat we niet nodig handmatig elke keer dat Bel pinnen. Dit helpt ons houden onze code droog en herbruikbare. We zullen alleen post een beknotte versie hier, aangezien het is redelijk duidelijk in de commentaar bij de code:

 # Define functions for pins # Turn on a pindef powerOn(pin): GPIO.output(pin, GPIO.HIGH) return # Turn off a pindef powerOff(pin): GPIO.output(pin, GPIO.LOW) # time.sleep(1) return # Fire the gun. NOTE - RPIO PWM uses the def fireGun(): # See note about about BCM GPIO pin servo.set_servo(23, 1800) sleep(0.5) servo.set_servo(23, 1000) return # Set the turret to a position using PWMdef turretX(pos): servo.set_servo(24, pos) return # Set the right tread into forawrd modedef rightForward(): powerOff(PIN_RIGHT_DIRECTION) # time.sleep(0.5) sleep(0.5) return . . . . # Turn the vehicle leftdef spinLeft(duration=1): powerOn(PIN_LEFT_DIRECTION) sleep(0.2) powerOn(PIN_LEFT_POWER) sleep(duration) fullStop() return 

Ten slotte, het laatste stukje van instellen voordat de echte pret: sockets. In dit project, zullen we een fundamentele TCP socket gebruiken voor het verzenden van opdrachten naar onze Pi. U hoeft niet te begrijpen te veel over hoe dit werkt, maar in feite, dit betekent dat iedereen op uw networkcan slechts een eenvoudige boodschap aan de host/poort van deze Pi, zolang zij de IP en poortnummer.

We liep dit project op onze eigen huiswifi. Als u het lokale IP-adres, voert u deze opdracht op uw Pi:

ifconfig/all

En het IP-adres gekoppeld aan WLAN moet uw wifi. Onze was 10.0.0.101. Vervang de 'host' variabele hieronder met uw ip-adres:

 # SOCKET SET UP # We use TCP to communicate with the Pis = socket.socket() # Create a socket objects.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Keep the socket open to re-usehost = '10.0.0.101' # The local IP address of your Pi. Run `ifconfig /all` to see your WiFi addressport = 12345 # Reserve a port for your service.s.bind(('', port)) # Bind to the port and accept connections from anywhere</p><p>s.listen(5) # Now wait for client connection, with a backlog queue size of 5</p><p># Establish connectionconnection, address = s.accept()print "Got a connection from", addressmessage = "Thanks for connecting to " + str(host) + " at port " + str(port)connection.send(message) 

Dit concludeert het setup-gedeelte van de code. De volgende stap zal u via de werkelijke functioneel onderdeel van het programma lopen.

Gerelateerde Artikelen

How to verkrijgen & installeren CS:S(Counter Strike Source) texturen op Garry's Mod

How to verkrijgen & installeren CS:S(Counter Strike Source) texturen op Garry's Mod

Met behulp van een eenvoudige server updater kunnen we installeren Counter Strike Source texturen op Garry van Mod.Stap 1: Stap 1: verkrijgen van stoom CMDDownload hierUn-Zip het steamcmd_win32.zip bestand in een nieuwe mapStap 2: Stap 2: uitvoeren v
Het bereiken van een hogere rang in Counter-Strike: Global offensief

Het bereiken van een hogere rang in Counter-Strike: Global offensief

Counter-Strike: Global offensief is één van de meest populaire concurrerende spelen. Op het bovenste niveau van spelen, kunnen professionele spelers winnen honderden duizenden dollars in toernooien. Als u deze handleiding hebt gevonden, u waarschijnl
Counter Strike Game speler Assault Hoodie

Counter Strike Game speler Assault Hoodie

Yup, is dit xmas gift gemaakt voor de dezelfde jongen met de TARDIS boekenkast en de Halo M5AB geweer prop. Lijkt zijn laatste belang is het computerspel Counter Strike en is altijd bedelen om sommige stoom punten naar voren brengen in app aankopen.
HLDS Counter Strike 1.6 [Linux]

HLDS Counter Strike 1.6 [Linux]

zodat u Counter Strike voor een tijdje spelen en zijn denken over het opzetten van uw eigen server. Dan dit de tutorial voor u is.Welkom bij mijn tweede tutorial over het opzetten van een Half leven Dedicated Server, HLDS voor gaming. Deze tutorial z
Counter Strike C4 Prop

Counter Strike C4 Prop

Door het volgen van dit instructable tot kunt u uw zeer eigen CS:GO C4-prop.Voor dit project zal u het volgende nodig:KaartBruin papier/tassenPlakbandVeel van hete lijmEen oude LCD-ModuleEen oude toetsenbordEen 9 volt batterijDraadLint draadEen rode
Counter-Strike Source kaart aan 3D-model.

Counter-Strike Source kaart aan 3D-model.

Iets ik willen doen voor een lange tijd sinds ik heb de Source SDK ontdekt voor het maken van kaarten voor de Half-life bron spellen naar exporteren konden. DXF. Dit was niet een eenvoudig proces. Exporteren naar. DXF maakte alles als losse onderdele
Counter-Strike Source Console Commands.

Counter-Strike Source Console Commands.

In bijna elk spel met opdrachten van de console ingeschakeld ze spelen een grote rol, van modding de grootte van uw kruiscursor tot fijne tweaken uw server console commando's zijn overal.In dit instructable ik zal je laten zien hoe u kunt deze opdrac
Het toevoegen van een nucleaire optie aan risico (bordspel Mod)

Het toevoegen van een nucleaire optie aan risico (bordspel Mod)

Risico is een klassieke bordspel dat vaak huisregels heeft. Sommige van deze mods zijn zelfs officiële mods, zoals Starcraft, Lord van de ringen, Halo, Doctor Who, Wandelen Dead, en 2210. Omdat risico oorspronkelijk over de post-Koude Oorlog van de T
StatTrak Fedora (nieuwe fabriek)

StatTrak Fedora (nieuwe fabriek)

Maak je eigen StatTrak Fedora.Deze hoed zal zitten kundig voor bijhouden hoe vaak u het uiteinde. Hoewel het niet wordt gedetecteerd door de actie, dus je moet druk op een knop everytime wilt u de teller op het scherm om omhoog te gaan. (Voor wie nie
Cosplay Karambit mes

Cosplay Karambit mes

Oorspronkelijk uit Indonesië is de karambit een handheld mes waarvan het ontwerp zou worden insired door de cat's claw. De functies van de karambit in het populaire computerspel Counter Strike. Ik maakte deze cosplay karambit mes voor #1Son. Het lemm
Warm bij het maken van een eenvoudige maar effectieve katapult in GMOD 10

Warm bij het maken van een eenvoudige maar effectieve katapult in GMOD 10

dit instructable zal u tonen hoe maak je een eenvoudige, but ver vuren katapult in garry's mod 10. het is een gemeenschappelijk contraption die ideaal is voor beginners. de meeste Garry Mod spelers weten hoe maak je zoiets als dit.Geniet van!Vereiste
Oude toetsenbord Transormed in aangepaste Gaming toetsenbord

Oude toetsenbord Transormed in aangepaste Gaming toetsenbord

Hallo iedereen, dit is een instructable over hoe te maken en oude, nu waardeloos, toetsenbord in een up-to-date gokkentoetsenbord. Dit zal worden meest effectief zijn als gedaan voor een specifieke game (D.W.Z. Counter-Strike ) wegens sleutel verwijd
PC Rapid Fire

PC Rapid Fire

bewerken: het definitieve programma vast zodat u niet hoeft te wijzigen van de extensieSemi-automatische pistolen met automatische snelheid schieten! Dit is een risico-vrije software mod, dus er is geen manier die u kan permanent verpesten uw muis/jo
DRAADLOZE muis wijziging van het 555 timer

DRAADLOZE muis wijziging van het 555 timer

eerste, mijn blog/het origineel.Tweede van allen, ik zou willen vermelden hoe gemakkelijk Instructables is te gebruiken. Het is gewoon zo veel makkelijker om instructies te geven wanneer u kunt uw foto's een label en opmerkingen te beantwoorden.Laat