标签: raspberry-pi

在没有startx的情况下在Raspberry Pi上显示GUI

我正在玩我的全新覆盆子与adafruit touch-tft和覆盆子Cam.

我注意到,如果我跑raspivid -p,它会在bash顶部的框架中显示预览.

如何创建一个应用程序(java,python,c ++(首选))来显示GUI而不必startx

我喜欢将adafruit touch-tft用于项目,但startx需要大量资源.当然,拥有触控功能也会很酷.

编辑:

也许我表达自己有点困惑:我想创建一个不需要startx但有某种GUI的应用程序.

以下答案并非100%准备好,但他们指出了正确的方向.由于我看到了许多类似的问题,我将尝试逐步解决问题:

  1. 使用adafruit的TFT设置您的覆盆子:https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview (您不必将HDMI替换为HDMI作为标准显示)

  2. 确保FRAMEBUFFER=/dev/fb1 startx在TFT屏幕上正确运行,我将电视插入HDMI端口,这样我就可以在电视屏幕上使用bash并在TFT上运行x

  3. 按照本教程创建你的第一个pygame:http://www.pygame-doku.laymaxx.de/tut/intro/intro.html (你可以只复制和粘贴wget ball.gif)

  4. 在beggining处插入这2行:(github.com/notro/fbtft/wiki/Pygame)

    import os
    os.environ["SDL_FBDEV"] = "/dev/fb1"
    
    Run Code Online (Sandbox Code Playgroud)
  5. 如果要测试触摸屏,可以更改第15行:从:

    if event.type == pygame.QUIT: sys.exit()
    
    Run Code Online (Sandbox Code Playgroud)

    至:

    if event.type == pygame.MOUSEBUTTONDOWN: sys.exit()
    
    Run Code Online (Sandbox Code Playgroud)

    如果您触摸屏幕,这将退出应用程序

  6. 保存文件,例如pygame1.py并执行 $python pygame1.py

您现在应该在TFT上看到一个弹跳球,而HDMI输出仍然在电视上显示BASH(但当然没有激活)如果您完成了第6步,触摸屏将退出游戏

为什么我这样做?通过这种方式,您可以显示一个简单的GUI,例如按钮来执行某些操作,例如,如果您使用RPI进行家庭控制,请打开/关闭灯.

raspberry-pi

16
推荐指数
2
解决办法
3万
查看次数

在Raspberry Pi上的armv6中使用log10数学函数导致错误的结果

我有这个非常简单的代码:

#include <stdio.h>
#include <math.h>
int main()
{
    long v = 35;
    double app = (double)v;
    app /= 100;
    app = log10(app);
    printf("Calculated log10 %lf\n", app);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

此代码在x86上完美运行,但在arm上不起作用,结果为0.00000.一些想法?

其他信息:

操作系统:linux 3.2.27

我使用ct-ng构建arm工具链:arm-unknown-linux-gnueabi-

libc版本2.13

产量gcc -v:

使用内置规格.COLLECT_GCC = arm-unknown-linux-gnueabi-gcc COLLECT_LTO_WRAPPER =/opt/x-tools/arm-unknown-linux-gnueabi/libexec/gcc/arm-unknown-linux-gnueabi/4.5.1/lto-wrapper目标:手臂-unknown-linux-gnueabi配置:/home/mirko/misc/rasppi-ct-ng-files/.build/src/gcc-4.5.1/configure --build = x86_64-build_unknown-linux-gnu --host = x86_64-build_unknown-linux-gnu --target = arm-unknown-linux-gnueabi --prefix =/opt/x-tools/arm-unknown-linux-gnueabi --with-sysroot =/opt/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi // sys-root --enable-languages = c --disable-multilib --with-pkgversion = crosstool-NG-1.9.3 --enable -__ cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-host-libstdcxx =' - static-libgcc -Wl,-Bstatic,-lstdc ++, …

c arm raspberry-pi

15
推荐指数
1
解决办法
1379
查看次数

在交叉编译haskell代码时如何安装依赖项?

我已经成功创建了一个ghc交叉编译器,它允许我从我的x64 linux机器编译armv6h的haskell代码(在我的例子中是raspberry pi).我已成功在树莓上运行了一个hello world程序.

不,我想构建我真正的应用程序,它对其他haskell模块有很多依赖.当我为x64编译时,我就是这么做的

cabal install dependenciy1 depenency2 ...
Run Code Online (Sandbox Code Playgroud)

我知道我可以让我自己的程序成为一个cabal项目,自动完成这一步.但这不是重点.

当我尝试使用交叉编译器时

arm-unknown-linux-gnueabi-ghc --make myapp.hs
Run Code Online (Sandbox Code Playgroud)

它告诉我它找不到的模块.当然,他们没有安装!

我阅读https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling 并根据我尝试过

cabal --with-ghc=arm-unknown-linux-gnueabi-ghc --with-ghc-pkg=arm-unknown-linux-gnueabi-ghc-pkg --with-ld=arm-unknown-linux-gnueabi-ld install random
Run Code Online (Sandbox Code Playgroud)

随机是我正在尝试安装的依赖性.我收到以下错误:

Resolving dependencies...
Configuring random-1.0.1.3...
Failed to install random-1.0.1.3
Last 10 lines of the build log ( /home/daniel/.cabal/logs/random-1.0.1.3.log ):
/home/daniel/.cabal/setup-exe-cache/setup-Cabal-1.18.1.3-arm-linux-ghc-7.8.3.20140804: /home/daniel/.cabal/setup-exe-cache/setup-Cabal-1.18.1.3-arm-linux-ghc-7.8.3.20140804:      cannot execute binary file
cabal: Error: some packages failed to install:
random-1.0.1.3 failed during the configure step. The exception was:
ExitFailure 126
Run Code Online (Sandbox Code Playgroud)

当我做

file /home/daniel/.cabal/setup-exe-cache/setup-Cabal-1.18.1.3-arm-linux-ghc-7.8.3.20140804
Run Code Online (Sandbox Code Playgroud)

我明白了

/home/daniel/.cabal/setup-exe-cache/setup-Cabal-1.18.1.3-arm-linux-ghc-7.8.3.20140804: ELF 32-bit LSB executable, ARM, EABI5 version …
Run Code Online (Sandbox Code Playgroud)

haskell cross-compiling ghc cabal-install raspberry-pi

15
推荐指数
1
解决办法
1170
查看次数

为什么Open和Oracle JDK之间的Raspberry pi有这么大的性能差异?

在我的Raspberry上,我使用两个JVM进行了一些性能测试,如CaffeineMark和SciMark.尽管我听说差异非常小,但它们之间存在巨大的性能差异.我也尝试使用浮点数进行计算,并且Oracle JDK获得了更好的分数,即使两者都应该支持硬浮点数abi.

Linux raspberrypi 3.18.11-v7+用作OS.

OpenJDK:    
java version "1.7.0_79"  
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-1~deb7u1+rpi1)  
OpenJDK Zero VM (build 24.79-b02, mixed mode)  

OracleJDK:  
java version "1.7.0_40"  
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)  
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)  

SciMark results:

                 OpenJDK            OracleJDK
Composite Score 14.280735577363213  || 32.24948180361924   
FFT (1024)      9.482866845055302   || 26.447121360843663  
SOR (100x100)   27.14938943220646   || 59.68022533004399  
Monte Carlo     3.6298604956147384  || 10.561671865446971  
Sparse matmult  15.603809523809524  || 26.64931580928407  
LU (100x100)    15.53775159013005   || 37.90907465247749 
Run Code Online (Sandbox Code Playgroud)

我使用了一个程序,计算浮点数为0.1步到600000.我试图测试JVM处理浮点数的性能.

OpenJDK:257ms
OracleJDK:151ms

0.1步到1200000: …

java oracle performance raspberry-pi raspbian

15
推荐指数
2
解决办法
6828
查看次数

可以在Raspberry Pi上使用JavaFX

我想使用JavaFX为Raspberry Pi编写程序,但我的Raspberry Pi上的Java SDK 8似乎没有JavaFX支持.

所以我的问题是JavaFX是否受支持Raspberry Pi 2/3?如果是,为什么JDK在平台上没有JavaFX库?有没有办法支持它或者值得在Raspberry PI上编写JavaFX应用程序?

正在使用的Java版本是1.8.0_65.

java javafx raspberry-pi

15
推荐指数
2
解决办法
2万
查看次数

Raspberry Pi集群,神经元网络和大脑模拟

由于RBPI(Raspberry Pi)具有非常低的功耗和非常低的生产价格,这意味着可以构建一个非常大的集群.我不确定,但是一个100000 RBPI的集群会占用很少的电力和很少的空间.

现在我认为它在FLOPS或其他类型的计算测量方面可能没有现有的超级计算机那么强大,但它能否允许更好的神经网络模拟?

我不确定是否说"1 CPU = 1神经元"是一个合理的陈述,但似乎足够有效.

那么它是否意味着这样的聚类对神经网络模拟更有效,因为它比其他经典聚类更加平行?

arm cluster-computing supercomputers raspberry-pi

14
推荐指数
1
解决办法
1万
查看次数

使用Raspberry Pi学习汇编语言?

我做了一些搜索,但没有找到一个明确的答案,所以我希望我能得到你的意见.

我想学习汇编语言(ARM) - Raspberry Pi是不是一个很好的选择呢?

从我可以看到,似乎有一些温和的教程,如制作LED闪光灯等,所以从新手的角度来看,它不是太可怕,它实际上似乎很有趣.

如果我从Raspberry Pi开始,然后继续使用反汇编程序来建立我的知识,我是在一条好路上还是我开始走错了路?

谢谢您的意见.

assembly arm raspberry-pi

14
推荐指数
1
解决办法
8150
查看次数

传输远程命令错误,意外响应:<h1> 401:未经授权</ h1>未经授权的用户:deflate,gzip

我正在运行最新的Raspbian发行版,只是安装了这些transmission软件包.

但是,每当我运行一个transmission-remote命令 - 比如说,改变一些基本配置 - 我都会遇到同样的错误:

$ transmission-remote -DU -c required -p 9091 -w ~/torrents
Unexpected response: <h1>401: Unauthorized</h1>Unauthorized User: deflate, gzip
Run Code Online (Sandbox Code Playgroud)

我找不到任何好的文档或教程来解决问题,我怀疑我错过了初始设置过程中导致此错误的步骤.我已经尝试过设置用户名/密码,即

$ transmission-remote --auth myusername:mypassword
Run Code Online (Sandbox Code Playgroud)

哪个成功了,但它仍然为所有其他命令抛出相同的"意外响应"错误.

开始transmission-daemon也不起作用:

$ service transmission-daemon start
[....] Starting bittorrent daemon: transmission-daemonstart-stop-daemon: unable to set gid to 110 (Operation not permitted)
 failed!
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么会这样?

transmission raspberry-pi raspbian

14
推荐指数
5
解决办法
2万
查看次数

得到播放wav音频级别作为输出

当播放的wav文件发出声音时,我想制作一个可以移动或发光的说话口.因此,我需要检测wav文件何时发言或何时在单词之间保持沉默.目前我正在使用我找到的pygame脚本

import pygame
pygame.mixer.init()
pygame.mixer.music.load("my_sentence.wav")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
    continue
Run Code Online (Sandbox Code Playgroud)

我想我可以在while循环中进行一些检查以查看声音输出级别或类似的东西,然后将其发送到其中一个gpio输出.但我不知道如何实现这一目标.

任何帮助将非常感激

python audio raspberry-pi

14
推荐指数
1
解决办法
987
查看次数

如何在Windows 10 IoT中设置系统时间?

有没有办法在我的应用程序中运行Windows 10 IoT核心内幕预览中的Raspberry Pi 2上的系统时间?

这不适用于缺少kernel32.dll

    [DllImport("kernel32.dll", EntryPoint = "SetSystemTime", SetLastError = true)]
    extern static bool Win32SetSystemTime(ref SystemTime sysTime);
Run Code Online (Sandbox Code Playgroud)

c# raspberry-pi windows-10-iot-core

14
推荐指数
3
解决办法
2万
查看次数