〜ラズパイで動かすサーバーを作る1〜ツイート今回からは、ラズパイで動かすサーバーを作ろうと思います。作成するサーバーはMicrobit→ラズパイ→Midi音源で使用できる様に作成します。目的は「フリーハンドで音源を鳴らす仕組み」を作ることです。早い話が、「マイクロビットから音源を鳴らしたい」ということです。Serverはマイクロビットからメッセージを受けてラズパイでMIDIメッセージを作成し、音源に送信するという形で使用します。ラズパイこれは、Bluetoothで接続してメッセージを送受信する想定です。MIDI音源これはラズパイとMIDI音源をMIDIインターフェースで接続してメッセージの送信を行う想定です。やって実現するか?マイクロビットからメッセージを送信するのは問題なくいけそうです。このリンクを見て、シリアルデータの送信ができる様なのです、というか前に試しました。マイクロビット〜という部分は後回しにします。Serverを作るここに至ります。Serverがこの仕組み(システム)の中核になるのでここから作成して行きます。<起動する環境>ラズパイ状で起動するので、コンパイル(ビルド)はラズパイ上でやる必要があります。以下の様な処理手順を踏みます。ラズパイでGithubにアップロードしたJavaファイルをダウンロード(PULL)してビルドする仕組みを作ってしまいます。Mavenを使用します。これのプラグインでJARファイルを出力する様に設定します。PC上で作成したJavaServerをGitにアップロード(PUSH)します。ラズパイを起動した時に、Githubからプルしてビルドをする様に起動スクリプトを作成します。Serverサーバーと聞いて皆さんは何を想像するでしょうか?サーバーはパソコンのことではなくアプリケーションのことです。入力を待機しているアプリケーションのことをサーバーと呼びます。いうわけで、マイクロビットからのメッセージを待機するサーバーを作るということで入力がマイクロビットから送られてくるもの(データ)なのでシリアルデータ(バイト配列)になります。マイクロビットのブロックコードではラジオカテゴリの中にあります。MIDIデータを作成し送信するというのがこのサーバーの役目になります。まとめるラズパイ上でJavaServerが起動するマイクロビットからシリアルデータが送信されるシリアルデータを読み取り、MIDIメッセージを作成ラズパイに接続したMIDI音源にMIDIを送信するこんな感じで動くものを作成するためにJavaで極小サーバーを作成します。低レベルAPIのSocketを使用するので処理内容などは自由自在に作ることができます。逆に高レベルAPIの場合は中身はいじれないけど、決まった形の処理は簡単に作ることができます。高レベルAPIと低レベルAPI高レベルは人間に近く、低レベルは機械に近いという意味です。人間に近いということは、細かい処理などがひとまとまりになっています。「DBサーバーにアクセスする」というのを1行実現することができる。この様なAPIは高レベルです。逆に、「DBサーバーにアクセスするためにDBコネクションを取得するためのネットワークを検索する」という処理を行うAPIは低レベルなAPIです。Interface」なのでjavaでいうなら「そのクラスは高レベルか?、低レベルか?」という違いでしかありません。話をするのに伝えやすいのでこのことを記載しました。Serverを作る今回は、少し長くなってしまったので次回作成します。イントロダクション的なことを記載しました。