Autocopter allow to control your APM compatible copter with Telegram messenger. You can see how that works on youtube (russian audio).
This software must be running on companion computer connected to APM using Serial (USB), TCP or UDP. Recommended embedded platform is Raspberry Pi.
For configure internet on your drone (Raspberry Pi) use modem_keeper.
For creating config you will need:
- token – Write to
@BotFather
in your Telegram client. - proxy - Simple HTTP proxy. Needs only if
api.telegram.org
not available, else usenull
. - chat_id - Run
tests/telepot_test.py
and write to bot via your Telegram client. After you'll see chat id in the console. - connection_string - Read the dronekit manual.
Execute script:
git clone https://github.com/urpylka/autocopter.git
# Installing python requirements
pip install -r autocopter/requirements.txt
# Creating config
cat << EOF | sudo tee $(pwd)/autocopter/autocopter.json > /dev/null
{
"telegram":
{
"token":"YOUR_TOKEN",
"proxy":"YOUR_TELEGRAM_HTTP_PROXY_OR_null",
"chat_id":"YOUR_CHAT_ID",
"debug":"True"
},
"autocopter":
{
"connection_string":"/dev/ttyACM0"
}
}
EOF
# Creating service
cat << EOF | sudo tee /lib/systemd/system/autocopter.service > /dev/null
[Unit]
Description=Autocopter
[Service]
ExecStart=$(pwd)/autocopter/autocopter.py $(pwd)/autocopter/autocopter.json
Restart=on-abort
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable autocopter
sudo systemctl start autocopter
# Stop daemon if running
sudo systemctl stop autocopter
python autocopter/autocopter.py "CONNECTION_STR" "BOT_TOKEN" "CHAT_ID" "PROXY" "DEBUG"
# or
python autocopter/autocopter.py "PATH_TO_CONFIG"
The program is based on the state machine.
As an option, you can install MAVProxy for connecting your APM with many agents (i.e. laptop, dronekit).
cat << EOF | sudo tee /lib/systemd/system/mavgateway.service > /dev/null
[Unit]
Description=MAVGateway
[Service]
ExecStart=/usr/local/bin/mavproxy.py --master=/dev/ttyAMA0,57600 --out=tcpin:0.0.0.0:5760 --out=tcpin:127.0.0.1:14600 --daemon
Restart=on-abort
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable mavgateway
sudo systemctl start mavgateway
- Change the structure (move the states)
- How to connect by ROS (common class for Dronekit + MAVROS)?