1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Micro:bitをLINE Beaconとして利用する

Last updated at Posted at 2023-12-31

本記事は2020年1月26日に公開したものです。

こんにちは。今回は、BBC Micro:bitとLINE Beaconについて学んでいきたいと思います。

動機

昨年度の文化祭より、Google Formでアンケートフォームの運用を開始したのですが、流入点を文化祭ウェブサイトに限っていたこともあり、芳しい結果を得ることができませんでした。

そのため、LINE Beaconを校門に設置し、入場時にはパンフレットなどのメッセージを、退場時にはフォームリンクを配信するようにすれば、タッチポイントを増やすことができ、当課題を解決できるのではないかという推測から、LINE Beaconについて勉強することにしました。

サービス比較

iBeacon

iBeaconは、Bluetooth Low Energyビーコンの一種で、低電力、低コストの通信プロトコル、またはその技術です。

iBeaconは、以下のような不利な点を持っています。

  • アプリケーションのインストールが必須である
  • Android OS向けの開発が難しい

今年度の文化祭では、モバイルアプリケーションを開発する予定は無く、また、クロスプラットフォームに対応することが難しいため、本件においてはiBeaconを利用しないことにしました。

LINE Beacon

LINE Beaconは、ビーコンと呼ばれるBluetooth発信機器からのLINE向けの信号を受信する機能です。

iBeaconと同様に、BLE(Bluetooth Low Energy)端末を利用することができます。BLEとは、消費電力の低さを特徴とする、Bluetoothの規格の一部です。

  • 基本的に、LINEがインストールされた端末であれば利用できる
  • クロスプラットフォームに対応しているといった利点があり、LINE Beaconを採択しました。

BBC Micro:bit

BBC Micro:bitは、1980年代に情報教育のために英国放送協会が開発したBBC Microが各学校で使用されたように、英国の11歳と12歳の小学生全員に配布される低消費電力、低コストのシングルボードコンピュータ。

開発

下の記事で、Micro:bitをBLE端末として使えることを知ったので、Micro:bitを利用することにしました。

上の記事を参考に、Micro:bitをLINE Beaconとして設定しました。

LINE@からLINE 公式アカウントへのブランド再編があったため、最新版である上の記事を読んでいきます。上の記事では、Node.jsとngrokを利用した方法を提示しています。ここで、個人的な注意点があります。CHANNEL_ACCESS_TOKEN は、チャンネルID(Channel ID)ではありません。LINE Developers コンソールから「チャネルアクセストークン(ロングターム)」を発行し、得られる文字列です。

Messaging API > Webhookの利用をオンにし、Webhook URLの検証を行い、成功したら、次の段階に進みます。

Google Apps Script (GAS)

Google Apps Scriptは、G Suiteプラットフォームでの軽量なアプリケーション開発のためにGoogleが開発したスクリプトプラットフォームです。

ローカルでサーバを常時起動しておくのは、現実的ではないので、Google Apps Scriptでコードのデプロイを行います。

上の記事を参考に進めていきます。

前節で記述したスクリプトは利用しません 🙇‍♂️

記事ではNode.jsを利用しておりませんので、静的デプロイができます。

注意点として、記事内では環境変数を直書きしていますが、GASの「プロパティーストア」という機能を利用して、環境変数をより安全に扱うことができます。

CHANNEL_ACCESS_TOKEN を次のように置換します。

- const CHANNEL_ACCESS_TOKEN = 'xxxxxxxx';
+ const CHANNEL_ACCESS_TOKEN = PropertiesService.getScriptProperties().getProperty('CHANNEL_ACCESS_TOKEN');

LINE Developers コンソールで、Webhook URLを置き換え、テストします。

ビーコン(Micro:bit)に近づくと…

picture_pc_a693a8fad241e04830a40f989feb5d6f.png

動きました 🙌

おまけ

たまに「応答メッセージ」機能をオフにする必要があるといった記事を見ますが、私の環境ではその必要がありませんでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?