匿名

差分

Asterisk+Arduino

895 バイト追加, 2008年10月19日 (日) 16:38
Asteriskからの制御
}
===Asteriskからの制御===
AsteriskからはSystem()でシェルをキックすることでシリアルポートに書き込みます。ArduinoはFDT社のUSB-シリアル変換チップを使用しているため、Linux上からでは/dev/ttyUSBXにみえます。<br>
シリアルにデータを送るシェルは以下の通りです。<br>
#!/bin/sh
TTY="ttyUSB0"
if [ "$1" -lt "1" ]
then
exit
fi
if [ "$1" -gt "9" ]
then
exit
fi
stty -parenb -parodd cs8 -hupcl -cstopb -cread -clocal -crtscts < /dev/$TTY
echo $1 > /dev/$TTY
 
sttyでパラメータを設定した後、echo で引数を/dev/ttyUSB0などに書き込むだけです。<br>
Asterisk側からはextenで
exten => 2,1,system(/var/lib/asterisk/negi.sh 2)
のように引数をつけてシェルをキックすればネギを振ります。<br>
なお、/dev/ttyUSBXのパーミッションに注意してください。<br>