=====CFNET-FS 다운로드 및 파일 시스템 생성=====
CFNET-FS 파일 시스템을 사용하기 위해서는 다운로드 및 파일 시스템을 생성 과정이 필요합니다.
====cfnet-fs 실행 프로그램 다운로드 ====
* [[modularpi:cfnet-fs:download_start:download:|[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);
[[..:index|CFNET-FS 개요]]