Raspberry Pi Blowjob Training Project

Leave a comment

I have created a very crual blowjob and deep throat training tools with punishment feature. 🤪

I can set the below settings in the software:

# *********************************************************************
# Settings
# *********************************************************************
practise_time=60 # seconds

deepthroat_practise=True
deep_time=10 # Have to achive in every X seconds

deepthroat_distance=6 # cm
sucking_distance=18 # cm


max_error=10 # How many sucking_distance outside error

photo=False # Take a photo
beep=True
relay=True # Enable/Disable relay

pun_small=5 # Small punishment relay time in seconds
pun_big=10 # Big punishment relay time in seconds

blowjob.py

#!/usr/bin/python3
import RPi.GPIO as GPIO
import time
import subprocess
import logging

logging.basicConfig(filename='blowjob.log', encoding='utf-8', level=logging.DEBUG, format='%(asctime)s %(message)s')


def log(msg):
  print(msg)
  logging.info(msg)

log("**************************************************************************************")

# *********************************************************************
# Settings
# *********************************************************************
practise_time=60 # seconds

deepthroat_practise=True
deep_time=10 # Have to achive in every X seconds

deepthroat_distance=6 # cm
sucking_distance=18 # cm


max_error=10 # How many sucking_distance outside error

photo=False # Take a photo
beep=True
relay=True # Enable/Disable relay

pun_small=5 # Small punishment relay time in seconds
pun_big=10 # Big punishment relay time in seconds


# *********************************************************************
# Raspberry Pi System Settings (GPIO.BOARD)
# *********************************************************************
TRIG = 16
ECHO = 18
RELAIS_1_GPIO = 33
BuzzerPin = 37
# *********************************************************************

GPIO.setmode(GPIO.BOARD)
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.setup(BuzzerPin, GPIO.OUT, initial=GPIO.LOW)

if relay:
  GPIO.setup(RELAIS_1_GPIO, GPIO.OUT, initial=GPIO.HIGH) # GPIO Assign mode

GPIO.output(TRIG, False)
log("Calibrating..... Are you ready Sissy?")
time.sleep(2)

if beep:
  GPIO.output(BuzzerPin,GPIO.HIGH)
  time.sleep(0.4)
  GPIO.output(BuzzerPin,GPIO.LOW)

error=0
deep_error=0
i=0
pun_time=0
pun_start=time.time()
deep_start = time.time()
progress_start = time.time()

start_time=time.time()

try:
    while True:
       GPIO.output(TRIG, True)
       time.sleep(0.00001)
       GPIO.output(TRIG, False)

       while GPIO.input(ECHO)==0:
          pulse_start = time.time()

       while GPIO.input(ECHO)==1:
          pulse_end = time.time()

       pulse_duration = pulse_end - pulse_start

       distance = pulse_duration * 17150

       distance = round(distance, 2)
       error=error+1
       if distance<=sucking_distance:
          error=0
          #print("Keep going slut... Distance:",distance,"cm"," Practise time:",round(time.time()-progress_start,2),"s")

       if deepthroat_practise and distance<=deepthroat_distance and i==0:
          if beep:
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.LOW)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.LOW)
          if photo:
            #subprocess.run(["./cannon.sh"])
            process = subprocess.Popen("./cannon.sh", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE);
          log("Well done! Distance: "+str(distance)+" cm. Practise time left: "+str(round(practise_time-(time.time()-progress_start),0))+"s")
          i=1
          deep_start = time.time()
       elif distance>(deepthroat_distance + 4):
          i=0

       if distance>sucking_distance:
          log("Suck the cock slut... Distance: "+str(distance)+"cm - Error: "+str(error))
       #   if beep:
       #     GPIO.output(BuzzerPin,GPIO.HIGH)
       #     time.sleep(0.5)
       #     GPIO.output(BuzzerPin,GPIO.LOW)

       if error>=max_error:
          if beep:
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(1)
            GPIO.output(BuzzerPin,GPIO.LOW)
          if relay:
            GPIO.output(RELAIS_1_GPIO, GPIO.LOW)
          error=0
          progress_start=time.time()
          if pun_time<=0:
            pun_start=time.time()
          pun_time=pun_time+pun_big
          log("Left the cock... Practise time reset to "+str(practise_time)+"s - Punishment time: "+str(round(pun_time-(time.time()-pun_start),2)))

       if deepthroat_practise and time.time()-deep_start>=deep_time:
          if beep:
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.5)
            GPIO.output(BuzzerPin,GPIO.LOW)
          if relay:
            GPIO.output(RELAIS_1_GPIO, GPIO.LOW)
          deep_start=time.time()
          progress_start=time.time()
          if pun_time<=0:
            pun_start=time.time()
          pun_time=pun_time+pun_small
          log("Not enough deepthroat... Practise time reset to "+str(practise_time)+"s - Punishment time: "+str(round(pun_time-(time.time()-pun_start),2)))

       if pun_time>0 and time.time()-pun_start>=pun_time:
          if relay:
            GPIO.output(RELAIS_1_GPIO, GPIO.HIGH)
          pun_time=0


       if time.time()-progress_start>=practise_time:
          log("Enough Sissy Slut! Clean the cock! You completed this task in "+str(round(time.time()-start_time,2))+" seconds")
          if beep:
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.LOW)
            time.sleep(0.4)
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.LOW)
            time.sleep(0.4)
            GPIO.output(BuzzerPin,GPIO.HIGH)
            time.sleep(0.1)
            GPIO.output(BuzzerPin,GPIO.LOW)
          GPIO.cleanup()
          exit()

       time.sleep(0.5)

except KeyboardInterrupt:
     log("Interrupted.")
     GPIO.cleanup()

exit()

cannon.sh

#!/bin/bash
gphoto2 --filename %Y%m%d_%H%M%S.jpg --capture-image-and-download 

Example software log

2022-09-07 11:18:58,105 **************************************************************************************
2022-09-07 11:18:58,105 Calibrating..... Are you ready Sissy?
2022-09-07 11:19:00,522 Suck the cock slut... Distance: 222.98cm - Error: 1
2022-09-07 11:19:06,045 Suck the cock slut... Distance: 29.42cm - Error: 1
2022-09-07 11:19:06,568 Suck the cock slut... Distance: 361.47cm - Error: 2
2022-09-07 11:19:08,081 Suck the cock slut... Distance: 138.95cm - Error: 1
2022-09-07 11:19:09,385 Well done! Distance: 5.72 cm. Practise time left: 51.0s
2022-09-07 11:19:09,894 Suck the cock slut... Distance: 125.54cm - Error: 1
2022-09-07 11:19:11,571 Suck the cock slut... Distance: 2926.97cm - Error: 1
2022-09-07 11:19:15,255 Suck the cock slut... Distance: 2950.2cm - Error: 1
2022-09-07 11:19:18,774 Suck the cock slut... Distance: 122.16cm - Error: 1
2022-09-07 11:19:20,279 Not enough deepthroat... Practise time reset to 60s - Punishment time: 5.0
2022-09-07 11:19:20,794 Suck the cock slut... Distance: 220.72cm - Error: 1
2022-09-07 11:19:23,102 Well done! Distance: 5.79 cm. Practise time left: 57.0s
2022-09-07 11:19:28,137 Suck the cock slut... Distance: 127.55cm - Error: 1
2022-09-07 11:19:33,656 Not enough deepthroat... Practise time reset to 60s - Punishment time: 5.0
2022-09-07 11:19:34,330 Suck the cock slut... Distance: 2948.02cm - Error: 1
2022-09-07 11:19:35,132 Well done! Distance: 3.75 cm. Practise time left: 59.0s
2022-09-07 11:19:41,956 Well done! Distance: 4.84 cm. Practise time left: 52.0s
2022-09-07 11:19:43,976 Suck the cock slut... Distance: 220.83cm - Error: 1
2022-09-07 11:19:47,790 Well done! Distance: 5.68 cm. Practise time left: 46.0s
2022-09-07 11:19:50,814 Suck the cock slut... Distance: 220.44cm - Error: 1
2022-09-07 11:19:51,328 Suck the cock slut... Distance: 219.58cm - Error: 2
2022-09-07 11:19:54,137 Well done! Distance: 5.33 cm. Practise time left: 40.0s
2022-09-07 11:19:55,154 Suck the cock slut... Distance: 220.4cm - Error: 1
2022-09-07 11:19:55,668 Suck the cock slut... Distance: 219.18cm - Error: 2
2022-09-07 11:19:57,690 Suck the cock slut... Distance: 222.44cm - Error: 1
2022-09-07 11:19:58,204 Suck the cock slut... Distance: 221.65cm - Error: 2
2022-09-07 11:19:58,726 Suck the cock slut... Distance: 219.92cm - Error: 3
2022-09-07 11:19:59,399 Suck the cock slut... Distance: 2942.59cm - Error: 4
2022-09-07 11:19:59,902 Suck the cock slut... Distance: 19.28cm - Error: 5
2022-09-07 11:20:00,575 Suck the cock slut... Distance: 2941.13cm - Error: 6
2022-09-07 11:20:01,078 Suck the cock slut... Distance: 20.48cm - Error: 7
2022-09-07 11:20:01,751 Suck the cock slut... Distance: 2933.49cm - Error: 8
2022-09-07 11:20:02,773 Suck the cock slut... Distance: 326.52cm - Error: 1
2022-09-07 11:20:03,276 Suck the cock slut... Distance: 22.02cm - Error: 2
2022-09-07 11:20:03,791 Suck the cock slut... Distance: 219.55cm - Error: 3
2022-09-07 11:20:04,794 Not enough deepthroat... Practise time reset to 60s - Punishment time: 5.0
2022-09-07 11:20:05,811 Suck the cock slut... Distance: 220.32cm - Error: 1
2022-09-07 11:20:06,987 Suck the cock slut... Distance: 2961.11cm - Error: 1
2022-09-07 11:20:08,291 Well done! Distance: 1.69 cm. Practise time left: 57.0s
2022-09-07 11:20:09,309 Suck the cock slut... Distance: 238.82cm - Error: 1
2022-09-07 11:20:10,986 Suck the cock slut... Distance: 2943.99cm - Error: 1
2022-09-07 11:20:14,528 Suck the cock slut... Distance: 510.46cm - Error: 1
2022-09-07 11:20:17,050 Suck the cock slut... Distance: 219.53cm - Error: 1
2022-09-07 11:20:18,067 Suck the cock slut... Distance: 219.12cm - Error: 1
2022-09-07 11:20:18,582 Suck the cock slut... Distance: 220.04cm - Error: 2
2022-09-07 11:20:19,083 Not enough deepthroat... Practise time reset to 60s - Punishment time: 5.0
2022-09-07 11:20:21,893 Well done! Distance: 5.62 cm. Practise time left: 57.0s
2022-09-07 11:20:24,572 Suck the cock slut... Distance: 2918.03cm - Error: 1
2022-09-07 11:20:26,092 Suck the cock slut... Distance: 243.4cm - Error: 1
2022-09-07 11:20:26,765 Suck the cock slut... Distance: 2940.08cm - Error: 2
2022-09-07 11:20:27,782 Suck the cock slut... Distance: 222.46cm - Error: 1
2022-09-07 11:20:28,297 Suck the cock slut... Distance: 219.57cm - Error: 2
2022-09-07 11:20:29,810 Suck the cock slut... Distance: 121.62cm - Error: 1
2022-09-07 11:20:31,114 Well done! Distance: 4.82 cm. Practise time left: 48.0s
2022-09-07 11:20:32,633 Suck the cock slut... Distance: 219.49cm - Error: 1
2022-09-07 11:20:35,443 Well done! Distance: 4.83 cm. Practise time left: 44.0s
2022-09-07 11:20:36,460 Suck the cock slut... Distance: 220.29cm - Error: 1
2022-09-07 11:20:36,976 Suck the cock slut... Distance: 220.77cm - Error: 2
2022-09-07 11:20:37,479 Suck the cock slut... Distance: 19.37cm - Error: 3
2022-09-07 11:20:37,994 Suck the cock slut... Distance: 220.35cm - Error: 4
2022-09-07 11:20:39,800 Well done! Distance: 5.99 cm. Practise time left: 39.0s
2022-09-07 11:20:40,474 Suck the cock slut... Distance: 2941.32cm - Error: 1
2022-09-07 11:20:40,977 Suck the cock slut... Distance: 19.04cm - Error: 2
2022-09-07 11:20:41,542 Suck the cock slut... Distance: 1094.66cm - Error: 3
2022-09-07 11:20:42,052 Suck the cock slut... Distance: 126.33cm - Error: 4
2022-09-07 11:20:42,567 Suck the cock slut... Distance: 220.3cm - Error: 5
2022-09-07 11:20:43,076 Suck the cock slut... Distance: 124.35cm - Error: 6
2022-09-07 11:20:43,591 Suck the cock slut... Distance: 219.15cm - Error: 7
2022-09-07 11:20:44,602 Suck the cock slut... Distance: 128.39cm - Error: 1
2022-09-07 11:20:45,111 Suck the cock slut... Distance: 125.51cm - Error: 2
2022-09-07 11:20:45,625 Suck the cock slut... Distance: 220.37cm - Error: 3
2022-09-07 11:20:46,930 Well done! Distance: 5.61 cm. Practise time left: 32.0s
2022-09-07 11:20:48,950 Suck the cock slut... Distance: 219.92cm - Error: 1
2022-09-07 11:20:49,967 Suck the cock slut... Distance: 221.13cm - Error: 1
2022-09-07 11:20:50,983 Suck the cock slut... Distance: 220.77cm - Error: 1
2022-09-07 11:20:51,785 Well done! Distance: 4.33 cm. Practise time left: 27.0s
2022-09-07 11:20:54,329 Suck the cock slut... Distance: 581.78cm - Error: 1
2022-09-07 11:20:54,844 Suck the cock slut... Distance: 222.86cm - Error: 2
2022-09-07 11:20:58,658 Well done! Distance: 4.72 cm. Practise time left: 20.0s
2022-09-07 11:20:59,161 Suck the cock slut... Distance: 18.05cm - Error: 1
2022-09-07 11:21:00,177 Suck the cock slut... Distance: 217.93cm - Error: 1
2022-09-07 11:21:00,776 Suck the cock slut... Distance: 1665.74cm - Error: 2
2022-09-07 11:21:01,279 Suck the cock slut... Distance: 19.41cm - Error: 3
2022-09-07 11:21:01,782 Suck the cock slut... Distance: 19.81cm - Error: 4
2022-09-07 11:21:05,093 Well done! Distance: 5.07 cm. Practise time left: 14.0s
2022-09-07 11:21:06,268 Suck the cock slut... Distance: 2936.78cm - Error: 1
2022-09-07 11:21:07,273 Suck the cock slut... Distance: 19.86cm - Error: 1
2022-09-07 11:21:07,945 Suck the cock slut... Distance: 2918.08cm - Error: 2
2022-09-07 11:21:08,447 Suck the cock slut... Distance: 21.79cm - Error: 3
2022-09-07 11:21:08,962 Suck the cock slut... Distance: 219.56cm - Error: 4
2022-09-07 11:21:09,477 Suck the cock slut... Distance: 222.86cm - Error: 5
2022-09-07 11:21:10,017 Suck the cock slut... Distance: 662.7cm - Error: 6
2022-09-07 11:21:10,526 Suck the cock slut... Distance: 128.67cm - Error: 7
2022-09-07 11:21:11,035 Suck the cock slut... Distance: 126.15cm - Error: 8
2022-09-07 11:21:13,343 Well done! Distance: 4.39 cm. Practise time left: 6.0s
2022-09-07 11:21:14,359 Suck the cock slut... Distance: 219.47cm - Error: 1
2022-09-07 11:21:14,874 Suck the cock slut... Distance: 220.34cm - Error: 2
2022-09-07 11:21:15,376 Suck the cock slut... Distance: 19.57cm - Error: 3
2022-09-07 11:21:15,879 Suck the cock slut... Distance: 19.23cm - Error: 4
2022-09-07 11:21:16,522 Suck the cock slut... Distance: 2427.96cm - Error: 5
2022-09-07 11:21:17,037 Suck the cock slut... Distance: 222.88cm - Error: 6
2022-09-07 11:21:19,547 Enough Sissy Slut! Clean the cock! You completed this task in 139.04 seconds