Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IoT企業におけるWebエンジニアの役割 / web-engineer-of-IoT-company
Search
koichi222
March 23, 2017
Programming
0
1.3k
IoT企業におけるWebエンジニアの役割 / web-engineer-of-IoT-company
koichi222
March 23, 2017
Tweet
Share
More Decks by koichi222
See All by koichi222
NOT A HOTELでのデータ・AI活用
koichi222
0
1.6k
2023夏NAHハッカソン_音声ケビンチーム
koichi222
0
2.6k
Other Decks in Programming
See All in Programming
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
9k
NEWT Backend Evolution
xpromx
1
170
リッチエディターを安全に開発・運用するために
unachang113
1
320
iOS開発スターターキットの作り方
akidon0000
0
230
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
620
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.2k
Flutterと Vibe Coding で個人開発!
hyshu
1
180
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
310
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.5k
新しいモバイルアプリ勉強会(仮)について
uetyo
1
240
階層化自動テストで開発に機動力を
ickx
1
450
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
41
16k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
GraphQLとの向き合い方2022年版
quramy
49
14k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
How STYLIGHT went responsive
nonsquared
100
5.7k
RailsConf 2023
tenderlove
30
1.2k
Docker and Python
trallard
45
3.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Navigating Team Friction
lara
188
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Transcript
IoT企業における Webエンジニアの役割 @koichi222
目次 ・Akerunについて ・IoT製品開発の全体像 ・Akerunバックエンドのアーキテクチャの変遷 ・IoT企業でWebエンジニアが生み出せる価値
自己紹介 ・@koichi222 ・
[email protected]
・Software Engineer
Akerunについて
None
https://www.youtube.com/watch?v=ZipOv zOQ6yo
2014.9.1 株式会社フォトシンス設立 2015.3.23 1.Akerun SmartLockRobot 2.Akerunアプリ iOS/Androidアプリ 3.Akerun Manager 権限管理/履歴参照
2015.7.23 4.Akerun Remote Web・ガラケーで開閉 2015.11.25 5.Akerun Touch スマホをかざして開閉 2015.12.3 6.Akerun Entrance 自動ドアもスマホで開閉 Akerunオンライン鍵 管理システム
初代Akerun ・2015年3月リリース ・世界初の後付型スマートロック ・スマホアプリで施錠・解錠
オンライン鍵管理システム ・2015年7月リリース ・AkerunRemote ネット接続するIoTゲートウェイ ・管理画面Akerun Manager ブラウザから鍵の開け閉め、 合鍵の発行を可能に
Akerunモジュール、Akerun Touch ・Akerunモジュール 自動ドアに取り付け可能なモジュール オートロックのエントランスに対応 2015年12月リリース ・Akerun Touch スマホをかざすだけでAkerun操作可能に 2015年11月リリース
Akerun Pro ・Akerun Pro 開閉速度など基本性能の大幅向上 NFCでの開閉に対応 2016年7月リリース
IoT製品開発の全体像
一般的なWebシステム開発(アジャイル)
IoT製品の開発の流れ
Webシステム開発とIoT開発の違い ・開発するレイヤが広い ・HW・・・メカ、エレキ ・SW・・・FW、アプリ、API、Web ・HW開発はSWに比べリードタイムが長い ・設計→製造→評価→再設計 ・SW開発には製造工程がない PJとしての複雑性が高く、マネジメントの難易度が高い
ではこのような難易度の高い プロジェクトにどう取り組んだか?
1.開発人員の全レイヤ内製化 2.プロジェクト管理方法の一元化 3.レイヤをまたいだコミュニケーション 効率化ためのフォーマットづくり
1. 開発人員の全レイヤ内製化 創業当初から全レイヤにフルタイムメンバー
内製化ゆえ素早い議論と意思決定ができた
2. プロジェクト管理方法の一元化 当初はGithub Issue, Trelloなどを利用
2. プロジェクト管理方法の一元化 当初はGithub Issue, Trelloなどを利用 各レイヤごとのタスク管理はしやすい
PJ全体のタスクが一覧できない 時系列でのスケジューリングがしにくい
信頼と実績のExcelガントチャート
信頼と実績のExcelガントチャート 全体が俯瞰して見れる ビジネスサイドにもわかりやすい ☓
編集が簡単すぎる、編集履歴が残らない Excelへの転記作業が発生しメンテされにくい
Redmineで各レイヤごとのタスク管理
Redmineで各レイヤごとのタスク管理 全レイヤのタスクが俯瞰してみれる ガントチャート、カンバンなども表示できる エンジニアのタスクの2重管理がない 気を抜くとチケット化がおろそかに
3. レイヤを超えたコミュニケーション効率化 仕様書をきっちり用意する ・シーケンス図 ・データフロー ・API仕様(FW、Web)
Akerunバックエンド アーキテクチャの変遷
初代Akerun ・2015年3月リリース ・世界初の後付型スマートロック ・スマホアプリで施錠・解錠
フェーズ1(初代Akerun)
オンライン鍵管理システム ・2015年7月リリース ・AkerunRemote ネット接続するIoTゲートウェイ ・管理画面Akerun Manager ブラウザから鍵の開け閉め、 合鍵の発行を可能に
フェーズ2(Akerun+Remote+Manager)
AkerunPro ・Akerun Pro 開閉速度など基本性能の大幅向上 NFCでの開閉に対応 2016年7月リリース
フェーズ3(Akerun Pro)
アーキテクチャで重要だと感じた部分 ・API部分は疎結合にしておく ・スケールアップしやすさ ・外部システムとの連携しやすさ ・最適な通信プロトコルを選択する(HTTP,BLE、MQTT) ・モノの部分のデータもクラウドに集約するように 予め設計する ・複雑な処理はなるべくクラウドに寄せる(電池残量計算、暗号化) ・更新のしやすさ ・豊富なリソース
事例: 電池残量の計算 電圧だけでは、正確な電池残量を計測することは難しい → クラウド側に ・電圧 ・経過時間 ・開閉回数 ・温度 などのデータを集約し、それを元に
電池残量推定ロジックを作成、算出
IoT企業でWebエンジニア が生み出せる価値
前提 IoT製品であっても通常の ・アプリのAPI ・ユーザ向け管理画面 などは必要になることが多いので、 通常のWebエンジニアとしての仕事は十分 にある
HW製品とIoT製品の違い 常にネットに繋がっている状態である ・リアルタイムにデータが取得できる ・SW部分をアップデートできる データからどう価値を生むかが非常に重要 であり、Webエンジニアが活躍できる部分
データで品質を向上 利用データを元に故障の予兆を検知 開閉回数、電池残量などの基 本情報 FWのエラーログ ゲートウェイ↔インターネット の通信状況 Akerun↔ゲートウェイ の電波強度
そろそろ電池が 切れそう! データで顧客満足度を向上
データで顧客対応を効率化 なんだかAkerunの調子 が悪いなぁ ゲートウェイ↔インターネット 接続の問題 スマホ↔Akerunの接続の問題 お客様の操作ミスによる問題 Akerun本体の設置状況の問題 (設置位置がズレている )
お客様の社内ネットワーク 環境による問題 原因が多岐に渡るため切り分けが難しい
データで顧客対応を効率化 なんだかAkerunの調子 が悪いなぁ ゲートウェイ↔インターネット 接続の問題 スマホ↔Akerunの接続の問題 お客様の操作ミスによる問題 Akerun本体の設置状況の問題 (設置位置がズレている )
お客様の社内ネットワーク 環境による問題 利用データを確認することでCSを効率化
事例: コマツ(KOMTRAX) ・GPS ・エンジン燃費、温度 ・ポンプの圧力や温度 などを取得し、 ・故障の予兆を把握、事前に 保守サービスを提供 ・燃費をモニタリングして、 燃費が良くなるような操作方法
や設定を提案
まとめ ・Akerunについて ・IoT製品開発の全体像 ・Akerunバックエンドのアーキテクチャの変遷 ・IoT企業でWebエンジニアが生み出せる価値
最後に ・すべてが合わさって1つの”モノ”が動く瞬間の感動 ・初めてプログラミングをした時以来の感動がある ・理屈抜きで楽しい! 興味がある方はぜひ飛び込んでみては
ご静聴ありがとう ございました!