DJI の教育用トイドローン TELLO EDU で編隊飛行に挑戦(1)
DJI によるトイドローン TELLO のプログラミング教育用モデル TELLO EDU を入手しましたのでさっそく試してみました。
https://www.ryzerobotics.com/tello-edu
TELLO EDU のスペック
公式サイトをみるとこれまでの TELLO と見かけ上のスペックはまったく同じようです。
https://www.ryzerobotics.com/jp/tello-edu/specs
しかし、TELLO EDU では、従来の TELLO にはない大きな改善があります。
それは、TELLO が既存の Wi-Fi ルーターに接続することができるようになったことです。
従来の TELLO は、TELLO 自身に内蔵された Wi -Fi アクセスポイントに接続してスマホ等からコントロールする仕様になっていたため、TELLO をコントロールするにはそれと同じ台数の Wi-Fi クライアントが必要でした。
しかし、TELLO EDU では、家庭にある Wi-Fi ルーターに接続してそこから IP アドレスを取得することができるため、たとえば1台の PC から複数台の TELLO に対してまとめてコマンドを送ることができます。
TELLO の Wi-Fi 設定を変更する
実はこれハマりました。というか一瞬騙されたと思いました。w
Wi-Fi 設定はデフォルトでは従来の TELLO と同じモードになっており、TELLO に内蔵された Wi-Fi アクセスポイントに接続する必要があります。
これでは編隊飛行は難しいので、SDK ドキュメントに記載されているとおりに、UDP でコマンドを送信します。
Node.js でコマンドを送信する場合は以下の通り。
#!/usr/bin/env node 'use strict' const PORT = 8889; const HOST = '192.168.10.1'; const dgram = require('dgram'); const client = dgram.createSocket('udp4'); const sendCommand = (command) => { const message = Buffer.from(command); client.send(message, 0, message.length, PORT, HOST, (err, bytes) => { if (err) throw err; }); } sendCommand('command') sendCommand('ap ssid password')
これを任意のファイル名で保存して、最後の方にある ssid
と password
の部分を皆さんの環境にあわせて修正してください。
その後、node tello.js
のような感じでコマンドを実行すると、設定が正しければ数秒後にルーターに接続されます。
Tello 側で IP アドレスを指定することはできないようなので、固定の IP を使用したい場合はルーター側で設定しないといけないようです。
一度設定すると設定内容は保存されるらしく、再起動後も設定はそのままでした。
次回の記事では、Node.js を利用して実際に編隊飛行に挑戦してみたいと思います。お楽しみに!
追記 – Wi-Fi 設定のリセットの仕方
上述の方法で変更した Wi-Fi 設定をリセットするには、電源が入った状態で再度電源ボタンを長押ししてください。