问题标签 [raspberry-pi-zero]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
timing - 使用 C# 在树莓派上的波形
我即将开始一个树莓派项目,我计划使用 Mono 和 C# 构建我的应用程序。
我看到了一个名为“RaspberryIO”的库,可以在这里找到。这似乎具有基本的 GPIO 功能,并具有(选项)pigpio 作为控制库。
我的项目需要对步进驱动器上的控制线进行快速脉冲处理,但我已经知道使用底层操作系统获得良好的亚毫秒级计时是很困难的。
这个问题的解决方案当然是波链,它使用板上的硬件来实现产生准确时序的技巧。不幸的是,我在 RaspberryIO 中没有看到任何扩展。
我想知道是否有一个库完全支持波链,或者是否有办法通过调用命令行实用程序或其他解决方案来解决这个问题(我不确定在这种情况下 DMA 真正需要什么。我是完全不熟悉。)可以从 Mono 或 .NET 应用程序中使用,以获得像这样的短脉冲输出。
python - 如何使用 python 套接字防止通过 wifi 丢失数据?
我正在尝试将数据从一个树莓派(4)发送到另一个树莓派(0 w)(我包括设备,因为 w 0 不是功率最高的设备,运行桌面时有点慢,但是我不确定这是否是问题)。转移通常有效,但每隔一段时间,我就会丢失一条消息。我想我可以添加一个额外的步骤来确保消息通过并在没有通过时再次请求它(例如,将每条消息粘贴在 while 循环中以比较计数器编号),但我不确定是否有更好的方法。下面出现了一些虚拟代码来说明问题。
客户端(树莓派 4)
服务器(树莓派 0 w)
所以在客户端代码中,我正在运行一个计数器并将其包含在消息的一部分中,并在另一个程序中运行一个重复的计数器,以便我们进行比较。我正在打印输出以进行验证。
计数器,然后message
应该匹配的第三个元素,它们匹配了一段时间,但随后消息开始被丢弃。
注意:当我编写这个时,我意识到我没有在客户端代码中设置套接字选项。我在那里使用该选项再次运行它,并得到相同的结果(丢失消息)。不确定这是否相关,或者我是否需要那里的代码,但我想我应该提到它。
解决方案正如评论中所指出的,这是由于我误解了流的工作原理(我当时认为这是一个消息流,而实际上它是一个字节流)。就我而言,由于我确切知道要发送的对象有多大,我可以设置参数 forrecv
以准确查找发送的字节数(有更优雅的解决方案,但这一个适用于我的情况)。
javascript - 在 Raspberry Pi Zero 上,puppeteer 在超时后挂起
我在让我的 Raspberry Pi Zero 运行时遇到了一些问题,puppeteer
就像我在本教程中看到的那样。
到目前为止,我已经做了类似的事情:
此外,尝试不将核心版本锁定到 1.11.0 - 结果相同。
这是我的index.js
:
而且,当我像这样运行它时,我得到超时错误:
但是,它只是挂起。没有出口!
任何帮助将不胜感激,谢谢。
java - 如何让 tomcat 从目录中自动部署 WAR 文件,但仍使用原始 appBase 目录
我需要在嵌入式解决方案中部署我的应用程序(在树莓派零上运行)。因此,我只能在 localhost 上部署东西。我对虚拟主机不太熟悉,所以我可能错了。
我的问题是我希望 tomcat 自动部署包含在我克隆到树莓派上的 git 存储库中的 war 文件。这样就可以轻松地通过 git 存储库进行更新,而不必与管理器打交道。话虽如此,我也喜欢让管理器和其他管理工具保持活跃和工作,它们包含在默认的 webapps 目录中。将这些复制到 git 存储库不是我想做的事情,因为它们会被放错位置并保存在存储库中,这是不必要的。此外,我希望 tomcat “爆炸”或提取原始 webapps 目录中的 WAR 文件,以免将这些文件添加到 git 存储库。
基本上,我希望能够在某个目录中自动部署所有war文件,而无需实际写入该目录,同时还能在“标准”webapps目录中自动部署war文件。
这可能吗?
我使用tomcat9
python-2.7 - 我的 python 2 代码有什么问题,它包含一个 wii 遥控器,通过树莓派零 w 上的 GPIO 激活蜂鸣器?
这是我正在使用的python代码。我正在尝试使用wii遥控器来触发蜂鸣器。我认为这对我的旧 wii 遥控器来说会是一个有趣的用途。与蜂鸣器交互的代码运行良好,因为我使用了一个示例脚本对其进行了测试。但是,当我尝试运行它时,我不断收到这个错误(见底部)。我是 python 新手,不胜感激。
但我不断收到错误
任何人都可以帮忙吗?提前致谢
raspberry-pi - 将 Retroflag GPi(Raspberry Pi 零 W)连接到 WPA2 Enterprise
我刚刚让我的retroflag gpi 案例工作并设置好了。不过我有一个小问题。我无法将我的 Pi 连接到我的 WPA2-Enterprise 网络。我在 wpa_supplicant.conf 中尝试了一系列设置,但无法使其正常工作。
Pi 型号或其他硬件: Raspberry Pi Zero W & Retroflag GPi Case
使用的电源: Retroflag GPi 的内置电源。
使用的 RetroPie 版本: 4.6.1
连接的USB 设备: Retroflag GPi
使用的控制器: Retroflag GPi
收到错误消息: 看不到任何错误消息。不知道他们出现在哪里。它只是在 show ip 中显示 IP-address Unkown。
使用的指南: Google 上的几个。这其中之一:https ://gist.github.com/elec3647/1e223c02ef2a9a3f836db7984011b53b 。这个文档:https ://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf
文件: /etc/wpa_supplicant/wpa_supplicant.conf
配置文件附件:(wpa_supplicant.conf)
python - 使用 gpio 后树莓派零 w 程序崩溃
已解决:问题不在于软件,而在于硬件。似乎 pi zero w 没有足够的功率用于微型伺服电机。当我将伺服器连接到外部电源时,问题就消失了。
在以下脚本中调用 time.sleep 后,我的树莓派零 w 挂断了。我必须停止程序并重新连接到 ssh。
这停止工作后print("changed duty cycle to 7.5")
我试图用
有时会起作用,但并不一致。当我用一些需要一些时间的计算替换 time.sleep 时,我的程序在执行时停止工作p.stop()
。如果我将最后两行注释掉,我的程序将“成功”执行,但之后我无法从命令行执行任何操作而不会导致 pi 崩溃。
我在同一个 pi 上的另一个脚本中测试了 time.sleep,一切正常。因此,我认为问题与对 GPIO 引脚的访问有关。
我将 Raspbian 与 python 3.7.3 一起使用。我的伺服电机 (DS-140BBMG) 连接到 GPIO-18 引脚、+5V 和 GND。
编辑:
我找到了另一种方法来冻结我的 py 而不使用 time 模块。当我第一次执行以下代码时,他成功执行(180度转弯和返回)。但是,当第二次执行它时,代码在大约 90 度处挂起。
谢谢你的帮助
bash - HDMI 断开时如何关闭树莓派?
我想运行一项服务,一旦 HDMI 电缆断开,它就会自动关闭我的 RPi Zero(这通常是通过从显示器上拔下电缆来实现的)。
到目前为止,我将其作为 system.d 服务运行:
但它感觉很hacky,我认为tvservice -M
应该使用它。不幸的是,我没有弄清楚如何通过调用关闭 RPi 的脚本来利用 tvservice 事件。
您有什么想法或可以确认此代码是资源高效的吗?我需要尽可能多地压缩播放服务的性能,并且不想在这些后台服务上浪费太多。
python - 树莓派零python版本3.7.3中没有模块名称键盘
无法使用模块键盘,我检查了使用python3 -m pip list
来检查我已经安装的 pip 包,我看到我已经安装了keyboard 0.13.5
,但是在我执行这段代码之后
我仍然收到此错误ModuleNotFoundError: No module named 'keyboard'
即使我已经使用此代码python3 -m pip install keyboard
和此代码安装了模块pip3 install keyboard
。请帮助我,我在 python 版本 3.7.3 中使用树莓派零
顺便说一句,这适用于窗口 10,但它不适用于树莓派零。
我已经检查了其他问题并按照他们的指示使用 python3 -m pip install 进行安装,但没有任何改变。
这是我安装后说的
python - crontab root 命令与普通 root 命令的区别
我为 root 用户 ( )进行了以下crontab
设置sudo crontab -e
在myscript.py
给定时间执行以下命令:
问题是当此命令在重新启动时作为 crontab 运行时出现以下错误:
而当我以 root 用户身份登录后运行以下行时:
一切正常,系统在没有该错误的情况下关闭。
即使我没想到,这两个命令的执行方式似乎也有所不同。可能是 crontab @reboot 以某种方式具有不同的上下文,因此与root 用户执行该命令时的行为不完全相同?