我正在尝试使用最新的 Raspbian 系统映像在我的 Raspberry Pi 上编译 gcc5.3.0。
$ ./configure --enbale-checking=release --enable-languages=c,c++,fortran --host=arm-cortexa7_neon-linux-gnueabihf --build=arm-cortexa7_neon-linux-gnueabihf --target=arm-cortexa7_neon-linux-gnueabihf
$ make
Run Code Online (Sandbox Code Playgroud)
但是,原始编译器 (gcc4.9) 在编译 libgcc 时抱怨未创建 sys/cdefs.h。
我检查我有libc6-dev并build-essential安装。
所以我曾经grep -R 'cdefs' /usr/include/搜索过它,我在/usr/include/bsd/找到了它。我创建了 sys 目录并在 /usr/include/bsd/sys 下建立了到这些头文件的硬链接。
这次它给了我一个更奇怪的错误,/usr/include/stdio.h:312:8: error: unknown type name 'FILE'。
我在 stackoverflow 上搜索了这个,还有一个类似的问题,/sf/answers/1473306621/。但是当我删除/usr/include/sys和/usr/include/bsd,然后重新安装libc6-dev时,我在/usr/include下找不到sys/cdefs.h,编译器仍然报错。
我现在完全迷失了。任何建议将不胜感激。
安装了 boto3 并将其升级到最新版本。我尝试了简易安装 pip 进行安装。我安装了多个版本的 python,所以我什至尝试在 virtualenv venv 中安装。但我得到了同样的错误:“没有名为 boto3 的模块”。
pip install boto3
python
Python 2.7.11 (default, Mar 10 2016, 14:12:44)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named boto3
>>>
Run Code Online (Sandbox Code Playgroud)
我尝试使用 / 不使用 sudo:
sudo pip install boto3
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 Raspberry Pi 上安装 AWS SDK。
pip freeze
Run Code Online (Sandbox Code Playgroud)
显示“boto3==1.3.0”已安装。
sudo pip install boto3
Requirement already satisfied (use …Run Code Online (Sandbox Code Playgroud) 我有一个 python 程序,它使用日志记录模块将数据输出到文本文件,我遇到的问题是,当我在PyCharm中运行脚本时,文本文件的输出工作正常(1-10 值输出到两个控制台屏幕并写入Log_Test_File.txt),但是当我从命令行运行脚本时,仅显示控制台输出(没有任何内容写入 *.txt 文件)。这发生在两者Ubuntu或我的Raspberry Pi.
我将在启动时自动运行脚本Pi(如 sudo),有没有办法配置Pi或 脚本以使文本输出正常工作?
#!/usr/bin/python
# -*- coding: utf-8 -*-
import logging
logging.basicConfig(filename="Log_Test_File.txt",
level=logging.DEBUG,
format='%(levelname)s: %(asctime)s %(message)s',
datefmt='%m/%d/%Y %I:%M:%S')
i=0
while i<10:
logging.info("Logging test: {}".format(i))
i+=1
Run Code Online (Sandbox Code Playgroud) 背景
我编写的代码记录了来自网络摄像头的视频片段,将它们写入内存流,然后通过Socket连接传输数据,然后将其重新组合成视频并在媒体元素上播放.
最终目标是创建一个婴儿监视器系统,服务器/摄像头运行在Windows IOT Raspberry Pi上,以及我的女朋友和我可以在我们的手机或笔记本电脑上查看的UWP应用程序.除了从房子的另一部分观看摄像机外,我们还能够在我们其中一个人离家时登录,并且我还会及时连接PIR运动传感器和警报系统,但首先是第一.
整个系统工作得相当好,视频中有5秒的延迟,这是我可以接受的(现在),并且使用MediaPlaybackList,视频以相当恒定的速率无缝流式传输(尽可能无缝连接)现在)视频之间的转换.MediaPlaybackList在播放时删除项目,使内存占用保持相对恒定.
问题
当视频在客户端播放时,它会频繁出现但是随机的部分是破碎的图片.它没有任何模式,也不是我能找到的模式,我能描述的唯一方法是将图片的一部分水平分割成两半,两半交换,图片的右侧显示在左边,反之亦然.它就像一个闪烁,因为在破碎的位中只显示了几分之一秒,因为另一个在图片的其他地方出现了大约一秒左右.
这是一个例子:
1)在我开始使用MediaPlaybackList排队数据流之前,我使用的方法是从传入的套接字流中提取每个视频,将其作为StorageFile保存到本地磁盘,然后排队这些StorageFiles,按顺序播放它们然后删除它们(我仍然有源代码控制中的这个代码的版本,我可以挖掘出来,但我不喜欢创建和销毁StorageFiles的想法,因为它看起来非常低效).然而,使用这种方法并没有导致我现在看到的破碎的图片...这让我相信视频本身很好,并且这可能是它被重新组合并流式传输的方式的问题媒体元素?
2)我的女朋友的猫把网络摄像头(微软Lifecam HD-3000)撞到了一边,没有我意识到,我没有意识到,直到我运行服务器并注意到图片是90度角...有趣(和这令人费解的是,传递给客户的图片没有像我上面描述的那样分解.我能看到的唯一不同之处在于图片的尺寸是480 x 640(来自相机坐在它的侧面),而不是标准的640 x 480.这意味着什么,我不确定......
关于这个问题的想法
资源
这里有一些我认为可能相关的代码片段,完整的解决方案源可以在GitHub上找到,这里是: Video Socket Server .
服务器
while (true)
{
try
{
//record a 5 second video to stream
Debug.WriteLine($"Recording started");
var memoryStream = new InMemoryRandomAccessStream();
await _mediaCap.StartRecordToStreamAsync(MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga), memoryStream);
await Task.Delay(TimeSpan.FromSeconds(5));
await _mediaCap.StopRecordAsync();
Debug.WriteLine($"Recording finished, {memoryStream.Size} bytes");
//create a CurrentVideo object to hold stream data and give it a unique id
//which the client app can use …Run Code Online (Sandbox Code Playgroud) 这是我在这里的第一篇文章.
我想保持简短......
以下问题:
我想运行一个qt5/qtquickcontrols2应用程序,利用覆盆子-pi 2b上的eglfs后端,当然是由vc4加速.理想情况下,它应该在kiosk模式下运行,它肯定需要加速gl功能.为了尽量减少问题,我使用命令测试:
LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml
其中gallery.qml只是qt-creator的小部件预览示例项目(遵循这些说明......).我得到以下错误输出:
[manjaro@Loki gallery]$ LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
* failed to add service - already in use?
Run Code Online (Sandbox Code Playgroud)
我也测试了同样运行交叉编译的二进制文件 - 同样的错误.除最后一行之外的所有行都来自qt5的详细调试输出,我通过环境变量设置,详细信息将随之而来.
系统/环境:
其他设置......
[manjaro@Loki gallery]$ uname -a
Linux Loki 4.4.28-1-MANJARO-ARM #1 …Run Code Online (Sandbox Code Playgroud) 在我的树莓派上,我最近在使用时遇到了一些奇怪的问题,webdriver.Firefox所以我决定切换到 chromedriver,无论如何我更习惯它,因为我在桌面上测试东西时使用它。我新安装了 chromedriver 并确保 chromium 是最新版本,但在尝试运行我的程序时出现以下错误:
selenium.common.exceptions.WebDriverException: Message: Service /usr/lib/chromium-browser/chromedriver unexpectedly exited. Status code was: 127
Run Code Online (Sandbox Code Playgroud)
所以我在互联网上寻找可能的解决方案,但我能找到的解决方案要么不涉及 chromedriver (我仍然尝试了其中一些解决方案,但它不起作用),要么涉及更新 chromium/chromedriver,这些解决方案已经启动-迄今为止。为了确定我还更新了 selenium python,但这也没有帮助。
更清楚地说,它在以下代码行中抛出该错误:
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
Run Code Online (Sandbox Code Playgroud)
不是 WebDriverException 的重复:消息:服务 chromedriver 意外退出。状态代码是: 127,因为正如我所提到的,某些事情(包括该问题的答案)对我不起作用,而且,我正在使用不同的操作系统。
python selenium chromium selenium-chromedriver raspberry-pi2
我正在开发一个树莓派墙板,以在壁挂式屏幕上显示项目 jira 状态。为了使树莓派作为墙板工作,我遵循了http://blogs.wcode.org/2013/09/howto-boot-your-raspberry-pi-into-a-fullscreen-browser-kiosk/上的教程。通过一些小的更改,我还设法使用命令在多个选项卡中循环它 watch -n5 "xdotool getactivewindow key ctrl+Tab"
现在我想显示 jira 状态,启动时我需要 chromium 登录然后显示状态。我已经使用 url 尝试过此操作https://<company>.jira.com/login?username=<username>&password=<password>&dest-url=/secure/RapidBoard.jspa?rapidView=<id>&view=detail。但是 jira 登录页面并不接受使用 GET 方法的登录。
有人可以帮我找到一种自动登录 jira 然后显示一些 jira 页面的方法吗?当然,这需要在树莓派 2 上编写脚本,以便在启动时无需用户交互即可登录。
是否可以从覆盆子pi上的python脚本中启动node.js应用程序?
在命令行上我运行 sudo node myscript.js
我可以使用像os这样的库吗?
这是我第一次尝试对 Raspberry Pi 和面包板上的硬件按钮进行编码。程序很简单,当检测到按下按钮时,打开面包板上的 LED 1 秒钟。我的代码似乎有效,但奇怪的是,每隔一个按钮就会触发回调函数两次。我是一个完全的编程菜鸟,所以我不确定问题是否出在我的代码上,或者硬件或按钮是否实际上以某种方式掉落了两次。我希望这里有人能帮助我解决这个奇怪的问题。这是我的代码:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
LedPin = 11 # pin11 --- led
BtnPin = 12 # pin12 --- button
def setup():
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(LedPin, GPIO.OUT) # Set LedPin's mode is output
GPIO.setup(BtnPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set BtnPin's mode is input, and pull up to high level(3.3V)
GPIO.output(LedPin, GPIO.HIGH) # Set LedPin high(+3.3V) to off led
def Light(ev=None):
print 'A button press was detected'
GPIO.output(LedPin, 0) …Run Code Online (Sandbox Code Playgroud) 我在我的覆盆子PI运行的Django,和我使用的avahi守护进程来访问我的RPI raspberrypi.local。在我的 Django 上,我为我的 android 应用程序制作了 API,以便通过 HTTP 协议访问。例如,我的 http 请求网址之一是: http://raspberrypi.local/api/getUserNames/
问题是 android 没有在我的本地 wifi 网络上访问这个 url,我已经确认我的 android 设备和 rpi 都连接到同一个 wifi 网络,但仍然http://raspberrypi.local无法在 android 上工作。虽然它在我的 PC 和 MAC 上运行良好。
我试图找到解决方案并经历了许多关于 bonjour、mDNS、jmDNS、android-multicast 的问答。但所有这些要么太混乱而无法实施,要么不起作用。请帮助我,我被卡住了一段时间。
注意: 在我的 Rpi 上,avahi-daemon 将自己广播为“_workstation._tcp”。服务类型
——
我的解决方案:
http://www.dodgycoder.net/2015/02/setting-up-bonjourzeroconfmdnsnsd.html
Android NSD(网络服务发现)解决了我的问题。我只使用了 Discovery Listener 和 Resolve Listener 来解决我的目的。我专门用来SERVICE_TYPE = "_workstation._tcp.";用avahi-daemon搜索raspberrypi.local