SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

自分自身で課題を解決するDX事例紹介

ローコードに仮想通貨の価格通知LINE Botをプロトタイピングしよう

自分自身で課題を解決するDX事例紹介 第6回

システム概要

 本システムの概要を紹介します。システム概要は図2の通りです。

図2:システム概要
図2:システム概要

 図2の(1)LINE Botでは、価格を知りたい仮想通貨の入力と調べた結果の表示を行います。図2の(2)ではLINE Botからのリクエストを受けて、CoinMarketCAP APIにリクエストを送信します。リクエストの返答で得た価格情報を固定のテキスト形式に整え、LINE Botに通知します。

LINE Botを作成

 LINE Botの作成はLINE Developersのサイトから行います。LINE Botの作成方法は、LINE Developersのドキュメントをご参照ください。本システムのLINE Bot設定を次の表1に示します。 

表1:LINE Botの設定
大項目 小項目 設定内容
基本設定 チャンネルシークレット 発行
Messaging API Webhookの利用 ON
Webhook URL enebular上のNode-RED URL
グループ・複数人チャットへの参加 無効
応答メッセージ 無効
挨拶メッセージ 有効
チャンネルアクセストークン 発行

仮想通貨の情報を取得

 仮想通貨の情報取得はCoinMarket CAP APIを利用します。このAPIは、仮想通貨の取引高や現在の価格、各取引所の価格などのさまざまな情報を取得可能なAPIです。CoinMarket CAP APIの使い方はこちらの記事にまとめました。本システムで動作するNode-REDのフロー(処理)を次の図3に示します。

図3:Node-REDのフロー
図3:Node-REDのフロー

 本フローでは次の処理を行っています。

  • LINE Botからのアクセス受付
  • LINE Botから送られてきたデータの解析(BTCなどの仮想通貨名を抜き出す)
  • CoinMarket CAP APIにリクエストを送信
  • 取得した価格情報を定型文に埋め込む
  • 価格情報をLINE Botに通知する

 参考に本システムのNode-REDフローをGithubで公開しています。ご興味のある方は次のサイトからフローのJSONファイルを入手可能です。Node-REDにインポートすることで内容を確認することができます。

苦労したところ

 プロトタイピングの中で最も苦労したのは、Node-REDでCoinMarket CAP APIから価格情報を取得する処理でした。

 CoinMarket CAP APIから得た仮想通貨の価格情報はJSON形式のデータです。その中にある価格情報を参照するためのキーが動的に変わります。そのため、少々プログラミングの知識が必要となりました。

 動かしてみないと分からない問題で何度もトライ&エラーを繰り返す必要がありました。Node-REDはフローベースのプロトタイピングツールで、Nodeと呼ぶ処理ブロックをつなげてシステム化します。ノード単位で処理が分かれているため、エラー箇所の特定が容易でした。これによりトライ&エラーのサイクルを早く回すことができ、プロトタイピングの時間を短縮できました。

おわりに

 今回プロトタイピングを行ったLINE Botを何度か使ってみたところ、瞬時に価格の把握を行うことで急激な高騰や下落を察知することができました。デメリットとしては、価格の動きが上昇なのか下落の傾向なのか分かりづらい点でした。

 今回のプロトタイピングを通し、ローコードに開発を進めることはトライ&エラーのサイクルを速く回すことができ、問題の早期発見とモチベーションを保ちながら進めることができました。使用したローコードツールのNode-REDは2年近く愛用しており、さまざまなサービスと連携したシステム開発を容易にする目的で使用しています。プロトタイピングで用いられるRaspberry Pi上で動作するので、環境モニタリングや画像認識による動体検出など広く使用することが可能です。

 本記事を通してプロトタイピングにご興味を持っていただき、ローコードツールを触るきっかけになると幸いです。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
自分自身で課題を解決するDX事例紹介連載記事一覧

もっと読む

この記事の著者

プロトアウトスタジオ3期生 まえぷー(マエプー)

 普段は組み込みソフトのエンジニア。2020年頃からIoTプロトタイピングに興味を持ち、プロトアウトスタジオに入学。Web系の技術だけではなく、アウトプットすることの大切さを学び、卒業後も技術記事の執筆やLTに参加。仕事でもIoT案件に携わることが増える。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/14173 2021/06/04 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー