最近お家ハックにハマってgooglehomeからTVの操作したり人感センサ設置して帰宅した際に自動で部屋の電気つけたりしていますが,ついにドローンの制御に手を出してることにしました.
その内高性能なドローンが出たら洗濯機動かしたり洗濯物干したりがドローンでできるようになるんじゃないかなとか淡い期待を抱いてます..
Parrot ドローン Mambo FLY
これがpythonで制御できるらしいので買ってみました.
他の記事を読むとpymambo
というライブラリが使われているんですが,いざこいつのgithubページにいくとpyparrotを使えと書いてあるのでこちらを使います.
んで基本的には上記github wikiのinstallationに従って設定していけば問題ないかと思います.
まぁそれだけだと味気ないので私が躓いた所だけメモしておきます.
まず上記installationのページに従ってapt-get
を進めていけば良いのですが,
sudo apt-get install python-pip libglib2.0-dev
sudo pip install bluepy
sudo apt-get update
の2行目のところでつまずきました.盲目的にコマンドコピペしていたのでpip install
にsudo
してしまっているのを見逃しました.root
とかで実行しないならここpip install bluepy
で良くて,sudo
いらないです.
最後に同じみgit clone
で好きなところにライブラリ持って来ればOKです.
ライブラリ関係の設定が終わったらBLEの設定しましょう.
デバイス(ドローン)のスキャニングとか,この辺のページ参考にすればできますし
http://www.autumn-color.com/archives/248
githubのQuick start: Mamboに書いてあるようにcloneしたpyparrot
フォルダ内でsudo python findMambo.py
と打ってやれば自分のドローンが見つかるはずです.
xxx@raspberrypi:~/Project/pyparrot $ sudo hcitool lescan
LE Scan ...
xx:xx:xx:xx:xx:xx (unknown)
yy:yy:yy:yy:yy:yy Mambo_612567
xx:xx:xx:xx:xx:xx (unknown)
これでQuick start: Mamboに書いてあるように,
python examples/demoMamboTricks.py
で試しフライトしてみたいのでdemoMamboTricks.py
のアドレス部分を自分のMamboのものに変えます.またwifiを使わない場合はそちらも設定します.
# you will need to change this to the address of YOUR mambo
# mamboAddr = "e0:14:d0:63:3d:d0"
mamboAddr = "yy:yy:yy:yy:yy:yy"
# make my mambo object
# remember to set True/False for the wifi depending on if you are using the wifi or the BLE to connect
# mambo = Mambo(mamboAddr, use_wifi=True)
mambo = Mambo(mamboAddr, use_wifi=False)
次にpython examples/demoMamboTricks.py
とやりたいところなんですがこのままだと
ImportError: No module named Mambo
とエラーが出るのでMambo.py
が置いてあるフォルダにパスを通しましょう.
パスの通し方は現在パスが通っているフォルダを確認して,そのフォルダにxxx.pth
というファイルを作成してその中にパスを書き込んでやればOKです.
- pathの確認
xxx@raspberrypi:~/Project $ python
Python 3.6.4 (default, Jan 21 2018, 22:53:16)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/xxx/.pyenv/versions/3.6.4/lib/python36.zip', '/home/xxx/.pyenv/versions/3.6.4/lib/python3.6', '/home/xxx/.pyenv/versions/3.6.4/lib/python3.6/lib-dynload', '/home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packages']
>>>
/home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packages
にパスが通っているようなのでここに適当なファイルを作ります.
xxx@raspberrypi:~/Project $ vim /home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packages/mymodule.pth
mymodule.pthに下記を追記.
/home/xxx/Project/pyparrot
これで
python examples/demoMamboTricks.py
が実行できるようになりドローンがアクロバティックな動きをしてくれるはずです.