<第一回> ラズパイ搭載　長距離無線通信ドローンの作成とアドホックネットワークの構築

-----------------------WARNING---------------------------------
こちらは現在作成進行中の(完成するかわからない)プロジェクトです。
完成したものが見たいわボケみたいな人はブラウザバック推奨です。
あと、当方電子工作が超のつくほどの初心者です。許してくれる人だけ見てください。
------------------------------------------------------------　
#初めに
初めてQiitaに投稿します。この度はコロナで暇なので何かしようと考えていたところ、「ドローン使ってアドホックネットワーク作ってみたいな」とかいうバカみたいなアイデアが思いつきました。




まぁ腐る程時間はあるし、大学生活でなんか自分で作ってみたいなぁって考えていたからやってみよう。
金はないけど。インターン探す気が起こらないので誰か雇って欲しい。備忘録も兼ねてこの記事を作る。

##長距離無線通信ドローンを考えてみる
大学の庭でドローン飛ばしてたらかっこいいよね。
下心まみれで考えていたけど、アドホックネットワークを構築するためには長距離飛ぶドローンが必要だ。
更にドローン同士、ドローンとPCの通信が考えられたドローン製品...は見つからなかった。まずこれを作るところから始めよう。
ドローンに求められる機能を下に書き出してみる。

1.ドローンとPCがWi-Fiの通信距離を超えて通信可能
2.ドローン同士がWi-Fiの通信距離を超えて通信可能
3.ドローンがPCの指示に従って動くようにプログラミングできる。

まぁこの時点でかなり難しい予感。属性てんこ盛りすぎる。Wi-Fiの通信距離を超えてっていうのはこれ超えなきゃアドホックネットワーク構築する意味あんまないからね。ZigBeeみたいなIEEE802.15.4規格に準拠した無線通信をしたい。

#解決策
 ドローンにラズパイをくっつけて、
更にラズパイに無線通信機器をとりつけて、PCと無理やり通信してしまおう！
いわば
[ドローン]-[ラズパイコントローラ]-----------[PCコントローラ]

かなり力技な気がするが脳筋なのでこれで行こう。ちなみに僕の自慢の部位は上腕二頭筋。

なぜこれに至ったかを下に書いていく。

#ドローンの選定　Rzye tello
プログラミングができるドローンをとにかく探した。
3つぐらいしか見つからなかった。
有力なものの一つ,Rzye powered Djiのtelloっていうドローン。
これはscratchとかPythonを使ってPC-ドローン間をドローンがWi-Fi親機になって制御できるらしい。しかもお手頃価格。
お金がない僕はこれしか選択肢がなかった。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718725/0f6eb36b-b523-2ea2-151c-060c2f93009f.png" width=50%>

#小型PCの選択　Raspberry Pi Zero
ドローンを遠く飛ばすためにはコントローラとなるPCをドローンに吊り下げるしかない！！
っていう脳筋戦法を選んでしまったが故にこんなことになってしまった。

実際、今回のプロジェクト要件を満たすドローンは全部を自作してる人しか見つからなかった。姿勢制御とかも全部やらなきゃいけないと考えると、電子工作ほぼ初心者の僕にとっては地獄でしかない。
重きを置いているのはアドホックネットワークの構築である。

ドローンtelloは重さ80gにして最高高度30m出るらしい。
当然これにラズパイなんかくっつけようものなら高度は下がっていくだろう。
高校物理でやった記憶が正しければ、ドローンに80gのおもりをくっつけたら当然15mが最高高度になる。

ラズパイに求めるインタフェースは最低限でいいので軽さ重視、Raspberry Pi Zeroを選択。
軽さを求めた電子工作なんて初めてだ。手探りで部品を揃えていく。

#遠距離無線通信　MONOWIRELESS TWELITE
ずっと前から気になっていたのがモノワイヤレスって会社のトワイライトっていう製品。

USB接続した小型機器同士でシリアル通信できるらしい。普通にすごい。
しかも開けた土地だと理論上3km離れた場所でも通信できる。


これはtelloの出すWi-Fi通信範囲を軽く超えている。これならアドホックネットワーク構築できるな！
って思ってPC接続用のUSB接続親機　MONOSTICK とラズパイ組み込み用の TWELITE DIPの二品をAmazonで購入。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718725/891add54-1724-d1c6-aaff-14405ed66760.png"width=40%>   <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718725/8cd11eae-83f8-cdcd-7909-d261604708bf.png"width=40%>
TWELITE DIP(左)とMONOSTICK(右)


この会社、技術は凄いし後知名度だけって何かの記事で見たから是非電子工作界で有名になって欲しいなって思う。サイトの説明も丁寧だし。



#電子工作　ラズパイ周りの設計
まぁ部品集めただけじゃ始まらないのが電子工作。工作の部分がスタート。　本記事第一回はこの設計までを書き記す。
###その1.ラズパイの電池
ラズパイは基本有線でコンセントに繋いで電力供給する。けど今回はドローンに乗っけるから電池による接続が要る。しかも軽さ重視なのでなんかないかなーって考えたらリチウムイオンポリマー電池。
直接ラズパイに接続できないので、変圧してラズパイに電力供給してくれる電子部品　LiPo SHIM　ってやつと一緒にを買う。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718725/f77ac59b-14ab-b2a9-0f6f-13fb3efb1792.png" width=40%>
ラズパイ上に乗ってる黒いやつ。
画像上に接続されているのがリチウムポリマー電池。

###その2.無線通信モジュールTWELITE DIPの設置
これに加えて無線通信モジュールを加えたりするんだから、当然電子基板の増設が必要。
電子基板もLiPo SHIMも、どっちもラズパイのGPIOの上に載せる部品だから、この整合性を考えてたら数時間経ってた。
最終的にはラズパイのGPIOを増設する電子基板の上LiPo SHIMとTWELITE DIPの二つを載せることになりそう。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718725/6fde38e8-2e39-ad61-818c-c51f11f54253.png" width=50%>
ちゃんと乗ればいいんだけどな...

###その他
当然電子工作を自分でやるのは初めてなのではんだごてセットとブレッドボード、ジャンパー線を購入。
昔アルバイトでarduinoを子供たちに教えていたとはいえ、ラズパイは初めてなので設備投資...
地味に痛手。

#次回　プロトタイプの作成
次回はこれらの部品を使ってプロトタイプを作っていきたい。
複数回に分かれてしまうかもしれないけどご愛敬。

このプロジェクトに関わらず、ネットワークとかで助言してくれる方と繋がりたいです。
気軽に話しかけて欲しいです。

(はやくアドホックネットワークの構築をしたいからプロトタイプ作成は早く終わらせたい...)