我使用以下代码刷新树莓派 2 上的缓存行:
static inline void flush(void addr)
{
asm volatile("mcr p15, 0, %0, c7, c6, 1"::"r"(addr));
}
Run Code Online (Sandbox Code Playgroud)
当我运行此指令时,我收到一条错误消息,指出这是一条特权指令。这段代码正确吗?有没有办法从这台机器上的用户空间刷新缓存行?在 x86 上clflush无需任何修改即可运行。
坏消息,大家!
我尝试通过 PyAudio 在我的 Raspberry Pi 上使用麦克风,但没有成功。麦克风连接到 USB 声卡。
当我通过“arecord”时麦克风工作:
pi@raspberrypi ~ $ arecord -D plughw:0,0 -f cd test2.wav
Recording WAVE 'test2.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Run Code Online (Sandbox Code Playgroud)
但是,当我在 PyAudio 中执行 test record.py 时,出现错误。Python 中使用 PyAudio 的所有程序的错误都是相同的:
pi@raspberrypi /usr/src/pyaudio/test $ python record.py
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown …Run Code Online (Sandbox Code Playgroud) 有人可以给我一些关于如何在Windows 10下在Raspberry Pi上播放简单wav文件的开始吗?我想要的是将几个文件加载到内存和特定事件中,如果可能的话,开始播放它们,同时播放声音.我尝试了这个,但它失败了DLLImport行(未找到CoreDll.dll).因此,非常欢迎任何聪明的链接或样本.谢谢,vm
我创建了一个简单的测试项目,它运行,没有错误退出,但我只听到沉默.难道我做错了什么?我预计下面的代码会播放50次短鼓样本.
namespace BackTC
{
public sealed class StartupTask : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
btnPlayWavSound_Tapped();
}
private async void btnPlayWavSound_Tapped()
{
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/CLudwigKick-Dyn01.WAV"));
MediaPlayer player = BackgroundMediaPlayer.Current;
player.SetFileSource(file);
for (int i = 1; i <= 50; i++)
{
player.Volume = 100;
player.Play();
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在后台运行一个名为 mystepper.py 的脚本(/home/pi/mystepper.py);它为我的 RPi Camara 移动两个步进电机。如果可能的话,我想了解按名称杀死 mystepper.py 脚本的最简单方法。然后,我计划在 /home/pi/.bashrc 中创建一个别名,以便我可以使用 iPhone 和 iFreeRDP 应用程序来控制相机。iFreeRDP 应用程序和类似应用程序的键盘损坏,导致句点和空格键无法工作,因此需要快捷别名来消除对空格和句点的需要。
终止该脚本后,我将使用 /home/pi/moveit.py 调整步进电机位置,然后重新启动 mystepper.py。
因此,如果有人可以向我展示杀死脚本的最简单的方法,那就太好了!
这个问题真的很难问,但我知道Stack Overflow的人都是最聪明的人.
我完全不知道为什么会出现这个问题(我非常擅长Python和Pygame,所以任何关于如何改进代码的建议都会因为提高我的技能而受到欢迎).
我正在创建的东西:它实际上是一个噱头项目,我有一个2.5英寸的屏幕(PiTFT)连接到Raspberry Pi,代码正在创建一个打字机效果,在文本正在写入时,在文本前面有一个移动光标.
挑战1是每次你在pygame中移动一个精灵时,你必须重绘所有东西,否则你会看到一个踪迹,并且由于光标在文本前面移动,结果将如下所示:
我设法通过黑屏/清除屏幕解决了这个问题.但后来我丢失了以前所写的所有信件.所以我创建了一个列表(整个词),我用所有以前写的字符来填充.每次循环遍历重绘所有以前的书面文本时,我都会使用此列表.所以现在:
如您所见,文本看起来很有趣.它应该是:
[i]初始化......
[i]进入鬼模式...... []
我花了几个小时到达这一点 - 代码ALMOST完美运行!魔术发生在函数print_screen()中,但是我的代码中的内容是什么导致文本最后包含来自另一行的字母?:>
非常感谢帮助<3
这是整个代码:
import pygame
import time
import os
import sys
from time import sleep
from pygame.locals import *
positionx = 10
positiony = 10
entireword = []
entireword_pos = 10
counter = 0
entire_newline = False
#Sets the width and height of the screen
WIDTH = 320
HEIGHT = 240
speed = 0.05
#Importing the external screen
os.putenv('SDL_FBDEV', '/dev/fb1')
os.putenv('SDL_MOUSEDRV', 'TSLIB')
os.putenv('SDL_MOUSEDEV', '/dev/input/touchscreen')
#Initializes the screen …Run Code Online (Sandbox Code Playgroud) 我使用Raspbery Pi B +2。我有一个Python程序,该程序使用超声传感器测量到物体的距离。我想根据与人的距离改变音量。有一个Python代码来获取距离,我不知道如何通过Python中的代码更改Raspbery Pi的体积。
有什么办法吗?
我已经做了几年的Web应用程序开发人员,现在正在使用Python和Robotics.
我已经设置了Python Tornado来运行基于javascript websocket命令.这很棒,移动电机,打开LED.不是问题.
我想做的2件事.
1)闪烁LED
2)使用超声波范围传感器,停止FORWARD动作IF范围<X
我知道如何在自己内部做两件事.
但是,我的python方式如下
WS.py
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
import time
# My Over python module
import tank
class WSHandler(tornado.websocket.WebSocketHandler):
def open(self):
print 'New connection was opened'
self.write_message("Welcome to my websocket!")
tank.init()
def on_message(self, message):
print 'Incoming message:', message
tank.run(message)
self.write_message("You said: " + message)
def on_close(self):
tank.end()
print 'Connection was closed...'
def check_origin(self, origin):
return True
application = tornado.web.Application([
(r'/ws', WSHandler),
])
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888) …Run Code Online (Sandbox Code Playgroud) 我正在使用带有opencv 3 gold和raspicam-0.1.3 libarrry的raspberry pi 2作为pi相机模块,我已经测试了以下代码,它可以正常工作,但它为我提供了灰度模式(黑白)图像,但是我想要彩色模式(RGB)
这是代码:
#include <ctime>
#include <iostream>
#include <raspicam/raspicam_cv.h>
using namespace std;
int main ( int argc,char **argv ) {
time_t timer_begin,timer_end;
raspicam::RaspiCam_Cv Camera;
cv::Mat image;
int nCount=100;
//set camera params
Camera.set( CV_CAP_PROP_FORMAT, CV_8UC1 );
//Open camera
cout<<"Opening Camera..."<<endl;
if (!Camera.open()) {cerr<<"Error opening the camera"<<endl;return -1;}
//Start capture
cout<<"Capturing "<<nCount<<" frames ...."<<endl;
time ( &timer_begin );
for ( int i=0; i<nCount; i++ ) {
Camera.grab();
Camera.retrieve ( image);
if ( i%5==0 ) cout<<"\r captured "<<i<<" images"<<std::flush; …Run Code Online (Sandbox Code Playgroud) 在buildroot环境中,我将一个用户添加到组轮.现在我可以使用sudo以root权限执行命令.
它似乎有效,但当我尝试在我的RPi上导出一个引脚时,我总是得到Permission denied:
rpi:~$ sudo echo 4 > /sys/class/gpio/export
sh: can't create /sys/class/gpio/export: Permission denied
Run Code Online (Sandbox Code Playgroud)
这里是该目录的内容:
rpi:~$ ls -l /sys/class/gpio/
total 0
--w------- 1 root root 4096 Jan 1 00:00 export
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
--w------- 1 root root 4096 Jan 1 00:00 unexport
Run Code Online (Sandbox Code Playgroud)
使用sudo获取root权限是否足以在导出文件中写入?我害怕所有者和团体.事实上,如果我输入:
rpi:~$ sudo chmod a+w /sys/class/gpio/*
Run Code Online (Sandbox Code Playgroud)
然后我可以成功导出引脚.但我不知道这是否是最好的方法.
多个 C# 应用程序能否在 raspberry pi 2 模型 b 上并行运行?设置默认启动应用程序很容易,但有没有办法同时运行多个应用程序?如果是这样,我如何在 UI 中在它们之间切换?
我试图让我的树莓派在早上启动时自动打开一组页面,但不幸的是我无法让它工作
我已经在 Chromium 中有链接,所以如果 Chromium 可以自动启动并进入全屏模式,那就解决了
所以唯一需要发生的事情就是自动启动 chromium 我尝试使用 Kiosk 来实现它,但它给我带来了很多麻烦
这是我现在的代码
@chromium-browser --kiosk
Run Code Online (Sandbox Code Playgroud) 我尝试使用System.Windows.Forms在Windows IoT,Rapberry Pi 2下运行winforms应用程序.那么,有可能吗?
更新1
为了更好地理解,我有数字标牌应用程序.它是用winforms构建的,我试图运行它.