ソケットサーバー「HAL」は Raspberry Pi で動作する、カスタマイズ可能なサーバーアプリケーションフレームワークです。ソケットサーバー「HAL」をセットアップすれば、プログラムに関する難しい知識がない方でも簡単なPHPコードを書くだけで Raspberry Pi を制御することが出来るようになります。

Raspberry Pi を買ってひとしきり遊んだが「さて、これからどうしよう?」とお考えの方はいらっしゃいませんか? ソケットサーバー「HAL」を使えば、あなたの Raspberry Pi で効率的なIoT活用が出来ます。ソケットサーバー「HAL」で、あなたの Raspberry Pi をもっと便利で楽しいデバイスにしましょう!

※この記事で紹介しているソケットサーバー『HAL』は、諸般の事情により現在、公開と販売を中止しています。この製品へのお問い合わせは画面上部の『お問い合わせ』メニューよりご連絡ください。

※この記事は執筆・公開から3年以上経過しています。記事の情報が古くなっている場合がありますのでご注意ください。

公開日時:2016/12/14 21:06
最終更新:2019/12/10 04:16

ソケットサーバー「HAL」の概要(version 2.0対応版)

ソケットサーバー「HAL」は Raspberry Pi で動作する、カスタマイズ可能なサーバーアプリケーションフレームワークです。ソケットサーバー「HAL」をセットアップすれば、プログラムに関する難しい知識がない方でも簡単な PHP コードを書くだけで Raspberry Pi を制御することが出来るようになります。

Raspberry Pi を買ってひとしきり遊んだが「さて、これからどうしよう?」とお考えの方はいらっしゃいませんか? ソケットサーバー「HAL」を使えば、あなたの Raspberry Pi で効率的なIoT活用が出来ます。ソケットサーバー「HAL」で、あなたの Raspberry Pi をもっと便利で楽しいデバイスにしましょう!

ソケットサーバー「HAL」の概要

ソケットサーバー「HAL」の概要

ソケットサーバー「HAL」は PHP で構築された軽量なサーバーアプリケーションフレームワークです。BSDソケットを用いたテキストベースの通信によって、あなたのアプリケーションや音声クライアントからの指示を受け取り、あなたが定義した処理を行います。どのような処理をさせるかはあなた次第です。

音声クライアントは Julius から送信された音声認識結果を HAL に伝えるクライアントプログラムです。Juliusは日本の大学やIPAによって開発されているオープンソースの音声認識システムです。ソケットサーバー「HAL」を利用するにあたって必須ではありませんが、Julius を導入する事で HAL をより高度に扱うことが出来るようになるでしょう。

同様にオープンソースで開発されている音声合成ライブラリ[Open JTalk」を併用することで、対話型の IoT システムを、とても簡単に構築できるようになるでしょう。

サーバーフレームワークってなぁに?

サーバーフレームワークというのは、あまり聞き慣れない言葉です。ソケットサーバー「HAL」がどんなものなのかを知るには、実際にどんなプログラムを書く必要があるのかを知るのが一番手っ取り早いでしょう。

このリンクでは、HAL にあなたが望んだことをさせるために、どんなプログラムを書けば良いのかをご紹介しています。こちらを一読いただければきっと、ソケットサーバー「HAL」がどんなアプリケーションであるか、どれほど簡単に思っていることを実現できるのかを大体御理解いただけるのではないかと思います。

必須条項

推奨条項

WiringPi 及び WiringPi-PHP が無くともサーバーとして利用することは可能ですが、あなたがやりたい事の殆どはかなり大変になるでしょう。ぜひインストールをおすすめします。

HALの構成(version 2.0 以降)

HALのプログラムファイル構成は以下のようになっています。

HALのディレクトリ構成

これらのディレクトリの詳細な説明は、別途記載します。

導入方法

HAL version 2.0 から、HAL を実行するためのプログラム類を自動でインストールするためのシェルスクリプトを用意しました。

このシェルスクリプトは、

cd ~

wget -O setup_trial.sh "http://feijoa.jp/getFile/?place=products&filename=setup_trial.sh"

で取得できます。

ls

で、setup_trial.sh ファイルがダウンロードできたか確認して下さい。このファイルはシェルで実行するコマンドを羅列したもので、手動で一つづつプログラムをインストールする作業を自動化したものです。

cat setup_trial.sh

で、何をしているのか、内容が確認できます。

このスクリプトを実行しても良い場合は、

sudo chmod u+x setup_trial.sh

として、setup_trial.sh ファイルにユーザーの実行権限を付与します。(+ は権限追加、x は実行権限です)

これでスクリプトが実行できるようになるので、

sudo ./setup_trial.sh

とすると、インストールスクリプトが実行されます。スクリプトの最初にいくつかの設定項目の入力後、最後まで自動でインストールが行われます。(いくつかのアプリケーションはコンパイルが必要なため 40 分程度かかります)

インストールされるアプリケーションやファイル等の詳細な説明は、別途記載します。

HALの名前の由来

HALの名前の由来は、スタンリー・キューブリックの「2001年宇宙の旅」の人工知能 HAL9000 です。以前の HAL のデフォルトポートは 9000 番に設定されていましたが、これに由来します。2001年宇宙の旅で HAL9000 は電源を切られることを恐れ乗務員を殺害しますが、ソケットサーバー「HAL」があなたに危害を加えるかどうかはあなたの書いたコード次第です。

なお、講談社のコミック「ハルロック」(西餅著)に登場するハルちゃんでは決してありません。

※ 加えて、余談ですが、本来の「ソケットサーバー」という用語は TCP や UDP の通信を中継するプロキシサーバーのような物を指すようです。ですから『ソケットサーバー「HAL」』というネーミングはあまり適切ではないので、そのうちに名称変更するかもしれません。

記事リンク