マイクロビットを使ってみる60 〜マイクロビットからLINEにメッセージを送る

マイクロビットに「Grove UART WiFi V2」をつなぐことで、マイクロビットでWi-Fi通信ができるようになりました(記事は こちら)。

この機能を使って、マイクロビットからLINEにメッセージを送ってみようと思います。
「Groveシールド」と「Grove温湿度・気圧センサ(BME280)」も使い、温度、湿度、気圧を1分毎にLINEに通知することにします。




IFTTTのアプレット作成

先にIFTTTで、マイクロビットからデータを受信し、LINEにメッセージを送るためのアプレットをつくります。

  • IFTTTにサインインし、「Create」をクリックします。

  • 「If This」の「Add」をクリックします。

  • 「Choose a service」の検索窓に「webhooks」と入力すると「Webhooks」が表示されますので、それを選択します。

  • 「Receive a web request」を選択します。

  • 「Event Name」に「line_notify」と入力して「Create trigger」をクリックします。

  • 「Then That」の「Add」をクリックします。

  • 「Choose a service」の検索窓に「line」と入力すると「LINE」が表示されますので、それを選択します。

  • 「Send message」を選択します。

  • 「Connect」をクリックします。

  • LINEのログインウィンドウが表示されるので、メールアドレスとパスワードを入力してログインします。

  • 「同意して連携する」をクリックします。

  • Recipientで「1:1でLINE Notifyから通知を受け取る」を選択、Messageを所望の内容に変更して「Create action」をクリックします。

  • 「Continue」をクリックします。

  • 「Finish」をクリックします。

これでアプレットができました。

部品の接続とプログラム作成

マイクロビットをGroveシールドに取り付け、「Grove温湿度・気圧センサ(BME280)」、「Grove UART WiFi V2」もGroveシールドにつなぎます。

マイクロビットと「Grove UART WiFi V2」を使ってWi-Fi通信するためのプログラムは、先日の記事(こちら)で作成済みです。
今回は、そのプログラムを元にして、「Grove温湿度・気圧センサ(BME280)」でデータ採取する部分だけを変更します。

マイクロビットで「Grove温湿度・気圧センサ(BME280)」を使う方法については、こちら の記事に詳しく書いてあります。

  • Webブラウザでブロックエディタ(こちら)にアクセス、先日の記事でつくったプログラムを開き、「高度なブロック」>「拡張機能」をクリック、検索窓に「weatherbit」と入力します。

  • 「weather-bit」拡張ブロックが見つかるので、それを選択すると、ツールボックスに「Weatherbit」というグループが追加されます。「Weatherbit」グループ内のブロックを使って、プログラムを以下のように変更します。これで1分毎に「温度」、「湿度」、「気圧」をIFTTTに送信できます。

動作確認

つくったプログラムをマイクロビットにダウンロードします。

ダウンロードが完了するとプログラムが動き始めますが、USBケーブルをマイクロビットのUSBポートに挿している状態では、供給電力不足のためか正常に動作しません。Groveシールド横についているUSBポートにUSBケーブルを挿し直します。
これでマイクロビットが正常に動きはじめ、1分毎にLINEにメッセージが届くようになります。

非常に簡単に、マイクロビットからLINEにメッセージを送ることができました。
この仕組みを使うことで、マイクロビットをIoTデバイスとして常時稼働させ、異常検知時にLINEにメッセージを送るようなシステムを簡単につくることができそうです。

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。