Advertisement
SonnyL

Untitled

Feb 9th, 2024
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.43 KB | None | 0 0
  1. import network
  2. import socket
  3. import time
  4. from machine import Pin
  5. from servo import Servo
  6.  
  7. try:
  8.     from website_code import html, cssString
  9. except ImportError:
  10.     print('import Failed')
  11.     raise
  12.  
  13. my_servo_0 = Servo(pin_id=2,min_us=500.0,max_us=2500.0,min_deg=0.0,max_deg=180.0)
  14. my_servo_1 = Servo(pin_id=4,min_us=500.0,max_us=2500.0,min_deg=0.0,max_deg=180.0)
  15. my_servo_2 = Servo(pin_id=0,min_us=500.0,max_us=2500.0,min_deg=0.0,max_deg=180.0)
  16. my_servo_3 = Servo(pin_id=5,min_us=500.0,max_us=2500.0,min_deg=0.0,max_deg=180.0)
  17. my_servo_4 = Servo(pin_id=3,min_us=500.0,max_us=2500.0,min_deg=0.0,max_deg=180.0)
  18.  
  19. led = machine.Pin("LED", machine.Pin.OUT)
  20.  
  21. def succesful_led():
  22.     led.on()
  23.     time.sleep(0.5)
  24.     led.off()
  25.     time.sleep(0.5)
  26.     led.on()
  27.     time.sleep(0.5)
  28.     led.off()
  29.     time.sleep(0.5)
  30.     led.on()
  31.     time.sleep(0.5)
  32.     led.off()
  33.     time.sleep(0.5)
  34.     led.on()
  35.     time.sleep(0.5)
  36.     led.off()
  37.  
  38.  
  39. def failed_led():
  40.     led.on()
  41.     time.sleep(0.5)
  42.     led.off()
  43.     time.sleep(0.5)
  44.     led.on()
  45.     time.sleep(0.5)
  46.     led.off()
  47.  
  48. ssid = '' #ive taken out the ssid and password
  49. password = ''
  50.  
  51. wlan = network.WLAN(network.STA_IF)
  52. wlan.active(True)
  53. wlan.connect(ssid, password)
  54. max_wait = 10
  55.  
  56. debug = wlan.status()
  57. print(debug)
  58. i = 0
  59. while i < debug:
  60.     led.on()
  61.     time.sleep(0.5)
  62.     led.off()
  63.     time.sleep(0.5)
  64.     i += 1
  65.     print(i)
  66.  
  67. if wlan.status() != 3:
  68.     time.sleep(0.5)
  69.     #failed_led()
  70.     raise RuntimeError('network connection failed')
  71.    
  72. else:
  73.     print('connected')
  74.     status = wlan.ifconfig()
  75.     print( 'ip = ' + status[0] )
  76.     time.sleep(0.5)
  77.     #succesful_led()
  78.    
  79.  
  80.  
  81. addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
  82.  
  83. s = socket.socket()
  84. s.bind(addr)
  85. s.listen(1)
  86.  
  87. print('listening on', addr)
  88. smooth_ang = 0
  89. # Listen for connections
  90. def sliderControl(x, y, offset):
  91.     if request.find(f'slider{x}') > -1:
  92.         slider_val = request.split('?')[1]
  93.         correction = 180 - offset
  94.         new_slider_val = int(slider_val)
  95.         if new_slider_val < 0:
  96.             new_slider_val = 0
  97.         print(new_slider_val)
  98.         y.write(new_slider_val)
  99.         time.sleep(0.05)
  100.  
  101. def programControl():
  102.     if request.find(f'slider6') == 1:
  103.         my_servo_0.write(90)
  104.         my_servo_1.write(30)
  105.         my_servo_2.write(53)
  106.         my_servo_4.write(0)
  107.         time.sleep(0.05)
  108.         my_servo_1.write(110)
  109.         my_servo_4.write(40)
  110.  
  111. while True:
  112.     try:
  113.         cl, addr = s.accept()
  114.         print('client connected from', addr)
  115.         request = cl.recv(1024)
  116.         request = str(request)
  117.         css = request.find('/style.css')
  118.  
  119.         try:
  120.             request = request.split()[1]
  121.         except IndexError:
  122.             pass
  123.         sliderControl(0, my_servo_0, 1)
  124.         sliderControl(1, my_servo_1, 1)
  125.         sliderControl(2, my_servo_2, 1)
  126.         sliderControl(3, my_servo_3, 1)
  127.         sliderControl(4, my_servo_4, 1)
  128.         programControl()
  129.        
  130.         if css == 6:
  131.             print('El Css')
  132.             response = cssString
  133.             cl.send('HTTP/1.0 200 OK\r\nContent-type: text/css\r\n\r\n')
  134.             cl.send(response)
  135.         else:
  136.             response = html
  137.             cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
  138.             cl.send(response)
  139.        
  140.         cl.close()
  141.        
  142.     except OSError as e:
  143.         cl.close()
  144.         print('connection closed')
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement