#はじめに
今回の記事の内容は、LINE Thingsの開発ボードを試してみた記録です。
試した際の流れだけ見られれば良いという方は、前置きをとばして
項目:「開発ボードを触ってみる」
からお読みください。
##LINE Thingsの開発ボードについて
先日、 #スマートスピーカーを遊びたおす会 というイベントに参加した際、
登壇者で来られていたLINEの立花さんから、この開発ボードをいただきました。
> 開発ボードをいただいたときのツイート
こ、これは!
— you (@youtoy) 2019年3月5日
#スマートスピーカーを遊びたおす会 pic.twitter.com/CetF2l8ocp
この開発ボードは、2019/3/2(土)から2日間、大阪で開催されたLINE Thingsハッカソンで初めて公開されたものです。
> 大阪のハッカソンでのツイート
噂の新デバイスは #linethings development board(仮)!
— sumihiro3 (@sumihiro3) 2019年3月2日
諸々のセンサーを搭載してLINE Things のプロト開発が捗る優れもの pic.twitter.com/4sHMNFIfSp
#そもそもLINE Thingsとは?
LINE Thingsは、LINEアプリ を介して BLE(Bluetooth Low Energy)対応デバイスを操作するIoTプラットフォームです。
こちらも詳細は、公式ページをご覧ください。
##過去にLINE Thingsを試したときのこと
東京でのハンズオン
最初にLINE Thingsを試したのは、東京で開催されたハンズオンに参加したときでした。
このときはGitHub にある中の ESP32-DevKitC を使ってサンプルを動かす流れを試しました。
> イベント参加時のツイート1
今日はこちら、#linethings のハンズオンです!
— you (@youtoy) 2018年11月30日
●【東京】LINE Thingsハンズオン - connpass
https://t.co/sJ7bUb1Hhn pic.twitter.com/UsmJD4DK1e
> イベント参加時のツイート2
#linethings の仕組みを使って、
— you (@youtoy) 2018年11月30日
無事にLEDを光らせることができました。 pic.twitter.com/5gTnydOjRC
obniz での LINE Things を試したときの記事など
その後、obniz が LINE Things に対応した、という記事を見て、
その日の夜に試して動画をツイートしたり、Qiitaの記事にしたりしました。
> obnizのLINE Things対応の記事関連
#obniz が #linethings に対応!?
— you (@youtoy) 2019年2月4日
●IoT開発を身近にするobnizがLINE Thingsに対応 - ZDNet Japan
https://t.co/YwAMMPtHUl
> obnizでのLINE Thingsを試した時の動画
#obniz で #linethings 、
— you (@youtoy) 2019年2月4日
早速試してみたよ。 pic.twitter.com/tMjRyAATre
> obnizでのLINE Thingsを試した際に書いた記事
●obniz で LINE Things! - Qiita
https://qiita.com/youtoy/items/d4d34da3f5427d11077f
開発ボードを触ってみる
仕様についてなど
ボードの仕様について、LINEの小城さんのツイートにGitHubのURLが書かれていたのを見ていたので、それを参照しました(これ以降、以下のGitHub上のページを「開発ボードのページ」と書くことにします)。
【★2019/3/28追記】 URLが変更になったようです。
●【新URL】 line/line-things-dev-board: LINE Things development board - Sample codes and schematics
https://github.com/line/line-things-dev-board/
●【旧URL】GitHub - cpulabs/line-things-dev-board
https://github.com/cpulabs/line-things-dev-board/
> 開発ボード関連のツイート
週末の大阪イベントで使ってたLINE Thingsの実験用ボードで遊んでいいって言ってもらえた〜〜!!これはとても便利最高😍😍週末に遊ぶこと増えたのでなにか面白いもの作るぞ😍😍https://t.co/CocJD2OHz4 pic.twitter.com/ZrFARJLliQ
— 小城 久美子 / koshiro kumiko (@ozyozyo) 2019年3月4日
以下で、サンプルを試していった流れを記載します。
あらかじめ用意されたサンプルを試す! 【おおまかな流れ】
まずは、上記の開発ボードのページのクイックスタートと、それ以下の部分を見てみます。
大まかな流れは以下のようになるようです。
あらかじめ用意されたサンプルを試す! 【詳細】
1. LINEアプリ上の設定など
LINEアプリでの利用設定
もし初めて LINE Things を利用する場合は、LINE アプリ上で LINE Things の機能の有効化を行ってください。
詳細は「LINE と LINE Things デバイスを連携させてみよう」の部分をご覧ください。
LINEアプリでの友達登録
LINEアプリ内のQRコードリーダーで、CPU基板の裏側、またはマザーボード基板にあるQRコードを読み取ってください。
そうすると、以下の画像にあるような画面が表示されると思います。
その後、リストの LINE Things dev Board を選択し(以下の画面になります)、
画面の「今すぐ利用」をタップしたときに、以下の画面に遷移するようであれば、ひとまず、LINEアプリ上での準備は大丈夫です。
2. 開発ボードのファームウェアの書きかえ準備
クイックスタートでの説明によると、以下のとおり、既に利用可能なファームが書き込み済みのようです。
予め書かれているファームウェアで、LINE Thingsの機能とボード上に搭載されたデバイスの体験をすることができます。 LINE Things上でモーターを除くすべてのデバイスの状態を取得することや、LEDの制御を行うことができます。
開発ボードのページの「Quick Start」 より
後ほど、書きかえを行うことになると思うので、今回は早速、自分で書きかえを行ってみて利用してみます。
書きこみの準備1: PC上での準備
「開発ボードのページのファームウェア書き込み方法」を見ていきます。
具体的な手順としては、以下の「Arduino IDEを使用する方法」に書かれた流れになるようです。
手順の記載の前に、自分が試した環境の情報を書いておきます。
- PCやアプリについて
- MacBook Pro(13インチ,2017)
- OS: macOS High Sierra
- Arduino IDE(バージョン 1.8.7)
- MacBook Pro(13インチ,2017)
手順: Arduino IDEを使用する方法
「開発ボードのページのArduino環境とドライバの準備」の部分を参照して進めていきます。
まず行う内容は
「Arduino IDE のインストール」、
「Arduino IDE のボードマネージャーでのボード追加」
「CP2102N driver のインストール」
になります。
書きこみの準備2: 開発ボード上での準備
次に、こちらの開発ボードのほうの準備を進めていきます。
「開発ボードのページの使用方法」の部分の、CPUボードをマザーボードに挿して使用する方法で進めます。
CPUボードの方向を間違えないよう気をつけながら、マザーボードに挿します。
電源について、「外部電源及びUSB駆動」か「電池駆動」かを選べるようですが、今回は「USB駆動」で進めていきます。
下の写真の赤色で示したスイッチを OFF にし、写真のオレンジの部分 P4ピン を「USB駆動」で利用する場合の設定にします。
P4ピン を「USB駆動」で利用する場合の設定する、という部分は、以下の写真のようにします。
P4ピンの設定前 | USB駆動の設定 |
---|---|
![]() |
![]() |
マザーボードにのUSB端子(J1)に Micro-USBケーブルを差し、PCへ接続してみて、開発ボードが動作することを確認してみます。
PCへ接続したところ、ボードに書き込み済みのスケッチが動作し、ディスプレイに各種センサーの値が表示されました。
ボードを傾けてみたり、スイッチを押してみたりして、ディスプレイに表示された数値が変わったので、正常に動作しているようでした。
ボードを傾けてみたり、スイッチを押してみたりして、ディスプレイの値が変わるのを確認してみました。#linethings pic.twitter.com/fJ5z9UcONf
— you (@youtoy) 2019年3月21日
3. 開発ボードのファームウェアの書きかえと動作確認
スケッチの書き込み
それでは、開発ボードへのスケッチの書込みを行っていきます。
Arduino IDE で、 ツールから、ボードの選択( Adafruit Bluefruit nRF52 Feather ) とシリアルポートの設定を行います。

ここで試しに、空のスケッチを書き込んでみます。
以下のようにエラーなしで書込みが完了すればOKです。

デフォルトで書き込まれていたスケッチの書き込み
開発ボードのページの「arduino/linethings-dev-default/linethings-dev-default.ino」を書き込んでいきます。
このサンプルでは
- things_temp_lib
- SparkFun MMA8452Q Accelerometer
- Adafruit SSD1306
- Adafruit GFX Library
を使用しているとのことで、それらを追加します。
上記4つのうち、 things_temp_lib 以外の3つは、以下の画像にある ライブラリを管理 からインストールしてください。

残りの1つの things_temp_lib については、line-things-dev-board のリポジトリの一式をクローンするか、ZIPでダウンロードし、その中の library/things_temp_lib を zipファイルに圧縮します。
そして、Arduino IDE のライブラリをインクルードからインストールしてください(以下の画像のメニューになります)。

【★2019/3/28追記】 以下の点は、公式ページが修正されました。
2019年3月21日時点のGitHubの手順だと、自分の環境では以下のエラーがでました。
sketch_mar21a:21:31: error: SparkFun_MMA8452Q.h: No such file or directory
compilation terminated.
exit status 1
SparkFun_MMA8452Q.h: No such file or directory
どうやら、SparkFunの加速度センサ絡みのようで、。。。
上記の対応後、スケッチの書込みを行うと、下記のとおり書き込みを完了できました。
LINEアプリも含めた動作確認
無事にスケッチの書き込みができたので、LINEアプリと連携する部分を試します。
既に、上記の中のLINEアプリ上で進めていた手順ができている状態であれば、
アプリの
「友達タブの 設定 ⇒ LINE Things ⇒ マイデバイス」
とたどった先から、上記で導入したアプリを利用できます。
以下、Android版のLINEアプリで、上記のとおり進んだ先の、アプリ画面をキャプチャしたものです。
あとは、開発ボードとBluetooth通信ができる状態になっていれば、以下の動画のように動作させられます。
GitHubにある以下のスケッチを書き込み直して、LINEアプリとの連携部分を試しました。
— you (@youtoy) 2019年3月21日
( https://t.co/WTBv6u888V )
ボードを傾けてみたり、スイッチを押してみたりして、LINEアプリの表示が変化するのを確認。#linethings pic.twitter.com/bKuWSPT9g3
以下、アプリの画面で、センサーの値等が表示されている状態のものです。
LINEアプリ上でのLINE Things利用まわりの話の詳細は、LINE Thingsハンズオンの資料の「LINE と LINE Things デバイスを連携させてみよう」の部分なども見てみてください。
終わりに
今回、LINE Thingsの開発ボードのサンプルを動作させるまでを試してみました。
ボードの書き込みはやってみたものの、LINEアプリ側はサンプルを流用したままの状態のため、次に、こちらを自前のBotにそのまま実装してみようと思います。
その後、今回、開発ボードへ書き込んだスケッチも含め、サンプルに手を加えてみたりなどしてみようと思います。
余談: LINE Things に対応したボード
現在(2019/3/11時点)、LINE Thingsに対応したデバイスは以下の5つになっています。
情報元は、GitHub の「line-things-starter のページ」の、「Installing the Firmware」の部分です。
- Espressif ESP32-DevKitC
- M5Stack (ESP32)
- Adafruit Feather nRF52 Bluefruit LE
- BBC micro:bit
- Obniz
上記のうち所有しているデバイスが4つで、ESP32 と obniz は試したのですが、残り2つの micro:bit と M5Stack は試せてないため、後ほどこれらも試してみたいと思います。