Submit Search
Upload
IoTビジネスの現場で学んだNode-RED活用術
•
2 likes
•
1,861 views
Akiyuki Yoshino
Follow
2018/11/28 Node-RED UG勉強会 2018 年末LTパーティ @ ウフルで発表したスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Recommended
スマートスピーカーとRaspberry Piで物品管理にトライ
スマートスピーカーとRaspberry Piで物品管理にトライ
Akiyuki Yoshino
酷暑を乗り切る熱中症予防IoT
酷暑を乗り切る熱中症予防IoT
Akiyuki Yoshino
電池レス&配線レスでIoTが超絶簡単になった件
電池レス&配線レスでIoTが超絶簡単になった件
Akiyuki Yoshino
EnOcean × Node-REDで簡単・本格IoT
EnOcean × Node-REDで簡単・本格IoT
Akiyuki Yoshino
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
Yasuyuki Sugai
JAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoT
JAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoT
Yukihito Kataoka
片岡Io tltシリーズネタ 2016/10/29
片岡Io tltシリーズネタ 2016/10/29
Yukihito Kataoka
やろうぜ!おうちハック at IOT LT #6 Talk
やろうぜ!おうちハック at IOT LT #6 Talk
sonycsl
Recommended
スマートスピーカーとRaspberry Piで物品管理にトライ
スマートスピーカーとRaspberry Piで物品管理にトライ
Akiyuki Yoshino
酷暑を乗り切る熱中症予防IoT
酷暑を乗り切る熱中症予防IoT
Akiyuki Yoshino
電池レス&配線レスでIoTが超絶簡単になった件
電池レス&配線レスでIoTが超絶簡単になった件
Akiyuki Yoshino
EnOcean × Node-REDで簡単・本格IoT
EnOcean × Node-REDで簡単・本格IoT
Akiyuki Yoshino
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
Yasuyuki Sugai
JAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoT
JAWS-UG re:Mote 2015地方こそチャンス!? AWSとIoT
Yukihito Kataoka
片岡Io tltシリーズネタ 2016/10/29
片岡Io tltシリーズネタ 2016/10/29
Yukihito Kataoka
やろうぜ!おうちハック at IOT LT #6 Talk
やろうぜ!おうちハック at IOT LT #6 Talk
sonycsl
20211209 it trend
20211209 it trend
Kenji Tomooka
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Seigo Tanaka
Milkcocoa meetup
Milkcocoa meetup
Yasuo Yusuke
EIoTLTvol1
EIoTLTvol1
Kazuya Fukumoto
オフィスライフについて本気出して考えてみた
オフィスライフについて本気出して考えてみた
Yuka Tokuyama
20200514 classmethod online seminar
20200514 classmethod online seminar
Kenji Tomooka
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
Shin-ya Koga
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
邦義 中井
AITCオープンラボ IoTx総まとめ これまでのふりかえり
AITCオープンラボ IoTx総まとめ これまでのふりかえり
dsuke Takaoka
Memories of my youth, FM-77 and OS-9
Memories of my youth, FM-77 and OS-9
Atomu Hidaka
20190802 class method_osaka_aws
20190802 class method_osaka_aws
Kenji Tomooka
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
Yasuyuki Sugai
20191016 class method_tokyo_aws
20191016 class method_tokyo_aws
Kenji Tomooka
Iot2bio2 20160521
Iot2bio2 20160521
Takao Ikoma
Nefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみた
Tone Blue
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
iot_nifty
Real->Virtual変換システムの開発その1の2
Real->Virtual変換システムの開発その1の2
Takashi Yamanoue
2021 12-02.koga.lecture note-revised
2021 12-02.koga.lecture note-revised
Shin-ya Koga
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
Knowledge & Experience
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
Ichiro Tsuji
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
Keigo Suda
Io t最初の一歩
Io t最初の一歩
Tsubasa Yoshino
More Related Content
What's hot
20211209 it trend
20211209 it trend
Kenji Tomooka
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Seigo Tanaka
Milkcocoa meetup
Milkcocoa meetup
Yasuo Yusuke
EIoTLTvol1
EIoTLTvol1
Kazuya Fukumoto
オフィスライフについて本気出して考えてみた
オフィスライフについて本気出して考えてみた
Yuka Tokuyama
20200514 classmethod online seminar
20200514 classmethod online seminar
Kenji Tomooka
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
Shin-ya Koga
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
邦義 中井
AITCオープンラボ IoTx総まとめ これまでのふりかえり
AITCオープンラボ IoTx総まとめ これまでのふりかえり
dsuke Takaoka
Memories of my youth, FM-77 and OS-9
Memories of my youth, FM-77 and OS-9
Atomu Hidaka
20190802 class method_osaka_aws
20190802 class method_osaka_aws
Kenji Tomooka
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
Yasuyuki Sugai
20191016 class method_tokyo_aws
20191016 class method_tokyo_aws
Kenji Tomooka
Iot2bio2 20160521
Iot2bio2 20160521
Takao Ikoma
Nefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみた
Tone Blue
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
iot_nifty
Real->Virtual変換システムの開発その1の2
Real->Virtual変換システムの開発その1の2
Takashi Yamanoue
2021 12-02.koga.lecture note-revised
2021 12-02.koga.lecture note-revised
Shin-ya Koga
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
Knowledge & Experience
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
Ichiro Tsuji
What's hot
(20)
20211209 it trend
20211209 it trend
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Tessel・IFTTT・littleBitsを連携しつつプロトタイピングした話
Milkcocoa meetup
Milkcocoa meetup
EIoTLTvol1
EIoTLTvol1
オフィスライフについて本気出して考えてみた
オフィスライフについて本気出して考えてみた
20200514 classmethod online seminar
20200514 classmethod online seminar
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
SORACOM UG Explorer 2018 | 1. IoT 企画フェーズセッション | IoTやりまっか?
AITCオープンラボ IoTx総まとめ これまでのふりかえり
AITCオープンラボ IoTx総まとめ これまでのふりかえり
Memories of my youth, FM-77 and OS-9
Memories of my youth, FM-77 and OS-9
20190802 class method_osaka_aws
20190802 class method_osaka_aws
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
20191016 class method_tokyo_aws
20191016 class method_tokyo_aws
Iot2bio2 20160521
Iot2bio2 20160521
Nefryでiotカーテン作ってみた
Nefryでiotカーテン作ってみた
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
Io tのお困りごとを解決「ニフティiotデザインセンター」_iotの実現をサポートするニフティの取り組み
Real->Virtual変換システムの開発その1の2
Real->Virtual変換システムの開発その1の2
2021 12-02.koga.lecture note-revised
2021 12-02.koga.lecture note-revised
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
スモールスタートで始めよう!IoT/AIでデジタルトランスフォーメーションを加速する
Similar to IoTビジネスの現場で学んだNode-RED活用術
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
Keigo Suda
Io t最初の一歩
Io t最初の一歩
Tsubasa Yoshino
IoTあるじゃん北海道#1 by poggimo
IoTあるじゃん北海道#1 by poggimo
Norikatsu Oishi
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM,INC
IoTでAzureのサービス利用~専門知識なしで始める超入門~
IoTでAzureのサービス利用~専門知識なしで始める超入門~
Kousuke Takada
20170720_5 MBC-IoT_IoTビジネス共創ラボ
20170720_5 MBC-IoT_IoTビジネス共創ラボ
IoTビジネス共創ラボ
IoT/ロボティクス時代のモニタリングとコントロール
IoT/ロボティクス時代のモニタリングとコントロール
Masahiro Takechi
北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック
Norikatsu Oishi
IoT workshop by the Tokyo Chamber of Commerce
IoT workshop by the Tokyo Chamber of Commerce
HiyohIshimura
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事
Koichi Sasaki
【Tokyowebmining】open compute project
【Tokyowebmining】open compute project
Junichiro Tani
工場見える化システムへのBIツールの適用
工場見える化システムへのBIツールの適用
Hidehiko Hashimoto
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
Daiki Kato
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
Ryohei Kamiya
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
SORACOM,INC
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
法林浩之
SHI2018: 製造現場での人と知能機械の協奏に向けて
SHI2018: 製造現場での人と知能機械の協奏に向けて
Kurata Takeshi
Domoによるモニタリングオートメーション
Domoによるモニタリングオートメーション
Taro Yoshioka
IoT/ロボティクス時代のモニタリングとコントロール 15分バージョン
IoT/ロボティクス時代のモニタリングとコントロール 15分バージョン
Masahiro Takechi
NucliOS 概要
NucliOS 概要
インフラジスティックス・ジャパン株式会社
Similar to IoTビジネスの現場で学んだNode-RED活用術
(20)
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
Io t最初の一歩
Io t最初の一歩
IoTあるじゃん北海道#1 by poggimo
IoTあるじゃん北海道#1 by poggimo
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
IoTでAzureのサービス利用~専門知識なしで始める超入門~
IoTでAzureのサービス利用~専門知識なしで始める超入門~
20170720_5 MBC-IoT_IoTビジネス共創ラボ
20170720_5 MBC-IoT_IoTビジネス共創ラボ
IoT/ロボティクス時代のモニタリングとコントロール
IoT/ロボティクス時代のモニタリングとコントロール
北海道Io tあるじゃん1 ネクステック
北海道Io tあるじゃん1 ネクステック
IoT workshop by the Tokyo Chamber of Commerce
IoT workshop by the Tokyo Chamber of Commerce
IoT案件を70件やってみて分かった事
IoT案件を70件やってみて分かった事
【Tokyowebmining】open compute project
【Tokyowebmining】open compute project
工場見える化システムへのBIツールの適用
工場見える化システムへのBIツールの適用
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
先進事例に見るIoT活用の事始め~データサイエンスの観点から~
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
ラズパイでIoTをやってみよう! | なぜ今IoTなのか?
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
SHI2018: 製造現場での人と知能機械の協奏に向けて
SHI2018: 製造現場での人と知能機械の協奏に向けて
Domoによるモニタリングオートメーション
Domoによるモニタリングオートメーション
IoT/ロボティクス時代のモニタリングとコントロール 15分バージョン
IoT/ロボティクス時代のモニタリングとコントロール 15分バージョン
NucliOS 概要
NucliOS 概要
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Recently uploaded
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
IoTビジネスの現場で学んだNode-RED活用術
1.
IoTビジネスの現場で学んだ Node-RED活用術 吉野祥之(Yoshino Akiyuki) 2018/11/28 @
Node-RED UG
2.
• NTTコミュニケーションズ株式会社 • 経営企画部
IoT推進室 • 主にIoTデバイスのエンジニアリングや プロトタイピングを担当 • EnOcean芸人ともいう • 2児(3歳♂/1歳♀)の父親やってます 吉野 祥之(よしの あきゆき)
3.
Things Cloud ® データ収集・可視化がすぐに実現できるIoT向けAEP* *AEP=Application
Enablement Platformの略称
4.
オフィス移転進行中
5.
IoT仕込みました
6.
Meeting Space Monitoring •
Up to 200 devices (GW, Sensor) Restroom Monitoring • Up to 1,000 devices (GW, Sensor, Light) Node-REDで作りました
7.
IoT × Node-REDの親和性 ■
IoTあるある • ビジネスモデルが超ゆるふわ -> プロトタイピングが有効 • 必要な機能はシンプルかつ大概似てる -> 再利用率が高い • センサ入力 -> データ加工 -> クラウドへのPOST • クラウドへのPolling -> 処理内容取得 -> ローカルデバイスの制御 ■ Node-REDの利点 • 習熟コストが低い -> GUIエディタ、同期処理的な記法 • 開発スピードが早い -> デバッグノード、豊富な入出力、再利用性 IoTにはNode-REDが有効
8.
本題:Node-RED活用のノウハウ データモデル デザインパターン Tips
9.
本題:Node-RED活用のノウハウ データモデル デザインパターン Tips
10.
データモデルの考え方 • Node-RED初学者に対して真っ先に伝えるべき点(だと思う) • 必要な変数はメッセージ変数(msg)のプロパティとして扱うのが基本 •
デバッグノードが使える、msg._msgidで一意性が担保される、などいいことが多 い • ただしmsg.payload、msg.url、msg.req、msg.resなど予約語的にノードで利用さ れる変数があることは知っておく(利用を避ける) • サブフローへのパラメータ受け渡しはmsg.paramにする、などしておくと汚染さ れづらい
11.
データモデルの考え方 • Functionノード内だけで利用する変数はメッセージ変数にしない • メモリ節約観点でも重要 •
タブ間でデータを共通して利用する必要があればグローバルコンテクス ト(global)の利用はアリ • コンフィグパラメータか状態値(フラグ)など • その他のデータを受け渡しする場合はUI&APIパターンを検討すべき • 基本は各タブでフロー完結させる方が望ましい • コンテクストオブジェクト(context)やフロー変数(flow)はあまり使ったこと がない • コンテクストオブジェクトは使い所ありそうな気もするけれど
12.
本題:Node-RED活用のノウハウ データモデル デザインパターン Tips
13.
デザインパターン • Node-REDの癖が如実に現れる部分、生産性/メンテナンス性が大 きく変わる • Node-REDの基本ノードを最大限活用するのが前提 •
Functionノードの利用は必要最小限とし、1つのFunctionノード内のコード量 は極力小さくする • https://qiita.com/zuhito/items/e9abfd6f1ba188f908ed は必読 • ただし全部を使うことはない
14.
よく使うデザインパターン 2. UI &
APIパターン • 特にAPIパターンの方で内部ロジックを実装 • ログ出力をこのパターンで実装するのもアリ • クラウド環境ではlocalhost指定ができない場合があることに注意 4. Whileパターン • 基本中の基本
15.
よく使うデザインパターン 5. Sequenceパターン • サブフロー内での値退避など •
さっと作るには重宝 6. Aggregatorパターン • 設定ファイルの読み出し • APIの並列呼び出し
16.
本題:Node-RED活用のノウハウ データモデル デザインパターン Tips
17.
その他のTIPS • Cron的にメッセージ出力したい • 定期的に死活メッセージを飛ばす、試験用データ作る、etc. •
Injectノードでできる
18.
その他のTIPS • 初期化待ち • 初期化処理を確実に終わらせてから後続処理したい時に •
複数の機能を持たせたい時に共通仕様にしておくと楽 • 初期化フラグはglobal変数にしておけばタブまたぎで使える
19.
その他のTIPS • ロギング • Debugノードを利用するよりFunctionノードの方が自由度高い •
node.debug() / node.trace() がv0.18.5で使えるようになった • しかしNode-REDのVersionによって処理分けないと怖い • ロギング用ノードをつける時にはノード接続順に注意 • ノード接続順次第でログ出力順序が狂いやすくなる
20.
その他のTIPS • Functionノード内でのrequire • Moment.js使いたいよね、、、 •
settings.jsに書けば使える(公式に書いてある) https://nodered.jp/docs/writing-functions
21.
その他のつらみ • 構成管理辛すぎるぉ • 愚直にコメントノード置いて涙ぐましく管理 •
diff取れないの怖い • サブフローの管理はさらに大変、、みなさんどうしてますか • VersionUP激しいぉ • メジャーなノードにもゴリゴリ更新入るので互換性確保が怖い • contrib系のノードに手を出しづらい一因でもある • Node.jsもLTS出たことですし、、、 • テストのノウハウ貯めたいぉ • 複雑なことやりだすと死ねそう
22.
まとめ • IoTとNode-REDの親和性 • 習熟コストの低さ、再利用性の高さ、Try&Errorの高速化 •
Node-RED特有の開発ノウハウ • データモデル設計 • デザインパターン • UI&API / While / Sequence / Aggregator • その他tips • Cron実行 / 初期化待ち / ロギング / require • 困りごと • 構成管理、VersionUP、テスト方法、etc.
23.
Thank you!