Cuprins:

Controlarea fără fir a serverelor RC prin UDP: 3 pași
Controlarea fără fir a serverelor RC prin UDP: 3 pași

Video: Controlarea fără fir a serverelor RC prin UDP: 3 pași

Video: Controlarea fără fir a serverelor RC prin UDP: 3 pași
Video: FREE CCNA | Lab 4 - TCP vs UDP 2024, Septembrie
Anonim
Image
Image
Hardware
Hardware

În acest proiect vreau să-mi folosesc iPhone-ul pentru a controla servo-urile RC. Voi folosi accelerometrul pentru a controla două servome prin conexiunea UDP. Acesta este un proiect Proof Of Concept pentru a verifica dacă o conexiune între un iPhone și un periferic poate atinge rate de actualizare ridicate (mai mari decât BLE) utilizând UDP.

Pasul 1: Lista pieselor

Hardware

  • Placă ESP8266 (Wemos D1 mini pro)
  • Două servo RC
  • O bancă de alimentare USB ca sursă de alimentare
  • Unele fire jumper
  • Un iPhone sau iPad care utilizează iOS12
  • Un Mac pentru a construi proiectul

Software

  • Arduino IDE cu ESP8266 Arduino core instalat: manual de instalare
  • Xcode 10:
  • Schița arduino poate fi găsită aici
  • Sursa Swift a aplicației iPhone este aici

Pasul 2: Hardware

Hardware
Hardware

Configurarea hardware-ului este foarte simplă. Folosesc ieșirile D1 (pitch) și D2 (roll) de pe ESP8266 pentru a controla respectiv servo-urile RC. Placa este alimentată de la o bancă de alimentare USB. Servoarele RC sunt alimentate de la pinul 5v și GND al plăcii.

Pasul 3: Software

Aplicația de control pentru iPhone este scrisă în Swift, care se conectează la placa controlerului ESP8266 fără fir și controlează servo-pitch și roll pe baza datelor de mișcare ale iPhone-ului. Placa controlerului creează un punct de acces Wifi și ascultă pachetele UDP care actualizează, care conține informații despre poziția servo ca un flux de octeți cu următorul format general:

Servo index | Poziția MSB | Poziția LSB

Indicele servo este fie 1 pentru pitch sau 2 pentru roll. Poziția servo este calculată de la gradul de înclinare al telefonului x, y și convertită în microsecunde între 1000 și 2000. Rata de reîmprospătare este de 20 de milisecunde.

Aplicația folosește noul Network.framework pentru a stabili conexiunea UDP, deci rulează numai pe iOS 12 și versiuni ulterioare.

Aceasta este o aplicație POC pentru a demonstra cât de ușor de utilizat este conexiunea UDP în iOS 12. Pentru a simplifica, pachetele UDP sunt trimise separat pentru pitch și roll.

Recomandat: