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

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

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

ソケットサーバー「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」がどんなアプリケーションであるか、どれほど簡単に思っていることを実現できるのかを大体御理解いただけるのではないかと思います。

必須条項

  • Raspberry Pi 本体(Raspberry Pi 2以上を推奨)
  • PHP 5.4以上(5.6を推奨)
  • Raspberry Pi、及び HAL に接続するシステムの IPアドレスの固定化
  • ionCube Loader のインストール

推奨条項

  • WiringPi、及び WiringPi-PHP のインストール
  • Julius
  • Open JTalk
  • Apache2(Apache2.4を推奨)

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

HALの構成(version 2.0 以降)

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

HALのディレクトリ構成

  • actions ディレクトリは、あなたが HAL にさせたい処理を記述したファイルを置く場所です。
  • apps ディレクトリは、HAL に関する外部アプリケーション等を置く場所です。
  • setting ディレクトリは、HAL の設定に関するファイルを置く場所です。
  • system ディレクトリは、HAL のプログラムが格納されています。このディレクトリ内のファイルは暗号化されています。
  • userdata ディレクトリは、HAL で利用するユーザー固有の様々なデータが格納されます。
  • webapps ディレクトリは、HAL に WEB ブラウザからアクセスするための WEB アプリケーションフレームワークが格納されたディレクトリです。

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

導入方法

 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」』というネーミングはあまり適切ではないので、そのうちに名称変更するかもしれません。


ご購入

もう少々お待ち下さい。

体験版

version 1.5 から、IPアドレス制限が無くなり、ライセンス制になりました。ライセンスされていない場合、起動後30時間後に自動的に HAL を終了します。

体験版のインストーラー・スクリプトをダウンロード インストーラー・スクリプト
SHA-1: dd2a390b4f0f8c15301eaee23cd92bd5e831da91
※インストール方法については ソケットサーバー「HAL」の概要 (version 2.0対応版)~導入方法 を御覧ください。

体験版パッケージ
HAL_trial_2_0.tar.gz | version 2.0 | SHA-1: ce31802a5b423a9b0d73721a3d43e0585b009a6f
試用期限 2017/1/31 まで

この記事へのコメント

※現在コメントはMarkdown記法が強制です。>>Markdown の書き方


この記事に返信

このコメントに返信