PhpSerial:没有可用的 stty——似乎无法让它工作

2024-04-01

我正在开发一个项目,涉及使用 Raspberry Pi 上的 UART 引脚读取和写入串行板。然而,我已经碰壁了。任何时候我尝试使用PhpSerial我总是收到错误:

致命错误:没有可用的 stty,无法运行。在 /var/www/PHP-Serial/examples/PhpSerial.php 第 56 行

我已经尝试了多种输入配置:

// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("/dev/ttyAMA0");

// We can change the baud rate, parity, length, stop bits, flow control
$serial->confBaudRate(38400);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");

php/lighthttpd正在作为 www-data 运行,我尝试过 chowning/dev/ttyAMA0到该用户,并且我已将拨出组添加到该用户。我在 php.ini 中看不到任何禁用功能或任何内容。我也没有按照 wiki 在 pi 上使用串行设备的标准设置,并且我能够使用以下命令在电路中读取/写入数据

sudo minicom -b 38400 -o -D /dev/ttyAMA0

以下是错误所指的行:

    if (substr($sysName, 0, 5) === "Linux") {
        $this->_os = "linux";

        if ($this->_exec("stty") === 0) {
            register_shutdown_function(array($this, "deviceClose"));
        } else {
            trigger_error(
                "No stty available, unable to run.",
                E_USER_ERROR
            );
        }

我无法理解它,但其他人可能会。提前致谢。


您的问题的解决方案如下:

您必须更改 PhpSerial.php 类中的以下代码行

FROM:

if ($this->_exec("stty") === 0) {

TO:

if ($this->_exec("stty --version") === 0) {

=> 这因此解决了“没有可用的 stty,无法运行...”错误。请参阅此线程:

我还应该补充一点,在写串行数据之前,我必须延迟一段时间。

<?php

错误报告(E_ALL); ini_set('display_errors', '1');

include "PhpSerial.php";//serial class: https://github.com/Xowap/PHP-Serial/blob/develop/examples/VS421CPNTA.php

$serial = new phpSerial;
//$serial->deviceSet("/dev/ttyAMA0");
$serial->deviceSet("/dev/ttyACM0");

$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->deviceOpen();

sleep(3);//delay
$serial->sendMessage("1");

$serial->deviceClose();
echo "Serial message sent! \n";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PhpSerial:没有可用的 stty——似乎无法让它工作 的相关文章

  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • 用户可以更改 PHP 中 $_SESSION 的值吗?

    这是我的想法 我想知道是否可能 将信息存储在 PHP 的 SESSION 变量中有多安全 在 SESSION 变量中存储变量有两个潜在的 不安全 风险 另一个答案所描述的第一个称为 会话固定 这里的想法是 由于会话 ID 存储在 cooki
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • PHP - 如何获取主要 HTML 内容,例如 Firefox 中的阅读器模式

    在 android Firefox 应用程序和 safari iPad 中 我们只能通过 阅读器模式 阅读主要内容 阅读更多 http support mozilla org en US kb how enable reader mode
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • Xdebug V3 不会停止 VSCode 中的断点

    我正在尝试使用 VSCode 在 XAMPP 上进行调试 但没有成功 我知道有很多关于这个的问题 我已经尽了一切努力 但仍然行不通 我的 xdebug 扩展确实有一件奇怪的事情 我目前使用 PHP v7 4 12 和 Xdebug 版本 3
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC

随机推荐

  • 保持复选框处于选中状态

    使用 Angular 9 和一些自定义输入 我做了以下 gt https stackblitz com edit angular ivy rgsatp https stackblitz com edit angular ivy rgsatp
  • apache POI 中的自动换行(Excel)

    我有一个java程序 它将标头和数据作为输入并生成一个excel文件 然而 有时当标题值很长且列数较多时 我的 Excel 工作表往往会变得不必要的宽 由于标题的原因 我必须向右向下滚动才能看到尾部列的内容 有没有一种方法可以解决这个问题
  • 将 div 链接到 HTML 中不同页面上的特定部分

    嘿 我有一个新的困境 我有 3 个 div 就像 3 个盒子一样 每个 div 中都有一个图像和一些写入的文本 我希望当我单击任何框中的任意位置时 它会转到另一页 例如如果我在主页上 然后单击框 它将转到网站中的 service html
  • 使用带有秘密的 github 操作来构建/部署 React 应用程序

    我正在尝试使用带有秘密的 github 操作来完成构建 部署我的使用 Firebase 目前仅身份验证模块 的 React 应用程序 对于本地开发 我将 env 文件与 webpack 和 dotenv webpack 库一起使用 在本地机
  • 如何使用 python 将 .mp3 文件转换为频率和振幅数组?

    我想设计一个神经网络 训练后将 mp3 文件作为输入 然后根据训练 以 1 10 的等级来决定音乐的好坏 但为此 我需要将音频文件转换为波长 频率 振幅和定义音乐所需的所有其他参数的数组 然后使用这些数组作为神经网络的输入 我应该如何解决这
  • 基于多列删除数据框之间的交集

    我有这两个数据框 df test dimension1 id dimension2 id dimension3 id dimension4 id dimension5 id 0 1 1 1 1 1 1 1177314888 23819878
  • 如何提供一种易于使用的高对比度替代柔和的配色方案?

    如何确保网站的颜色主题提供符合以下要求的高对比度替代方案WCAG 2 最低对比度要求 https webaim org articles contrast sc143除非用户想要或需要更高的对比度 否则更喜欢柔和的低对比度主题 我尝试定义一
  • 如何从 Flask 应用程序中的 MySQL 查询返回数据?

    我有以下代码 import flask as fk import MySQLdb import JSONEncoder class SpecializedJSONEncoder JSONEncoder def default o if is
  • Docker 与 Symfony 4 - 无法看到文件更改

    我正在为 Symfony 4 应用程序的开发环境开发 docker 映像 我正在构建它alpine php fpm and nginx 我已经配置了一个应用程序 但即使对于简单的 hello world 应用程序 性能也不是很好 700ms
  • Indy TCP - 循环读取数据

    TCP 服务器每 8 毫秒连续发送一次数据帧 我想编写一个能够接收这些数据帧的客户端 Indy 9 中是否有任何程序可以知道缓冲区中是否有可用数据 我当前的程序如下 我正在使用线程 procedure TThreadRead Execute
  • Numpy 用全零填充 4D 单位

    我有一个 4D numpy 数组 但每个元素都是可变大小的 3D 体积 本质上它是一个 3D 体积的 numpy 列表 所以 numpy 数组的形状是 Pdb batch x shape 3 并取元素i在那个列表中 它看起来像这样 Pdb
  • 错误 main.lua:23:尝试索引 upvalue 'Menu' (布尔值)

    我正在尝试用 lua 和 love2d 制作一个主菜单 这是我第一次这样做 遗憾的是没有关于此事的教程 所以我自己尝试了一下 我一直遇到这个错误 我不知道如何解决它 请帮助 完整错误消息 错误main lua 23 尝试索引upvalue
  • 如何使用递归查询向后遍历分层树结构

    我使用 PostgreSQL 9 1 来查询分层树结构数据 其中包含与节点连接的边 或元素 这些数据实际上是针对流网络的 但我已将问题抽象为简单的数据类型 考虑这个例子tree桌子 每条边都有长度和面积属性 用于确定网络中的一些有用的度量
  • 哪个 Java 库可用于通过 WebDAV 访问数据?

    这就是问题 哪个库可以帮助我在 Java 程序中访问通过 WebDAV 提供的数据 首选开源 我创建了一个非常易于使用的 java webdav 客户端 http sardine googlecode com http sardine go
  • “将脚本放在底部”正确吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 提高网站性能的最佳实践http developer yahoo com performance rules html http developer y
  • 如何在创建后更改 InsetDrawable 插入值

    我有一个InsetDrawable已定义 我只是希望能够在运行时调整插图的值 而无需重新分配另一个可绘制对象 这可能吗 或者唯一的方法是重新创建 InsetDrawable 这是不可能的 因为其 API 不是公开的 我遇到了和你一样的问题
  • JS Fetch API 不适用于具有授权属性的 ASP.NET Core 2 控制器

    我在客户端有以下代码 fetch music index headers Content Type application json then response gt if response ok throw response return
  • HTMLPurifier 破坏图像

    我试图根据 WYSIWYG CK 编辑器 的用户输入运行 HTMLPurifier 但图像损坏 未过滤的输入 img alt laugh src lib ckeditor plugins smiley images teeth smile
  • Sqlalchemy:当字符串位于左侧且列位于右侧时,使用 PSQL 的“~”运算符

    我知道 WHERE column regexp 这是 sqlalchemy 吗 where column op regexp 但我怎样才能创造这个呢 WHERE string column 正则表达式存储在数据库中 您需要创建一个liter
  • PhpSerial:没有可用的 stty——似乎无法让它工作

    我正在开发一个项目 涉及使用 Raspberry Pi 上的 UART 引脚读取和写入串行板 然而 我已经碰壁了 任何时候我尝试使用PhpSerial我总是收到错误 致命错误 没有可用的 stty 无法运行 在 var www PHP Se