【发布时间】:2021-09-20 05:25:48
【问题描述】:
我正在与 Arduino UNO 合作开展一个项目。我的任务是从 Arduino 接收数据并使用 PHP 将其保存到数据库中(首先,我尝试在 php 代码中获取数据,保存到数据库非常容易)。
我使用的是 Windows 操作系统。使用 WAMP,php 版本:5.5.12
问题是:我不知道如何通过 COM 端口正确读取数据。
Arduino 示例代码:
float temp;
int tempPin = 0;
void setup()
{
Serial.begin(9600);
temp = analogRead(tempPin);
temp = temp * 0.48828125;
Serial.print(temp);
}
void loop()
{
}
后面的 PHP 代码(arduino 使用 COM3):
<?php
exec("MODE COM3: BAUD=9600 PARITY=N DATA=8 STOP=1");
$portAddress = 'COM3:';
// Open connection on port
$port = fopen($portAddress, 'rb+');
stream_set_timeout($port, 0, 100);
stream_set_blocking($port,0);
// Necessary when the Arduino reset after the connection
sleep(2);
$msg = fread($port, 1);
// Close connection
fclose($port);
echo $msg;
?>
问题是,当我第一次运行 php 代码时,它看起来像是在不停地循环并且没有打开连接。如果我尝试刷新页面,我会在此处输入图像描述
我尝试在论坛上查找其他问题,但找不到类似情况。有人可以指导我在 php 代码中取值的解决方案吗? 免责声明;这是 Deividas 重新发布的问题。请提供任何重要的答案
【问题讨论】:
-
您为什么要重新发布某人在5 years ago 发布的帖子?并使用显然不起作用的代码?
-
@hcheung。很明显是因为你没有回答deividas
标签: php arduino phpmyadmin xampp serial-port