0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

h1654155966.4254 来源:互联网 作者:佚名 2018-04-20 06:59 次阅读

小编今天介绍的项目是通过使用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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206736
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104743

原文标题:如何在Linux/树莓派(Raspberry Pi)上使用赛普拉斯I2C-USB Bridge

文章出处:【微信号:CypressChina,微信公众号:Cypress教程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【爱芯 Pro 开发板试用体验】CPU性能测试,与树莓4B对比

    树莓4B,进行类似的操作,但因为树莓4B的CPU只有4个核心;并发线程数需要改成4,进行编译: make XCFLAGS=\"-D
    发表于 01-01 16:36

    树莓都有哪些功能,是用什么编程的?

    怎么学习树莓树莓和传统单片机的区别是哪些,如果有了树莓该学哪些知识
    发表于 11-09 07:51

    树莓烧录后死机怎么办?

    树莓烧录后死机怎么办
    发表于 10-24 08:06

    树莓如何调整SD卡的分区大小?

    树莓如何调整SD卡的分区大小
    发表于 10-24 06:23

    如何用树莓学习Linux内核源码?

    怎么用树莓学习Linux内核源码?​
    发表于 10-20 07:09

    树莓Python编程指南分享

    树莓python编程指南
    发表于 10-07 08:43

    如何为你的树莓准备张SD卡

    树莓教程与应用
    发表于 10-07 08:18

    树莓传感器教程

    树莓传感器教程
    发表于 10-07 07:13

    树莓的15个应用

    树莓15个应用
    发表于 10-07 06:42

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    树莓全新可更换镜头相机配件官方指南

    树莓相机!树莓推出1230万像素可更换镜头相机配件,配备索尼IMX477传感器,可兼容C和CS卡口镜头,售价50美元!
    发表于 09-26 06:11

    较全的树莓入门资料

    比较全的树莓入门介绍
    发表于 09-25 07:41

    基于树莓的嵌入式Linux开发教学

    + 虚拟机环境 + 交叉编译 + 驱动编程 + 应用层编程 ”开发链可以深入理解和控制嵌入式 Linux 系统,但因其复杂性而更适合需要定制 Linux 内核与驱动的精英开发、精英教育或研究者。树莓
    发表于 09-21 07:09

    有移植树莓派到飞腾的教程吗

    公司基于树莓开发板做的产品 希望移植到飞腾派上,请大佬指导
    发表于 08-28 10:24

    何在python中实现ESP TOUCH协议?

    设备连接到路由器。 有人能告诉我如何在 python 中实现 ESP TOUCH 协议吗?这样所有模块连同树莓都可以从个应用程序同时配置。
    发表于 05-17 08:20