问题标签 [orange-pi]

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.

0 投票
0 回答
32 浏览

.net - 为什么 .NET 代码表单应用程序(VS2019)不能在 PI 板上运行?

我在 Orangepi 板上安装了 SDK(基于 ARM)

在我使用 vs2019 开发应用程序之后

Windows 窗体应用程序 (.NET Core)

我添加了表格和 bttuon 来打个招呼。

我用“dotnet test1.dll”在电脑上测试了它的工作正常

但它不适用于 orangepiboard(ARM ubuntu 16.4)

错误:

我该如何解决。基本上,我想在 vs2019 上编写一个表单应用程序,并在 orangepi 板上运行。

0 投票
1 回答
1260 浏览

.net-core - .Net Core 3.1 是否在 Orange Pi Zero 上运行?

我试图弄清楚 .Net Core 3.1 是否会在 Orange Pi Zero 上运行。

我需要为其创建一个可以读取/写入串行端口和 GPIO 端口的应用程序,并且由于我知道的唯一编程语言是 C#,我的两个选项是 Mono 或 .Net Core。如果可能的话,我更喜欢 .Net Core ......

根据我的阅读,要在 ARM CPU 上运行 .Net Core,CPU 必须至少为 ARMv7。我看到 Orange Pi Zero 使用 AllWinner H2 SOC,它有一个 ARM Cortex-A7 CPU,它实现了 ARMv7-A 架构。所以我认为它应该工作......有人可以确认一下吗?谢谢

0 投票
1 回答
371 浏览

linux - .Net Core 3.1 是否具有检测 GPIO 引脚更改的事件驱动方法?

我正在创建一个 .Net Core 3.1 控制台应用程序来读取和写入 Orange Pi Zero(类似于 Raspberry Pi Zero)上的 GPIO 引脚。它正在运行 Armbian Focal (Ubuntu)。我正在使用 .Net Core 的 System.Device.Gpio 库。

我已经设法使 GPIO 引脚的读取和写入工作正常 - 没问题。但是我读取引脚的方式是在循环中执行 gpioController.Read() 。我想知道 System.Device.Gpio 是否具有读取 GPIO 引脚的事件驱动方法?换句话说,如果一个引脚从高电平变为低电平,或从低电平变为高电平,则触发了一个事件——我们称之为“gpioPinStateChanged”。有这样的事吗?

我知道我可以创建自己的偶数通知系统,但我想知道 .Net Core 是否内置了一些东西?我查看了十几个代码示例,但没有一个有类似的东西,所以我猜没有......

谢谢

0 投票
1 回答
360 浏览

python - .Net Core 似乎以大约 1000 / 秒的速度读取 GPIO 引脚。如何走得更快?

我编写了一个 C# .Net Core 3.1 应用程序来读取 Orange Pi Zero 的 GPIO 上的引脚状态变化。我正在使用 System.Devices.Gpio IoT 库。我正在运行 Armbian Focal(基于 Ubuntu 20.04)。

我正在尝试读取方波信号的频率,这会使 GPIO 上的引脚上升和下降。所以我试图读取 1 秒内出现了多少个上升(或下降)边沿。

我已经尝试在循环中轮询引脚,并注册到事件/回调以进行引脚更改,但我似乎无法以每秒大约 1000 次(1 Khz)的速度读取

不幸的是,我需要每秒至少阅读 5000 次(最好是更多)。

我认为限制不在硬件方面。我认为这是事实,即 .Net Core 运行在 CLR 之上,这是一个额外的层,会减慢速度。

我正在考虑用 Python 编写应用程序的这一部分(我将把应用程序的其余部分留在 C#/.Net Core 中),但我不知道它是否会加快速度?我知道 Python 是当今 SBC 的一种事实上的编程语言,这就是我考虑它的原因(大量的社区支持和示例)。但它是一种解释性语言。它不会比编译的C#慢吗?但是话又说回来,也许 Python 直接与 Linux 对话,这与通过 CLR 的 C# .Net Core 不同。Python 也融入了 Ubuntu,所以这种紧密集成可能有一些好处。

我知道 C 语言是最快的,但也是最难编写的语言(除了汇编语言)。我对 C 和 Python 都不太熟悉,但我认为 Python 的学习曲线不会那么陡峭。

总而言之,我的问题是:我可以在 .Net Core 中做些什么来加快读取 GPIO 的速度吗?也许使用第三方库而不是 System.Devices.Gpio 有帮助(我对此表示怀疑)?限制可能是在硬件上还是在 Amrbian(Ubuntu)中(我怀疑)?我是否应该费心在 Python 中尝试它,还是会浪费时间而我应该直接使用 C 语言?

抱歉,我知道我的问题可能不符合 StackOverflow 政策。我只是想知道是否有人在读取 GPIO 引脚状态变化非常快(如测量 KHz 范围内的频率)方面有任何经验 - 在橙色或树莓派或类似的东西上......

我会很感激任何指示。

谢谢你。

0 投票
1 回答
499 浏览

linux - 如何在不增加 RAM 的情况下防止 oom-kill

我有 256MB Orange Pi Zero,我想在上面运行 OctoPrint。它启动并运行了一段时间,然后由于内存不足而被杀死。我无法添加更多 RAM,因此我尝试增加交换大小。我添加了 1GB,但它没有帮助。另外我不明白为什么,但我同时运行了“htop”,并且从它显示的交换(“Swp”)未使用,并且仍然有 1/3 的空闲物理内存(“Mem “) 每时每刻。到底是怎么回事。我不在乎此时的表现。有什么办法可以强制它在交换上运行?

0 投票
1 回答
291 浏览

arm - Valgrind 交叉编译 arm 32 位板 - 橙色 pi

问:如何在 x86 ubuntu 机器上为 ARM 交叉编译 valgrind?

0 投票
1 回答
1548 浏览

linux - 在 Armbian 上安装 .Net 5 Runtime 时出现错误(在 Orange Pi Zero 上)

我正在尝试在 Armbian Focal (Ubuntu 20.04) 或 Buster (Debian 10) 上安装 .Net 5 运行时,在 Orange Pi Zero 上运行。

所以我在这里按照微软的指示:

https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

但在最后一步:

我收到此错误:

然后我按照微软的建议从这里手动安装它:

https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#apt-troubleshooting

但在最后一步,我又得到了同样的错误。有任何想法吗?

总之,这些是我首先尝试的步骤:

这些是我在上述失败时尝试的步骤:

编辑:

我之前在完全相同的设置上安装了 .Net Core 3.1 运行时,没有任何问题。我不确定 .Net 5 中是否有一些不同的东西不允许我安装它

0 投票
0 回答
513 浏览

.net-core - 尝试在 Orange Pi Zero 上使用 .Net Core 5 检测 GPIO 引脚的上升和下降。引脚上升有时仅与引脚下降一起检测

我正在尝试检测 Orange Pi Zero 的 GPIO 引脚的变化(基本上与 Raspberry Pi 相同)。它正在运行 Armbian Buster(即 Debian 10)

我创建了一个简单的 .Net Core 5 控制台应用程序,使用 .Net 的内置System.Device.Gpio库来检测这一点:

然后我将一个按钮连接到 GPIO 引脚 10(Orange Pi Zero 上的物理引脚 26)并运行程序。当我按下按钮时,大约有一半的时间它会立即检测到这一点。当我松开按钮时,它总是会立即检测到这一点。但大约有一半的时间,它没有检测到按钮的按下,只有当我释放按钮时,onSignalPinRiseEvent 才会触发(连同 onSignalPinFallEvent 事件)

换句话说,大约有一半的时间,按钮的按下(即 GPIO 引脚的上升)仅与按钮的释放(即 GPIO 引脚的下降)一起被检测到,而不是在按下按钮时立即被检测到。按钮被按下。

奇怪的是我包含了一个时间戳,而且大多数时候,即使我在松开按钮之前按住按钮 3 秒,上升和下降的时间戳是相同的(但并非总是 - 有一些极少数情况下,即使上升和下降事件仅在我释放按钮时触发,显示的时间戳也相隔 3 秒)。

然后我尝试只为上升和下降检测注册一个事件处理程序,而不是两个单独的处理程序:

但这并没有什么不同。

这是一个示例输出 - 我按下按钮大约 3 秒钟,然后释放大约 3 秒钟:

在上面,具有相同时间戳的对是有问题的对。那些是当我按下按钮时没有写入控制台的那些,然后,三秒钟后,当我释放按钮时,它同时写了两行(上升和下降)具有相同的时间戳。

有任何想法吗?

0 投票
1 回答
404 浏览

yocto - U-Boot saveenv 到 mmc 失败 - 将环境保存到 FAT... 无法使用 mmc 1:1... 失败 (1)

因此,我正在运行 OrangePi Plus 2E 并尝试将 u-boot 环境保存到 mmc。以下是版本信息:

由于某种原因,它似乎无法使用 mmc 1:1(见下文)。我正在寻找原因。每当我运行ls mmc 1:1时,它都会返回东西。所以,我知道分区存在。我应该追查硬件故障吗?还是我的 u-boot 版本有问题?我不确定从哪里开始调查这个问题。

在此先感谢您的帮助!

0 投票
0 回答
158 浏览

python - subprocess.checkoutput() 给出错误 No such file or directory: 'netsh' in Orange PI

我正在尝试在橙色 pi 上获取可用的 wifi 设备,并尝试使用我在 jsn 文件中的用户名和密码一一连接

python脚本它这个

我收到以下错误

我试着用shell = True

但我得到了错误

有什么问题。