标签: raspberry-pi

打印 unicode 字符 c++ linux

我正在使用树莓派并尝试使用以下内容打印 unicode 字符:

测试.cpp:

#include<iostream>
using namespace std;
int main() {
    char a=L'\u1234';
    cout << a << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我用 g++ 编译时,我收到这个警告:

test.cpp: In function "int main()":
test.cpp:4:9: warning: large integer implicitly truncated to unsigned type [-Woverflow]
Run Code Online (Sandbox Code Playgroud)

输出是:

4
Run Code Online (Sandbox Code Playgroud)

此外,这不在 GUI 中,如果相关,我的发行版是 raspbian wheezy。

c++ linux unicode raspberry-pi

0
推荐指数
1
解决办法
4541
查看次数

Python字典参数错误

我实际上是为我的Raspberry Pi的GPIO端口编写一个控制程序,我在python中编程并想用字典来做.

好的,要设置一个GPIO端口,它需要2个参数,正如您在字典表中看到的那样,我使用了两个参数,当您编写类似"00"的内容时,您应该得到这两个参数.

例如,能够控制GPIO端口的代码是:

output(11, low)
Run Code Online (Sandbox Code Playgroud)

正如你在字典中看到的那样,我应该像上面的代码一样得到两个参数,但是我仍然得到一个错误,只有一个参数而不是两个.这是我的代码

import RPi.GPIO as GPIO
from RPi.GPIO import input as input
from RPi.GPIO import output as output
from RPi.GPIO import HIGH as high
from RPi.GPIO import LOW as low
from time import sleep as sleep


GPIO.setmode(GPIO.BOARD)
entry = raw_input("Which port you want to control?:")

while entry != "xx" :
    io = {
       '00' : "11, low",
       '01' : "11, high", 
       '10' : "12, low", 
       '11' : "12, high",
       '20' : "13, low", 
       '21' : …
Run Code Online (Sandbox Code Playgroud)

python dictionary raspberry-pi

0
推荐指数
1
解决办法
88
查看次数

thread.start_new_thread 不工作

我试图让这些 GPIO 端口同时打开和关闭,但在 RPi 上的间隔不同。我可以运行其中一个循环并且它可以工作,但是当我引入线程时它却没有。

import RPi.GPIO as GPIO  
from time import sleep  
import thread

GPIO.setmode(GPIO.BOARD)  

GPIO.setup(11, GPIO.OUT)  
GPIO.setup(13, GPIO.OUT)  
GPIO.setup(15, GPIO.OUT)  

def fast():  
    while True:  
        GPIO.output(11, True)  
        sleep(.02)  
        GPIO.output(11, False)  
        sleep(.02)  

def med():
    while True:
        GPIO.output(13, True)
        sleep(.2)
        GPIO.output(13, False)
        sleep(.2)

def slow():
    while True:
        GPIO.output(15, True)
        sleep(2)
        GPIO.output(15, False)
        sleep(2)

thread.start_new_thread(fast,())
thread.start_new_thread(med,())
thread.start_new_thread(slow,())
Run Code Online (Sandbox Code Playgroud)

python python-2.7 raspberry-pi

0
推荐指数
1
解决办法
1674
查看次数

owncloud 无法访问目录

我在我的树莓派上运行 Raspbian 版本 7。我正在运行owncloud。我已经在 /media/Owncloud 下安装了一个外部驱动器。这是我拥有自己的云存储所有文件的地方。我无法访问此目录。当我尝试时,cd /media/Owncloud它给了我以下错误:
-bash: cd: /media/Owncloud/: Permission denied
如何访问此目录?

bash raspberry-pi owncloud

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

使用Python和Tornado运行后台任务

我已经做了几年的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)

python tornado websocket raspberry-pi raspberry-pi2

0
推荐指数
1
解决办法
1593
查看次数

如何在 Linux 中删除目录(不先删除里面的文件)

我刚刚在圣诞节买了一个树莓派,我想删除一些内置程序,因为我想制作一个家庭使用的 Linux 服务器。到目前为止,我必须一直使用终端来执行此操作,因为要删除文件,您必须使用 root。

rm ./files/*
rmdir files  
Run Code Online (Sandbox Code Playgroud)

rmdir当里面有文件时,有什么办法可以使用命令吗?

linux raspberry-pi

0
推荐指数
1
解决办法
8835
查看次数

我需要导入一个txt文件作为特定函数的列表

我正在尝试保存并加载传感器的校准数据.我能够读取校准数据并将其保存到文本文件中.查看文本文件时,在一组方括号中有22个由逗号分隔的数字.

我需要以set_calibration函数读取它的方式导入该文本文件.

这是设定校准功能.

def set_calibration(self, data):
    """Set the sensor's calibration data using a list of 22 bytes that
    represent the sensor offsets and calibration data.  This data should be
    a value that was previously retrieved with get_calibration (and then
    perhaps persisted to disk or other location until needed again).
    """
    # Check that 22 bytes were passed in with calibration data.
    if data is None or len(data) != 22:
        raise ValueError('Expected a list of 22 bytes for calibration data.')
    # …
Run Code Online (Sandbox Code Playgroud)

python raspberry-pi

0
推荐指数
1
解决办法
84
查看次数

为 ARM 处理器编写操作系统

我最近为 x86 架构开发了一个非常简单的操作系统。但后来我意识到要为 ARM 板(如 RPi)以较小的规模构建它。

我想问一下,ARM指令集和x86有什么不同?

即使在 ARM 板上也有 BIOS 吗?如果没有,是否还有其他方法可以在屏幕或视频内存上打印输出?

要在 Raspberry Pi 上对操作系统进行编程,我需要做哪些更改?

一瞥我所知道的 - 我创建了一个简单的操作系统,它可以在屏幕上打印文字、从磁盘读取并将内核加载到内存中并切换到 32 位模式。

x86 operating-system arm raspberry-pi

0
推荐指数
1
解决办法
2989
查看次数

读取输出时Python子进程通信冻结

我正在使用 Gphoto2 在 DSLR 上拍照。由于它基于我尝试使用的 bash 命令,subprocess.communicate但在相机拍照后它会冻结。

如果我gphoto2 --capture-image-and-download在终端中尝试它需要不到 2 秒。我正在研究树莓派。

代码:

import subprocess

class Wrapper(object):

    def __init__(self, subprocess):
        self._subprocess = subprocess

    def call(self,cmd):
        p = self._subprocess.Popen(cmd, shell=True, stdout=self._subprocess.PIPE, stderr=self._subprocess.PIPE)
        out, err = p.communicate()
        return p.returncode, out.rstrip(), err.rstrip()


class Gphoto(Wrapper):
    def __init__(self, subprocess):
        Wrapper.__init__(self,subprocess)
        self._CMD = 'gphoto2'

    def captureImageAndDownload(self):
        code, out, err = self.call(self._CMD + " --capture-image-and-download")
        if code != 0:
            raise Exception(err)
        filename = None
        for line in out.split('\n'):
            if line.startswith('Saving file as '):
                filename …
Run Code Online (Sandbox Code Playgroud)

python subprocess communicate raspberry-pi

0
推荐指数
1
解决办法
3302
查看次数

如何在 yocto 中为 RaspberryPI 设置自己的设备树?

我喜欢在我的 RPi 项目中禁用和启用一些引脚。它们是 GPIO 6、GPIO 5 和 GPIO 26。我喜欢在我自己的内核驱动程序中使用这些 PIN。

对于这个项目,我通过 GPIO 连接了一个简单的电路板。最小系统是通过 yocto 构建的。我喜欢更改设备树文件以禁用/启用 GPIO。

我需要更改或制作我自己的 dts 文件。为此,我认为我需要:

  1. 找到原始的 RPi dts
  2. 修补它或创建我自己的 dts
  3. 将其添加到 layer.conf
  4. 通过附加将文件添加到内核配方

我怎样才能做到这一点?或者我在哪里可以找到来源?

实际上,我正在努力寻找我正在使用的 RPi2 的 dts 文件。我正在检查“raspberrypi2-poky-linux-gnueabi”配方结果(并且没有找到任何文件)。

我没有找到任何关于如何设置 yocto + meta-raspberrypi + 自己的 dts 的教程。如果我们能找出必要的步骤就太好了。

raspberry-pi device-tree yocto

0
推荐指数
1
解决办法
3540
查看次数