我喜欢为我现有的家庭自动化系统创build一种室内跟踪系统。 我想过使用BLE。 我已经成功地在我的Raspberry Pi上设置了hcitool ,并且可以连接到我的iPhone,没有任何问题。 但是如何在没有连接的情况下获得我的Raspberry Pi和iPhone之间的信号强度。 我已经尝试使用sudo hcitool cc [BTADDRESS]连接到我的iPhone而不进行身份validation,但它看起来像iPhone不允许这些连接保持打开状态。 我认为这是获得信号强度而不连接两个设备的一种方法。 我想用它来确定从我的树莓派到我的iPhone的距离。 我可以计算从我需要发现我的iPhone的时间的距离?
我正在使用以下function打开串行端口 int open_port (unsigned char * port) { int fd = open(port,O_RDWR | O_NOCTTY | O_NDELAY); if(fd == -1) { return PORT_ERR; } else { struct termios new_termios; struct termios orig_termios; tcgetattr(0, &orig_termios); memcpy(&new_termios, &orig_termios, sizeof(new_termios)); cfmakeraw(&new_termios); cfsetispeed(&new_termios,B9600); cfsetospeed(&new_termios,B9600); tcsetattr(fd, TCSANOW, &new_termios); return fd; } } 我正在使用Debian(raspberrypi)发行版运行Cubieboard2上的程序。 当我手动运行程序,它工作正常。 但是当程序在init.d脚本启动的时候启动,它运行正常,可以很好的执行其他任务(读写文件),但是不会读取串口发送的任何数据。 lsof /dev/ttyUSB1 还显示该端口正在被我的程序使用。 有任何想法吗?
我试图在Fedora 21中为ARM构buildGCC,但4.6.4和4.9.2失败,出现同样的错误: checking dynamic linker characteristics… configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES. Makefile:8200: recipe for target 'configure-zlib' failed 我遵循这个指南: http : //www.kunen.org/uC/gnu_tool.html 不明白,我做错了什么? PS configure命令: ../../src/gcc-4.9.2/configure –target=arm-none-eabi –prefix=$MYTOOLS –enable-interwork –enable-multilib –enable-languages="c,c++" –with-newlib –with-headers=../../src/newlib-1.20.0/newlib/libc/include/
我正在尝试在Ubuntu中为我的树莓派板交叉编译库bcm2835-1.42。 下载库并使用以下命令进行交叉编译: wget http:www.airspayce.com/mikem/bcm2835/bcm2835-1.42.tar.gz tar -xvf bcm2835-1.42.tar.gz cd bcm2835-1.42 ./configure -host = arm -prefix = $(DEVELROOT)CC = arm-linux-gnueabihf-gcc-4.8 ar = arm-linux-gnueabihf-ar-4.8 使 当我使源代码我坚持以下错误消息。 /tmp/ccxDzazg.s:汇编信息: /tmp/ccxDzazg.s:299错误:无效屏障types – dmb ldr r0,[r0] dmb' /tmp/ccxDzazg.s:365: Error: invalid barrier type — dmb str r1,[r0] dmb' /tmp/ccxDzazg.s:453错误:无效屏障types – dmb ldr r0,[r0] dmb' /tmp/ccxDzazg.s:480: Error: invalid barrier type — dmb str r1,[r6] […]
作为标题状态,我有一个问题,从另一个armv7embedded式Linux平台移植一些用户空间中断代码到树莓派2模型B. 我知道wiringPi库(并得到它的工作方式),但出于评估的原因,我想在两个平台上运行尽可能相同的代码。 出于这个原因,我必须手动与sysfs进行交互。 所以,这里是相关的代码片段 #define GPIO_TRIGGER_MODE "rising" #define SYS_GPIO_PIN "2" #define SYS_GPIO_DIRECTION "/sys/class/gpio/gpio2/direction" #define SYS_GPIO_EDGE "/sys/class/gpio/gpio2/edge" #define SYS_GPIO_VALUE "/sys/class/gpio/gpio2/value" static int fd_gpio; {…} //Setup sysfs-Pin if ((fd_gpio = open("/sys/class/gpio/export", O_WRONLY)) < 0) { exit(-1); } else { write(fd_gpio, SYS_GPIO_PIN, strlen((char*) SYS_GPIO_PIN)); close(fd_gpio); if ((fd_gpio = open(SYS_GPIO_DIRECTION, O_WRONLY)) < 0) { exit(-1); } else { write(fd_gpio, […]
我正在运行一个值得信赖的J2SE应用程序(我的世界),但可能包含完全不可信的(甚至可能是一些敌对的)插件。 我想创build一个可以访问Raspberry PI上的GPIO引脚的插件。 我见过的每个解决scheme都要求这样的应用程序被赋予sudo-superpowers,因为gpio是通过直接内存访问来访问的。 看起来像正确的解决scheme是提供一个像这样的命令行选项: -Djava.security.policy=java.policy 这似乎默认你没有权限(即使访问文件和高端口),然后添加你的应用程序需要回来的政策文件。 实际上,你似乎给了Java“sudo”权力,然后相信java的安全模型,只给予各种类别适当的权力。 我猜这使得应用程序安全地与sudo运行 – 这是正确的? 有趣的是,自从1.0以来,我一直在使用Java,而且以前从未需要这样做。每天都会学到新东西。
我正在开发一个项目,通过USB将Raspberry Pi和Arduino一起使用。 在Arduino上,我将代码设置为通过串口发送一个字母,然后执行一些操作(例如,如果通过串口发送'A',它将打开一个LED,B将它closures,等等)。 我已经用串口监视器testing了所有的命令,所以我知道我的Arduino代码工作。 在Raspberry Pi上,我希望能够运行一个.sh文件并通过串口发送一封信给Arduino。 在试图做到这一点,我看了很多论坛(包括这里的一个: http : //playground.arduino.cc/Interfacing/LinuxTTY ),每次我尝试发送的东西,Arduino闪光灯,它基本上产生与按下重置button相同的结果。 那么,如何编写一个.sh文件来发送命令给我的Arduino? 先谢谢你! -Ethan
我目前正在开发一个以OpenELEC作为操作系统的树莓派。 不幸的是,apt-get不能用于这个发行版。 我有很多东西需要安装,而且如果没有apt-get的话就太长了。 所以我的问题是:你知道可以在OpenELEC上使用apt-get的任何等价命令,或者在这个操作系统上使用apt-get吗? 最后,哪个操作系统,你会build议我,所以我不再遇到这个问题了? 提前致谢。
在运行Raspbian的Raspberry Pi上工作时,我尝试使用驱动程序风格的C代码来访问GPIO。 要将GPIO引脚输出到用户空间,必须将引脚编号写入/ sys / class / gpio / export。 是否有可能在一个文件写入导出多个引脚? 比如我想做: int initGPIO(int pins[], int numPins){ char buffer [50]; int numBytes; int fh = open("/sys/class/gpio/export", O_WRONLY); if(fh<0) return -1; int i; numBytes = 0; sprintf(buffer, ""); for (i=0; i<numPins; i++){ numBytes += sprintf(buffer, "%s\n%d", buffer, pins[i]); } return write(fh, buffer, numBytes); close(fh); } 当给出[2,3,4]作为input数组时,这个函数只能导出第二个引脚。有什么方法可以将引脚写入到导出文件中,以便它们全部被导出? […]
我正在写一些testing代码,我需要纳秒分辨率。 当我使用CLOCK_MONOTONIC的clock_gettime时,我得到一个我期望的值:3327.874384321。 当我使用clock_gettime与CLOCK_MONOTONIC_RAW时,我得到一个值,我不期望:3327.875723000 我已经在一个循环中运行这个,所有返回的值都有纳秒分辨率“truncated”,000。 输出uname -a:Linux raspberrypi 3.12.22+#691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU / Linux 想想发生了什么? 如何解决? 我目前正在考虑禁用NTP,所以我可以使用CLOCK_MONOTONIC