Я делаю что-то подобное с датчиком температуры с малиновым PI. Я получаю температурный уровень комнаты с любопытством, вызывая REST API, который я создал с помощью флешки python.
Вот что я делаю (вам просто нужно заменить код датчика температуры с кодом датчика)
МОЕЙ питон колбы код:
@app.route('/room-temp') //This is my get rest endpoint, i call from php
@requires_auth //You dont need authentication, so you should remove this
def room_temp():
pi = pigpio.pi()
pigpio.exceptions = False
c, files = pi.file_list("/sys/bus/w1/devices/28-00*/w1_slave")
pigpio.exceptions = True
if c >= 0:
for sensor in files[:-1].split("\n"):
devid = sensor.split("/")[5] # Fifth field is the device Id.
h = pi.file_open(sensor, pigpio.FILE_READ)
c, data = pi.file_read(h, 1000) # 1000 is plenty to read full file.
pi.file_close(h)
if "YES" in data:
#gc.collect()
(discard, sep, reading) = data.partition(' t=')
t = float(reading)/1000.0
#print("{} {:.1f}".format(devid, t))
data5 = {'temp':"{} {:.1f}".format(devid, t)}
pi.stop()
return jsonify(data5)
else:
#print("999.9")
#gc.collect()
data6 = {'temp':"999.9"}
return jsonify(data6)
Я бег этой фляги АФИ в моей малине и Я делаю вызов ajax из своего PHP-приложения. Я звоню AJAX в http://raspberryip:port/room-temp с моего PHP.
Примечание: Просто вы должны увидеть REST, REST с флагом Python (Link) и AJAX от PHP.
Это очень простой способ получить результат от датчиков, но проблема в том, что для подачи запроса AJAX на конечную точку REST, написанной в колбе питона, потребуется несколько миллисекунд. Таким образом, вам нужно хранить каждую активность каждого сенсора в локальной базе данных, постоянно запуская скрипт python, и вы можете получать значения из этого легко взвешенного DB. После извлечения из малины вы можете удалить записи из малины, чтобы игнорировать накладные расходы.
Для всех видов деятельности на датчике.
Моя Рекомендация: Пожалуйста, сохраните результат датчика в локальной базе данных и затем напишите конечную точку REST, чтобы получить данные из БД. Поместите ваш вызов AJAX из вашего приложения PHP в эту конечную точку REST, чтобы получить данные из локальной базы данных этой малины.
Возможный дубликат [Выполнение процесса с выходом в реальном времени в PHP] (http://stackoverflow.com/questions/1281140/run-process-with-realtime-output-in-php) – insertusernamehere
Эй вы можете сохранить свои и каждый журнал активности сенсора на локальный SQL-сервер или любую другую БД и запускать скрипт для обновления в вашем центральном БД, в котором связано ваше приложение PHP. – webDev
Другим возможным способом является создание конечной точки REST API с использованием колбы python и поместить этот код в код конечной точки отдыха в колбе. колба имеет небольшой вес и просто для записи небольшого файла, включая этот код датчика.Вызовите эту конечную точку отдыха из своего php легко, используя метод GET или POST. – webDev