Armadilloでシリアル・イーサネット変換
Armadilloで、seri2ethを使ってシリアル・イーサネット変換を行う事が出来たのでまとめます。
環境
参考にしたページ
- 作ってみよう,MyガジェットPart3 | 組み込みLinuxのArmadilloサイト
- atmark-dist-20100603\user\seri2ethにあるソースコード
前提条件
- シリアルインターフェースが解放済みである事
- TCPクライアントが作成済みである事
- TFTPブートの設定済みである事
1.seri2ethの組み込み
Armadilloにはシリアル・イーサネット変換を行うアプリ"seri2eth"が付属しているので、組み込みを行う。
Main Menu
Kernel/Library/Defaults Selection ---> を<Select> Customize Vendor/User Settings を<Select> < Exit > をEnter < Exit > をEnter Do you wish to save your new kernel configuration? で、< Yes > をEnter
Userland Configuration
Network Applications ---> を<Select> seri2eth を<Select> < Exit > をEnter < Exit > をEnter Do you wish to save your new kernel configuration? で、< Yes > をEnter
設定変更が終わったらmakeを実行します。
2.serial.confの作成
ATDE上でseri2ethの設定ファイルを作成する
atmark@atde3:~/source/20100603/atmark-dist$ vi romfs/etc/config/serial.conf
中身は以下の通り。
SOCKPROTO 0 CONNECTADDR 0.0.0.0 BAUDRATE 115200 DATALEN 3 PARITY 0 STOPBIT 0 FLOWCTRL 0 PORTNO 21347
編集が終わったらイメージファイルを作成し、Armadilloに転送する。
atmark@atde3:~/source/20100603/atmark-dist$ make image
4.seri2ethの実行
Armadilloにtelnetで接続してrootにsuし、seri2ethを起動します。
atmark@atde3:~/source/20100603/atmark-dist$ telnet 192.168.1.119 Trying 192.168.1.119... Connected to 192.168.1.119. Escape character is '^]'. atmark-dist v1.26.1 (AtmarkTechno/Armadillo-420) Linux 2.6.26-at9 [armv5tejl arch] armadillo420-0 login: guest [guest@armadillo420-0 (ttyp0) ~]$ su - Password: [root@armadillo420-0 (ttyp0) ~]# seri2eth -d /dev/ttymxc1
5.TCPクライアントの実行
以前作成したTCPクライアントをネットワークにつながるところで起動します。
コードは以下の通り。
require 'socket' host = if ARGV[0] then ARGV[0] else "localhost" end port = if ARGV[1] then ARGV[1] else "echo" end sock = TCPSocket.open(host, port) while msg = STDIN.gets sock.write(msg) print sock.gets end sock.close
起動します。
C:\Users\toshifusa\Documents\NetBeansProjects\Armadillo\lib>ruby tcpclient.rb 192.168.1.119 21347
まずは、こちらからメッセージを送信。
aaa
TeraTerm側から返信。
bbb
交互に繰り返した結果は以下のようになります。
TCPクライアント側
C:\Users\toshifusa\Documents\NetBeansProjects\Armadillo\lib>ruby tcpclient.rb 19 2.168.1.119 21347 aaa bbb ccc ddd
aaa bbb ccc ddd