全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

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

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

时间:2018-04-20 06:59

人气:

作者:admin

标签: 树莓派  Linux 

导读:赛普拉斯CY8CKIT-048 PSoC®模拟协处理器先锋套件可与PSoC Creator IDE轻松配合使用。本文将介绍如何通过使用CY8CKIT-048 PSoC®模拟协处理器先锋套件和树莓派,进行24小时不间断的环境数据监控...

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

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

项目简介


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

准备材料

硬件:

  • 赛普拉斯PSoC模拟协处理器先锋套件×1

    (https://www.hackster.io/cypress/products/psoc-analog-coprocessor-pioneer-kit)

  • 树莓派2代B型或其他运行Linux的设备 ×1

    (https://www.hackster.io/raspberry-pi/products/raspberry-pi-2-model-b)

  • USB-A至微型USB线缆

构建系统


赛普拉斯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连接工作的。

主板上有两个微控制器

  • 主芯片CY8C4A45LQI,用来运行我们的应用程序,譬如说,收集一些传感器数据,并传输到I²C接口上。

  • CY8C586LTI作为辅助芯片,通过一个USB接口连接到I²C上获取相关数据,以实现I2C-USB bridge。

这块主板的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®模拟协处理器先锋套件

主要的改变如下:

  • 调整USB产品供应商ID

  • 调整协议,使其适用于CY8CKIT-048PSoC®模拟协处理器先锋套件

  • 把项目从已经淘汰的libhid迁移到libhidapi

  • 确保代码可兼容64位系统

欲查询代码,可访问我的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

  • bluetiger9

    https://github.com/bluetiger9

  • cypress-usb-i2c-bridge

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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信