2016.02.20今回はスマホのBluetooth通信を使ってLEDの明るさを制御するスマホアプリの作成を紹介します。「AppInventor2」というMITが提供しているAndroid用アプリ作成ツールを利用したいと思います。java言語等の専門的な知識が無くても少しだけプログラミング言語に覚えがあれば非常に簡単にビジュアル的にアプリが作成できるweb上のツールです。Google.incが開発していて今はMITが運営しているみたいです。Google-Chromeウェブブラウザとの相性が良いかもしれませんが特に気にする必要もないかと思います。私も複数のブラウザで試しましたが不都合はありませんでした。Googleアカウントを準備しましょう。後、必要なのはPCとインターネットブラウザ、スマホです。Companion”というアプリをインストールしておくと便利です。Companion”でQRコードを利用してアプリのインストールや作成中アプリのリアルタイムデバック等が利用できるようになります。AppInventor2の導入や操作に関してはいろいろな日本語サイトで紹介されているのでそちらを参照下さい。ここでは基本的な内容は割愛します。具体的にアプリを作成していきたいと思います。作成する前に簡単に仕様を決めます。1)Bluetooth機器と接続2)スライドバーの位置情報をBluetoothにて送信おおざっぱな仕様はたったこれだけです。▼それでは画面にコンポーネントを配置します。こんな感じで配置します。どのような配置でも問題ないので好みで配置しましょう。配置するコンポーネントは「Slider」「ListPicker」「BluetoothClient」「Notifer」の4つのみです。Layout系のコンポーネントは適宜使用しましょう。上の例でも2組使用しています。次にそれぞれのプロパティを設定します。「Screen1」に関しては特に指定する項目はないです。Control”としています。好みでカスタマイズしましょう。次に2つ配置してある「HorizontalArrangement」も特に指定する項目はないです。好みの配置、色に設定しましょう。一応今回は「AlignHorizontal」「AlignVertical」ともに”Center”に設定。parent”に設定してます。次に「Slider1」のコンポーネントです。ここでは「MaxValue」の値を”255”に「MinValue」の値を”0”に設定します。LEDの明るさをArduinoのPWM出力で制御するため分解能を合わせた数字にしておきます。parent”にします。色は好みで設定しましょう。「ListPicker1」はBluetooth機器と接続するボタンになります。ここでは「Text」を”Connect”とし「Title」を”SelectDevice”とします。ここも好みで設定して問題ありません。「BluetoothClient」「Notifer」のコンポーネントについては特に何も触らなくて良いです。ここでは配置しておくだけで問題ありません。ここまで完了したら次はブロックプログラミングに移ります。▼ListPicker1.BeforePickingのブロック配置です。ここではListPickerボタンがタッチされたときの動作を行っています。このボタンで接続するBluetooth機器を選択します。if分でスマホのBluetooth機能がオンになっているかを確認します。オンであればListPickerに表示されるBluetooth機器の一覧を表示させます。device”とポップアップする機能を実装します。日本語でもO.Kです。▼次にBluetooth機器との接続を行う部分です表示されているBluetooth機器のマックアドレス(機器名)を選択し接続します。接続が完了すると真となりアプリ画面のタイトルに”Connecting”と表示します。connect”と表示します。ここまででBluetooth機器との接続部分は完了です。▼次にスライドバーがスライドされた時にBluetooth送信する部分です。Slider1.PositionChanged」を使用します。if分でBluetooth接続が確立されているか確認します。真であればまずアプリのタイトルを”Connecting”にしています。Bluetoothでのパケット送信ですがまずスライドバーの位置情報を取得、位置情報は小数点を含みますから「round」で丸めます。接尾後として”e”を足してパケットをBluetooth送信します。スライドバーの数字は0~255の間となりますから送信パケットは”0e”~”255e”となります。connetct”として接続が切れていることを表示します。これでスマホアプリは完成です。▼スマホにインストールした画面はこちら非常に簡単なアプリです・・・・・。早い人であればこのアプリ作るのに20分もかからないのではないでしょうか。これだけでBluetooth送信アプリが作れます。コメントをキャンセルメールアドレスが公開されることはありません。