вы можете настроить задание cron в вашей точке доступа RPI, которая периодически выполняет команду curl с содержимым списков python в виде JSON. Вы упоминаете «списки Python» в своем вопросе, если вы просто храните данные в файле .py, я бы предложил вместо этого записать их в другой формат, например, json.
Отправка данных с устройства RPI каждую минуту
# 1 0 0 0 0 curl -vX POST http://example.com/api/v1/devices -d @devices.json --header "Content-Type: application/json"
Тогда в вашем бутылочном файле есть метод, который получает данные POST, и другой, который может отображать данные GET. Пример просто записывает полученные данные в файл json на сервере
from bottle import route, run
import json
@route('/api/v1/devices', method='GET')
def index(name):
with open('data.json') as f:
return json.load(f)
@route('/api/v1/devices', method='POST')
def index(name):
req_data = request.json
with open('data.json', 'r+') as f:
data = json.load(f.read())
# output = {**data, **req_data} # merge dicts
output = data + req_data # merge lists
f.seek(0)
f.write(output)
f.truncate()
return {success: True}
run(host='localhost', port=8080)
Примечание. Я не проверял этот код, чтобы дать вам представление о том, как вы можете выполнить свой запрос.