投稿日: | 最終更新日:
ラズパイAIサーバを作る(ストレージサーバ編 動作確認)
前回、ファイル保存用のストレージサーバを作りました。今回は、コマンドで動作確認します。
ラズパイストレージサービスの概要
ラズパイ3を使って、ストレージサービスを作ります。ざっくり説明すると、以下のような構成になります。
準備
用意するものは以下の3点のみです。
- ネットワーク・インターネット接続環境
- RaspberryPi3
- クライアントPC
ラズベリーパイとクライアントPCの環境を設定します。
①ラズパイの初期設定を行い、IPアドレスを固定します。
→ラズパイAIサーバを作る(ストレージサーバ編 ラズパイ準備)
②Go言語をインストールし、ストレージサーバプログラムをセットアップします。
→ラズパイAIサーバを作る(ストレージサーバ編 Go言語開発環境作成)
ネットワーク・インターネット接続環境
必要なソフトウェアを入手するため、インターネット環境を用意します。また、ラズパイと通信して操作するためにネットワーク環境必要です。
RaspberryPi3
ストレージサービスのサーバとしてRaspberryPi3ModelBを使用します。RaspberryPi2ModelBでもかまいません。
RaspberyyPi | Raspberry Pi 3 Model B (Element14) |
---|---|
OS | RASPBIAN JESSIE LITE |
ipアドレス | 192.168.11.5 |
クライアントPC
操作開発用のクライアントPCを用意します。windowsでもmacでも可能ですが、今回はubuntuを利用します。
OS | Ubuntu 16.04.1 LTS 64bit |
---|
ストレージサービス起動
クライアントPCからラズベリーパイへSSH接続します。そして、ストレージサービスを通常起動します。
①クライアントPCの端末から、ラズベリーパイへSSH接続します。(※ラズベリーパイのipアドレスは、「192.168.11.5」とします。)
ssh pi@192.168.11.5
②ストレージサービスを通常起動します。
cd /home/pi/CQ/MyServer/MyStorageServer ./MyStorageServer
以下のように表示します。
starting My Storage Server ____ __ / __/___/ / ___ / _// __/ _ \/ _ \ /___/\__/_//_/\___/ v3.2.3 High performance, minimalist Go web framework https://echo.labstack.com ____________________________________O/_______ O\ ⇨ http server started on 192.168.11.5:3001
※Ctrl+Cで停止します。
動作確認
①同一のLANに接続したクライアントPC(Ubuntu)で、端末を開きます。「Ctrl+Alt+T」
アクセス確認
①ストレージサービスのアクセスを確認します。
curl -s http://192.168.11.5:3001/
以下のような結果が表示されます。
My Storage Server Ver0.2
ファイル保存確認
①Ubuntuで端末を開くと、ホームディレクトリがカレントディレクトリとなります。ホームディレクトリにテスト用の以下のテストファイルを作成します。
vi my.data
my.dataの内容は”aaaa”など、適当な文字列でOKです。
「my.data」ファイルをラズベリーパイの保存用ディレクトリへ保存してみます。
curl -s -F "name=my.data" -F "file=@my.data" "http://192.168.11.5:3001/storage/"
ラズベリーパイの以下のディレクトリに、「my.data」ファイルが保存されます。
- /tmp/
- Storage/
- DATA/
- my.data
※「/tmp/Storage/DATA」ディレクトリは、あらかじめ作成しておきます。「/tmp/Storage/DATA」を保存場所にする設定は、前回の記事を参考にして下さい。
ファイル一覧取得確認
①ファイルの一覧取得ができるか確認します。
curl -s http://192.168.11.5:3001/Storage/
以下のような結果が表示されます。
{"files":["/my.data"]}
ファイル・データ取得の確認
①ファイルのアウトプットができるか確認します。
curl -s http://192.168.11.5:3001/storage/my.data -o output
my.dataの内容を確認します。
cat output aaaa
ファイル情報取得の確認
①ファイル情報を取得します。
curl -I http://192.168.11.5:3001/storage/my.data
以下のような結果が表示されます。
HTTP/1.1 200 OK Content-Length: 5 Last-Modified: Mon, 02 Oct 2017 16:55:36 UTC Date: Mon, 02 Oct 2017 17:55:33 GMT Content-Type: text/plain; charset=utf-8
ファイル削除の確認
①ファイルを削除します。
curl -s -X DELETE http://192.168.11.5:3001/storage/my.data
ファイル一覧を確認します。
curl -s http://192.168.11.5:3001/storage/ {"files":[]}
次回
次回は、ストレージサービスにレプリケーション(冗長化)機能を追加します。
- Python 114
- 制作 54
- RaspberryPi 41
- Django 40
- WordPress 40
- Linux 27
- VPS 22
- JavaScript 21
- PHP 20
- HTML・CSS 19
- AWS 16
- 仮想環境 15
- レスポンシブデザイン 13
- マイコン 11
- WEB全般 11
- 動画製作 9
- Webサービス 8
- 統合開発環境 8
- 機械学習 8
- PyCharm 7
- jQuery 7
- AfterEffects 7
- 起業・設立 7
- Django REST framework 6
- C# 6
- デザイン 6
- SEO 6
- pydata 6
- Visual Studio 5
- 数学 5
- 携帯サイト 5
- heroku 5
- Mac 5
- illustrator 5
- node.js 5
- Anaconda 5
- Nginx 4
- Jupyter Notebook 4
- インフラ 4
- Google Colaboratory 4
- symfony 4
- Webスクレイピング 3
- photoshop 3
- Go言語 3
- PC 3
- ツール 3
- Docker 3
- facebook 3
- 作業効率化 3
- データベース 3
- Cloud9 3
- コマンド 2
- micro:bit 2
- Kali Linux 2
- Webサーバー 2
- MariaDB 2
- ドローン 2
- コンテナ 2
- DaVinci Resolve 2
- ネットワーク 2
- Java 2
- movie 2
- PCDJ 2
- 音楽 2
- XSERVER 2
- Ansible 1
- Vue.js 1
- JSON 1
- Bootstrap 1
- バージョン管理システム 1
- SSL 1
- S3 1
- ムームードメイン 1
- ネットワーク 1
- アニメーション 1
- D3.js 1
- Rhino 1
- アニメ 1
- git 1
- windows 1
- アクセス解析 1
- スマートフォン 1
- アフィリエイトノウハウ 1
- 知識 1
- TypeScript 1
- 役立つ本・書籍 1
- データサイエンス 1
- ESP32 1
- AI 1
- ownCloud 1
- API 1