Panasonic WR3381K ץץ

åʤɤ ON/OFF ˻ȤäƤץफ鼫ͭʬ
ΤǤμΥץϥߥ󥰤ʤ undocumented ʬ
ԺǲΤ˻֤ޤΤǡºݤưץबȡ
ȯμ֤ʤޤ

ץߥ󥰥ޥ˥奢֥ե룲⥳ ԥ塼 󥿥ե 
˥å WR 3381K 谷פ

  http://www2.panasonic.biz/es/ai/products/search/detail?dep=&c=search&item_no=WR3381K&item_cd=WR3381K&bh_cd=3&b_cd=301&style=

Ǥޤ

ĴˤĤƤϹθƤޤ


[1] ư

Υƥ LAN ƤFreeBSD ΥСü饢ˤ
񤤤ƤޤLinux ʤɡ¾ΥƥǤϼ㴳ν񤭴ɬפˤʤȻפ
ޤ

  -- LAN -- MOXA NPort5450 (Port 1) -- RS232 -- WK3381K

  NPort5450 (Port 3)  - 9600 bps, 8 data, 1 stop, no parity, RS-232
  WK3381K  - å 1 : 1010, å 2 : 00111000

  RS-232 ֥ Dsub9P(F) <-> Dsub25P(M) Modem cable㤨
  掠ץ饤 KRS-3102FK ʤɤǴ֤˹礤ޤñ

ȤȤƤϡcron(8) ˤ륳ԥ塼ˤ뼫ưȡWEB server ȥ
饦Ȥ߹碌ˤͼǤγǧȤ߹碌Τ̤Ǥ


[2] ޥ

ޥ        a - Panasonic ե룲⥳
ʸ            a [ץ] [ޥ]
ץ      -v      # ǥХåɽ
 -C                     # 롼פȥѥƤ򥯥ꥢ
 -Gn a1, a2, .. # 롼ץɥ쥹 n ٥ɥ쥹 1 - 127 Ƥ
 -c                     # ϩ֤ǧ
 -gn                    # 롼ץɥ쥹 n γƤĴ٤
 -r                     # ٤ ON/OFFĴ٤
 -r a1, a2, ..          # a1, a2, ..  ON/OFFĴ٤

 a 109 114              # 109  114  ON
 a -109 -114            # 109  114  OFF
 a g1 g-2               # p 1  ON롼 2  OFF
 a -G1 27 28            # 롼 1  27  27 
ON/OFF 楳ޥɤ ON/OFF ֲϩֹפʸǶڤäƻꤷ
ʤ OFFʤ ON ˤʤޤ̲ϩβϩֹ 1  256 ޤǡ
롼ֹ 1  127 ޤǤΥץǥ롼פ ON/OFF 
Ԥϥ롼ֹ 384 ûͤꤹ뤫Ƭ g ʸղä
롼ֹꤷޤ
⥪ץꤷʤɸϤ鲼Υޥɤɤ߼ä
¹Ԥޤ
 n control
 ..
n (0 < n) ϲϩֹ桢control (0 ޤ 1) ǡꤷϩ 0 
OFF1  ON ˤޤ


[3] ѥ

Ŭʥǥ쥯ȥ˥ɤŸ make ¹ԤǤ

  cd ȥǥ쥯ȥ
  tar zxvf davis.ta.gz
  make
  make clean

ץ̾ a ԹΤ褤̾˽񤭴Ƥinstall target ɲä
ơǽ񤭴ΤɤȻפޤ

ѥ FreeBSD-8.4  gcc 4.2.1  FreeBSD-10.3  clang 3.4.1 ǳǧ
ޤ


[5] ԥ塼ΥꥢݡȤؤľ³

LAN ³ǤʤޥܡɤΥꥢݡȤȤ USB/RS-232 ѴȤϡ
lib.c  serOpen()  serClose() 򲼵Τ褦˽񤭴
a.c 

  if ((fd = serOpen(HOST, PORT)) < 0)
	error("can not open %s", HOST);

㤨

  #include <termios.h>
  #define PORT "/dev/cuau0"

  if ((fd = serOpen(PORT, B19200, CS8)) < 0)
	error("can not open %s", PORT);

Τ褦ˤ˽񤭴ޤ


int serOpen(port, speed, conf) char *port; int speed, conf;
{
  int fd;

  if ((fd = open(port, O_RDWR|O_NONBLOCK)) == -1)
	error("can't open %s", port);
  if (tcgetattr(fd, &tios) == -1)
	error("ioctl(TCGETS) failed", (char *)0);
  tios.c_iflag =0;
  tios.c_oflag = 0;
  tios.c_cflag = CLOCAL|CREAD|HUPCL|CRTSCTS|conf;
  tios.c_lflag = 0;
  tios.c_cc[VMIN] = 1;
  tios.c_cc[VTIME] = 0;
  if (cfsetospeed(&tios, speed) == -1)
	error("cfsetospeed(0x%x) failed.", speed);
  if (cfsetispeed(&tios, speed) == -1)
	error("cfsetispeed(0x%x) failed.", speed);
  if (tcsetattr(fd, TCSANOW, &tios) == -1)
	error("ioctl(TCSANOW) failed", (char *)0);
  return fd;
}

serClose(fd)
{
  close(fd);
  return 0;
}


ʿ , 2016-11-01
