NetBeansで質問させていただきたい

Sun SPOT についてのご質問はこちら。情報交換などにもご利用ください。

NetBeansで質問させていただきたい

投稿記事by senionetworks » 2010年7月23日(金) 19:54

武雄高校科学部の橋口です。

NetBeansで質問させていただきたいのですが
加速度のプログラムを組んでいたところ初めはうまくいき加速度の測定ができていたのですが
途中からエラーが起こってしまい、SunSPOTで実行ができなくなってしまいました。
Accleのプログラムの方に特にエラーの警告が出ていないのですが
実際に実行しようとすると

init:
Please wait while connected Sun SPOTs are examined...
com.sun.spot.client.SpotSerialPortNotFoundException: COM7 not found
at com.sun.spot.client.SerialPortWrapper.initComms(SerialPortWrapper.java:181)
at com.sun.spot.client.SerialPortWrapper.<init>(SerialPortWrapper.java:133)
at com.sun.spot.spotselector.SpotStateChecker.determineState(SpotStateChecker.java:177)
at com.sun.spot.spotselector.SpotInfo.checkState(SpotInfo.java:72)
at com.sun.spot.spotselector.SpotSelector.find(SpotSelector.java:110)
at com.sun.spot.spotselector.SpotSelector.getPortToUse(SpotSelector.java:76)
at com.sun.spot.spotselector.CommandLineSpotSelector.main(CommandLineSpotSelector.java:95)
Java Result: -1
C:\Program Files\Sun\SunSPOT\sdk\ant\find-spots.xml:297: Spotselector failed or was cancelled
構築失敗 (合計時間: 6 秒)

このように出てしまい実行できなくなってしまいました。
Jaca Result:-1の文章からエラーが起こっているようです。

この事についての、改善方法などご指導よろしくお願いします。
senionetworks
 
記事: 115
登録日時: 2010年6月28日(月) 21:30

Re: NetBeansで質問させていただきたい

投稿記事by mikami » 2010年7月23日(金) 19:57

このエラーは、Windows が何らかの原因で Sun SPOT の COM ポートを
持ったまま Java のプロセスが離してくれていない状態だと思います。

試しに SPOT Manager で Get Info などしても同様に COM ポートが
使用中です、という内容のエラーがでるはずです。

対処法は、まず NetBeans でプログラムが実行中でないかどうか確認し
実行中だとそれを中止します。
もし NetBeans で何も実行中でなければ Windows のタスクマネージャで
Java のプロセスを終了してみてください。

それでもだめな場合(だめな場合が多いです) Windows を再起動して
ください。

これで再度実行すると動くと思います。 :lol:

Mikami -
mikami
 
記事: 43
登録日時: 2010年7月06日(火) 17:20

Re: NetBeansで質問させていただきたい

投稿記事by 武雄高校科学部 » 2010年8月03日(火) 15:33

セニオ・ネットワークスの三上様 山口様
無事実行することができました。ありがとうございます。

また質問させていただきたいのですが
加速度をSunSpotの内部に記録させるプログラムを書こうと
まずSunSpotworkshop4CANSATの中にあるRS1をコピーして同じプログラムを作り温度を測れるか実行してみたところ
どこにもエラーはないのですが、いつも最後のところで
Squawk VM Starting (red-100104)...
Uncaught exception in Thread.run():
on thread org.sunspotworld.DateUtils - main
java.lang.IllegalArgumentException: Specified class, org.sunspotworld.DateUtils, must be subclass of javax.microedition.midlet.MIDlet
at java.lang.Throwable.<init>(bci=16)
at java.lang.Throwable.<init>(bci=5)
at java.lang.Exception.<init>(bci=6)
at java.lang.RuntimeException.<init>(bci=6)
at java.lang.IllegalArgumentException.<init>(bci=6)
at com.sun.squawk.imp.MIDletMainWrapper.main(bci=331)
in virtual method #95 of com.sun.squawk.Klass(bci=32)
at com.sun.squawk.Isolate.run(bci=414)
at java.lang.Thread.run(bci=17)
in virtual method #47 of com.sun.squawk.VMThread(bci=42)
in static method #3 of com.sun.squawk.VM(bci=6)
と表示されてSunSpotが動作しません
コピーせずにそのままRS1のプログラムを書き換えた方がよいのでしょうか?どうか教えてください
武雄高校科学部
 
記事: 3
登録日時: 2010年8月03日(火) 09:50

Re: NetBeansで質問させていただきたい

投稿記事by yamaguch » 2010年8月03日(火) 15:51

武雄高校科学部 さんが書きました:コピーせずにそのままRS1のプログラムを書き換えた方がよいのでしょうか?どうか教えてください

何をどこにどのようにコピーしたのかがよく分かりませんが、結果として正しい Sun SPOT のプログラムになっていないようです。もう少し具体的に教えてもらえませんか。

山口
yamaguch
 
記事: 482
登録日時: 2010年7月06日(火) 17:37

Re: NetBeansで質問させていただきたい

投稿記事by 武雄高校科学部 » 2010年8月03日(火) 16:39

新しく別のプロジェクトを作成し、RS1の中にあったDateUtils RMS RS1 ModeSelectorの中のテキストを
コピーして新しいプロジェクトの方に4つ新しくクラスを作成してそこに貼り付けました。
プロジェクトやクラスを直接コピーはしていないです。
一応workshop4CANSAT内のRS1とプロジェクト名以外は同じ状態になっているはずなのですが、
うまくいきませんでした。
うまく説明しにくいのですが、まだ分かりにくいのであれば
またご質問お願いします。

橋口 
武雄高校科学部
 
記事: 3
登録日時: 2010年8月03日(火) 09:50

Re: NetBeansで質問させていただきたい

投稿記事by yamaguch » 2010年8月03日(火) 18:09

プロジェクトの作り方が間違っているようです。
順番にひとつずつ解決していきましょう。

最初にModeSelector を使うアプリケーションを作ってみましょう。

(1) 新しい Sun SPOT のプロジェクトを作ります。ProjectX という名前だとします
(2) そのままでもいいですから、実行できることを確認します
(3) ModeSelection のプロジェクトを開きます
(4) プロジェクトのウィンドウで、ModeSelector.java を右クリックし、コピー(Copy)を選びます
(5) プロジェクトのウィンドウで、ProjectX の下の src を開き、その下の org.sunspotworld で右クリックしてペースト(Paste)からRefactor Copy... を選んでください。これで ModeSelector.java が ProjectX にコピーされます
(6) ProjectX をModeSelector クラスを使うように修正してください
(7) ProjectX を実行してみてください

これがうまく行ったら、同じようにして RMS や DateUtils などのクラスを順番にコピーしてください。

山口
yamaguch
 
記事: 482
登録日時: 2010年7月06日(火) 17:37

Re: NetBeansで質問させていただきたい

投稿記事by 武雄高校科学部 » 2010年8月09日(月) 17:14

ご指導ありがとうございます。
実際にやってみようとしたのですが、基本的な事なのですが2つほど分からないことがあるのですが、

コピーしたModeSelector.javaをコピー先のsrcの下のorg.sunspotworldを右クリックしてペーストからRefactor copy

とあるのですがRefactor copyはリファクタリング コピーでいいのでしょうか?

またこれが原因で正常に動作していないと思うのですが
ModeSelector クラスを使うように修正するのはどうすればいいのでしょうか?

後者の方が色々を調べてみたのですが、上手く探しきれませんでした。

どうかよろしくお願いします。
武雄高校科学部
 
記事: 3
登録日時: 2010年8月03日(火) 09:50

Re: NetBeansで質問させていただきたい

投稿記事by yamaguch » 2010年8月09日(月) 20:21

Refactor Copy... は、リファクタリング コピーのことです。
ところで一つ前のポストの ProjectX は、実際に作ってみられたでしょうか。

もし ModeSelector クラスの使い方が分からないようであれば、講習会の資料を見直してください。

山口
yamaguch
 
記事: 482
登録日時: 2010年7月06日(火) 17:37


Return to Sun SPOT 質問箱

cron