Hinweis: Wie die einzelnen Hardware Komponenten so wie die benötigten evtl. weiteren elektronischen Zusatzteile (Widerstände, Transistoren, Stromversorgung) angeschlossen werden, ist in der Rubrik Elektronik nachzuschlagen. In dieser Rubrik wird ausschließlich die Software-Entwicklung betrachtet.
Der Laser ist sehr einfach. Daher wird hier die Funktion zum einschalten und ausschalten des Lasers direkt in den Websocketclient mit hinein Implementiert. Der Laser wird an GPIO 12 verbunden.
Auch hier muss sich der Websocketclient zunächst mit seinem Namen melden, damit später eine Nachricht gezielt an den Laser gesendet werden kann (ON oder OFF).
import asyncio
import websockets
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)
async def wsclient():
async with websockets.connect('ws://localhost:9000') as websocket:
await websocket.send('Name:'+'laser')
GPIO.output(12, 0) #set laser off
while True:
msg = await websocket.recv()
values = msg.split(':')
if (values[1] == "ON"):
GPIO.output(12, 1)
else:
GPIO.output(12,0)
#This have to be the last line!
asyncio.get_event_loop().run_until_complete(wsclient())