Files
grow-python/examples/web_serve.py
jorjun 7ed9f7fca1 tidy up PR
Thanks for feedback and for publishing this.

Co-authored-by: Phil Howard <phil@gadgetoid.com>
2023-01-19 16:26:17 +00:00

37 lines
907 B
Python

"""
@jorjun Anno Vvii ☉ in ♓ ☽ in ♋
License: MIT
Description: Web API for moisture readings: http://<your-pi-host>:8080/
"""
from functools import partial
import json
import logging
from aiohttp import web
from grow.moisture import Moisture
json_response = partial(web.json_response, dumps=partial(json.dumps, default=str))
routes = web.RouteTableDef()
@routes.get("/") # Or whatever URL path you want
async def reading(request):
data = {
"m1": meter[0].moisture,
"m2": meter[1].moisture,
"m3": meter[2].moisture,
}
return json_response(data)
if __name__ == "__main__":
app = web.Application()
logging.basicConfig(level=logging.INFO)
app.add_routes(routes)
meter = [Moisture(_+1) for _ in range(3)]
web.run_app(
app,
host="0.0.0.0",
port=8080,
access_log_format='%s %r [%b / %Tf] "%{User-Agent}i"',
)