我正在尝试将运行 Raspberry Pi OS Lite 的 Raspberry Pi Zero W 连接到 Raspberry Pi NoIR 相机模块 V2。运行这些命令后:
sudo apt update
sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)
并在菜单中启用相机raspi-config并根据 Raspberry Pi 文档重新启动,当我raspistill -v -o test.jpg根据 Raspbery {Pi 文档运行命令时,出现以下错误。
-bash: raspistill: command not found
Run Code Online (Sandbox Code Playgroud)
文档说:
这可能意味着您的更新/升级在某种程度上失败了。
我又试了一次。我多次运行更新、升级命令、重新启动并在 raspi-config 中启用相机,结果没有任何变化。
camera video-streaming raspberry-pi raspberry-pi-zero raspberry-pi-os
我编写了一个在Raspberry Pi Zero W上运行的 Python3 脚本,该脚本从 IMU 传感器 (MPU9250) 收集数据并创建 3 个不同的角度值;滚动、俯仰、偏航。看起来像这样:
def main():
while True:
dataAcc = mpu.readAccelerometerMaster()
dataGyro = mpu.readGyroscopeMaster()
dataMag = mpu.readMagnetometerMaster()
[ax, ay, az] = [round(dataAcc[0], 5), round(dataAcc[1], 5), round(dataAcc[2], 5)]
[gx, gy, gz] = [round(dataGyro[0], 5), round(dataGyro[1], 5), round(dataGyro[2], 5)]
[mx, my, mz] = [round(dataMag[0], 5), round(dataMag[1], 5), round(dataMag[2], 5)]
update(gx, gy, gz, ax, ay, az, mx, my, mz)
roll = getRoll()
pitch = getPitch()
yaw = getYaw()
print(f"Roll: {round(roll, 2)}\tPitch: {round(pitch, 2)}\tYaw: …Run Code Online (Sandbox Code Playgroud) 我需要在嵌入式解决方案中部署我的应用程序(在树莓派零上运行)。因此,我只能在本地主机上部署东西。我对虚拟主机不太熟悉,所以我对此可能是错误的。
我的问题是我希望 tomcat 自动部署包含在我克隆到树莓派上的 git 存储库中的 war 文件。这样就可以轻松地通过 git 存储库进行更新,而不必与经理打交道。话虽这么说,我也希望保持默认 webapps 目录中包含的管理器和其他管理工具处于活动状态并正常工作。我不想将它们复制到 git 存储库中,因为它们会被放错位置并保留在存储库中,这是不必要的。此外,我希望tomcat“分解”或提取原始webapps目录中的WAR文件,以免将这些文件添加到git存储库中。
基本上,我希望能够自动部署某个目录中的所有 war 文件,而无需实际写入该目录,同时还可以自动部署“标准”webapps 目录中的 war 文件。
这可能吗?
我使用的是tomcat9
我正在检查Pion Mediadevices并尝试从我的 Windows 计算机交叉编译 webrtc 示例以获得 rasperry pi 零。但是,当我尝试构建示例时,我从 Windows 命令提示符处收到这些错误:
# github.com/pion/mediadevices/pkg/codec/mmal
..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder
# github.com/pion/mediadevices/pkg/driver/microphone
..\..\pkg\driver\microphone\microphone.go:27:10: undefined: malgo.AllocatedContext
..\..\pkg\driver\microphone\microphone.go:34:2: undefined: malgo.DeviceInfo
..\..\pkg\driver\microphone\microphone.go:40:13: undefined: malgo.InitContext
..\..\pkg\driver\microphone\microphone.go:40:36: undefined: malgo.ContextConfig
..\..\pkg\driver\microphone\microphone.go:78:25: undefined: malgo.DeviceInfo
Run Code Online (Sandbox Code Playgroud)
也因为该程序是针对 pi 零的,我将导入部分编辑为具有“github.com/pion/mediadevices/pkg/codec/mmal”并注释掉了 x264 导入。构建此示例的正确方法是什么?
编辑:经过进一步调查,我发现上面的错误消息:
..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder
Run Code Online (Sandbox Code Playgroud)
与对函数 newEncoder 的调用相关,该函数在单独的 go 文件 mmal.go 中声明,与 params.go 位于同一文件夹中。这两个文件package mmal在导入之前都位于顶部,它们所在的文件夹也称为 mmal。是否有任何问题导致 params.go 无法查看该函数?
所以我正在尝试编写一个程序来提供树莓派和加速计/陀螺仪之间的接口。我需要这个函数尽可能频繁地更新,并且我想设置一个计时器来确定它何时运行。
\n这是我的代码:
\nvoid updateGyro(Gyro gyro) {\n gyro.update();\n}\n\nint main() {\n if (gpioInitialise() < 0)\n return -1;\n\n // Creates new gyro object\n Gyro gyro;\n // Sets a timer to update every 10 milliseconds\n gpioSetTimerFuncEx(0, 10, updateGyro, &gyro);\n\n \n\n time_sleep(10);\n gpioTerminate();\n}\nRun Code Online (Sandbox Code Playgroud)\n但这似乎不起作用,我收到错误:
\ngyro.cpp: In function \xe2\x80\x98int main()\xe2\x80\x99:\ngyro.cpp:113:31: error: invalid conversion from \xe2\x80\x98void (*)(Gyro)\xe2\x80\x99 to \xe2\x80\x98gpioTimerFuncEx_t\xe2\x80\x99 {aka \xe2\x80\x98void (*)(void*)\xe2\x80\x99} [-fpermissive]\n 113 | gpioSetTimerFuncEx(0, 10, updateGyro, &gyro);\n | ^~~~~~~~~~\n | |\n | void (*)(Gyro)\nIn file included from gyro.cpp:2:\n/usr/include/pigpio.h:3751:55: note: initializing argument …Run Code Online (Sandbox Code Playgroud)