SlideShare a Scribd company logo
JavaScriptでも
鉄道模型制御
JavaScriptでIoT !! JS Board Shibuya #6 LTナイト!
綾瀬ヒロ
Twitter: @ayasehiro
2015/12/14 1All rights reserved. Copyright(C)2015 AYASE Hiro
ビールサーバもIoT
n なんでもインターネットにつなげるぞ
ということで、ビールサーバをつなげてみた。
All rights reserved. Copyright(C)2015 AYASE Hiro 22015/12/14
ビールサーバもIoT
n ビールサーバで注いだ量を可視化してみました
All rights reserved. Copyright(C)2015 AYASE Hiro 3
Azure Office 365
IoT Hub Stream
Analytics Job
Power BI
ビールを注いだ
流量と累積量をグラフ化
REST API
共有メモリ
流量計
Arduino
(マイコンボード) Luaスクリプト
FlashAir
2015/12/14
鉄道模型ミニレイアウト
n アタッシュケースのなかに 鉄道模型ミニレイアウト
を作りました。
All rights reserved. Copyright(C)2015 AYASE Hiro 42015/12/14
鉄道模型ミニレイアウト
n 鉄道模型制御の仕組み(iOSアプリ)
All rights reserved. Copyright(C)2015 AYASE Hiro 5
モータドライバ
PWM
出力
デジタル
IO出力
フォトカプラ
デジタル
IO入力
WebAPI
共有メモリ
マイコン
Arduino
(列車走行位置センサー)
線路
分岐器
モータドライバ
車両の
モータ駆動
今回利用のWi-Fiモジュール:
東芝製無線LANとWebサーバ内蔵
SDカード(FlashAir)
iPad
2015/12/14
鉄道模型ミニレイアウト
n 鉄道模型制御の仕組み(JavaScript)
All rights reserved. Copyright(C)2015 AYASE Hiro 6
モータドライバ
PWM
出力
デジタル
IO出力
フォトカプラ
デジタル
IO入力
WebAPI
共有メモリ
マイコン
Arduino
(列車走行位置センサー)
線路
分岐器
モータドライバ
車両の
モータ駆動
今回利用のWi-Fiモジュール:
東芝製無線LANとWebサーバ内蔵
SDカード(FlashAir)
ブラウザ
JavaScript
HTML
2015/12/14
FlashAir
n 東芝製のWi-Fi内蔵SDカード
n デジカメ用に市販されているもの
n 実は、Wi-Fi内蔵マイコンとしても使える。
2015/12/14 7All rights reserved. Copyright(C)2015 AYASE Hiro
Webサーバ
Wi-Fi AP
SDストレージ
共有メモリ
Luaスクリプト
実行環境
API iSDIO
HTML
JavaScript
Lua
スクリプト
Wi-Fi接続デバイス マイコン等
Webサーバ
Wi-Fi AP
SDストレージ
共有メモリ
Luaスクリプト
実行環境
API iSDIO
HTML
JavaScript
Lua
スクリプト
Wi-Fi接続デバイス マイコン等
FlashAirのAPI(共有メモリ)
n API
n 今回は共有メモリを利用
n 共有メモリの仕様
n 512バイト利用可能。
n 文字列を読み書きできる。
2015/12/14 8All rights reserved. Copyright(C)2015 AYASE Hiro
■共有メモリの読み込み(例:先頭0番地から6文字を読み込む)
http://flashair/command.cgi?op=130&ADDR=0&LEN=6
戻り値:ABCDEF
■共有メモリの書き込み(例:6文字「ABCDEF」を先頭0番地から書き込む)
http://flashair/command.cgi?op=131&ADDR=0&LEN=6&DATA=ABCDEF
ADDR:先頭アドレス LEN:文字列長さ DATA:書き込む文字列
ADDR:先頭アドレス LEN:文字列長さ
Webサーバ
Wi-Fi AP
SDストレージ
共有メモリ
Luaスクリプト
実行環境
API iSDIO
HTML
JavaScript
Lua
スクリプト
Wi-Fi接続デバイス マイコン等
FlashAirのAPI(共有メモリ)
n JavaScriptからAPIを呼び出す
n 詳しい説明は省略
2015/12/14 9All rights reserved. Copyright(C)2015 AYASE Hiro
■共有メモリの読み込み
var request = new XMLHttpRequest();
request.open("GET , "http://flashair/command.cgi?op=130&ADDR=0&LEN=6", false);
request.send(null);
var membuffer = request.responseText;
FlashAirのファイル配置
n SDカードに、JavaScriptを含むHTMLファイルをコピー
するだけ
n http://flashair/に接続するとList.htmがデフォルトで表
示される。
2015/12/14 10All rights reserved. Copyright(C)2015 AYASE Hiro
SDストレージ
DCIMフォルダ
SD_WLANフォルダ
CONFIG
Line1.png…
List.htm
/
表示画像
本体HTML
FlashAir設定ファイル
DEMO
実際に動かしてみましょう
2015/12/14All rights reserved. Copyright(C)2015 AYASE Hiro 11
鉄道模型もIoT化
n 鉄道模型の走行位置と走行速度を可視化してみました
All rights reserved. Copyright(C)2015 AYASE Hiro 12
Azure Office 365
IoT Hub Stream
Analytics Job
Power BI
REST API
共有メモリ
在線センサー
Arduino
(マイコンボード)
Luaスクリプト
FlashAir
2015/12/14
FlashAirを知るには
n FlashAir Developers
n FlashAir同人誌1/2
FlashAir DevelopersでPDF公開中!
n 「空と月」(FlashAir 裏同人誌)
FlashAir中の人+綾瀬で作った
電子工作(+酒)の本
冬コミ 12/31(3日目) 東メ−08a
新刊あります!既刊も再販しますよ。
2015/12/14All rights reserved. Copyright(C)2015 AYASE Hiro 13
https://flashair-developers.com/ja/
APIリファレンス、サンプルコード
各種チュートリアル、フォーラム等
新刊! 既刊
冬コミよろしくね
2015/12/14All rights reserved. Copyright(C)2015 AYASE Hiro 14

More Related Content

PDF
JS Board で IoT は楽勝か?
PDF
f3js - JS Board Shibuya #6 LT
PDF
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
PDF
Smart.js: JavaScript engine running on tiny MCU
PPTX
ネットに繋いでIoTしよう
PDF
JS Board Shibuya もくもく会#2
PDF
JS Board Shibuya #2 もくもく会「littleBitsとMilkcocoa」
JS Board で IoT は楽勝か?
f3js - JS Board Shibuya #6 LT
SORACOM Air+RaspberryPi+littleBits+IFTTTしてみる
Smart.js: JavaScript engine running on tiny MCU
ネットに繋いでIoTしよう
JS Board Shibuya もくもく会#2
JS Board Shibuya #2 もくもく会「littleBitsとMilkcocoa」

Viewers also liked (14)

PDF
プラレールをもっと楽しく
PDF
FlashAir x Bluemixで自動応答
PPTX
JavaScript と Arduino でオリジナルデバイスを作ろう
PDF
FlashAirとCognitive Servicesでしゃべるデジカメを作ってみた
PDF
TensorFlowを用いた商品価格予想
PDF
Xamarin.FormsでもCognitive Servicesを使おう!
PPTX
Xamarinでもクラウドで監視したい!
PPTX
Xamarin.Formsで鉄道模型を制御してみた
PDF
暮らしに寄り添うラズパイケース
PDF
JXUGC 13 東京 はじめに
PDF
FlashAirとCognitive Servicesを使おう!
PPTX
Webエンジニアのためのスマートホームハック ~ Node.js で家電とArduinoを操作 ~
PPTX
さくっと理解するSpring bootの仕組み
PPTX
はじめてのUnreal Engine 4
プラレールをもっと楽しく
FlashAir x Bluemixで自動応答
JavaScript と Arduino でオリジナルデバイスを作ろう
FlashAirとCognitive Servicesでしゃべるデジカメを作ってみた
TensorFlowを用いた商品価格予想
Xamarin.FormsでもCognitive Servicesを使おう!
Xamarinでもクラウドで監視したい!
Xamarin.Formsで鉄道模型を制御してみた
暮らしに寄り添うラズパイケース
JXUGC 13 東京 はじめに
FlashAirとCognitive Servicesを使おう!
Webエンジニアのためのスマートホームハック ~ Node.js で家電とArduinoを操作 ~
さくっと理解するSpring bootの仕組み
はじめてのUnreal Engine 4
Ad

Similar to JavaScriptでも鉄道模型 (18)

PPTX
オレ流クラウドデザイン
PDF
NetOps Coding#1 のお知らせ
PDF
ぼっけもんデザイナーへの道
PPTX
ノンコーディングでも!ここまでできるkintone
PPTX
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
PPTX
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
PPTX
第二十一回Azure もくもく会 LT発表
PDF
PlateauLT03_EH_20221021.pdf
PDF
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
PDF
IVS CTO Night 2015 Winter LT資料 / SideCI
PPTX
社内のリース車の利用状況を Power BI で可視化してみた
PDF
AWS ロボ in JAWSDAYS
PDF
Html5 and Graphics
PPT
DevDo Irasally 20090426
PDF
IoT Getting Started with AWS and Raspberry Pi
PPTX
dots 女子部 LT会 Vol.2 ぼっち振り返り
PDF
SQLiteDatabaseを無理矢理覗く
PPTX
Work Automate with Power Automate
オレ流クラウドデザイン
NetOps Coding#1 のお知らせ
ぼっけもんデザイナーへの道
ノンコーディングでも!ここまでできるkintone
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
第二十一回Azure もくもく会 LT発表
PlateauLT03_EH_20221021.pdf
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
IVS CTO Night 2015 Winter LT資料 / SideCI
社内のリース車の利用状況を Power BI で可視化してみた
AWS ロボ in JAWSDAYS
Html5 and Graphics
DevDo Irasally 20090426
IoT Getting Started with AWS and Raspberry Pi
dots 女子部 LT会 Vol.2 ぼっち振り返り
SQLiteDatabaseを無理矢理覗く
Work Automate with Power Automate
Ad

JavaScriptでも鉄道模型