Advertisement
Guest User

Untitled

a guest
Jul 13th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.52 KB | None | 0 0
  1.  
  2.  
  3. ####
  4. relay1 = machine.Pin(13,machine.Pin.OUT) ## D6 / 26
  5. relay1.value(0)
  6.  
  7. #adc = ads1x15.ADS1115(i2c,0x48,0)
  8.  
  9. inbuiltled = machine.Pin(2,machine.Pin.OUT) ## inbuiltled
  10. inbuiltled.value(0)
  11.  
  12. ###
  13.  
  14. wskaznik= LED(25,14,12)
  15.  
  16.  
  17. try:
  18.     app = picoweb.WebApp(__name__)
  19. except:
  20.     print("nie udalo sie zinicjalizowac picoweb app")
  21.  
  22.  
  23. try :
  24.     adc = ads1x15.ADS1115(i2c,0x48,0)
  25.  
  26. except :
  27.     print("coś sie zesralo z czujnikiem")
  28.  
  29.  
  30.  
  31.  
  32.  
  33. async def blink(led,period) :
  34.     while True:
  35.         led.value(1)
  36.         print("a")
  37.         await uasyncio.sleep_ms(period)
  38.         led.value(0)
  39.         print("b")
  40.         await uasyncio.sleep_ms(period)
  41.  
  42.  
  43. async def main(led) :
  44.     uasyncio.create_task(blink(led, 500))
  45.     uasyncio.create_task(app.run(debug=True, host = wlan.ifconfig()[0]))
  46.     await uasyncio.sleep_ms(50_000)
  47.  
  48.  
  49. ########### web app
  50.  
  51. @app.route("/")
  52. def index(req, resp):
  53.     yield from picoweb.start_response(resp)
  54.     yield from resp.awrite(web_page())
  55.  
  56.  
  57.  
  58. @app.route("/help")
  59. def help(req, resp):
  60.     yield from picoweb.start_response(resp)
  61.     yield from resp.awrite("<meta http-equiv=\"refresh\" content=\"1\"> nie dzialaju, izwinicie")
  62.  
  63. @app.route("/settings")
  64. def index(req, resp):
  65.     yield from picoweb.start_response(resp)
  66.     yield from resp.awrite("not available yet because my boss is not paying me enough, sorry")
  67. ############ def web show
  68.  
  69. @app.route("/reference")
  70. def measure(req, resp):
  71.     yield from picoweb.start_response(resp)
  72.     try :
  73.         ReadReference()
  74.         relay1.value(0)
  75.     except :
  76.         relay1.value(0)
  77.         wskaznik.bred()
  78.         resetall()
  79.         time.sleep(1)
  80.         wskaznik.bblue()
  81.     yield from resp.awrite(web_page())
  82.  
  83. @app.route("/measure")
  84. def measure(req, resp):
  85.     yield from picoweb.start_response(resp)
  86.     try :
  87.         ReadSample()
  88.         relay1.value(0)
  89.     except :
  90.         relay1.value(0)
  91.         wskaznik.bred()
  92.         resetall()
  93.         time.sleep(1)
  94.         wskaznik.bblue()
  95.     yield from resp.awrite(web_page())
  96.  
  97. @app.route("/measurelog")
  98. def index(req, resp):
  99.     yield from picoweb.start_response(resp)
  100.     yield from resp.awrite("measuring w/ loggin' - available in premium ^^")
  101.  
  102.  
  103. @app.route("/clear")
  104. def index(req, resp):
  105.     resetall()
  106.     yield from picoweb.start_response(resp)
  107.     yield from resp.awrite(web_page())
  108.  
  109. def web_page():
  110.   #FindRequest()
  111.  
  112.   row_counter = 0
  113.   html = SetCSS()
  114.  
  115.   html += """ <title>KUNGSORN </title> <meta name="viewport" content="width=device-width, initial-scale=1">
  116.  <link rel="icon" href="data:,"></head><body>
  117.  <center>"""
  118.  
  119.   html += measurement_status(wskaznik)
  120.  
  121.   html +=  """
  122.  <h1>KUNGSORN - MENU</h1>
  123.  
  124.  """
  125.  
  126.  
  127.  
  128.   html+= """
  129.  
  130.  <p>RESET COUNTERS AND START NEW MEASUREMENT</p><p> <a href="/clear"><button class="button button">CLEAR</button></a></p>
  131.  
  132.  """
  133.  
  134.  
  135.  
  136.   html+= """
  137.  
  138.  <p>CALLIBRATE WITH THE REFERENCE SAMPLE</p><p> <a href="/reference"><button class="button button">CALLIBRATE REFERENCE</button></a></p>
  139.  
  140.  """
  141.  
  142.  
  143.   html+= """
  144.  
  145.  <p>START MEASUREMENT WITHOUT LOGGING ENABLED</p><p> <a href="/measure"><button class="button button">MEASURE</button></a></p>
  146.  
  147.  """
  148.  
  149.   html+= """
  150.  
  151.  <p>START MEASUREMENT WITH LOGGING ENABLED</p><p> <a href="/measurelog"><button class="button button">MEASURE (LOG)</button></a></p>
  152.  
  153.  """
  154.  
  155.   html+= """
  156.  
  157.  <p>DEVICE SETTINGS</p><p> <a href="/settings"><button class="button button2">SETTINGS</button></a></p>
  158.  
  159.  """
  160.  
  161.   html+= """
  162.  
  163.  <p>USER MANUAL</p><p> <a href="/help"><button class="button button2">HELP</button></a></p>
  164.  
  165.  """
  166.  
  167.  
  168.  
  169.   html +="""
  170.  </center>
  171.  """
  172.  
  173.   return html
  174.  
  175.  
  176.  
  177.  
  178. def measurement_status(wskaznik) :
  179.     global reference_value
  180.     global sample_value
  181.     deviation = int(abs(sample_value-reference_value))
  182.  
  183.     if reference_value == 0 or sample_value == 0 :
  184.         wskaznik.bblue()
  185.     elif deviation < 5 :
  186.         wskaznik.bgreen()
  187.     elif deviation < 7 :
  188.         wskaznik.byellow()
  189.     elif deviation < 9 :
  190.         wskaznik.bpurple()
  191.     else :
  192.         wskaznik.bred()
  193.  
  194.     h = """ <p> REFERENCE """
  195.  
  196.     h += str(reference_value)
  197.  
  198.     h += """
  199.   </p>
  200.    """
  201.  
  202.  
  203.     h += """ <p> SAMPLE """
  204.     h += str(sample_value)
  205.     h += """
  206.   </p>
  207.    """
  208.     if reference_value == 0 or sample_value == 0 :
  209.         return h
  210.  
  211.     else :
  212.  
  213.         h+=  """ <p> DEVIATION """
  214.  
  215.         h += str(deviation)
  216.  
  217.         h += """
  218.       </p>
  219.        """
  220.  
  221.         return h
  222.  
  223.  
  224.  
  225.  
  226. ###############################
  227.  
  228. uasyncio.run(main(inbuiltled))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement