DockerによるDjango開発環境コンテナ作成&起動

LINEで送る
Pocket

DockerによるDjango開発環境コンテナ作成&起動

DockerによるDjango開発環境

ソースコードの開発は、Windows上のPyCharmで、アプリケーションの動作確認はDockerコンテナ(Ubuntu)のrunserverで実行できる環境構築におけるDockerコンテナ作成&起動操作メモです。

 

全体像は、次のようになります。

DockerによるDjango実行環境

 

コンテナの一覧表示

docker ps -a

 

 

1つまたは複数のコンテナを削除

docker rm コンテナID

 

 

イメージを一覧表示

docker images

 

 

1つまたは複数のイメージを削除

docker rmi イメージID

 

 

mysiteイメージ作成

 

Dockerfile格納ディレクトリ(mysite)に移動して、実行

 

以下は、Dockerfileの内容です。

Dockerfileは、拡張子は付けません。

ubuntu:18.04をベースにしたDockerイメージ作成用の内容です。

 

 

 

 

docker build -t mysite:1.0 C:\Users\user\PycharmProjects\mysite

 

 

Dockerコンテナ作成&実行

 

docker run -it -p 8000:8000 -v C:\Users\user\PycharmProjects\mysite:/root/mysite –name mysite mysite:1.0 /bin/bash

 

Dockerコンテナを実行し、bashで対話型シェルにログインする。

その際、runserverのために8000番ポートを開けておく。

また、DjangoプロジェクトのディレクトリをDocker側の「/root/mysite」ディレクトリと同期する。

 

 

Docker側で必要なモジュールを適宜インストールする。

 

root@XXXXXX:~/mysite # pip3 install “Django==2.2” # Djangoのインストール

# XXXXXXは、コンテナID

root@XXXXXX:~/mysite # apt-get install nano # nanoエディターのインストール

 

 

Webサーバー実行

 

root@XXXXXX:~/mysite # python3 manage.py runserver 0.0.0.0:8000

 

 

実行したら、ブラウザで確認

http://0.0.0.0:8000

http://localhost:8000

 

 

 

Dockerコンテナ起動

docker start コンテナIDまたはname

 

Dockerログイン

docker attach コンテナID

 

Dockerログアウト

docker dettach コンテナID

 

Dockerコンテナ停止

docker stop コンテナIDまたはname

 

 

インストールできたら、サービスの起動確認

 

 

Docker起動手順

 

UbuntuにMySQLをインストールして、DjangoでMySQLに接続します。

 

 

  1. Powershell起動
  2. docker ps -a
  3. docker start コンテナID
  4. docker attach コンテナID
  5. root@[コンテナID]:~/mysite # service mysql start # mysql起動
    「root@[コンテナID]:~/mysite #」は、Ubuntuのコマンドプロンプト
  6. root@[コンテナID]:~/mysite # mysql -u root # 作成したユーザでMySQLへ接続
  7. root@[コンテナID]:~/mysite # quit # mysqlから抜ける
  8. root@[コンテナID]:~/mysite # python3 manage.py runserver 0.0.0.0:8000 # サーバーを起動
  9. http://localhost:8000/ # ブラウザで確認

 

LINEで送る
Pocket

案内ロボットのコンテンツの考察

LINEで送る

Pocket


案内ロボットのコンテンツの考察

上のアイキャッチ画像は、四万温泉の「くらっぽ」キャラクターのポシェットです。
このポシェットを肩にかけて、温泉ガイドをしてもらいます。
ポシェット内に温泉ガイドロボットが入っています。
このように、「癒し」のある温泉ガイドロボットです。

ロボットでの案内(ガイド)のニーズが増えている。

案内コンテンツの作成について考察する。

案内コンテンツは、季節、日時などの時間的条件で内容を変えたいニーズがある。
また、案内コンテンツの内容によって、次の案内コンテンツを利用者判断で取捨選択したい場合もある。
このようなニーズに対応する案内コンテンツの構成と制御方法を示す。

1. 時間的条件:

コンテンツの内容を季節、月などの時間的条件で変えるように、コンテンツをデータベースで管理する。

(1)季節(春、夏、秋、冬)
(2)月(1月、2月、~12月)
(3)月の旬(上旬、中旬、下旬)
(4)日(1日、2日,3日、~31日)
(5)午前・午後(午前、午後、夜)
(6)時刻(0時0分0秒、1時、2時、~23時59分59秒)

 

2. 利用者判断条件:

利用者の判断でコンテンツのガイド方法を制御する。

(1)今の案内を最初から聞きたい
(2)今のフレーズをもう一度聞きたい
(3)次のフレーズは聞きたくない
(4)案内を終了したい
(5)A、B、Cの中で、Aに関心があるのでAを聞きたい(複数の選択肢から選択)

 

3. 案内音声の選択:

案内音声を利用者が選択できる。

(1)女性音声
(2)男性音声
(3)人間の音声
(4)ロボットの音声

 

4. 複数ロボットでの案内:

複数のロボット(男性の声のロボット、女性の声のロボットなど)で案内を行える。

(1)各フレーズをどのロボットが発話するかを制御
(2)複数のロボットが同時に発話する

 

5. 発話の喜怒哀楽:

コンテンツを喜怒哀楽の声表現で発話する。

(1)各フレーズの発話の喜怒哀楽制御

 

6. 案内コンテンツの構成

コンテンツの句読点(。)単位をフレーズとして扱う。

(1)フレーズ:句読点(。)単位を1フレーズと定義する。

 

テンキー案内ロボットのプロトタイプ
案内ターゲット毎に振られた番号をテンキー入力することで、案内を行う。
音声出力は、イヤホン、Bluetoothスピーカーを選択できる。

テンキー案内ロボットの構成:

(1)制御部(Raspberry Pi)
(2)案内指示(無線テンキー)
(3)音声出力(イヤホン、スピーカー)
(4)開発プログラミング言語:python
(5)制御方式:Socket通信
(6)音声合成:各種音声合成ソフト採用
(7)ログ情報収集(利用日時など)

群馬プログラミングカレッジでは、プログラミングやAIロボット開発に興味のある方を募集しております。
共同開発したり、先端AI技術を利用したシステム開発などを行います。

また、子どもプログラミング、プログラミング教育などに関心のある方のお問合せをお待ちしております。

群馬プログラミングカレッジでは、四万温泉協会と複数ロボット案内システムや温泉ガイドロボットなどの共同開発に参加しております。

 

LINEで送る

Pocket