树莓派SQLite3的安装和操作简述

20170207145829868-0

MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用。SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明。本文介绍的SQLite技巧也可以在其他平台使用,并不局限于树莓派。

安装 SQLite

阅读全文

树莓派串口(UART)编程Python示例

20170123103950947-0

前言

本文将详细介绍树莓派的串口(UART)配置和使用,并结合一个modbus RTU从机的例子说明树莓派串口的应用。
在开始前说明以下几点
1.树莓派UART端口的位置
TXD位于HEAD-8
RXD位于HEAD-10
GND位于HEAD-6(可选其他GND)
2.树莓派的TXD应接USB转串口设备的RXD,当然如果测试失败请交换RXD和TXD的顺序
3.经过很多次的测试(N>25),当波特率为115200时打开树莓派的UART时,树莓派会莫名其妙的发送一字节0xF8,该问题始终无法解决。不过波特率为9600时并没有此问题,猜测是树莓派硬件或内核驱动问题。
4.树莓派的串口默认为SSH调试使用,若要使用串口需要修改两处文件。
阅读全文

HiFiBox DAC 自定义红外遥控配置教程

HiFiBox DAC 是一款适用于树莓派的音频硬解码扩展板。集成了红外线接收器,用任何兼容的红外遥控,通过自定义遥控按键配置即可实现遥控 Volumio 播放器工作。

对于 Volumio 我们已经提供了配置好了的系统可直接使用 HiFiBox DAC 和红外线遥控控制,以下内容仅供希望使用 Volumio 官方全新系统的用户阅读参考。我们假设你已经刷好了官方的系统镜像,如果还没有,请移步这里下载镜像。

一、首先安装好 HiFiBox DAC 扩展板,启动系统登录后(默认用户名:pi 密码:raspberry),运行以下命令安装 lirc 软件包。

sudo apt-get update
sudo apt-get install lirc

注意,树莓派的 apt-get 的源在英国,如果上面更新和安装出现问题,可以选择中国科学技术大学的源,编辑/etc/apt/sources.list,删除其中的内容,使用一下内容代替后保存。

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main non-free contrib

如何编辑和替换使用,方法见这里

阅读全文

树莓派下编译RTL8723BU无线蓝牙网卡

来自树莓派实验室创客群 Archer 的投稿,在此表示感谢!

20161120205849118-0

树莓派3有蓝牙有Wifi,但是2代1代总觉得有点悲剧,散热没有树莓派3来得高,但是没有无线功能和蓝牙功能,应该怎么方便使用呢?
我没事搞了一个RTL8723BU芯片的无线蓝牙网卡,京东搞的,挺可靠,想要给树莓派用,然而插进去,呵呵,没有驱动,于是就上网找办法,编译驱动。
阅读全文

RPi.GPIO 模块使用基础

RPi.GPIO 模块程序包提供了一个在 Raspberry Pi 中控制 GPIO 的类。

注意,该模块不适合应用到追求实时性或计数周期的应用中。这是由于您无法预测 Ptyhon 何时繁忙,以及资源回收的时间。而且它是运行在基于 Linux 核心的系统中,也不合适用于实时应用 – 原因在于其它进程可能获得更高的 CPU 优先级。如果您一定要追求实时操作的性能,可以考虑购买一块 Arduino 主板http://www.arduino.cc!

还需要注意一点,目前的版本还不支持 Raspberry Pi 的 SPI、I2C、1-wire、串口等功能。计划在不久的将来会实现的!

本文是 RPi.GPIO 模块文档系列文章的第一篇,除本文外还包括以下几篇:

使用 RPi.GPIO 模块的输入(Input)功能
使用 RPi.GPIO 模块的输出(Output)功能
使用 RPi.GPIO 模块的脉宽调制(PWM)功能

导入模块

导入 RPi.GPIO 模块:

import RPi.GPIO as GPIO

通过该操作,您可以将模块名称映射为 GPIO,以便接下来您其它脚本进行使用。

阅读全文

使用 RPi.GPIO 模块的输入(Input)功能

这篇日志的内容应该算是《RPi.GPIO 模块使用基础》Input 部分的扩展讲解,详细讲解了 Input 部分的一些高级应用技巧。
目前有几种途径可以在您的程序中获得 GPIO 的输入信息。第一种也是最简易的一种为在某个时间点检查输入值。这即是所谓的“轮询(polling)”,而且如果您的程序在错误的时间里进行了读取,可能会错过某个输入值。在循环中运用轮询,有可能使处理器资源紧张。另一种对 GPIO 输入进行响应的方式可以使用“中断(interruots)”(边缘检测(edge detection))。边缘可以是从 HIGH 到 LOW 的过度(下降临界值(falling edge))或从 LOW 到 HIGH 的过度(上升临界值(rising edge))。

上拉/下拉电阻

如果您在输入针脚上没有连接任何元件,那么它将是“浮动(float)”的。换句话说,因为您没有连接任何元件,在按下按钮或开关之前,读取的值是没有意义的。由于电源的波动,获取到的值可能会有很大的变化。

阅读全文