为什么我的 CGI 脚本无法访问 ttyUSB0?
Why my CGI Script can't access to ttyUSB0?
我有一个 C 语言的 CGI 脚本,它在我的 Raspberry pi 中打开串行端口 ttyUSB0,向我的设备发送数据并得到响应。
当我在终端中手动启动此脚本时,它可以正确执行,但我的网页无法访问此端口以打开它。
我的代码:
int main (void) {
printf("Content-type: text/html\n\n");
const int fd = open ("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_SYNC);
if (fd == -1)
{
printf ("error %d opening %s: %s", errno, "ttyUSB0", strerror (errno));
return 0;
}
网页中的响应:“error 13 opening ttyUSB0: Permission denied”
下面是命令“id -Gn pi”的输出:
pi adm tty uucp dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio lpadmin
谢谢。
下面的命令解决了我的问题:
sudo adduser www-data dialout
我有一个 C 语言的 CGI 脚本,它在我的 Raspberry pi 中打开串行端口 ttyUSB0,向我的设备发送数据并得到响应。
当我在终端中手动启动此脚本时,它可以正确执行,但我的网页无法访问此端口以打开它。
我的代码:
int main (void) {
printf("Content-type: text/html\n\n");
const int fd = open ("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_SYNC);
if (fd == -1)
{
printf ("error %d opening %s: %s", errno, "ttyUSB0", strerror (errno));
return 0;
}
网页中的响应:“error 13 opening ttyUSB0: Permission denied”
下面是命令“id -Gn pi”的输出: pi adm tty uucp dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio lpadmin
谢谢。
下面的命令解决了我的问题:
sudo adduser www-data dialout