TelloCommander 1.0.0.8
dotnet add package TelloCommander --version 1.0.0.8
NuGet\Install-Package TelloCommander -Version 1.0.0.8
<PackageReference Include="TelloCommander" Version="1.0.0.8" />
paket add TelloCommander --version 1.0.0.8
#r "nuget: TelloCommander, 1.0.0.8"
// Install TelloCommander as a Cake Addin #addin nuget:?package=TelloCommander&version=1.0.0.8 // Install TelloCommander as a Cake Tool #tool nuget:?package=TelloCommander&version=1.0.0.8
TelloCommander
About
Tello Commander is a C# API for controlling a Tello drone, offering the following features:
- A simple interface to connect to, control and disconnect from the drone
- Validation of all commands to ensure only valid commands are sent to the drone
- Command/response history
- Response parser for processing drone "read" command responses
- Execution of commands from pre-prepared scripts
- Background monitoring and reporting of drone status
- Capture of drone telemetry information to CSV
- Capture of drone telemetry to a SQL database
Version 1.0.0.5
Release 1.0.0.5 of TelloCommander introduces the ability to stream drone telemetry to a SQL database for subsequent analysis and splits the project into the following repos/libraries/NuGet packages:
Repo | NuGet Package | Purpose |
---|---|---|
TelloCommander | TelloCommander | Core Tello control API |
TelloCommanderDb | TelloCommander.Data | Core SQL telemetry capture API |
TelloCommanderDb | TelloCommander.Data.InMemory | EF Core database context for capturing telemetry to an in-memory database |
TelloCommanderDb | TelloCommander.Data.Sqlite | EF Core database context for capturing telemetry to a SQLite database |
TelloCommanderConsole | TelloCommander.CommandLine | Basis for a command-line controller for the Tello with example application |
Release 1.0.0.5 also changed the location of the following classes and, with it, the repo/library/NuGet package that they reside in:
Class | Original Namespace | New Namespace |
---|---|---|
ConsoleCommander | TelloCommander.Commander | TelloCommander.CommandLine |
ConsoleCommanderWrapper | TelloCommander.Commander | TelloCommander.CommandLine |
Getting Started
Once the API is referenced by a project, you should include the following "using" statements to import the necessary types:
using TelloCommander.CommandDictionaries;
using TelloCommander.Commander;
using TelloCommander.Connections;
using TelloCommander.Interfaces;
The following code snippet can be pasted into the Main() method of a C# console application to demonstrate connection to the drone, command processing and disconnection from the drone:
// Connect to the drone
var dictionary = CommandDictionary.ReadStandardDictionary("1.3.0.0");
var commander = new DroneCommander(new TelloConnection(), dictionary);
commander.Connect();
// Ask for a command to process and process it. Repeat until the an empty
// command is entered
bool isEmpty;
do
{
Console.Write("Please enter a command or press [ENTER] to quit : ");
string command = Console.ReadLine().Trim();
isEmpty = string.IsNullOrEmpty(command);
if (!isEmpty)
{
try
{
// Process the command using the API
Console.WriteLine($"Command : {command}");
commander.RunCommand(command);
Console.WriteLine($"Response : {commander.LastResponse}");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
while (!isEmpty);
// Disconnect from the drone
commander.Disconnect();
The argument passed to the "ReadStandardDictionary" is the Tello API version number and defines the set of available commands (see the wiki) for more details.
The following is example output for a simple takeoff, height query and landing:
Please enter a command or press [ENTER] to quit : takeoff
Command : takeoff
Response : ok
Please enter a command or press [ENTER] to quit : height?
Command : height?
Response : 6dm
Please enter a command or press [ENTER] to quit : land
Command : land
Response : ok
Wiki
More complete information on the capabilities and use of the API are provided in the Wiki
Authors
- Dave Walker - Initial work - LinkedIn
Feedback
To file issues or suggestions, please use the Issues page for this project on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on TelloCommander:
Package | Downloads |
---|---|
TelloCommander.Data
Database Collector for TelloCommander Drone Telemetry |
|
TelloCommander.CommandLine
C# command line utilities for controlling a Tello drone |
GitHub repositories
This package is not used by any popular GitHub repositories.
Dependency updates