《边学边用树莓派-8》使用Firmata协议和Arduino进行通信
2014-06-281.6万
AI 快速预览详细
本文介绍了如何使用Firmata协议在Raspberry Pi Meet Arduino扩展板上实现GPIO、PWM、ADC等资源的控制。首先需要安装pyfirmata模块,然后通过Python代码测试D13口LED闪烁和LM35温度传感器的读取。通过这种方式,可以实现树莓派与Arduino扩展板之间的通信,从而增加树莓派的功能。
|
Firmata是一个PC与MCU通讯的一个常用协议。我们可以直接在咱们的Raspberry Pi Meet Arduino 扩展板上下载一个StandardFirmata代码,然后通过在树莓派上编写串口软件可以直接访问并控制Raspberry Pi Meet Arduino 扩展板上Arduino的GPIO、PWM、ADC等资源。Firmata的具体介绍可以 百度文库这个资料《Firmata详解》 在Firmata官网你也可以找到相关信息 https://www.firmata.org/wiki/Download 有两个项目可以基于python测试
在这里我们使用pyfirmata进行测试,首先安装pyfirmata模块,然后进入python交互界面导入模块看看是否报错,如果报错说明没有安装好 然后看看你的Raspberry Pi Meet Arduino 扩展板 USB串口是什么号码,当前的USB串口是 ttyACM1 进入python命令界面 输入命令测试下通信是否正确 ,这里的串口是ttyACM1 下面测试了使板上D13口的LED闪烁,然后又测试了模拟口上LM35温度传感器输入的电压,0.0567是电压值 至此说明Firmata运行起来了,你可以看看相关《Firmata详解》 和 pyFirmata 的操作格式,即可通过串口连接Raspberry Pi Meet Arduino 扩展板,从而使树莓派增加多个GPIO、PWM、ADC等功能。 在测试中我发现速度并没有简单协议快,我觉得如果是固定功能,制定一个小巧的私有协议是更方便快捷的,可以看看咱们前面测试的 ADC采集通信例子 《边学边用树莓派-7》树莓派上安装Arduino IDE |



