我有一个Raspberry PI收集来自断裂光束传感器的数据,我希望将其用作已开发的Laravel应用程序的一部分。我只是想知道传输数据的最佳方式是什么。
我正在考虑创建一个JSON文件,将其上传到一个目录,然后每小时运行一次cron作业以获取新文件,然后再通过Laravel控制器运行它们来更新数据库并发送电子邮件。
我想通过Laravel应用程序传递数据,而不是从Python发送用于管理目的。任何人都可以看到我的方式有任何问题/知道更好的方法吗?
答案 0 :(得分:2)
你的方法听起来不错 - 唯一需要注意的是你不会有#34;实时"数据。您依靠cron作业的时间表来同步数据 - 当然,如果您愿意,您可以每分钟执行此操作,这样可以最大限度地减少延迟的大部分影响。
另一个选项是在Laravel应用程序中公开一个API,它可以接受python脚本中的JSON有效负载并立即处理它。这种方法提供了实时处理和整体处理的优势,因为它是按需,但也需要您正确保护您不需要做的API端点以cron为基础的方法。
为了记录,我强烈建议使用JSON作为数据传输格式。除非您需要实现模式验证(在这种情况下可能看起来像XML),否则在PHP和python方面都很容易使用JSON。
答案 1 :(得分:1)
使用python从rasberry pi的串行端口提取数据,json对其进行编码并将其存储在laravel项目文件的web目录中。后来json通过laravel php解码并在网络端显示数据。这一切都很好。 Beind说另一种方法是从python中获取数据,然后对你的php项目进行curl Post请求并收集数据