#! /usr/bin/python3 import cgi import cgitb import json import Adafruit_PCA9685 cgitb.enable() # read pin number from query string form = cgi.FieldStorage() DEFAULT_PIN=15 DEFAULT_PULSE=0 try: pin = int(form.getvalue("pin")) if not (0 <= pin <=15): pin = DEFAULT_PIN except: pin = DEFAULT_PIN try: value = int(form.getvalue("pulse")) if not (0 <= value <= 4095): value = DEFAULT_PULSE except: value = DEFAULT_PULSE pwm = Adafruit_PCA9685.PCA9685() pwm.set_pwm_freq(50) pwm.set_pwm(pin, 0, value) print('Content-Type: application/json') print() print(json.dumps({'pin':pin, 'pulse':value}))