Pro pravidelné opakované spouštění úloh lze v prostředí Flask využít např. APScheduler.
pip install Flask-APScheduler
Příklady: https://viniciuschiele.github.io/flask-apscheduler/rst/examples.html
Pro běh na pozadí lze dále využít třídu BackgroundScheduler()
import time import atexit from flask import Flask, request, render_template app = Flask(__name__) from apscheduler.schedulers.background import BackgroundScheduler def print_date_time(): print(time.strftime("%A, %d. %B %Y %I:%M:%S %p")) scheduler = BackgroundScheduler() scheduler.add_job(func=print_date_time, trigger="interval", seconds=60) scheduler.start() # Shut down the scheduler when exiting the app atexit.register(lambda: scheduler.shutdown()) if __name__ == '__main__': app.run(debug=True, use_reloader=False)
Na straně příjemce (PC) bude pravděpodobně třeba instalovat modul ujson
pip install ujson
Na straně RPi Pico není třeba instalovat nic, modul ujson
je součástí jádra MicroPythonu.
help('modules')
Na straně RPi Pico se pak může kód rozšířit např. takhle:
data = {'led': led.value()} print(ujson.dumps(data), end='\n')
Na kód dekodéru na straně serveru může vypadat následově:
ret = ser.readline().decode() led = ujson.loads(ret)['led']