#nomenubar
*2006年度第22回ゼミ(2006年11月09日)資料 [#ec9090be]

CENTER:[[10月26日(ゼミ#21)>Lab/2006/1026]] << 11月09日(ゼミ#22) >> [[11月23日(ゼミ#23)>Lab/2006/1124]]
CENTER:[[10月26日(ゼミ#21)>Lab/2006/1026]] << 11月09日(ゼミ#22) >> [[11月22日(ゼミ#23)>Lab/2006/1122]]
CENTER:[[研究関係Wikiトップへ戻る>Lab]]

#contents

※前週、および次週はゼミ休み(メールで進捗状況を報告)

**11/09 [#r736d649]

-PICNICの発掘・動作テストに成功
--http://192.168.5.228/
--AccessServletからは、電源が切れてると以下のように表示。

 Error!!!
 No actual reply data found which written in Data Section.

-Armadilloへのインストール
--マニュアル類のうち、StartupGuideは本当に接続や設定のみが記載(ファームの更新方法止まり)
--SoftwareManualに書き換え方法・開発環境等が記載
---7. atmark-distでイメージを作成←これを試す

***現在のところの感想 [#g91f2257]

-もっといろんな機器が操作できるようになれば面白い
-アクセスしてくる端末に合わせてUIが変われば良い
-エラーメッセージが不親切
-誰でもさわり放題はマズい?(認証機構)

***ToDo [#kc16b1be]

-Dynamic Drawで出力したEPSファイルがDVIで見ると文字化けする問題の解決
-データベースのインストール
-(時間があるときに)Linuxマシンのアップデート(というか再インストール)

**11/08 [#q803d1ed]

***ToDo [#q53ad984]

-Picnicとの接続テスト→通信テストはOK・温度センサーはNullPointer
-Event Listが表示されない原因→データベースが未インストール
-Webカメラからのレスポンスがおかしい理由→元々か?要調査
-アルマジロへの移植→11/9開始

**11/07 [#y1e3fd80]

-Webカメラからの画像取得に成功・Webカメラの操作にも成功
--画像はサーバーに保存されるだけでブラウザに出ない
--操作も成功はするが表示される画面が変(HTMLの冒頭数バイトが切れてる?)

DeviceController内でよく例外エラーが発生する部分(640行付近)→try〜catchを挿入

 attrs.put("Attr",params.get(0).toString());
 attrs.put("Name",params.get(1).toString());
 attrs.put("Dest",params.get(2).toString());
 attrs.put("Port",Integer.decode(params.get(3).toString()));

AccessServlet内でWebカメラ情報取得時に例外エラーが発生する部分(301行付近)→try〜catchを挿入

 File dataout = new File("/usr/local/tomcat/webapps/ROOT/servlet/data/" + res_from_dc.attr + ".xml");
 (中略)
 dataout.createNewFile();

**11/1 [#uc242bd8]

-AccessServletのdoGet内ではreturnすればすぐプログラムが終了する
--return直前にout.printlnでエラー内容を出力すれば読むことができる!
--DeviceControllerのReadData内でrtn.return_strにエラー内容を出力する

**10/29 [#s85e51dc]

-500エラーでAccessServletが動作しなかったのはjavaのバージョンが古かったため
--.zshrcでjavaおよびjavacを最新のJDKのalias指定してコンパイルし直し
--500エラーの画面で「サーブレットインスタンスを割り当て中のエラー」と出る時は環境を確認
--tomcat起動時に実行されるsetclasspath.shに正しいclasspathが設定されていなかったのが原因。http://d.hatena.ne.jp/karia/20061029#1162113331
-out.println("なんとか");でHTMLに文字が出力される模様
--getListメソッド内ではダメらしい(コンパイルの段階でエラー扱い)
---return kekkaとして文字列を返しているのでkekka = kekka + "なんとか";として対処
-文字のエンコード関係で警告が大量発生
--動作には影響しないのでjavac時に-nowarnで抑制
--"-encoding EUC-JP"でも抑制されるが、どちらにしろ日本の出力は全部???になる
--"PrintWriter out = res.getWriter();"より前にsetContentTypeが無かったのが原因だった http://www.ingrid.org/java/jserv/i18n/corruptedchar.html#location-1

***AccessServletに直接アクセス [#a0eb7bdd]

-Translation error - javax.xml.transform.TransformerConfigurationExceptionという表示はXmlTrans.class内のエラー表示
-「スタイルシートをコンパイルできませんでした」はXML・XSLのファイル名をわざと間違ったものにしても変化なかった→ファイルの置き場所が悪いor何故かちゃんと読めてない
-''サーバー上のフルパスでxml、xslを指定するとちゃんと動作''→以降はDevice.xml直の時と同じ

***Device.xml上で「クエリ送信」ボタンを押した場合 [#sd501012]

-ArrayList関連のエラーが出る→DeviceController.java内のDevice.xmlの位置を修正すればOK

 java.lang.NumberFormatException: For input string: ""
	java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
	java.lang.Integer.parseInt(Integer.java:468)
	java.lang.Integer.valueOf(Integer.java:526)
	java.lang.Integer.decode(Integer.java:919)
	DeviceController.ReadData(DeviceController.java:643)
	AccessServlet.doGet(AccessServlet.java:184)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

-DeviceController内643行目
--ポート番号と思われる数字の取得に失敗(おそらく空文字が帰って来てる)

→DeviceControllerの643行目をtry〜catchで囲んだ

 java.lang.NullPointerException
	java.util.StringTokenizer.<init>(StringTokenizer.java:182)
	java.util.StringTokenizer.<init>(StringTokenizer.java:204)
	AccessServlet.doGet(AccessServlet.java:200)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

AccessServletの200行目:''aSt = new StringTokenizer(res_from_dc.html_source, "%" );''

***Device.xml上でEvent Listをクリックした場合 [#a4acb4f1]

 java.net.ConnectException: Connection refused
	java.net.PlainSocketImpl.socketConnect(Native Method)
	java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	java.net.Socket.connect(Socket.java:516)
	java.net.Socket.connect(Socket.java:466)
	java.net.Socket.<init>(Socket.java:366)
	java.net.Socket.<init>(Socket.java:179)
	AccessServlet.doGet(AccessServlet.java:109)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

-AccessServletの109行目→"Socket socket = new Socket( "localhost", 5001 );"

***Device.xml上でData Exportをクリックした場合 [#k65dadb2]

-"ERR - Save exception java.io.FileNotFoundException: /servlet/_tmp_ (No such file or directory)"と表示される
--表示してる場所はDeviceController経由・External.class内の''return "ERR - Save exception " + e;''の部分
--実際にhttp://192.168.5.227:8080/servlet/_tmp_が存在しても同じエラー

**関連ページ [#b369fb9e]

-[[Lab]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS