树莓派与Arduino间的通信实践

最近需要在Arduino之间,以及Arduino和上位机(树莓派)之间传输数据,
原有APC220设备虽然可用,使用也方便,但成本太高,不容易批量,遂寻求其他方案。

一、方案选择

根据搜索的结果和前人经验,有如下几种可行方案:

  • nRF24L01+(RF)
  • ESP8266(WIFI)
  • XBee (ZigBee)
  • ENC28J60(LAN)
  • W5100,W5500(LAN)

阅读全文

HiFiBox DAC + RuneAudio 红外遥控方案(C语言实现)


之前在《HiFiBox DAC 自定义红外遥控配置教程》中介绍了树莓派上红外遥控的编码学习和使用,并且实现了遥控控制音乐播放的功能。

以上方案是基于 lirc 提供的软件实现。有树莓派玩家提供了一种通过编程实现红外读取的方法(C语言实现),此方法在树莓派2B、RuneAudio_rpi2_rp3_0.4-beta_20160321 版本上验证通过。这里的红外接收方法和代码也可以用于树莓派的其他红外模块,期待大家举一反三的应用。

阅读全文

用逆向设计和回归算法估算PWM

20170223211517407-0

大家在使用直流电机时经常遇到一个问题,那就是无法准确的控制他的转速。当然很多高手义无反顾的用上了码盘啊,霍尔啊等测速装置再加上PID啊啥的来完成设计。这种设计方法固然没错,但是也有一些人手头没有那么多资源或者暂时没有完成这整个工作的能力。我就见过一位同学无奈之下采用查表的办法来判断在需求什么样的速度时给多少PWM。这里我教各位一个小窍门,妈妈再也不担心我控制不好电机转速了。

首先,将电机接上PWM,记录下在各PWM数值时,电机的转速。并列表记录,如下表:

阅读全文

树莓派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调试使用,若要使用串口需要修改两处文件。
5.2016.11起新系统需要通过这个方法开启SSH服务
阅读全文