2016-08-08 5 views
1

У меня есть данные о сборах малины PI от датчика брейк-лучей, которые я хочу использовать как часть уже разработанного приложения Laravel. Мне просто интересно, какой будет лучший способ передачи данных.Каков наилучший способ отправки данных на основе Python на PHP?

Я думал о создании файла JSON, загружающего его в каталог, а затем выполнял работу cron ежечасно, чтобы забрать новые файлы, прежде чем запускать их через контроллер Laravel, чтобы обновить базу данных и отправить электронные письма.

Я хотел бы передать данные через приложение Laravel, а не отправлять из Python для целей управления. Может ли кто-нибудь увидеть какие-либо проблемы с моим способом/узнать лучший способ?

ответ

2

Ваш подход звучит отлично - единственное предостережение в том, что у вас не будет данных «реального времени». Вы полагаетесь на расписание ваших заданий cron для синхронизации данных - конечно, вы можете делать это каждую минуту, если хотите, что минимизирует большую часть этой задержки.

Другой вариант - предоставить API в вашем приложении Laravel, который может принимать полезную нагрузку JSON из вашего сценария python и обрабатывать его немедленно. Этот подход предлагает преимущества обработки в режиме реального времени и меньше обработки в целом, потому что это по запросу, но также требует, чтобы вы правильно защищали конечную точку API, которую вам не нужно делать с помощью подхода на основе cron.

Для записи я настоятельно рекомендую использовать JSON в качестве формата передачи данных. Если вам не нужно выполнять проверку схемы (в каком случае, возможно, это выглядит как XML), использование JSON легко и на PHP, и на стороне python.

+0

Спасибо, что вы можете воспользоваться преимуществами API, к счастью, это просто автоматизация ежедневной задачи, поэтому работа cron выглядит наиболее эффективным вариантом в этих обстоятельствах. Спасибо за ваш отзыв! –

+0

@JamesParsons, когда вы задаете вопрос, вам нужно подождать ответов и найти лучший ответ, а затем дать им зеленый тик, вы не можете просто дать одному человеку кредит, а затем переключиться на других позже !. Это плохая практика. – StackB00m

+0

Настоящие извинения @ StackB00m. Я чувствовал, что другие в будущем, которые могут прийти, могут найти информацию об использовании API. Извинения и отметили. –

1

Использование python для извлечения данных из последовательных портов rasberry pi и json для его кодирования и сохранения в веб-каталоге ваших файлов проекта laravel. Позже json декодирует и представляет данные на веб-конце через laravel php. Это все хорошо. Beind сказал, что другой способ - получить данные с python, а затем сделать завиток. Запросить запрос на ваш php-проект и собрать данные.

Смежные вопросы