Hatena::ブログ(Diary)

sdkt4aの日記 このページをアンテナに追加 RSSフィード

2008-08-15

FONのシリアルポートでDebianと通信してみるよ。

FON La Fonera (ラ・フォネラ) FON機能搭載 無線LANルータ 世界中のFONスポットで無料インターネットが利用可能!
FON La Fonera (ラ・フォネラ) FON機能搭載 無線LANルータ 世界中のFONスポットで無料インターネットが利用可能!
フォン・ジャパン株式会社
売り上げランキング : 70

おすすめ平均 star
starちょっと悪戦苦闘しましたが、無事に使えるようになりました!
star非常にコンパクト!
star使えないプロバイダーがあります。

Amazonで詳しく見る
by G-Tools

注意

 シリアルコンソールをシリアルポートとして使うことが出来るけど、シリアルポートとして設定しちゃうと、SSHで入ってネットワーク設定してる時に間違っちゃうと死にます\(^o^)/ ファーム入れるところからやり直してね☆

FONシリアルポートについて

 FONにはシリアルポートがついてます。詳しくはDD-WRT - FoNまとめWikiを見てください。

 このシリアルピンを使って、FONシリアル通信をしましょう。

FONシリアルポートの使い方

 フツーのlinuxシリアルポートのように、/dev/ttyS0によってシリアルポートを使うことが出来ます。

 

 初期の設定では、FONにOpenWrtを入れよう!の時に利用したように、シリアルコンソールとして使うようになっているので、その設定をコメントアウトする必要があります。

 設定ファイルはフツーのlinuxと同じく/etc/inittabです。ttyS0からコンソールにログイン出来るようになっているので、コメントアウトします。rebootすれば設定は完了です。

root@OpenWrt:~# vi /etc/inittab 
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K stop
tts/0::askfirst:/bin/ash --login 
#ttyS0::askfirst:/bin/ash --login ←先頭に#を追加してコメントアウト
tty1::askfirst:/bin/ash --login  

root@OpenWrt:~# reboot

 この設定をしてしまうとシリアルコンソールでログインできなくなり、sshとかからログインしないといけないので注意です。

 /dev/ttyS0に対してechoやcatをすればシリアルポートにデータを読み書きできます。

root@OpenWrt:~# echo hello > /dev/ttyS0
root@OpenWrt:~# cat /dev/ttyS0

 

シリアルポート経由でFONDebianとで通信する

 接続に使うケーブルは[FONにOpenWrtを入れよう!:title=FONにOpenWrtを入れよう!]で使ったケーブルをそのまま使います。もしくは、Amazonとかでも売ってるケーブルを使います。

 まずは、FONDebianを試します。

 先にDebianでcat /dev/ttyS0しておき、FONからecho hello> /dev/ttyS0します。

sdkt@debian:~$ cat /dev/ttyS0 ←1.待ちうけ
hello ←3.受信

----

root@OpenWrt:~# echo hello > /dev/ttyS0 ←2.送信 

 という具合です。

 DebianFONも同じ感じに出来ます。

 お互いに、screen /dev/ttyS0すれば、面白いです。


まとめ、じゃない。

 FONについているシリアルポートがフツーに/dev/ttyS0である事に気がつかず、GPIO使わないと外部と通信できないと思いGPIOの制御のやり方まで調べてしまった。シリアルコンソールに使ってたから、あれはコンソール用だと思い込んでたし、ツフーのlinuxシリアルコンソールみたく/etc/inittabでコンソールを無効に出来るとは思いもしなかった>< 

 悲しいことに(嬉しいことに)、FONlinuxだからフツーに出来るんですよね><

 ってことはもう、/dev/ttyS0を使えば、タイマーとか割り込みとかでGPIO監視して、ソフトウェアUARTするカーネルモジュールも書かなくていいだよね? いろいろカーネルディバイスドライバについて調べて無駄知識ついたし、いつか役に立ったらいいなぁ。

 というわけで、あとは/dev/ttyS0を叩くプログラム書くだけになりました><

次回予告、じゃない。

 FONで/dev/ttyS0に対してデータを読み書きするC言語プログラムを作ります。るはずです。。。

バッファローコクヨサプライ Arvel USBシリアルケーブル 1M グラファイト カラー SRC06USB
バッファローコクヨサプライ Arvel USBシリアルケーブル 1M グラファイト カラー SRC06USB
バッファローコクヨサプライ
売り上げランキング : 751

おすすめ平均 star
starFTDI製チップ搭載機種
starよかった・・・
star産業機器等の制御に最適、特殊ボーレートが使用可能

Amazonで詳しく見る
by G-Tools

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元