Arduino TNC #12012/12/14 06:45

Arduino UNO

AFSK 用 TNC を Arduino を使って組み立てます。

今回は Arduino uno を買った。包装はウノ繋がり?でトランプっぽい箱だ。

まずは テキトウなプログラム を書き込む練習をした。

書き込みプログラム: avrdude を YaST で追加する。

Arduino uno を USB ケーブルで Linuxマシンに繋ぐと,idVendor=2341, idProduct=0043 と認識されて,デバイス /dev/ttyACM0 が追加される。

このURLを参考にして,コマンドラインから書き込んだら,エラーっぽいメッセージが表示される。書き込んだハズのプログラムからの応答もない。

http://dev.bertos.org/wiki/ArduinoHowto

% avrdude -p m328p -c arduino -P /dev/ttyACM0 -b 57600 -F -U  images/aprs.bin -v -F
avrdude: stk500_getsync(): not in sync: resp=0x1c ←

avrdude done.  Thank you.

調べると通信速度の設定が効くようだ。うちでは 115200 baud で書き込めた。

http://hiderobo.blog26.fc2.com/blog-entry-99.html

% avrdude -p atmega328p -b 115200 -c arduino -P /dev/ttyACM0 -U images/aprs.bin -v -F

avrdude: Version 5.10, compiled on Feb 22 2011 at 23:46:41
(中略)
avrdude: AVR device initialized and ready to accept instructions 

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f

avrdude: input file images/aprs.bin auto detected as raw binary
avrdude: writing flash (20696 bytes):

Writing | ################################################## | 100% 3.71s

avrdude: 20696 bytes of flash written
(中略) 
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 2.94s

avrdude: verifying ...
(中略)
avrdude done.  Thank you.

Masat-1, CSSWE2012/12/15 17:10

Masat-1の12時のパスを受信する。ビーコンで 5000bpsCOMtest:USRP を送信していた。デコードには やはり USRP が必要なようだ...

CSSWEの13時のパス,感なし。

CSSWE 送信再開2012/12/17 21:37

12/16日は聞くだけだったが,12/17日3時のパスでデコードすることが出来た。今回はビーコンを 夜中も 送信している,驚いた。

帰宅すると停電だった。これも驚いた。

Arduino TNC #22012/12/19 22:15

BeRTOS

AVR の開発環境は BeRTOS を選択した。AX.25 UIフレームの送受信が可能なサンプルが供給されていること + 開発がLinux で出来るからだ。

下記URLを見ながら,コンパイルまで やってみた。

http://dev.bertos.org/wiki/ArduinoHowto

% ./wizard/bertos.py 

を実行すると,BeRTOS の選択画面が表示されるので,bertos.tar.bz2 を展開したディレクトリを選択すると良い。

プロジェクト選択画面に進んだら,Examples タブを選択して,APRS Radio demo を選択する。

Toolchain の選択画面に進むが,AVR 用の GCC が見付からない。ググって下記リンクを発見した。コマンドラインから openSUSE 11.4用のリポジトリを追加して,インストールすれば良い。

http://playground.arduino.cc/Linux/OpenSUSE

Toolchain の選択画面で search ボタンを押して /opt/cross/avr/bin を指定する。検索結果から avr-gcc を選択して validate するとチェックマークにかわる。(添付画像)

あとは make して,avrdude で書き込んでお終い。

% make
Building revision 10
aprs: Compiling bertos/algo/crc_ccitt.c (C)
(中略)
aprs: Linking images/aprs.elf
"/opt/cross/avr/bin/avr-"objcopy"" -O srec images/aprs.elf images/aprs.s19
"/opt/cross/avr/bin/avr-"objcopy"" -O ihex images/aprs.elf images/aprs.hex
"/opt/cross/avr/bin/avr-"objcopy"" -O binary images/aprs.elf images/aprs.bin

YAAC 1.0β #22012/12/23 11:33

YAAC 画面

久しぶりに YAAC を動かしてみた。

バージョンアップで 地図表示 が劇的に変化した。USGSの地形図がサポートされて,筑波山や霞ヶ浦が見て判るようになった(添付画像)。

まず SRTM(スペースシャトル立体地形データ)をダウンロードする。

File→Topographic→Download Tiles

次に 地形図の表示を有効にする。

View→View Map Layers...→Show Topograhpy で Show Topographic Regions だけチェック

機能面では AGWPE のサポートと web サーバの追加が興味深い。後者は YAAC の地図がリモートから確認できるそうだが,詳細不明。