昨今テレビやネットでよく目にするようになったIoT。IoTと聞くと敷居が高く感じる方もいるかと思いますが、これは私がまだ、IoTという言葉すらも知らない、超初心者プログラマーだった頃に作成した、バイクとスマホを連携するアプリケーションの話です。IoTのとっかかり易さを理解してもらいたいので、今回は詳しい事は省きたいと思います。Thingsの頭文字を取ったものです。直訳すると『モノのインターネット』。ようするにモノがインターネットとつながって、操作出来たり、情報を収集したりできる仕組みの事です。スマートスピーカーなんかが代表的です。具体的にはどんな仕組み?Androidアプリと、バイクに搭載したArduinoというマイコンを、Bluetoothで接続して相互に通信します。Androidアプリと、Arduinoに組み込むプログラムのプログラミングが必要になります。本来、モノ(今回はバイク)自体がインターネットにつながらないとIoTではないかもしれないですが、通信方式がBluetoothからインターネット経由になるだけで、他は変わらないので、今回はIoTという事にします。大まかに分けると下記のようになります。AndroidアプリのプログラミングArduino組み込みプログラムのプログラミングモノの物理的な組み込み作業AndroidアプリのプログラミングAndroidアプリはUI(見た目の部分)はXML、処理自体はjavaという言語を使ってプログラミングします。今回の場合は、まず初期表示時にBluetooth接続をする処理を実装します。Bluetooth接続が完了したらメイン画面が表示されます。メイン画面には、ボタンをいくつか配置し、そのボタンが押された際に、ArduinoにBluetooth通信で特定のパラメータを送信する処理を実装します。(例:Aボタンを押されたら『onClickABtn』というパラメータを送信)Arduino組み込みプログラムのプログラミングArduinoのプログラミングには、Arduino言語というC/C++をベースとした言語を使用します。IDEという総合開発環境を使用します。Arduinoには入出力用のピンがありますが、拡張する事により、そのピン以外でも入出力が可能になります。今回の場合であれば、Bluetoothトングルを使う事で、Bluetooth通信による入出力を拡張しています。具体的なプログラミングはというと、Androidアプリから送信されてきたパラメータ毎に処理を実装する形になります。バイクからの特定の信号(エンジンがかかった、ギアがNなど)を受け取ってAndroidアプリに送信する処理も実装します。(例:先ほどの『onClickABtn』というパラメータを受け取った場合、1番の出力ピンに一定時間、電気を流す)モノの物理的な組み込み作業モノの組み込み作業とは、Arduinoの物理的な拡張と、そのArduinoを物理的に接続する側(バイク)の改造になります。今回の場合は、Arduinoの物理的な拡張はBluetoothトングルをUSBポートに指すだけです。バイクの改造は、バイク側の操作したい電源に、Arduinoからの電気信号を介入させる作業になります。その際に、Arduinoの電源では電圧が弱い為、リレーを介して介入させます。(例:1番の出力ピンに電気が流れた場合、バイクのスターターモーターに電気を流す)以上が具体的な作業内容になります。本当はもう少し細かい実装や作業が必要になりますが、今回は割愛します。実際に動かしてみよう!これは当時プレゼンに使った動画が残っているので、それをご覧ください。https://www.youtube.com/watch?v=rJG5Es5fovQ&t=1sプレゼン用の動画なので説明がないですが、主な機能としては下記になります。実走!以上のように、簡単にIoTは試してみる事が出来るので、みなさんも是非チャレンジしてみましょう!また福井県内の方で、IoTをビジネスに使いたいが、どうすればいいかわからない方など、お気軽にお問合せください。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。Googleタグマネージャーのプレビューモードを使いこなせ!BLOG一覧へご依頼・ご相談・お問い合わせ考え方に共感していただける企業様、EC事業でもっともっと成果を求めたいとお考えの企業様、ぜひピュアプラスにご依頼ください。