7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SotaにWebSocketサーバを立て、ブラウザから操作する

Last updated at Posted at 2016-12-03

SotaにWebSocketサーバを立て、ブラウザから操作する

こんにちは。ヤマロボエンジニアの鵜澤です。

今回は、ヴィストン株式会社が販売しているコミュニケーションロボットSotaに、Javaで作ったWebSocketサーバーを立ててみました。

動作している感じ

ブラウザから起動するラジコン的な何か

SotaServer

概要

Sotaに登録できるアプリケーションはjarの形式で、
java -jar アプリケーションjarファイルで実行できるようにする必要があります。
MANIFEST.MFでクラスパスを指定すれば、Sota内部のライブラリを読み込むこともできますが、今回はサーバー、Sota用ライブラリ等全てが入った、実行可能jarを作成していきます。

使ったソースはyamarobo/SotaServerに上がっています。
WebSocketサーバがクライアントから受け取ったメッセージに応じて、
CRobotMotionを通じてSota命令を出すような構成にします。

ソースはこちらから入手可能です。
ソースをクローンしてきたら中に入り、gradle buildを実行するとbuild/libs以下にjarが作成されます。
あとはSotaにjarを登録すれば、ポート3000にブラウザでアクセスすると画面が表示されます。

関連記事: Sotaへのアプリケーション登録方法を書いた過去の記事です。

内容

開発環境は以下です。

  • Java8: version "1.8.0_102"
  • Eclipse: Version: Neon.1a Release (4.6.1)
  • Gradle 3.2

WebSocketのサーバとしてはjarにまとめる必要があるため軽量なサーバであるjettyを使います。ビルドはgradleを使って、jetty関連のjarをプロジェクトに追加しています。

作動させる

yamarobo/SotaServerからソースをクローンしてきてください。
クローンしたソースのgradle.buildを作動させてjarを作成します。
buildタスクを実行すると、サーバを単独実行するのに必要なものが一つにまとまったjarが作成されます。

転送方法などは過去の記事を参照ください。

配置完了後、再起動すると背中のボタンから登録したアプリを実行できます。
実行後、ブラウザからSotaのIPにポート3000でアクセスすると、画面が表示され、WebSocket通信が開始されます。

プルダウンからコントローラを選んで、アクションをさせてみましょう。
サンプルにはいくつかの決まったアクションの他に、manualアクションというものがあり、Sotaの各関節の値をブラウザから操作できるようになっています。

各関節の可動範囲の制御は一応行なっていますが、組み合わせによっては接触の恐れがあるため、まずは200くらいの幅で作動させてください。

感想

vstoneMagicの命令ブロックにはTCP/IPのサーバが用意されているみたいです。。。

読んでくださりありがとうございました。

参考

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?