ชอบศึกษาโดรนแต่ยังไม่มีเวลามากพอที่จะสร้างตัวเครื่องขึ้นมาเองจึงเลือก DJI TELLO ราคาไม่แพงมากและมีสิ่งที่ต้องการครบถ้วน
ตัวโดรน DJI TELLO คิดง่ายๆ จะคล้าย server ที่มี wifi ขนาดเล็กบินได้ คือ เป็นทั้งตัวจ่าย Wifi และ เป็นทั้งตัว Server
การรับส่งข้อมูลจะใช้ UDP โดยที่ความผิดพลาดข้อมูลรับ/ส่ง สูงมากแต่รวดเร็ว ไม่ติดก็ส่งใหม่ไปได้เรื่อยๆ กลายเป็นข้อดีที่ลด Latency
ที่จะเกิดในการรับส่งได้
โค้ดจะสร้างมาเพื่อนตัวอย่างแนวทางต่อยอดเท่านั้น! จึงอาจต้องมีความรู้ในระดับนึงก่อนศึกษา
โดยจำเป็นอย่างยิ่งที่ต้องศึกษา ควร new project ขึ้นมาใหม่ และ Setup a development environment ด้วยตัวเอง
แล้วเรียนรู้ ตามลำดับ
1. C++ 14 Standard
2. ImGui ตัวอย่างจะใช้ opengl3 ศึกษาได้จาก example
https://github.com/ocornut/imgui/tree/master/examples/example_glfw_opengl3
3. BoostAsio ตัวอย่างจะใช้
https://github.com/boostorg/asio/tree/develop/example/cpp14/echo
https://github.com/boostorg/asio/blob/develop/example/cpp14/echo/blocking_udp_echo_client.cpp
https://github.com/boostorg/asio/blob/develop/example/cpp14/echo/blocking_udp_echo_server.cpp
4. อื่นๆ เช่น Opengl, spdlog, glad, glfw
ที่ยังไม่ได้ใส่เพราะขี้เกียจและไม่มีเวลา
5. SDL ควบคุมจอย
https://www.libsdl.org/
6. OpenCV Streaming ลูกเล่นต่างๆ เช่น ให้บินตามวัตถุ ทำตัวเล็งเป้า ต่างๆ
https://opencv.org/
ดาวน์โหลด Tello SDK ได้จาก ryzerobotic โดยตรง
https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello SDK Documentation EN_1.3.pdf
Source Code ตัวอย่าง
https://github.com/subnote48/tellorock
[C++] ตัวอย่างแนวทางเขียนโปรแกรมควบคุมโดรน
ตัวโดรน DJI TELLO คิดง่ายๆ จะคล้าย server ที่มี wifi ขนาดเล็กบินได้ คือ เป็นทั้งตัวจ่าย Wifi และ เป็นทั้งตัว Server
การรับส่งข้อมูลจะใช้ UDP โดยที่ความผิดพลาดข้อมูลรับ/ส่ง สูงมากแต่รวดเร็ว ไม่ติดก็ส่งใหม่ไปได้เรื่อยๆ กลายเป็นข้อดีที่ลด Latency
ที่จะเกิดในการรับส่งได้
โค้ดจะสร้างมาเพื่อนตัวอย่างแนวทางต่อยอดเท่านั้น! จึงอาจต้องมีความรู้ในระดับนึงก่อนศึกษา
โดยจำเป็นอย่างยิ่งที่ต้องศึกษา ควร new project ขึ้นมาใหม่ และ Setup a development environment ด้วยตัวเอง
แล้วเรียนรู้ ตามลำดับ
1. C++ 14 Standard
2. ImGui ตัวอย่างจะใช้ opengl3 ศึกษาได้จาก example
https://github.com/ocornut/imgui/tree/master/examples/example_glfw_opengl3
3. BoostAsio ตัวอย่างจะใช้
https://github.com/boostorg/asio/tree/develop/example/cpp14/echo
https://github.com/boostorg/asio/blob/develop/example/cpp14/echo/blocking_udp_echo_client.cpp
https://github.com/boostorg/asio/blob/develop/example/cpp14/echo/blocking_udp_echo_server.cpp
4. อื่นๆ เช่น Opengl, spdlog, glad, glfw
ที่ยังไม่ได้ใส่เพราะขี้เกียจและไม่มีเวลา
5. SDL ควบคุมจอย
https://www.libsdl.org/
6. OpenCV Streaming ลูกเล่นต่างๆ เช่น ให้บินตามวัตถุ ทำตัวเล็งเป้า ต่างๆ
https://opencv.org/
ดาวน์โหลด Tello SDK ได้จาก ryzerobotic โดยตรง
https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello SDK Documentation EN_1.3.pdf
Source Code ตัวอย่าง
https://github.com/subnote48/tellorock