シリアル通信ソフト
シリアル通信ソフトepiconとは
epiconはLinuxのシリアル通信ソフトです。
実践IOTハウスでは、Raspberry PiのUSB接続ToCoStick(トコスティック)からシリアル通信でTOCOS TWE-Liteで温湿度計AM2321センサーやAI・DIOを制御に使っています。
SwitchやRouterなどシリアルポートでとコンソールPCでConfig設定するネットワーク機器はメーカーや機種を問わず使えると思います。
Cisco製SwitchやRouterは設定を自動化する際、事前に作成したテキストデーターをコピー&ペーストして、コンフィグの流し込みを行います。
この時文字と改行の送出ディレィを行いコンフィグデーターの取りこぼしを防ぐことが重要です。このシリアルコンソールとして重要な文字と改行の送出ディレイをepiconはサポート、コンフィグを安心してコピー&ペーストが出来ます。
この他、簡易telnet、zmodemなどのファイル転送ソフト、shell、マクロ、外部ソフトの起動などCUIだが多機能でコンパクトな作りとなっています。
インストール
Download
https://osdn.net/projects/pepolinux/releases/p32111
2
3
4
5
6
7# tar xvfz epicon-XX.XX.tar.gz
# cd epicon
# ./configure
# make
# make install
uninstall
# make uninstall使い方
- 起動、オプションなし(com1:/dev/ttys0ポート、9600bps、8bitノンパリティ)
1
2
3
4
5
6
7
8
9
10
11
12# epicon
** Welcome to epicon Version-5.2 Copyright Isamu Yamauchi compiled:Feb 24 2021 **
exec shell ~!
send binary files ~f
send break ~b
call rz,sz,sx,rx ~rz,~sz,~sx,~rx
call kermit ~sk,~rk
external command ~C
change speed ~c
exit ~.
Connected /dev/ttyS0 - 終了方法
Enter~. - 通信状態->shellへ->コマンド入力->exitで元の通信状態に戻る
Enter~!1
2
3
4
5
6
7
8
9
10
11epicon wait
# ls
AUTHORS README configure.ac install-sh
COPYING aclocal.m4 depcomp missing
ChangeLog autom4te.cache epicon.c patch-gkermit1.0+counter-CentOS4.2
INSTALL config.h epicon.h patch-gkermit1.0+counter1.2.1
Makefile.am config.h.in epicon.nr sample.scr
Makefile.in config.status epicon_main.c stamp-h1
NEWS configure epicon_uty.c
# exit
epicon run - Switchの設定、オプションあり(/dev/ttyUSB0,19200bps,キャラクタディレイ:30ms,CRディレイ:50ms)大昔の経験で、これ位のディレイを設定するとコンフィグの取りこぼしが起こらない。
1
# epicon -d 30 -D 50 -s 19200 -l /dev/ttyUSB0
- Switchの設定、オプションあり(telnet,キャラクタディレイ:20ms,CRデレイ:50ms)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# epicon -d 20 -D 50 -n 192.168.0.1:23
** Welcome to epicon Version-5.2 Copyright Isamu Yamauchi compiled:Feb 24 2021 **
exec shell ~!
send binary files ~f
send break ~b
call rz,sz,sx,rx ~rz,~sz,~sx,~rx
call kermit ~sk,~rk
external command ~C
change speed ~c
exit ~.
Telnet Server 1.10 All rights reserved.
login : - “-c”オプション:外部スクリプトの指定
- mono-wireless無線モジュールTWELITEとMONOSTICKで温湿度計AM2321センサー、アナログ入力、デジタル入出力信号を離れた場所から遠隔監視・制御がするプログラム pepotocsctlで使用しています。
- 以下は、AM2321センサーから温湿度を読み取るスクリプトを作成してepiconを起動します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# /usr/local/bin/epicon -s 115200 -ql /dev/ttyUSBTWE-Lite -c $CMD
# cat $CMD
#!/bin/bash
RETRY=5
I2CRD="-1"
while [ ${RETRY} -ne 0 ];do
retry_time=`echo -en $RANDOM |cut -c 1-2`
echo -en ":7888AA015C0000X\r\n"
msleep 50
read -s -t 1 I2CRD || I2CRD="-1"
echo -en ":7888AA015C03020004X\r\n"
msleep 50
read -s -t 1 I2CRD || I2CRD="-1"
msleep
echo -en ":7888AA025C0006X\r\n"
msleep 50
read -s -n 28 -t 1 I2CRD || I2CRD="-1"
TMP=`echo -en ${I2CRD} | wc -c`
[ ${TMP} -eq 28 ] && break
RETRY=$((${RETRY} - 1))
[ ${RETRY} -eq 0 ] && break
RETRY=$((${RETRY} - 1))
msleep $retry_time
I2CRD="-1"
done
echo -en ${I2CRD} >/dev/stderr
- 起動、オプションなし(com1:/dev/ttys0ポート、9600bps、8bitノンパリティ)
マニュアル抜粋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35# man epicon
epicon(1) epicon Manuals
NAME
epicon is Easy Personal Interface Console terminal software. First I
am sorry. Because my English linguistic power is very shabby, this sen‐
tence is being translated by the machine. Because of that, read it in
the interpretation which it is tolerant of though it thinks that it is
a little funny translation.
SYNOPSIS
usage:
epicon [-options [argument] [-options [argument]]
[-b ] <--escape cannot be used
[-c external_command]
[-d send_charcacter_delay(ms)]
[-D send_CR_delay(ms)]
[-e escape_char]
[-f send_file]
[-F send_file_effective_delay]
[-m ] <--input echo mode
[-M ] <--line mode
[-l com_port]
[-L output_log_file]
[-n ip_address[:port]]
[-p [server_port]]
[-q ] <--quiet mode
[-s speed]
[-v ] <--show version
[-x bit_length (5|6|7) parity(o|e|n) stop_bit (1|2)]
[-z ] <--auto rz prohibition
defaults:
speed: 9600b/s (Higest of 460800)Please check the source code below
https://github.com/kujiranodanna/IOT-House/tree/master/raspberrypi/usr/src/epicon