AppInventorを使用して、Bluetooth経由でArduinoを制御し、RF経由であなたの家を制御するためのAndroidアプリを作る:6ステップ

AppInventorを使用して、Bluetooth経由でArduinoを制御し、RF経由であなたの家を制御するためのAndroidアプリを作る:6ステップ

目次:

Anonim

タイトルはかなり口にしていることを私は知っていますが、それはまさにそれがあるものです。

少し前に、私は自宅にいることをシミュレートすることによって強盗を抑止することを目的としたatmega328(または 'Arduino')の周りの回路を説明するように指示を出しました。

それは私の庭の世話をすることも含むので、徐々にそのシステムは「ホームオートメーション」システムに拡張しました。

それはすべてそれ自身で動作することができるけれども、私はシステムからのいくらかのフィードバックを得るために、またはいくつかのパラメータを設定するために、または自分でランプをオンまたはオフに切り替えることによって介入するためにBluetoothインターフェースを追加した。

私の携帯電話とのブルートゥース通信に使用される「インターフェース」は「ブルートゥース端末」でした。本当にユーザーフレンドリーではありません、そして私がプログラムを横長モードにするために十分に遠くに電話を傾けた時はいつでもそれは接続を失うでしょう。

だから、私は 'App'を本当に必要としていました、結局のところ、まともな制御システムは、今日なしで行うことはできません。私たちはもう石器時代には生きていません:-)

私はHTMLとJavaの初心者ではありませんが、私はアプリを作る経験がありませんでした。基本的に私はどこから始めればいいのかわかりませんでした。 Android Studioのようなシステムを開発しているいくつかのアプリをダウンロードしました、しかし私はそれがディスクスペースのトリジャールガジラの数メガバイトを必要としたと思います、そして、正直なところ私はそれを少し不親切に感じました。

だから、いくつかの検索の後、私は 'App inventor'に来ましたApp Inventorの良いところはそれがオンラインで動作するということです。必要なのはGoogleアカウントだけです。アプリの発明者は事前のプログラム経験を必要としません、それはすべてグラフィック「ブロック」を互いに添付することによって行われます

最初はアプリの発明者は「エミュレータ」について話して 'compagnon'アプリをあなたの電話にダウンロードしなければならないことに少し気を配っているように思えるかもしれませんが、それはすべて必要というわけではありません。

あなたがしなければならないのは、あなたがアプリインベントリにここに行くことです、そして、あなたがGoogleアカウントを持っているならば、あなたはすぐに始めることができます。

それから私は彼らの基本的なチュートリアルであるHello Purrを取ることをお勧めします。

'Hello Purr'の例を実行した後は、それがどのように機能するのかを知っているかもしれませんが、 'おそらく、どうやってBluetoothを介して接続するのですか?

さて、それは私が次のステップで説明することです

用品:

ステップ1:アプリ:ボタンを押して入力と出力を読み取る

私のArduinoの回路は、前述のように、シリアルポートに接続された通常のBluetoothモジュールを持っています。それは自律的に動作しますが、シリアルポートからコマンドを受け取ることができますそこからそれは物事をやらせるためにコマンドを取ります、ライトのスイッチを入れ、ポンプのスイッチを入れます。私はまだBluetooth端末を使用していたときに私のキーボードからそれらを選択することができなければならなかったので、これらのコマンドはすべて印刷可能なASCII文字でした。アプリではそれがASCIIで印刷可能かどうかは重要ではありませんが、上の2つの画像ではarduinoが 'Serial.read()'を介してスキャンしているさまざまな入力値を見ることができます。

だから我々はアプリでする必要があるのはArduinoのBluetoothモジュールとシリアルポートにそれを渡すだろう携帯電話のBluetoothにそれらの値を送信するボタンを定義することです。

それは面倒で、私は学ぶための最善の方法はただそれを自分で遊ぶことであると確信しているので、私は細部にわたってアプリを説明しません。ただし、いくつかの基本的な原則について説明します。これで、アプリの動作を理解できます。

App Inventorの「Hello Purr」の例を見てみると、デザイン画面とブロック画面という2つの画面があることがわかります。

デザイン画面では、我々は我々のアプリのレイアウトを決定します、それは基本的にモックの「電話スクリーン」の上に要素の「ドラッグアンドドロップ」です。色、配置、フォントサイズなどのすべての種類のプロパティはすべてデザイン画面で行われ、すぐに問題が発生する可能性があります。

次に、ブロック画面でさまざまなアイテムの機能を定義します。左側の列のアイテムをクリックすると、そのアイテムに対して可能なアクションをいくつか選択できます。

3番目の図では、それが2つのボタンに対してどのように機能するかがわかります。

ボタン1がクリックされると、それはbluetoothクライアントを呼び出してバイトを送信し、この場合それは72(または 'H')です。 ArduinoプログラムのSerial.read()構造では、これが生活の中でライトをつけることを意味することがわかります。

ボタン2の場合も同様です。それはbluetoothclientを呼び出して番号104( 'h')を送信します。 Arduinoprogramでそれが意味するのは「居間の光の切り替え」

Arduinoプログラムはデータ(時間、温度)もシリアルポートに送信します。そしてそのデータをキャッチして電話で印刷する必要があります。 4番目の図は、その様子を示しています。ボタンだけでなく、結果を印刷するためのテキストボックスも定義していません。このボタンもまた、Bluetoothクライアントを呼び出してバイト116(a 't')を送信します。これは、Arduinoprogramからわかるように、シリアルポートに出力される時間になります。

したがって、そのボタンの下に別のアクションを定義します。それはテキストボックスに収入のバイト数を読み取るためにbluetoothclientを呼び出すことです。シリアルポートにすでに印刷されているもの(自動ステータスメッセージなど)がある場合は、それも印刷されます。

ステップ2:アプリ:ボタンを切り替える

以前、私はあなたがボタンでコマンドを送ることができる方法を示しました:「ON」のための1つのボタンと「OFF」のための1つのボタン。

退屈な!!!切り替え可能なボタンが1つだけあるとスペースが少なくてすみ、さらに派手に見えます。

それはそれほど難しいことではありません。あなたがデザイン画面のスナップを見ると、あなたはたくさんの '荒れ果てたゴブドック'を見ます(それは残念です)が、左下には緑色のじょうろが付いたボタンが見えます。明らかにこれは庭を灌漑することと関係があります。

次の2枚の写真では、実際に機能しているアプリの外観を示しています。緑色のボタンを押すと、Bluetoothクライアントにコマンドが送信され、その後赤色に変わります。赤いボタンを押すと、それは別のコマンドを送信し、再び緑色になります

最初に私は4枚目の写真に示すような方法を見つけました。ボタンの下に、「If Then Else」構造を定義します。ここで確認する条件は、ボタンに添付する画像の名前です。その名前に応じて、2つの手順のどちらかに進み、目的のコマンドを発行し(この場合は「I」または「i」を送信します)、ボタン上の画像を切り替えます。

しかし、それは必要以上に複雑で、5番目の図は手続きを呼び出さなくても簡単な方法を示しています。

ステップ3:アプリ:Bluetooth接続

それがブルートゥースに接続できなかったならば、アプリは価値がないでしょう。私が行った方法が最善の方法であるかどうかはわかりませんが、それは私には有効です。私は、ペアリングされたデバイスのリストを呼び出すことから始め、私が選んでそれを接続すると、接続ボタンの色とテキストを変更します。

1つの特定のデバイス専用のアプリがある場合は、リストピッカーを削除して、必要なデバイスのUUIDに接続するだけで済みます。

2番目の図は、Bluetoothに接続するための2つの基本的な方法を示しています。

リストピッカーを介して、および希望するデバイスのUUIDを介して。 UUIDは、デバイスを追加、ペアリング、または接続したときに表示されるデバイスの名前です。それは通常、のような名前を持つ一連の数字です。

XX:XX:XX:XX:XX:XX HC-05

Bluetoothに接続する方法は他にもたくさんありますが、ここで興味深い読み方が見つかるかもしれません。

ステップ4:アプリ:音声コマンド

基本音声コマンドをアプリに追加しました。 「ON」は短い単語よりもやや長い単語の方がうまくいくことがわかった。「OFF」はうまくいったが、「ベッドルーム」は通常よく見られる。おそらくそれは英語が私の母国語ではないためです。また、私は音声認識が他の言語を理解する上でどれほどうまく機能しているか確信がありません

ステップ5:アプリ:それをテストしてアップロードする

アプリの開発者は、アプリをテストする方法をいくつか提供しています。私は私の携帯電話にアプリ発明者の仲間をダウンロードすることによってそれをしました。あなたのコンピュータとあなたの電話が同じネットワークを使用している限り、それは機能します。

正直なところ、数回の後、私はアプリ発明者の仲間を使うことをあきらめた、しかし私はちょうど私の電話にapkコードをアップロードした。

だから、APKファイルをアップロードするには?

まあ最初にあなたはそれを手に入れなければなりません。あなたはトップツールバーの「ビルド」ボタンをクリックすることでそれを行います。それはあなたに2つのオプションを与えます:QRコードをスキャンするか、またはyrコンピューターにapkファイルをダウンロードする。

私は通常後者に行きます。あなたのAndroid携帯電話にそのコードをインストールする最も簡単な方法はあなたがあなたの携帯電話に持っているあなた自身のgmailアカウントに添付ファイルとしてそれを送ることです。添付ファイルを開くと、インストールすることができます。

ステップ6:アプリ:ほんの少しのヒントとコード

もう少しだけで、それから私はあなたが遊ぶためのコードを手に入れさせます。

私が与えたデザインは非常に派手ではありません、私はあなたがはるかに多くのアイコンであなた自身のニーズに合わせることができると確信しています、しかしそれはいじくり回すことへの例として意味されるだけです。

apkファイルは標準の鈍いアイコンでインストールされます。あなたは 'Screen1'プロパティであなた自身の派手なアプリのアイコンを指定することができます。アプリの名前を指定する場所でもあります。

この記事を書いている時点では、App Inventorを使用しているのはたった1日先のことです。それは本当に簡単です、それを使いに行きます。

ここにファイルがあります。AppInventorで「インポート」し、必要に応じて使用して変更してください。