当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

一文教你如何在Linux上使用树莓派

时间:2018-04-20 | 栏目:嵌入式技术 | 点击:

小编今天介绍的项目是通过使用CY8CKIT-048 PSoC模拟处理器先锋套件和树莓派,进行全天24小时不间断的环境数据监控。

本文转自Hackster.io网站(点击文章末尾的“阅读原文”访问该网站相关页面),由小编编译,欢迎拍砖。

项目简介


通过使用CY8CKIT-048 PSoC模拟协处理器先锋套件和树莓派(Raspberry Pi),进行24小时不间断的环境数据监控。

准备材料

硬件:

构建系统


赛普拉斯CY8CKIT-048 PSoC®模拟协处理器先锋套件是个很有趣的开发板,可与PSoC Creator 集成开发环境(IDE)轻松配合使用。

其中包括用于与主板之间通信的工具——Bridge Control Panel

Bridge Control Panel允许用户使用I²C协议与相关应用设备之间双向接收/发送数据。数据可用于绘制数据图表或存储到文件。

该工具的“问题”在于,其仅限在Windows系统中使用,而不适用于运行Linux系统的设备,例如Raspberry Pi

下面,我们创建二十四小时环境数据监控的应用实例。

试想,如果可以用兼容的Linux / Raspberry Pi的东西来替代Bridge Control Panel会有怎样的效果?


首先,来看看I²C通信协议是如何通过USB连接工作的。

主板上有两个微控制器

这块主板的USB HID接口具有一些专有协议。

幸好,该协议与Cypress 3240 USB to I2C bridge基本相同,Kevin Kirkup已经创建了一个相关的库。

https://github.com/kevinkirkup/cy3240-i2c-bridge

把项目从已经淘汰的libhid迁移到libhidapi,并利用Wireshark检测来自Bridge Control Panel的USB命令:

将上述设置进行更新,使其适用于CY8CKIT-048PSoC®模拟协处理器先锋套件

主要的改变如下:

欲查询代码,可访问我的GitHub账户

https://github.com/bluetiger9/cypress-usb-i2c-bridge.git dd

使用方法


在Raspberry Pi / Linux设备上安装电路板的操作步骤:

需要为CY8CKIT-048PSoC®模拟协处理器先锋套件的开发板上添加一些udev规则。

这样,即使非根(non-root)用户也拥有访问的权限。

为此,我们创建出49-hid-development.rules文件:

内容如下:

重新启动,使新的设置生效:

构建项目之前,首先要安装所需的依赖项:

然后,从我的GitHub资源库克隆项目:

项目配置:

现在这个代码已经准备好编译,运行“make” 程序了。

但是,还需要再等一下。src目录里有一个main.c文件:

所以,我们需要根据应用程序发布的数据类型先对此进行编辑。

例如,我的项目要发布包含四组传感器值的数据结构(Struct),包括:土壤阻力(水分)、温度、湿度及照度:

从你的PSoC Creator项目中如实复制此struct。

我们还需要根据已经获得的字段,编辑打印数据的代码:

现在可以使用“make”来编译代码了:

接下来,我们要检查一下这个应用程序能否正常运作:

如果一切正常,我们可以利用ts指令创建一些时间戳、改变输出方式为“输出到文件”,然后可以通过“nohup”指令运行该应用程序。这样,即使用户从SSH退出后仍可以保持运行状态:

输出到文件的状态显示如下:

至此,这个应用程序即可全天24小时运行。经过一段时间后,就可以对该文件进行处理,比如绘制数据图表。

OK,尽情享用吧!

原理图


将赛普拉斯开发板连接到树莓派

下载

https://halckemy.s3.amazonaws.com/uploads/attachments/258660/cypr_rpi_C2Drgfd4mm.png

可利用USB缆连接两者。通过Micro USB线缆给树莓派供电。

代码


Cypress USB-I2C bridge

您可能感兴趣的文章:

相关文章