在Raspberry Pi上安装EPICS来控制Arduino

Arduino的出现让曾经只有专业人士才能使用的集成电路变为平易近人的电子设计工具,即使没有程序设计基础,也可以通过简单的学习,掌握使用Arduino的方法。在硬件方面,Arduino本身是一款非常容易使用的印刷电路板。电路板上装有专用集成电路,并将集成电路的功能引脚引出方便我们外接使用。同时,电路板还有USB接口方便与电脑连接。在软件方面,Arduino提供了专门的程序开发环境Arduino IDE。只要到Arduino的官方网站上,就可以下载到许多免费的开源软件。此外,Arduino的硬件设计也是开源的,你可以下载到Arduino电路板的电路原理图,甚至是印刷电路板的加工文件。

Arduino系列微控制器具有合理的输入和输出功能。 虽然有不同的版本,每个版本都有一些独特的功能,但大多数控制器都有一个USB端口,一些数字输入和输出端口,一些脉冲宽度调制(PWM)数字端口和一些模拟输入端口。Arduino可以将其I/O功能集合提供给外部控制系统,例如EPICS。对于EPICS(或其他控制系统),Arduino显示为I/O控制器。 为了与外部系统连接,独立于外部系统细节的通用命令语言被编程到Arduino中,并且板通过USB进行通信。

Raspberry Pi是一款基于ARM的单板计算机,默认运行一款称为Raspbian的操作系统,它是基于Linux内核和Debian操作系统开发的开源操作系统。操作系统被装载在一张TF卡上,由USB供电。你只需要再连接上鼠标、键盘和显示器或者电视机,就可以进行基于Linux操作系统的程序设计了。从2012年树莓派诞生到现在,利用树莓派的体积小、成本低、便携性好、可编程、可联网等特点,其已经被全球各地的使用者们应用到了各种各样的有趣的创意项目中。

本文阐述在Raspberry Pi上安装EPICS来控制Arduino!

也就是说,在Raspberry Pi上安装EPICS IOC并从另一台机器(在同一网络上)使用Channel Access来控制Arduino。这可以是建立诸如环境监测站(温度,灰尘,湿度,光线等)此类的大型计划的一部分,并且可以在线查看数据、存档以备将来分析等。

启动和运行它的方法相对容易解释,但详细的配方非常复杂。

为了使系统按照我想要的方式工作,我有三件事要做:

  • 构建可控的Arduino系统,对此只有三个要求:
    1. 具有可写值,例如发送到LED的PWM信号的占空比。
    2. 具有可读值,例如与LED相邻的光敏电阻上的电压降。
    3. 可以通过串行连接设置/读取这些值。
  • 在Raspberry Pi上构建EPICS IOC,处理与Arduino的连接。也就是说,通过Channel Access(CA)向本地网络提供几个PV,并与Arduino进行适当的串行通信。
  • 在同一网络上的另一台计算机上构建环境,以允许CA与EPICS IOC通信,以及开发GUI控制面板。

虽然这个系统的架构原理比较容易理解,但是对于初学者,实现起来却比较复杂,因为它的细节比较多。

发表回复