Articles of 覆盆子 pi

你如何更新到最新的python 3.5.1版本的覆盆子pi?

我昨天得到了我的树莓派,我已经试着用它编码了。 我有一个计划,我打算运行它,但它只与Python版本3.5.0或3.5.1兼容,我发现在互联网上的一切似乎是过时的,与Python 2做或不相关到我的问题,因为我还没有看到任何其他的100%需要Python 3.5,可以应付3.4(目前预安装)。 .exe文件在Linux上不起作用。 我是Raspberry Pi和Linux的新手,因为我一直是Windows用户。 任何帮助表示赞赏。 非常感谢 – 罗伯特

Netty 4在Linux上接收多播数据包

我写了一个应用程序接收发件人发送的组播数据包(包含audio)。 我已经使用Netty 4,并已经在Windows上运行该应用程序,但是在Linux(Debian Wheezy(raspi)和Ubuntu 12)上运行时,它不会收到多播数据包。 我创build了一些可以发送和接收多播数据包的testing代码,结果是: 发送Windows到Windows的作品。 发送Linux到Windows的作品。 发送Windows到Linux,数据包发送但没有收到。 我以root身份运行该应用程序,并将SO_BROADCAST设置为true。 我错过了什么? 如果我使用标准的Java MulticastSocket而不是Netty,那么这个应用程序就可以工作,但是我更喜欢使用Netty,因为它很容易使用并且大大简化了代码。 testing代码是: public class TestMulticast { private int port = 51972; private Logger log = Logger.getLogger(this.getClass()); private InetAddress remoteInetAddr = null; private InetSocketAddress remoteInetSocket = null; private InetAddress localInetAddr = null; private InetSocketAddress localInetSocket = null; private DatagramChannel ch = null; private EventLoopGroup […]

用Qemu模仿Raspberry Pi Raspbian

我尝试使用QEMU来模拟Raspian OS的Raspberry Pi。 我尝试了在互联网上描述的几种方法,但没有任何成功。 我弄清楚,我需要修补Linux内核配件到所需的操作系统。 在我的情况下,我selectOS内核4.4的Rasbian精简版: 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 接下来我从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 现在交叉编译内核: export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabi- cd linux-4.4.16 make vexpress_defconfig make all cd .. 现在我可以将引导映像(即在RAM中自动提取的压缩的内核映像)复制到我的工作区: cp linux-4.4.16/arch/arm/boot/zImage zImage 并运行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" […]

Android和Linux(RPi)之间的蓝牙连接在首次写入操作时丢失

所以我一直在做一个项目,其中运行Android(API级别= 14)的设备必须通过蓝牙连接到运行Linux的服务器(具体来说:Raspberry Pi)。 build立连接时,应用程序将encryption的XMLstring发送到RPi。 RPi必须解密此string,parsingXML并执行相应的操作。 操作的结果将发送回Android设备。 到目前为止,我已经设法在应用程序和RPi(运行最新版本的Bluez软件包 )之间build立连接。 RPi有一个Targus的蓝牙4.0encryption狗。 当我试图从应用程序发送一个string到RPi的时候, 蓝牙sockets似乎已经closures。 Logcat给出消息Connection reset by peer 。 用于创build套接字的代码如下所示: Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); tmp = (BluetoothSocket) m.invoke(device, 1); Logcat输出如下: 06-20 14:29:42.224: DEBUG/RPiService(24273): ———- [ CONNECTION ESTABLISHED ] ———- 06-20 14:29:42.224: DEBUG/RPiService(24273): connected, Socket Type:Secure 06-20 14:29:42.229: DEBUG/RPiService(24273): create ConnectedThread: Secure 06-20 14:29:43.734: DEBUG/RPiService(24273): setState() […]

如何通过命令行/ shell脚本从etc / wpa_supplicant / wpa_supplicant.conf中删除networkingconfiguration文件

我有多个无线networkingssid保存在我的etc / wpa_supplicant / wpa_supplicant.conf中,如下所示,我们可以从这个wpa_supplicant.conf中删除一个特定的networking 例如:在下面的networking中,可以通过shell脚本删除networkingmyssid1,然后我可以通过node.js服务器执行 network={ ssid="myssid1" scan_ssid=0 proto=WPA key_mgmt=WPA-PSK psk=5f55a9b869e9ab6d03839cae23c7243accc0ac0a12079d358328bf73ad2e0ebe } network={ ssid="myssid2" scan_ssid=0 proto=WPA key_mgmt=WPA-PSK psk=d89660510d06bbf7691f5296daae36872d697a88876c53db7de91aa85df4f68b } network={ ssid="myssid3" scan_ssid=0 proto=WPA key_mgmt=WPA-PSK psk=d635b33481a13b28a67e8964f58343cb19bc8c85c67cc56ee9bfe0c302914a5f }

在Snort警报上执行脚本

我目前正在试验一个树莓派。 我正在运行Snort,它是数据包检测软件。 在Snort引发警报的情况下,我想执行一个(Python)脚本。 Snort被执行,在一个覆盆子pi如下: sudo snort -q -A console -i eth0 -c /etc/snort/snort.conf 我创build了一个python脚本,当被调用时,它控制着一个覆盆子pi的GPIO引脚。 把它放在更多的背景下; 当树莓派接收到一个ping / ICMP数据包时,一个红色的警报灯将被同一台设备点亮和控制。 snort规则当前有效,当ICMP数据包到达时,警报输出到控制台。 然而,我不知道如何让snort执行python脚本

树莓派ad-hocnetworking

我想尝试一些与Raspberry Pis的networking项目,我只需要在一对pis之间发送数据包。 作为第一步,我将很高兴能够在ad-hoc模式之间ping到Raspberry Pis。 尽pipe在线查看了几个教程和示例,但我还没有成功完成此任务。 我已经安装了Debian Wheezy操作系统的2个Raspberry Pis。 我正在使用以下USB适配器,我在两个pis上都安装了固件,并通过以pipe理模式将它们连接到路由器来testing它们是否工作:总线001设备004:ID 050d:945a Belkin组件F7D1101 v1基本无线适配器[Realtek RTL8188SU] 以下是关于networking信息的一些打印输出: / etc / network / interfaces在每个pi上: pi1@raspberrypi ~ $ cat /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 iface wlan0 inet manual address 192.168.2.1 netmask 255.255.255.0 wireless-channel 4 wireless-essid pi-ad-hoc wireless-mode ad-hoc pi2@raspberrypi ~ $ cat […]

Pyudev – 调用两次函数

我有pyudev库的使用问题。 我想有一个程序,检测USB插入和打印的东西控制台。 这是我有的代码: import glib import os import sys from pyudev import Context, Monitor from pyudev.glib import GUDevMonitorObserver as MonitorObserver def device_event(observer, device): print 'yep' context = Context() monitor = Monitor.from_netlink(context) monitor.filter_by(subsystem='usb') observer = MonitorObserver(monitor) observer.connect('device-added', device_event) monitor.start() glib.MainLoop().run() 问题是当我运行脚本看来,device_event函数被调用两次。 我插入USB设备时得到的输出是: yep yep 我search了所有,但无法find答案请帮助谢谢

在linux机器上检测python 3中按键的最简单方法是什么?

现在我正在尝试用一个覆盆子pi和一个makey makey做一个小代码。 makey makey是一个小板,当某些联系人通电时,它就像一个USB键盘一样。 我的问题是什么是最简单的方法来检测python脚本内的按键。 我知道使用GPIO引脚会更容易,但现在我正在寻找这个。 我已经看到使用从msvcrt使用getch()(从我的理解是只有Windows),使用pygame.key,并使用getKey的例子。 哪一个最容易使用? 有没有可以检测到被按下的钥匙和钥匙被释放? 伪代码(…是它叫什么?) import whatever needs importing if the "W" key is pressed: print ("You pressed W") elif the "S" is pressed: print ("You pressed S") 等等。 谢谢。