Suche senden
Hochladen
Rubyを用いたマイコンプログラムの遠隔書き換えシステム
•
3 gefällt mir
•
4,616 views
三七男 山本
Folgen
第2回3Gシールド・アイデア・コンテスト&カンファレンス用資料
Weniger lesen
Mehr lesen
Geräte & Hardware
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 16
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
最近のrubyのインストール方法
最近のrubyのインストール方法
Kazuhiro Nishiyama
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
Ryo ONODERA
Dropbox APIさわってみた
Dropbox APIさわってみた
Ginpei Takanashi
mrubyを使った クラウド連携
mrubyを使った クラウド連携
三七男 山本
さくルビー.Net誕生
さくルビー.Net誕生
三七男 山本
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
Personal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
Empfohlen
最近のrubyのインストール方法
最近のrubyのインストール方法
Kazuhiro Nishiyama
140607 lib o-mini_con-ryoon
140607 lib o-mini_con-ryoon
Ryo ONODERA
Dropbox APIさわってみた
Dropbox APIさわってみた
Ginpei Takanashi
mrubyを使った クラウド連携
mrubyを使った クラウド連携
三七男 山本
さくルビー.Net誕生
さくルビー.Net誕生
三七男 山本
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
Personal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
G * magazine 0
G * magazine 0
Tsuyoshi Yamamoto
Fuchsia概略その1
Fuchsia概略その1
l_b__
VMを改めて学んで見る
VMを改めて学んで見る
kishima7
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
Kazuaki Tanaka
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
真治 米田
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
LINE API × heroku ×selenium
LINE API × heroku ×selenium
医療IT数学同好会 T/T
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
Takuji Kawata
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Al mininum 47redmine-2nd
Al mininum 47redmine-2nd
mikoto20000
mruby/c機能紹介20160329
mruby/c機能紹介20160329
shimane-itoc
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
佑介 九岡
Lagopusとvagrant
Lagopusとvagrant
Masaru Oki
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
法林浩之
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Masahito Zembutsu
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
三七男 山本
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
三七男 山本
Weitere ähnliche Inhalte
Ähnlich wie Rubyを用いたマイコンプログラムの遠隔書き換えシステム
G * magazine 0
G * magazine 0
Tsuyoshi Yamamoto
Fuchsia概略その1
Fuchsia概略その1
l_b__
VMを改めて学んで見る
VMを改めて学んで見る
kishima7
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
Kazuaki Tanaka
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
真治 米田
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
LINE API × heroku ×selenium
LINE API × heroku ×selenium
医療IT数学同好会 T/T
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
Takuji Kawata
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Al mininum 47redmine-2nd
Al mininum 47redmine-2nd
mikoto20000
mruby/c機能紹介20160329
mruby/c機能紹介20160329
shimane-itoc
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
佑介 九岡
Lagopusとvagrant
Lagopusとvagrant
Masaru Oki
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
法林浩之
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Masahito Zembutsu
Ähnlich wie Rubyを用いたマイコンプログラムの遠隔書き換えシステム
(20)
G * magazine 0
G * magazine 0
Fuchsia概略その1
Fuchsia概略その1
VMを改めて学んで見る
VMを改めて学んで見る
Grailsのススメ(仮)
Grailsのススメ(仮)
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Mod mrubyについて
Mod mrubyについて
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
LINE API × heroku ×selenium
LINE API × heroku ×selenium
NAO/Pepper 開発環境 について
NAO/Pepper 開発環境 について
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Al mininum 47redmine-2nd
Al mininum 47redmine-2nd
mruby/c機能紹介20160329
mruby/c機能紹介20160329
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
2014/12/13 第1回 Scala関西勉強会 play2-memcached supports Play 2.4 ~Play 2.4モジュールのつく...
Lagopusとvagrant
Lagopusとvagrant
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
Mehr von 三七男 山本
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
三七男 山本
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
三七男 山本
mruby搭載ボードGR-CITRUSのRubyファームVer2.44~の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.44~の説明
三七男 山本
GR-CITRUS搭載Rubyファームv2.42~の 説明資料 ver2.7
GR-CITRUS搭載Rubyファームv2.42~の 説明資料 ver2.7
三七男 山本
GR-CITRUS リファレンス
GR-CITRUS リファレンス
三七男 山本
ミニハッカソンの作品製作 参考資料
ミニハッカソンの作品製作 参考資料
三七男 山本
GRデザインコンテスト2017 ファイナル説明資料
GRデザインコンテスト2017 ファイナル説明資料
三七男 山本
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
三七男 山本
ロボスピン組み立て手順
ロボスピン組み立て手順
三七男 山本
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
三七男 山本
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
三七男 山本
ロボムーバー組み立て手順
ロボムーバー組み立て手順
三七男 山本
GR-CITRUSハンズオン
GR-CITRUSハンズオン
三七男 山本
モータ制御基板 SAMBOU-KANとロボホンタンク
モータ制御基板 SAMBOU-KANとロボホンタンク
三七男 山本
ロボホンタンクを作る会
ロボホンタンクを作る会
三七男 山本
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
三七男 山本
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
三七男 山本
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
GR-CITRUS用モータ基板の回路図
GR-CITRUS用モータ基板の回路図
三七男 山本
ET2016展示パネル
ET2016展示パネル
三七男 山本
Mehr von 三七男 山本
(20)
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
GR-CITRUS搭載Rubyファームv2.47~の 説明資料 ver3.0
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
2018おうちハックLT小ネタ大会「小型ファンヒーターハック」
mruby搭載ボードGR-CITRUSのRubyファームVer2.44~の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.44~の説明
GR-CITRUS搭載Rubyファームv2.42~の 説明資料 ver2.7
GR-CITRUS搭載Rubyファームv2.42~の 説明資料 ver2.7
GR-CITRUS リファレンス
GR-CITRUS リファレンス
ミニハッカソンの作品製作 参考資料
ミニハッカソンの作品製作 参考資料
GRデザインコンテスト2017 ファイナル説明資料
GRデザインコンテスト2017 ファイナル説明資料
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
ロボスピン組み立て手順
ロボスピン組み立て手順
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
mruby搭載ボードGR-CITRUSのRubyファームVer2.35の説明
ロボムーバー組み立て手順
ロボムーバー組み立て手順
GR-CITRUSハンズオン
GR-CITRUSハンズオン
モータ制御基板 SAMBOU-KANとロボホンタンク
モータ制御基板 SAMBOU-KANとロボホンタンク
ロボホンタンクを作る会
ロボホンタンクを作る会
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
GR-CITRUS用モータ基板の回路図
GR-CITRUS用モータ基板の回路図
ET2016展示パネル
ET2016展示パネル
Rubyを用いたマイコンプログラムの遠隔書き換えシステム
1.
Rubyを用いた マイコンプログラムの 遠隔書き換えシステム ルアリダワークス 山本 和歌山県立 海南高校 瀧本、筈谷、若勇、和田、岸田
2.
2 システム概要 基板はArduino Pro Miniとピン互換、 GR-SAKURAと機能互換となっています。 GR-SAKURA互換基板として使用する には、GR-SAKURAファームを書き込む 必要があります。 マイコンには、mrubyが実装されて おり、Serial
1を使って3Gシールドと やり取りができるRubyのクラスが 用意されています。
3.
3 プログラム書き換えの仕組み インターネット上のサーバにapacheなどを 入れておき、http/httpsでプログラムが取得 できるようにしておく。 インターネット・クラウド DropBoxファイル 公開サーバ上ファイル mrubyボードには、httpを用いて指定ファイルが取得 できるrubyクラスが実装されている。 下記のサイトからのファイル取得が可能なこと が確認できている。 ・DropBox (httpsによる取得) ・Yahoo ジオシティーズ
(httpによる取得) 実行中のプログラム 自分自身を終了させて、 ダウンロードしたプログラムを呼び出す ダウンロードしたプログラム ダウンロードしたプログラム の呼び出し ダウンロードしたプログ ラムの実行
4.
4 プログラム書き換えの仕組み mrubyは、 バイトコードをロードし直せば、 動作プログラムを切り替えられる。
5.
5 実装クラス・メソッド一覧 カーネルクラス pinMode(pin,mode) digitalRead(pin) digitalWrite(pin,value) analogRead(number) pwm(pin,value) pwmHz(value) analogDac(value) delay(value) millis() led(sw) システムクラス Sys.exit() Sys.setrun(filename) Sys.version(r) Sys.push(address,buf,length) Sys.pop(address,length) Sys.fileload() ファイルクラス Mem.open(number,filename,mode) Mem.close(number) Mem.read(number) Mem.write(number,buf,len) Mem.seek(number,byte) シリアルクラス Serial.begin(num,bps) Serial.setDefault(num) Serial.print(number,string) Serial.println(number,string) Serial.read(number) Serial.write(number,buf,len) Serial.available(number) I2Cクラス I2c.sdascl(sda,scl) I2c.write(id,address,data) I2c.read(id,addressL,addressH) I2c.begin(id) I2c.lwrite(address) I2c.end() I2c.request(id,n) I2c.lread() I2c.freq(Hz) ネットワーククラス Net.begin(setBaurate[,oldBaurate]) Net.date() Net.time() Net.lat([timeout]) Net.lng([timeout]) Net.getmrb(server,path,port[,ssl]) Net.restart() Net.shutdown() Net.httpget(server,path,port[,ssl]) Net.httppost(server,path,port,header,body[,ssl])
6.
6 rubyプログラム while(true)do #http://www.geocities.jp/cansatkainan01/からプログラムをダウンロードする x = Net.getmrb("www.geocities.jp","/cansatkainan01/sensor-a.mrb",80) #x=0だったら取得に成功している if(x
== 0)then #sensor-a.mrbの実行セット Sys.setrun("sensor-a.mrb") delay(100) #100ms待つ #"Success load sensor-a.mrb #cansatkainan"とツイートする mes = "Success load sensor-a.mrb #cansatkainan" res = Net.httppost("arduino-tweet.appspot.com","update",80,"",@Token + mes) #今走っているプログラムを終了させる Sys.exit() end @Dat = Net.date() @Tim = Net.time() @Lat = Net.lat(60000) @Lng = Net.lng(60000) #間隔待ち。予定の時間になるまで待っている while(millis() < @ToTime)do #ファイルローダーを呼び出すべきか調べる fileloader() delay(1) #1ms待ちます End #次の動作時間をセットする nextTime() #LEDを点滅させる led(@Sw) @Sw = 1 - @Sw end geocitiesからrubyプログラムをダウンロードするプログラム例です。 mrbファイル名を指定して ダウンロードしている ダウンロード成功の場合 そのmrbファイルが 次に実行されるファイル として登録される Http POSTを利用して tweetしている exit()によりプログラムを 終了させると 登録されたmrbファイルが 実行される
7.
7 今後の目標 クラウドサーバークラウドサーバー O S RubyVM /
JVM Rails / JAX-RS プログラムを書いている H/W RT(C) Framework プログラム mRVM(C) 通信 JAX-RS JVM 組み込みプログラマを増やす
8.
8 今後の目標 クラウドサーバークラウドサーバー クラウド分散 デバイス側の処理負荷を クラウドに持って行く! CloudManegeCloudManegeクラスとクラスと ChannelChannelクラスの実装クラスの実装 binary
9.
9 実際の使用例 和歌山県立海南高校が製作した 疑似人工衛星 キャリアの パラシュート パラシュート ロケット用 キャリア キャリア開閉 機構回路 疑似人工衛星をロ ケットに搭載するた め、キャリアに詰め ている様子
10.
10 実際の使用例 疑似人工衛星を搭載したロケット Bluetooth通信とインターネット通信は、既に動作して いる
11.
11 実際の使用例 JAXA能代ロケット実験場での 打ち上げの様子ロケット 400m程度上 昇し、疑似人 工衛星の入っ たキャリアが 放出される。
12.
缶サット甲子園出場
13.
13 挑戦したミッション はやぶさが行ったような遠隔操作での プログラムの書き換え
14.
14 製作した衛星 RubyボードA RubyボードB 3Gシールド 加速度&ジャイロ センサA 加速度&ジャイロ センサB 温度&気圧センサ 衝撃吸収用クッション ログ用SDメモリ X2 バッテリと bluetooth基板 は取り外し中 ネットワークアクセス用(A)とセンサ制御用(B)の2枚のボードを搭載
15.
ここは動画です
16.
16 お わ り ご清聴ありがとうございました
Jetzt herunterladen