• Share
  • Email
  • Embed
  • Like
  • Private Content
Lego mindstorms with Java (leJOS)
 

Lego mindstorms with Java (leJOS)

on

  • 230 views

This presentation explain the leJOS which run Java on LEGO Mindstorms.

This presentation explain the leJOS which run Java on LEGO Mindstorms.

Statistics

Views

Total Views
230
Views on SlideShare
228
Embed Views
2

Actions

Likes
5
Downloads
0
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Lego mindstorms with Java (leJOS) Lego mindstorms with Java (leJOS) Presentation Transcript

    • IoT の基礎 教育版レゴ・マインドストーム Yoshio Terada Java Evangelist Fusion Middleware Org Jul 24, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むこと はできません。以下の事項は、マテリアルやコード、機能を提供することをコミ ットメント(確約)するものではないため、購買決定を行う際の判断材料になさ らないで下さい。オラクル製品に関して記載されている機能の開発、リリースお よび時期については、弊社の裁量により決定されます。 Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Program Agenda はじめに LEGO Mindstorms について 1 2 3 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 4
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 5 はじめに Internet Of Things
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 2020 年までに、 500 億のデバイスやモノが インターネットに接続され ると予測されています。 Oracle Confidential – Internal/Restricted/Highly Restricted 6 500億
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 全てが繋がる 時代へ !!
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 組み込み用のプログラミングを ちょっと試してみたい方 学生のお子様がいらっしゃる方 Oracle Confidential – Internal/Restricted/Highly Restricted 8
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | “LEGO Mindstorms” Oracle Confidential – Internal/Restricted/Highly Restricted 9
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 10 • 1998年に最初バージョンをリリース • MIT と LEGO 社による共同開発 • 全ての物がコンピュータと接続される時 代に向け、ブロックとセンサーを組み合 わせてプログラムができる LEGO ブロッ クを提供 LEGO Mindstorms とは
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 11 • プログラミング教育に適した LEGO Mindstorms のパッケージ • 玩具版に無いソフトウェア追加機能 • 玩具版と異なるパーツ類 • サポートも提供 • 専用教材、ドキュメント等 教育版 LEGO Mindstorms
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 12 EV 3 本体の入出力ポート × 4 入力:タッチ・センサー、超音波センサーなど ポート : 1, 2, 3, 4 出力:モータなど ポート:A, B, C, D
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 13 USB (Wifi) , SDカード、スピーカー
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 14 教育版 EV 3 に付属の入出力デバイス • 入力デバイス – 超音波センサー – タッチ・センサー – カラー・センサー – ジャイロ・センサー • 出力デバイス – 大モータ – 中モータ • その他 – LEGO パーツ – バッテリ、アダプタ等
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 15 • 標準ファームウェアの置き換え – Micro SD にインストール • LEGO のハードウェアを制御する Java APIを提供 Lego Java Operating System (leJOS) EV 3 ハードウェア EV 3 システムROM leJOS ファームウェア leJOS 基本クラス leJOS ユーザ・アプリケーション
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | http://tinyurl.com/javaseembedded8 http://tinyurl.com/java-lego Java SE Embedded 8 の入手先
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | ご参照:http://tinyurl.com/lejos-setup leJOS の環境設定 • デスクトップ(Mac,Win,Linux) – Java SE 8 – NetBeans 8.0 – Maven • LEGO Mindstorms – Micro SD Card (bootable FAT32 format) – leJOS (0.8.1-beta) – Java SE Embedded 8 • Wifi ルータ
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | leJOS アプリケーション開発環境 NetBeans 8 (JDK 7,8) LEGO Mindstorms Wifi ルータ scp, ssh
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | デスクトップ環境における準備事項 NetBeans 8 (JDK 7,8) LEGO Mindstorms Wifi ルータ scp, ssh
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 統合開発環境 & ビルド・ツールの選択
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 実行可能な jar ファイルを作成 MANIFEST.MF ファイルの記述 Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: Yoshio Terada Class-Path: /home/root/lejos/lib/ev3classes.jar /home/root/lejos/libjna/usr/share/java/jna.jar Created-By: Apache Maven 3.0.5 Build-Jdk: 1.8.0 Main-Class: com.yoshio3.legomind.EV3AppMain ※ Maven の場合 maven-jar-plugin を使用し pom.xml に設定 Class-Path: 行の実際の記述は空白で区切る(改行は禁止)
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 22 LCDに Hello World 表示するアプリの作成&ビルド public class EV3AppMain { public static void main(String... argv) { EV3AppMain main = new EV3AppMain(); LCD.drawString(“Hello World”, 0, 0); EV3 ev3 = (EV3) BrickFinder.getLocal(); Keys keys = ev3.getKeys(); keys.waitForAnyPress(); } }
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | jar ファイルのコピー NetBeans 8 (JDK 7,8) LEGO Mindstorms Wifi ルータ scp
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 24 ビルドし実行可能 jar ファイルを作成後 scp で LEGO Mindstorms へファイルをコピー > scp LEGOMind-1.0-SNAPSHOT.jar root@192.168.1.100:/home/lejos/programs ※ Maven では wagon-maven-plugin を利用しビルド時 に scp で LEGO Mindstorms にファイルをコピー http://maven.apache.org/wagon/ コマンド・ラインから実行する場合
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | leJOS で動作確認 NetBeans 8 (JDK 7,8) LEGO Mindstorms Wifi ルータ scp
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 26 LEGO Mindstorms 上でアプリケーションの実行 メニューよりプログラム・ディレクトリを選択 1.プログラム DIR の選択 2.ファイル の選択 3.ファイル の実行 4.実行結果
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 応用編 Oracle Confidential – Internal/Restricted/Highly Restricted 27
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 28 leJOS EV3 API ご参照:http://www.lejos.org/ev3/docs/ • 入力デバイス用の API – 超音波センサー – タッチ・センサー:EV3UltrasonicSensor – カラー・センサー:EV3ColorSensor – ジャイロ・センサー:EV3GyroSensor • 出力デバイス用の API – 大モータ: EV3LargeRegulatedMotor – 中モータ: EV3MediumRegulatedMotor
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 29 Button.LEDPattern(i); LCD.drawString("LED PATTERN : " + i, 0, 0); LED の点灯と点滅表示 1: 緑色表示 2: 赤色表示 3: 橙色表示 4: 緑色点滅 5: 赤色点滅 6: 橙色点滅
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 30 import lejos.hardware.motor.Motor; import lejos.robotics.RegulatedMotor; private static final EV3LargeRegulatedMotor leftMotor = Motor.B; void operateMotorSample(){ leftMotor.forward(); // stop() か flt() が呼び出されるまで前進 leftMotor.backward(); // stop() か flt() が呼び出されるまで後進 leftMotor.stop(); // 停止 leftMotor.rotate(360); //指定した角度まで回転 leftMotor.setSpeed(50); //回転速度の設定 } モーターの回転
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 31 private static final EV3UltrasonicSensor ursensor = new EV3UltrasonicSensor(SensorPort.S4); ExecutorService execSvc = …… //専用の監視スレッドで監視 execSvc.submit((Runnable) () -> { SensorMode sonic = ursensor.getMode(0); //0: Distance Mode(cmで取得) 1:Listen Mode float value[] = new float[sonic.sampleSize()]; while (true) { //超音波センサーの場合sonic.sampleSize()が必ず1を返すので value[0] にしか代入されない sonic.fetchSample(value, 0); int centimeter = (int) (value[0] * 100); //1mが1.000 (MIN:3cm MAX:250cm) if (Integer.MAX_VALUE != centimeter && centimeter <= 250) { LCD.clearDisplay(); LCD.drawString("Distance : " + centimeter, 0, 0); } Delay.msDelay(100);}}); センサー(超音波)から情報取得
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | IoT with WebSocket
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | LEGO(Java SE Embedded) & Java EE 7 WebSocket デモの構成 GlassFish v4.0.1 Java SE8/EE 7 Java SE8 Embedded LEGO MindStorms の操作命令を送信 LEGO MindStorms の状態情報を送信 WebSocket LEGO エンドポイント WebSocket サーバ エンドポイント WebSocket ブラウザ エンドポイント JSON JSON JSON JSON
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 試してみたい方 Oracle Confidential – Internal/Restricted/Highly Restricted 34
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 35 • キャンペーンコード 「EV3JavaTERA」 – EV3基本セット – EV3のMモーターをプレゼント 教育版 LEGO Mindstorms http://www.afrel.co.jp/
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 36
    • Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 37