我正在玩我的全新覆盆子与adafruit touch-tft和覆盆子Cam.
我注意到,如果我跑raspivid -p,它会在bash顶部的框架中显示预览.
如何创建一个应用程序(java,python,c ++(首选))来显示GUI而不必startx?
我喜欢将adafruit touch-tft用于项目,但startx需要大量资源.当然,拥有触控功能也会很酷.
编辑:
也许我表达自己有点困惑:我想创建一个不需要startx但有某种GUI的应用程序.
以下答案并非100%准备好,但他们指出了正确的方向.由于我看到了许多类似的问题,我将尝试逐步解决问题:
使用adafruit的TFT设置您的覆盆子:https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview (您不必将HDMI替换为HDMI作为标准显示)
确保FRAMEBUFFER=/dev/fb1 startx在TFT屏幕上正确运行,我将电视插入HDMI端口,这样我就可以在电视屏幕上使用bash并在TFT上运行x
按照本教程创建你的第一个pygame:http://www.pygame-doku.laymaxx.de/tut/intro/intro.html
(你可以只复制和粘贴wget ball.gif)
在beggining处插入这2行:(github.com/notro/fbtft/wiki/Pygame)
import os
os.environ["SDL_FBDEV"] = "/dev/fb1"
Run Code Online (Sandbox Code Playgroud)如果要测试触摸屏,可以更改第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)
如果您触摸屏幕,这将退出应用程序
保存文件,例如pygame1.py并执行 $python pygame1.py
您现在应该在TFT上看到一个弹跳球,而HDMI输出仍然在电视上显示BASH(但当然没有激活)如果您完成了第6步,触摸屏将退出游戏
为什么我这样做?通过这种方式,您可以显示一个简单的GUI,例如按钮来执行某些操作,例如,如果您使用RPI进行家庭控制,请打开/关闭灯.
我有这个非常简单的代码:
#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 ++, …
我已经成功创建了一个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) 在我的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: …
我想使用JavaFX为Raspberry Pi编写程序,但我的Raspberry Pi上的Java SDK 8似乎没有JavaFX支持.
所以我的问题是JavaFX是否受支持Raspberry Pi 2/3?如果是,为什么JDK在平台上没有JavaFX库?有没有办法支持它或者值得在Raspberry PI上编写JavaFX应用程序?
正在使用的Java版本是1.8.0_65.
由于RBPI(Raspberry Pi)具有非常低的功耗和非常低的生产价格,这意味着可以构建一个非常大的集群.我不确定,但是一个100000 RBPI的集群会占用很少的电力和很少的空间.
现在我认为它在FLOPS或其他类型的计算测量方面可能没有现有的超级计算机那么强大,但它能否允许更好的神经网络模拟?
我不确定是否说"1 CPU = 1神经元"是一个合理的陈述,但似乎足够有效.
那么它是否意味着这样的聚类对神经网络模拟更有效,因为它比其他经典聚类更加平行?
我做了一些搜索,但没有找到一个明确的答案,所以我希望我能得到你的意见.
我想学习汇编语言(ARM) - Raspberry Pi是不是一个很好的选择呢?
从我可以看到,似乎有一些温和的教程,如制作LED闪光灯等,所以从新手的角度来看,它不是太可怕,它实际上似乎很有趣.
如果我从Raspberry Pi开始,然后继续使用反汇编程序来建立我的知识,我是在一条好路上还是我开始走错了路?
谢谢您的意见.
我正在运行最新的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)
有没有人知道为什么会这样?
当播放的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输出.但我不知道如何实现这一目标.
任何帮助将非常感激
有没有办法在我的应用程序中运行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) raspberry-pi ×10
arm ×3
java ×2
raspbian ×2
assembly ×1
audio ×1
c ×1
c# ×1
ghc ×1
haskell ×1
javafx ×1
oracle ×1
performance ×1
python ×1
transmission ×1