音声書き起こし
1. オープニング
Guest
こんにちは、こんにちは本日もitサイドやっていきたいと思います。え、UIT INSIDEは、
Guest
ユーザーインターフェイスと、テクノロジーを愛する開発者のためのコンドキャストです。
Guest
最新のえ、web標準の動向や開発フレームワークの編成、またまたurやuxに関することまで
Guest
最新のフロントの状況をキャッチアップしていくことを目的としております。
Guest
またハッシュタグはえ、シャープUIT、アンダースコアインサイドシャープUIT、アンダースコアインサイトとなっております。え、エピソードに対してのご意見やご感想などがありました。らえ、ぜひぜひツイートなどいただければと思います。
Guest
ということで、本日はですねえ、ラインのフロントエンドエンジェラル、ゴールデンウィーク。3日目ということで、今日ゲストにお原さんを招待して、えーパルスオキシメーターについて話していきたいと思います。え、お原さんよろしくお願いいたします
Guest
はい、お願いします
Guest
ではですね、まずおはらさん以前1度イテンサイド出演していただいたと思うんですけど、軽く自己紹介お願いできますでしょうか。
2. 折原さん自己紹介
Guest
はい、自分も同じくUITチームでUITデブ1チームに所属しているエンジニアです。
Guest
tlv1チームは、主にLINEnewsの開発をやっている部署になります。はい、
Guest
ではではえ、お原さんよろしくお願いいたします。今回ですね、ゴールデンウィークでえった内容について、簡単に紹介してもらってもよろしいでしょうか。
3. パルスオキシメーターについて
Guest
はい、ちょうどゴールデンウィーク入る直前ぐらいのニュースで、
Guest
コロナ対策として、パルスオクシメーターが有効じゃないかっていうようなニュースが流れてたのを見て、パルスオクシメーターってなんだろうっていうのを調べてたら、まあの血中酸素が図れるものなんだなっていうのをうん、うん、調べて分かって
Guest
で、どうやって血中濃度測るのかなと思ったら、センサーで測れるんですけど、そのセンサーが偶然手元にあって、で、その
Guest
センサーを使ってみて、あ、でも自分でもパルクシュメーター作れるじゃん。と思ってやってみたのがきっかけです。
Guest
パルス、ルキシュネターっていうのは、なんかコロナの重症ドメみたいなのが分かるんすかね。
Guest
そうですね、あの血中酸素濃度が分かって、要は息苦しいとかいう
Guest
呼吸系の症状を訴えてる人は、どんどんその血、中酸素濃度が下がっていくらしいんですね。はい、なので、パルソクシメーターで測って、普通100パーセントとか、99パーセントぐらいの血中酸素濃度は正常らしいんですが、それが95とかを切ると、
Guest
症状があんまりなくても、いや、ほんとは苦しいはずとか、実は症状が悪化してるみたいなことがあってま。早期発見だったり、重症化する前に
Guest
発見できるみたいならしいですね。はい、
Guest
まだ症状は出てないけれども、その問題が体にあるかもしれないっていうのがわかるっていうやつなんですね。そうです
Guest
ね、ま、ただ95パーとかを切ってると、もうそもそもかなりかなり苦しいら
Guest
しいので、はいはいはいはいはい、
Guest
無症状ってことはないとは思うんですが、一応そういうのが無症状の人でも分かる
Guest
ていうのを、はいはいはいはい
Guest
でしてましたね。
Guest
それが、そのセンサーが手元にあったって感じなんですね。
Guest
そうですね、血中酸素ロード測れるセンサー元々は心拍数を測ることをやりたくて、心拍数が図れる。センスは色々買ってたんですけど、はいはい、それの中の1つにその血中酸素濃度が図れるものがありまして、
Guest
最近のフィットビットとか、そういうウェアラウェアラブル系で、心拍数を測れる機械でもいくつか、こういうセンサーがついてるらしくて、
Guest
内蔵されてるセンサーによっては、その心拍数が図れるウェアラブルデバイスでも、一緒に血中酸素が図れるデバイスも売り始めてるようですね。あ、
Guest
なるほど、なるほど、なるほど、今回それを物理的に自作したっていう感じなんですか。
Guest
そうですね、センサーにコードついであるというのと、接続して、それをウェブにっていう感じですね。
Guest
なるほど、なるほどね、結構面白そうなテーマですね、ちょっとそこを詳しく聞いていければと思います。
4. パルスオキシメーター開発の技術
Guest
これ、ちょっと技術的な部分から、先に聞いても言ってもいいですか。
Guest
今回、多分これいわゆるiotっていう分野に入るかなと思うんですけど、なんか、その部分ってコード書くのとかって、そのあ、プログラミングをある程度必要なのかなと思うんですけど、なんか、こういった技術でやったとかってあるんですかね。
Guest
そうですね、あの、アルドのをどうしても通さないといけなかったので、アルドののデータをどうにかパソコンに送りたいっていうところで、やり方としては、無線で送るかま優先で送るかがあるんですが、
Guest
無線だと、bluetoothとかが結構最近主流なんですが、自分はあのusbでシリアル通信をすることにしてみました。
Guest
あ、ありがたいことに、ノードのパッケージのノードcaポートっていうのがあって、まさしくusbでシリア通信をするための
Guest
に、特化したデバいえーに、特化したモジュールがあって、それを使うともあるというのが出力している情報をすぐノードで取得することができるので、
Guest
あ、そっからもうウェブに持っていくのは、もうフロントエンジニアとしては、簡単な作業の。
Guest
はいはいは、
Guest
はい、ハードルはそんなになかったかなっていう感じでした。
Guest
ていうことは、そんなにある時の側のコードはほぼ書かなくていいって感じですかね。
Guest
あ、そうですね、あとのはほんとにただ出力をしてさえすれば大丈夫って感じです。
Guest
ポテに出力するだけで、ま、あとは全部ロードレースの世界で実装できたって感じなんです。そうです、そうです
Guest
ってことは、まずはまセンサーからアルドのにデータ流して、アルドーのからノートジェま、usbkでノートジェースで受け取って
Guest
ま、それを可視化していったって感じですかね。そうですね、
Guest
はい、うん、うんうん、
Guest
可視化とかはどういう感じでやっていったんですか。
Guest
ここで、ちょっと
Guest
ややこしいことがあって、あの、ウェブの更新頻度って、そんなに病間何個とかないと思うんです。セーターデータは、病感、すごい量のデータを送ってくるので、これをウェブソケットでさくように
Guest
設計しています。で、ウェブトケットだと、あの1秒間にそれこそ
Guest
30とか60とかあったとしても、そのデータをフロントが受けることができるので、あとは、ブラウザの処理スペックとの相談なんですが、
Guest
事実。理論的にはデータを流すことができるってことが大事なので、ウェブソケットを選定しましたね。
Guest
うんうん、うん、うん、なんか実際これhddリクエストな初めから結構そこって、フロントエンド的に厳しそうだなって思って、ウェブソケットは、
Guest
しょっぱなから宣伝していったって感じなんですかね。
Guest
iotをま以前からやってたことがあって、はい、ictpリクエストでやってたこともあるんですけど。はい、その場合、すごい量のサーバーレス、ポンスをかみたいなことになる。
Guest
あるので、はいはいはい、
Guest
まあまあパッと聞いただけでも重そうだなってのもあるんですが、ある程度データをまとめて、例えば2秒か3秒分のデータを送るとか、そういう風に効率化することはできるんですけど、
Guest
やっぱリアルタイム性をできるだけ出したいので。ああ、はいはいはいで。そういう時に2秒分のデータを一気に渡すっていうよりかは、やっぱちっちゃくコンパに渡したいっていうところで、僕はウェブャケットが今のところ
Guest
1番やりやすいかなと思ってよく選んでます。はいはいはい、
Guest
今は実際にあれですか、どれぐらいの頻度でデータ送ったりとかしてるんですか。
Guest
今はセンサーデータが取れ次第ってところもあるんですけれども、基本的には秒間でも20から30ぐらい
Guest
で、それこそあのあまりフロントエンジニアとか、結構その
Guest
レイヤーの高い層を作ってると、あんまり意識しないんですけど、データを落とすってことが平気で。あ、
Guest
はいはいはい、お
Guest
途中で
Guest
パケットが抜けるってあるんですけど、今、センサーからデータをとってあるというのが、それをシリア通信で送ろうとする過程で、データが微妙に壊れるってことがあって、
Guest
で、壊れた時に修復するってことももちろんできるんですけど、あまりそこまで丁寧に書いては、行動を書いてはいなくて、
Guest
ジェイソンでパースしたいので、もうジェイソンパーをそのまま読んじゃうんですね。ただ、ジェイソンの形式が壊れてるので、
Guest
パスできないみたいなことになってたので、いくつかデータを落としちゃって。はい
Guest
うん、うん、うん、うん、うん、なるほど、なるほど、制度制度みたいなのが、やっぱり多少は関わってくる領域なんで、そこは今回は
Guest
はい、まあ、あのノイズに関しては許容するみたいな形でやっていったって感じか。そうですね。はい、
Guest
ちょっとそのフロントエンドで可視化した部分まここって、結構フロントエンドエンジニアだから、まあ、せっかくだし、いい感じに可視化したいな、みたいなところとか出てくると思うんですけど、フロントエンドで書いてある、これはキャンバスとか
5. IoT のフロントエンド
Guest
で書いたんですかね。
Guest
そうですね、あの、最初キャンバス想定してたんですが、キャンパスでもちろん綺麗に書けるんですが、今回はドムだけでやっていて、
Guest
あのローテクですごいも言うのも恥ずかしいんですが、あのドムドムを要はあの、今回緑のグラフでこう出しているんですが、はい、その緑のグラフの高さ分のドムを用意して
Guest
はいで、それをこうどんどんアペンドチャイルドにプッシュしていくんですね。うんで、
Guest
センサーデータがある程度溜まったら、後ろからポップしていくようにしていて、ただ、ほんとに配列がぐるぐる回ってるだけで、
Guest
はいはいはい、では、い
Guest
までも、見た目的にはどんどんドムが押し出されて、古いドムはどんどん左にこう流れていくので、
Guest
あの、まさにカバで書いたように見えてはいるんですが、ただ、のどの移動をしているだけっていう。
Guest
これ、すごい。なんか、すごいキャンバスっぽく見えたんで、はいはいはいはい、そうなんかそういうこういう専用のブラグラフ描画のライブとかがあるのかなと思ったら、
Guest
も、もちろんそういうのもありますし、結構iotで複雑な情報を送ったりとか、円グラフ出したりとかする時は、もちろん、キャンバス使った方が後々楽なので、キャンパスで書くことがよくありますね。
Guest
なるほど、なるほど、でも、今回は普通にドム使ってやってみたって感じのお
Guest
はい、グラフ出したかっただけなので、っていう感じでやってました。
Guest
いや、でも、この発想は結構面白いですね、なんかこれあれですか。これ0から100パーだから、
Guest
それに合わせた量で病化してるその高さにして病化してるってこと。
Guest
そうですね、そこ結構ややこしいとこなんですけれども、セサデータがもう数万の値から、
Guest
あの100程度の値のかなり幅が広いデータを送ってきて、はいはいでかと言って、
Guest
あの、自分で上限加減を設定するのができなくて、なんでかって言うと、ユーザーにユーザーというか、指を置く人によってその
Guest
値が全然違うので。ああ、はい、それは人に特化したまレンジにしないと綺麗に見えないっていうのが
Guest
ありました。なので、そこはいくつかデータをキャッシュしておいて、そこの最大値と最小値を常に
Guest
毎回計算するようにして、レンジを常に更新しているっていうようなあ。
Guest
だから、その一定以上溜まったらポップするって感じになってるんですかね。
Guest
うんな、
Guest
あと、まずはある程度そのその人のデータをとって、その中から上下させていくって感じなんすね。
Guest
結構面白いですよね、なんか、iot特有の考える部分が、まあ、なんかウェブだとウェブとか普通にウェブアプリケーション作ってると、ま、
Guest
それこそデータが欠落してるとか、そんなめっちゃおっきなズレがあるってそんなにないかなと思うんで、
Guest
確かにないですよ。あってはいけないはずですから、
6. 所管
Guest
結構面白い、
Guest
ちょっと実装じゃない。じゃあ、やってみて、どうかっていうところとか、ちょっと色々聞いていきたいんですけど、はい、今結構iot前もやったことあってってことは、結構お原さんは元々電子工作とかされる方だったんですか。
Guest
そうですね、まあ、学部の時に電子系ではあったんですけど、まあ、でもメインは情報を専攻してはいて、ただ、そのたまにイベントごとかでiotをする機会が
Guest
なんか、以前ミニオンクのaiを作るっていう大会に出てたことがあって、
Guest
ミニオンクをもうまい蔵して、それこそアルドのとかを上に乗っけたり、内蔵したりとかをして、あの、普通のミニオンクだったら、絶対コースアウトするようなコースを減速したり、
Guest
スピードアップしたり、いろんなことをしながら乾燥するみたいな。大会に出てたことがあって。はい、
Guest
その時、その時の動画とかもあるんですけど、そういうので、少しiot系の知識がついたのと、意外とその速度
Guest
で自分の目で見てると速度ってわかんないので、ミニクの速度可視化したいなと思った時に、bluetoothでwebにデータを送っていって、webで可視化して、
Guest
あ、今ここのスピードだったから脱線したのかとか、そういうのわかるようにしてたっていうのがあって、その技術をそのまま使ったっていうところがでかい。
Guest
なるほど、じゃあ、元々はミニオンクレースに勝つために、
Guest
ミオのための技術って感じです。
Guest
いや、なかなか面白いバックグランドですね。
Guest
実際ここって、じゃあ、例えばまあなんか誰かこういう話とか聞いて、ちょっとなんかやってみたいみたいな場合とかって、結構ハードル的な部分だと、俺はさんは慣れてそうですけど、新しい人とか
Guest
ま、誰か初めてiotやってみたいみたいな時って、結構ハードルって高そうですかね。そうでもないですかね、
Guest
と、そうでもないかもですね、というのも、そのセンサーを
Guest
買うこと自体はま買えるので、アルソチメーターは買えないことも多いんですけど、
Guest
センサーを買うと、大体、そのセンサーのドキュメントが、そのセンサーを作った会社が公開していてはいえ、まず、ゲットスターデットみたいな感じで、
Guest
動かすためだけの行動を配布してることが多いです。なので、サンプルコードをそのままアルトゥのに入れたら、もう実行できるみたいな状態になってることが結構多いので、
Guest
初心者でも作ってみることは絶やすいかなと感じてます。
Guest
はいはいはい、まずはセンサーがって動かしてみるってのが全然できるって話す。
Guest
そうですね。はい、
Guest
ちょっともう1個これ気になる点なんですけど、ま、結構物理的なコンテンツを今回ま自分で作っていくって感じになると思うんですけど、元々センスあったっていうので、もしかして、もしかしたら忘れてるかもしんないんですけど、費用的なとこってどれぐらいかかるのかなってとこが気になってて
Guest
と、センサーとか、こういうアイオティ系のハードウェアって、結構安いことが多いんですね。数百円だったりなんですけれども、
Guest
このセンスはそこそこ高くて3500円ぐらい
Guest
すごいですよね。
Guest
でも、センサーにしてはかなり高いくて、正直、パルスオークションメーターって、それこそ3000円台だったり、4000円ぐらいなので、
Guest
ほとんどセンサー代なのかなって、ちょっと想像してみたりとか、または、もっとそのレガシーなセンサーを使って安く抑えてるのか。ちょっとわからないんですが、
Guest
一般的にセンサーとして売られてるのは3500円ぐらいで。もし、あの、初めてやる人であるというのが手元にないっていうと、アルドの代も入れて、あ、もも
Guest
なんだかんだで7000円ぐらいかかってしまうかもしれない
Guest
ですね。ただ、ある
Guest
そういうのって結構1回買ってしまうと、いろんなせツールと使え、センサーとかと使えるって感じする。
Guest
そうですね、ある程度1個あれば、ほんとになんでもできるので、うん、うん、うん、1個あれば全然楽しめるし、今後も活用できるんで。
Guest
はい、それですね、
Guest
私もやってみようかな。なんか、たださん、他に質問とかありますか。聞いてみたいこと
Guest
とは、ハード面で僕そうですね。昔、あの部屋の気温を
Guest
あの気温とか湿度とかとって、ま。あのマカレルにっていうそのなんていうんですかね。そのかし、
Guest
外計監視サービスに送って、その外から部屋の温度見るっていうのや、やったことあったんですよ。で、結構
Guest
あれですね。あの、そのハード面もそうですけど、なんかしハード面ならではの、例えば、そういう
Guest
この抵抗とか、どこに刺せばいいんだみたいな、そういう知識っていうのがすごいあの
Guest
情報系出たはずなのに、全然頭からすっぽり抜け落ちてて、すごい試行錯誤しながらだったんですけれども、そういう知識とかは
Guest
どうですかね。自然と身につくんですかね、そういうiotならでは。
Guest
そうですね、そこそこハードルが高いようには、僕もまだ感じてはいますし、僕もがっつりその
Guest
電子工作とかに入ってるわけではないので、毎回そのセンサーを販売している会社が出してるドキュメントを読んで、
Guest
サンプルのコードもあれば、サンプルのカイロズとかも置いてあったりすることがあるので、この通り繋いでみるとかでやってみたりで、アルドのスペース
Guest
センサー名とかで検索すると、あの結構誰かやってくれてたりして。で、写真付きで載せてくれてることも。まあ、あるので、
Guest
ある程度使ってる限りは、結構そこら辺のハードルは低いのかなって感じがします。組み込みとか、ガチのアゴて始めていくと、
Guest
そこは自力でやんなくちゃいけないところかなっていうハードルの高さはあります。
Guest
そうですよね、うん、なんか、あの基盤とかをこう中国にこう頼んで、あのニュースみたいなよく見るけど、まずその基盤どうやって作る
Guest
そうですよね。
Guest
はい、
Guest
ああ、でもそういうアルディの周りっていう、まあ、そういう情報がすごい充実してるっていうのは確かですね。ロ報ですね、うん、
Guest
いや、そんな感じですかね、
7. クロージング
Guest
というわけでですね、本日はえ、折原さんをゲストにですね。パルス、指名タえーを作ってみたっていうところとま、iotかけるフロントエンドっていうところについて、話してもらいました。
Guest
LINEのフロントエンド開発し、UITではですね。このようなえ、フロントエンドに関する自己検算や
Guest
議論などを日々行っております。え、直近で言うとですね。今たまに不定期でやっている。ビューススタディーなんかはですね。社内勉強会ではから始まった企画だったりしますし、
Guest
今回のゴールデンウィーク企画もえ、社内的なえ取り組みから始まったことなので、ま、こういったえ、社内での取り組みとかは、え、どんどん外に発信していこうかなと思っております。
Guest
まぜひぜひ、また、他のエピソードも聞いていただければと思います。そしてですね
Guest
えーゴールデンウィークえ、ラインのフロントエンドインジアのゴールデンウィーク。も。ここで折り返しまでえ、やってきました。
Guest
あとですね、2つエピソードが残っておりますので、えぜひぜひえ。もしご興味があれば、え、残りのエピソードも聞いていただければと思います。
Guest
というわけで、え、本日のeyteサイドは、原さんによる。パルス、オキシメーターの話でした。え、ありがとうございました、
Guest
ありがとうございましたす