Tello-Console2 インストールガイド Mac 版

# Mac に Tello-Console2 をインストールする
　Tello-Console2 に関する情報や、その他OSに Tello-Console2 をインストールする場合は、以下の記事を参照してください。

 :::note
 　ここでは初めてターミナルや Python を触れる方にわかりやすく説明します。
:::

 - Tello-Console2 に関する記事まとめ


- 他のOS (Windows, Linux)に Tello-Console2 をインストールする方法

https://qiita.com/GAI-313/items/8712fcd1ced36613a13f

　ここでは、 **macOS** に Tello-Console2 をインストールする方法を紹介します。

 ## 0. Python のバージョンを確認する
 　macOSはお使いの環境によって Python2 または Python3 のどちらかがあらかじめインストールされています。Tello-Console2 は **Python3** のみサポートしているため、本セクションでお使いの環境の Python バージョンを確認しましょう。

### 0.0. ターミナルを開く
<img width=40%><img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/305bf3d3-6dd7-e056-1e76-034ef366dedd.png' width=20%>

　Python のバージョンを確認したり、Tello-Console2 のインストール作業には **ターミナル** というアプリケーションを使用します。ターミナルを開くには⌘キーとSpaceキーを押して **Spotlight検索** を開き、検索バーに **`ターミナル`** と入力してください。

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/d04201d4-491a-a701-8d1b-04e45edee4e3.png' width=100%>

　候補として出てきた **`ターミナル.app`** をクリックするとターミナルが起動します。

 ### 0.1. Python のバージョンを取得する
 　以下のコマンドをターミナル内に入力してください。
```bash
python -V
```
- この時の実行結果が `python 2.x.xx` の場合は、次の手順をお読みください。
- この時の実行結果が `python 3.x.xx` の場合は、次のセクション <font color='green'>**1. 必要なパッケージをインストールする**</font>をお読みください。

### 0.2. Python のバージョンをアップグレードする
::: note
　ここの手順はお使いのPCの Python のバージョンが `2.x.xx` である方のみお読みください。
:::
　以下のリンクをクリックして Python3 インストーラーをダウンロードしてください。

 https://www.python.org/ftp/python/3.11.7/python-3.11.7-macos11.pkg

 ダウンロードされたインストーラーを起動して、Python3 をインストールします。インストールが完了したら、**一度PCを再起動してください。**
　再起動が完了したら、ターミナルを起動して以下のコマンドを実行してください。
```bash
python3 -V
```
　この時実行結果に ```python 3.xx.xx..``` と表示されたら成功です。

## 1. 必要なパッケージをインストールする
　Tello-Console2 を使用するにはいくつかパッケージをインストールする必要があります。ここでは Mac のターミナル環境を変えつつ必要なパッケージをインストールする方法を紹介します。

### 1.0. ターミナル環境を.zsh から .bash に変更する
　macOSはデフォルトでターミナル内で使用するシェルが `zsh` ですが、Tello-Console2 は `.Bash` を推奨しています。ターミナルを起動して以下のコマンドを実行するとターミナルの実行環境が `.zsh` から `.Bash` へ変わります。
```bash
chsh -s /bin/bash
```
　このコマンドを実行するとパスワードの入力が求められます。パスワードを入力したら完了です。一度ターミナルを再起動してください。

### 1.1. Homebrew をインストールする
:::note
　HomeBrewは macOS 内で使用するパッケージインストールツールです。macOS 内でプログラミング開発を行う場合このツールっを使う機会が増えるでしょう。
:::
　以下のコマンドを実行して Homebrew をインストールします。
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```

### 1.2. Python と pip の設定をする
　前回のセクションで Python2 から Python3 へアップグレードされた方は特にこの作業を行なってください。以下のコマンドを実行して `python` コマンドで `python3` が実行されるように変更します。この時 **1行づつ実行してください。**
```bash
echo "alias python='python3'" >> ~/.bash_profile
echo "alias pip='pip3'" >> ~/.bash_profile
source ~/.bash_profile
```

### 1.3. 必要なパッケージをインストールする
　Tello-Console2 は以下のパッケージを必要とします。

 - FFmpeg
 - OpenCV
 - Numpy

　以下のコマンドを実行して FFmpeg をインストールします。
```bash
brew install ffmpeg
```
　以下のコマンドを実行して OpenCV をインストールします。OpenCV がインストールされると Numpy も自動的にインストールされます。
```bash
pip install opencv-python
```

## 2. Tello-Console2 をインストールする
　ターミナルを開き、以下のコマンドを実行して Tello-Console2 をダウンロードします。
```bash
git clone https://github.com/GAI-313/Tello-Console2.git
```
　ダウンロードが完了したら以下のコマンドを実行してください。
```bash
echo 'export PYTHONPATH=$HOME/Tello-Console2/tello_console2:$PYTHONPATH' >> ~/.bash_profile
source ~/.bash_profile
```

## 4. 起動確認
　これで Tello-Console2 のインストールは完了です！確認として TELLO を接続してみましょう。作業を始める前に TELLO のバッテリーが十分充電されていることを確認してください。

### 4.0. ドローンを PC に接続する
　バッテリーが挿入された TELLO 機体側面の電源ボタンを押して機体の電源を入れます。
<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/4d5d96bf-b739-7ba9-f1b1-7b36de8431a3.png'>
　機体前面の LED ライトが黄色の点滅に変わったらWi-Fi 設定で **`TELLO-`** から始まるSSIDに接続します。
<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/da7211dc-4cb1-9f01-7915-cde91e6f8d60.png'>
　ターミナルをつかって Tello-Console2 のサンプルプログラムを実行します。⌘キーとSpaceキーを押して **Spotlight検索** を開き、検索バーに **`ターミナル`** と入力してください。

<img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/d04201d4-491a-a701-8d1b-04e45edee4e3.png' width=100%>

　候補として出てきた **`ターミナル.app`** をクリックするとターミナルが起動します。
　起動すると以下のような黒い画面が表示されます。以下のコマンドを実行して Tello-Console2 の中にある `samples`ディレクトリに移動してください。
```
cd Tello-Console2/samples
```
　`samples` ディレクトリにはいくつかサンプルコードが用意されています。最も素早く動作を確認するには `0_sample_boot.py` を実行します。以下のコマンドを実行してサンプルコードを実行してみましょう。
```
python 0_sample_boot.py
```
　以下のように実行結果に
```
INFO:TELLO_CONSOLE :TELLO CONSOLE スタート !
```
と表示されていたら Tello-Console2 は正常に動作しています。加えてドローンの LED ライトが紫色の点滅に変わっています。
　次にカメラのストリーミングができるかどうか確認しましょう。カメラ映像の取得はサンプルコード `sample_flight_display.py` を実行することで確認できます。このプログラムはドローンに搭載された前方カメラの映像をリアルタイムで取得します。以下のコマンドを実行して`sample_flight_display.py` を実行してみましょう。
 ```
python sample_flight_display.py
```
　実行してドローンのカメラビューが表示されたら成功です。
 <img src='https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729782/cdf2845f-9f9d-0f25-04a2-6b61e251e181.png'>

　これで Tello-Console2 の起動確認ができました！ドローンを使ったプログラミングを楽しんでください！