This is an old revision of the document!


CFNET-FS 다운로드 및 파일 시스템 생성

CFNET-FS 파일 시스템을 사용하기 위해서는 다운로드 및 파일 시스템을 생성 과정이 필요합니다.

cfnet-fs 실행 프로그램 다운로드

Modular Pi의 bash 터미널에서 wget 또는 curl과 같은 명령어를 사용하여 직접 파일을 다운로드할 수도 있습니다.

wget https://downloads.comfiletech.com/CFNET/cfnet-fs/release/1.0.0/linux-arm64/cfnet-fs
chmod +x cfnet-fs

cfnet-fs 파일 시스템 생성

다운로드 후 아래와 같이 실행 파일을 실행하여 CFNET 가상 파일 시스템을 생성합니다.

cfnet-fs {mount-point} {i2c1-device} {i2c2-device} {i2c3-device}

ModularPi 환경에서는 아래와 같이 실행합니다.

cfnet-fs /tmp/cfnet-fs /dev/i2c-0 /dev/i2c-1 /dev/i2c-3

파라미터 설명

  • 마운트 경로 (mount-point) :프로그램을 실행하는 사용자가 접근 가능한 임의의 디렉터리를 지정할 수 있습니다. 예: /tmp/cfnet-fs
  • /dev/i2c-0 : 아날로그 입력/출력 모듈(CFADC, CFDAC 등)에 사용되는 I²C 포트입니다.
  • /dev/i2c-1 : 디지털 입력 모듈(CFDI)에 사용되는 I²C 포트입니다.
  • /dev/i2c-3 : 디지털 출력 모듈(CFDO)에 사용되는 I²C 포트입니다.

cfnet-fs가 실행 중인 동안에는 ls, tree 와 같은 일반적인 파일 시스템 명령어를 사용하여 마운트된 경로(예: /tmp/cfnet-fs)의 파일 시스템을 탐색할 수 있습니다.

$ tree /tmp/cfnet-fs/
├── analog-input
│   └── 0
│       └── channel
│           ├── 0
│           │   ├── amps.txt
│           │   ├── amps.bin
│           │   ├── volts.txt
│           │   └── volts.bin
│           ├── 1
│           │   ├── amps.txt
│           │   ├── amps.bin
│           │   ├── volts.txt
│           │   └── volts.bin
│           ...
├── analog-input
│   └── 1
│       └── channel
│           ├── 0
│           │   ├── amps.txt
│           │   ├── amps.bin
│           │   ├── volts.txt
│           │   └── volts.bin
│           ...
├── analog-output
│   └── 0
│       └── channel
│           ├── 0
│           │   ├── raw.txt
│           │   └── volts.txt
│           └── 1
│               ├── raw.txt
│               └── volts.txt
├── analog-output
│   └── 1
│       └── channel
│           ├── 0
│           │   ├── raw.txt
│           │   └── volts.txt
│           ...
├── digital-input
│   └── 0
│       ├── channel
│       │   ├── 0
│       │   │   ├── state.txt
│       │   │   └── state.bin
│       │   ├── 1
│       │   │   ├── state.txt
│       │   │   └── state.bin
│       │   ...
│       ├── state.txt
│       └── state.bin
├── digital-input
│   └── 1
│       ├── channel
│       │   ├── 0
│       │   │   ├── state.txt
│       │   │   └── state.bin
│       ...
└── digital-output
    ├── 0
    │   ├── channel
    │   │   ├── 0
    │   │   │   ├── state.txt
    │   │   │   └── state.bin
    │   │   ├── 1
    │   │   │   ├── state.txt
    │   │   │   └── state.bin
    │   │   ...
    │   ├── state.txt
    │   └── state.bin
    └── 1
        ├── channel
        │   ├── 0
        │   │   ├── state.txt
        │   │   └── state.bin
        ...

마운트 지점의 파일에서 읽고 쓰는 간단한 작업만으로 Modular Pi + CFNET I/O 모듈 시스템을 자동화할 수 있습니다.

예제 : 디지털 출력 모듈 0번의 채널 3 켜기

Bash Script

echo 1 > /tmp/cfnet-fs/digital-output/0/channel/3/state.txt

C#

File.WriteAllText("/tmp/cfnet-fs/digital-output/0/channel/3/state.txt", "1");

Python

with open("/tmp/cfnet-fs/digital-output/0/channel/3/state.txt", "w") as f:
    f.write("1")

C/C++

FILE *f = fopen("/tmp/cfnet-fs/digital-output/0/channel/3/state.txt", "w");
fputs("1", f);
fclose(f);

CFNET-FS 개요