标签: raspberry-pi

有关Raspberry PI的任何Java经验吗?

是否可以在Raspberry pi上的例如jboss或glassfish服务器上运行普通的Java应用服务器?任何限制?有没有人有覆盆子pi的Java开发经验?

至少任何适用于RPi的JVM都会很好.

java linux jboss jvm raspberry-pi

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

Docker访问Raspberry Pi GPIO引脚

在Raspberry Pi 2上运行Docker时,我们如何将GPIO引脚暴露给Docker容器?

gpio raspberry-pi docker raspberry-pi2

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

Theano与Keras在覆盆子Pi上

我试图让Theano在Raspberry Pi 3(B)上与Keras一起运行但没有成功.我尝试使用Ubuntu MATE和Raspbian作为操作系统,但没有成功.要安装Theano和Keras,我采取了以下步骤:

  1. 安装miniconda(armv7发行版)
  2. 安装所有Theano依赖关系(如图所示这里)通过康达(如果可能的话),pipapt-get
  3. 安装Theano
  4. 安装Keras

上述步骤没有任何问题.在下一步中,我构建了一个小测试脚本(test.py),它通过加载已经构建的模型

from keras.models import load_model
model = load_model('model.hdf5')
Run Code Online (Sandbox Code Playgroud)

加载模型时,我收到以下错误

Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

然后我尝试进一步研究这个问题,关于SO的回答(导致Python分段错误的原因是什么?):

gdb python
> run test.py
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到:

Program received SIGSEV, Segmentation fault.
0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
Run Code Online (Sandbox Code Playgroud)

在下一步中,我在gdb shell中运行:

> backtrace
Run Code Online (Sandbox Code Playgroud)

得到了

#0  0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
#1  0x76fd983a in ?? () from /lib/ld-linux-armhf.so.3
Run Code Online (Sandbox Code Playgroud)

这是我不知道的地方,我想问一下,如果有人能指出我如何解决这个问题并让keras + theano在Raspberry Pi上运行.

(我也尝试过TensorFlow作为替代方案,但是遇到同样的问题)

非常感谢.


编辑

我做了一些调查.如果我用TensorFlow运行Keras,问题似乎会有所改变.我再次运行gdb,但错误现在发生在numpy中,尤其是在libopenblas.so.0中

Program received signal SIGSEV, Segmentation …
Run Code Online (Sandbox Code Playgroud)

python raspberry-pi theano keras

27
推荐指数
1
解决办法
3532
查看次数

Flask - 在按钮OnClick事件上调用python函数

我是python和Flask的新手.我有一个带按钮的Flask Web App.当我点击按钮时,我想执行python方法而不是Javascript方法.我怎样才能做到这一点?

我见过python的例子,它使用像这样的表单标签将我重定向到一个新页面

<form action="/newPage" method="post">
Run Code Online (Sandbox Code Playgroud)

但我不希望它将我重定向到新页面.我只是想让它执行python方法. 我正在为Raspberry Pi机器人车做这个.当我按下前进按钮时,我希望它运行方法来向前转动车轮.

按钮HTML代码(index.html)

<button name="forwardBtn" onclick="move_forward()">Forward</button>
Run Code Online (Sandbox Code Playgroud)

简单的app.py代码 - move_forward()方法位于此处

#### App.py code

from flask import Flask, render_template, Response, request, redirect, url_for
app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html');

def move_forward():
    #Moving forward code
    print("Moving Forward...")
Run Code Online (Sandbox Code Playgroud)

我在Stackoverflow上看到了类似的问题,但它们似乎没有回答我的问题,或者我无法理解答案.如果有人可以请给我一个简单的方法来在按钮点击事件上调用Python方法,我们将不胜感激.

我看过的其他问题:

- Python Flask使用按钮调用函数

- 使用按钮调用python函数

- Flask Button运行Python而不刷新页面?

html javascript python flask raspberry-pi

27
推荐指数
4
解决办法
8万
查看次数

ARM6的交叉编译Node.js(Raspberry Pi)

我正在尝试将node.js v0.7.9编译为raspberry pi,但由于node和v8非常大,我希望能够在另一台功能更强大的PC上进行交叉编译.我正在使用https://github.com/raspberrypi/tools中的linux-x86 arm-bcm2708-linux-gnueabi工具链,并使用它们为系统成功构建其他可执行文件.我最终设置了CC,CXX,CPP,STRIP,OBJCOPY等.变量到环境变量中的工具链等价物并运行配置:获取最终的可执行文件.将其复制到系统并运行它会产生以下错误:./configure --dest-cpu=arm --without-snapshot

Extension or internal compilation error at line 0.
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

但是,任何非javascript任务(如node --version和)都不会发生分段错误node --help.是否有任何CFLAGS/CXXFLAGS我可能会丢失导致此问题?有点困惑....

arm v8 cross-compiling node.js raspberry-pi

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

如何为Raspberry pi编译内核模块?

我在为raspberry pi编译内核模块时遇到了麻烦.我想使用raspberry pi本身编译一个"hello world"内核模块.

我正在使用raspbian wheezy 3.6.11+.

我尝试按照http://elinux.org/RPi_Kernel_Compilation上的说明进行操作.

这是我正在使用的Makefile:

obj-m += hello-1.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)

这是hello-1.c的源代码:

/*  
 *  hello-1.c - The simplest kernel module.
 */
#include <linux/module.h>   /* Needed by all modules */
#include <linux/kernel.h>   /* Needed for KERN_INFO */

int init_module(void)
{
    printk(KERN_INFO "Hello world 1.\n");

    /* 
     * A non 0 return means init_module failed; module can't be loaded. 
     */
    return 0;
}

void …
Run Code Online (Sandbox Code Playgroud)

linux makefile kernel-module raspberry-pi raspbian

25
推荐指数
5
解决办法
7万
查看次数

nodejs中的异步覆盆子pi gpio事件

我将一个按钮连接到Raspberry Pi GPIO端口:

http://adafruit.com/products/801

PI-GPIO节点的js模块只允许拉动当前状态而不是等待状态变化:

gpio.read(16, function(err, value) {
    if(err) throw err;
    console.log(value);    // The current state of the pin
});
Run Code Online (Sandbox Code Playgroud)

有没有任何异步绑定事件的解决方案?

在这个例子中,每当按下按钮时都是如此.

node.js raspberry-pi

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

确保目标设备已启用开发人员模式.由于错误而无法获得开发人员许可

我正在按照本教程获得以下错误:

Severity Code Description Project File Line Suppression State
Error DEP0100 : Please ensure that target device has developer mode enabled. Could not obtain a developer license due to error 800704C7.
Run Code Online (Sandbox Code Playgroud)

我不知道如何这样做Raspberry Pi 3(我已经将它公开IP在前面Target MachineDebug选项卡Propertiessolution explorer.我正在远程机器上进行调试,ARM如下面的屏幕截图所示.如果您有经验,任何信息都会受到特别赞赏使用Windows 10 IoT核心.

我的笔记本电脑正在运行Windows 10企业,我正在使用Visual Studio 2015社区版.我打算在已经运行Windows 10内幕版本的Raspberry Pi上远程运行MS IoT团队提供的Blinky示例. 在此输入图像描述

visual-studio raspberry-pi iot windows-10-iot-core windowsiot

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

如何使用QEMU模拟Raspberry Pi Raspbian?

我正在尝试使用QEMU使用Raspian OS模拟Raspberry Pi.我尝试过在互联网上描述的几种方法但没有任何成功.

我想我需要修补一个适合所需操作系统的Linux内核.在我的例子中,我选择了带有内核4.4的Rasbian Lite:

wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-31/2016-05-27-raspbian-jessie-lite.zip
unzip 2016-05-27-raspbian-jessie-lite.zip
rm 2016-05-27-raspbian-jessie-lite.zip
Run Code Online (Sandbox Code Playgroud)

接下来,我从https://www.kernel.org/加载内核:

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.16.tar.gz
tar -xzf linux-4.4.16.tar.gz
rm linux-4.4.16.tar.gz
Run Code Online (Sandbox Code Playgroud)

现在交叉编译内核:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
cd linux-4.4.16
make vexpress_defconfig
make all
cd ..
Run Code Online (Sandbox Code Playgroud)

现在我可以将启动映像(即在RAM中自动提取的压缩内核映像)复制到我的工作区:

cp linux-4.4.16/arch/arm/boot/zImage zImage
Run Code Online (Sandbox Code Playgroud)

并运行QEMU

qemu-system-arm -kernel zImage -M vexpress-a9 -m 1024 -cpu cortex-a9 -no-reboot -serial stdio -hda 016-05-27-raspbian-jessie-lite.img -append "root=/dev/sda2 rootfstype=ext4"
Run Code Online (Sandbox Code Playgroud)

但我所看到的只是一个黑色的QEMU窗口.:(

我认为问题是获得正确的内核.从Internet复制某些内核从未取得成功,因为它们不适合操作系统.

如何构建/修补适合操作系统的内核(不下载现有的内核)以及如何正确运行QEMU?

先谢谢
Alex


第二种方法

kernel-qemu从这里加载一个https://www.dropbox.com/s/g8u93xblz1v1ly0/kernel-qemu?dl=0并用它运行QEMU:

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial …
Run Code Online (Sandbox Code Playgroud)

linux qemu linux-kernel raspberry-pi raspbian

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

Https POST/GET无法使用Mono

我想使用Mono + Restsharp在Raspberry上执行HttpPost.

我尝试在代码中重现的Httpie调用看起来像这样:

 http POST https://XXXXX.azurewebsites.net/api/report key=value
Run Code Online (Sandbox Code Playgroud)

这是C#代码:

RestClient nodeRed = new RestClient("http://XXXXX.azurewebsites.net/");
var request = new RestRequest("api/report", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new { Timestamp = DateTime.Now, Data = "Test" });
request.Timeout = 5000;

var response = nodeRed.Execute(request);
Run Code Online (Sandbox Code Playgroud)

代码运行正常,它只是无法正常工作.响应不包含任何内容(在httpie/MS .NET Framework上具有"成功"的服务器响应).

我已经在Mono上发现了证书的内容.运行

sudo certmgr -ssl -v -m "https://XXXXX.azurewebsites.net"
Run Code Online (Sandbox Code Playgroud)

告诉我它第一次添加两个证书.再次运行它会再次添加第一个证书(并再次),因为它不起作用.

X.509证书v3发布自:C = IE,O =巴尔的摩,OU = Cyber​​Trust,CN = Baltimore Cyber​​Trust Root颁发给:C = US,S =华盛顿,L = Redmond,O = Microsoft Corporation,OU = Microsoft IT, CN = Microsoft IT SSL SHA2有效期:19/12/2013 20:07:32有效期至:19/12/2017 …

c# mono ssl restsharp raspberry-pi

22
推荐指数
1
解决办法
1230
查看次数