Мазмуну:

UDP аркылуу зымсыз RC серволорун көзөмөлдөө: 3 кадам
UDP аркылуу зымсыз RC серволорун көзөмөлдөө: 3 кадам

Video: UDP аркылуу зымсыз RC серволорун көзөмөлдөө: 3 кадам

Video: UDP аркылуу зымсыз RC серволорун көзөмөлдөө: 3 кадам
Video: POE комплект видеонаблюдения РАБОТА ПО ОДНОМУ КАБЕЛЮ!!! 2024, Ноябрь
Anonim
Image
Image
Аппараттык
Аппараттык

Бул долбоордо мен iPhone'умду RC серволорун башкаруу үчүн колдонгум келет. Мен акселерометрди UDP туташуусу аркылуу эки сервону көзөмөлдөө үчүн колдоном. Бул iPhone менен перифериялык түзүлүштүн ортосундагы байланыш UDP аркылуу жаңыртуунун жогорку ылдамдыгына (BLEден жогору) жетээрин текшерүү үчүн "Proof Of Concept" долбоору.

1 -кадам: Бөлүктөрдүн тизмеси

Аппараттык

  • ESP8266 (Wemos D1 mini pro) тактасы
  • Эки RC сервосу
  • Электр булагы катары USB кубат банкы
  • Кээ бир секирүүчү зымдар
  • IOS12 колдонгон iPhone же iPad
  • Долбоорду куруу үчүн Mac

Программалык камсыздоо

  • ESP8266 Arduino ядросу менен Arduino IDE орнотулган: Орнотуу боюнча колдонмо
  • Xcode 10:
  • Ардуино эскизин бул жерден тапса болот
  • IPhone тиркемесинин Swift булагы бул жерде

2 -кадам: Аппараттык

Аппараттык
Аппараттык

Аппаратты орнотуу абдан жөнөкөй. Мен R1 сервосун көзөмөлдөө үчүн ESP8266 боюнча D1 (кадам) жана D2 (ролл) чыгарууну колдоном. Такта USB кубат банкынан иштейт. RC сервосу тактанын 5v жана GND пининен иштейт.

3 -кадам: Программалык камсыздоо

IPhone үчүн башкаруу колдонмосу Swift тилинде жазылган, ал ESP8266 контроллер тактасына зымсыз туташат жана iPhone кыймылынын маалыматтарынын негизинде чайыр жана ролл серволорун башкарат. Контроллер тактасы Wifi кирүү чекитин түзөт жана төмөнкү жалпы форматтагы байт агымы катары сервопозиция жөнүндө маалыматты камтыган UDP пакеттерин угат:

Серво индекси | Позициясы MSB | LSB позициясы

Серво индекси чайыр үчүн 1 же ролл үчүн 2. Серво позициясы телефон x, y эңкейүү градусунан эсептелет жана 1000 менен 2000 ортосунда микросекунддарга айландырылат. Жаңыртуу ылдамдыгы 20 миллисекунд.

Колдонмо UDP байланышын түзүү үчүн жаңы Network.framework колдонуп жатат, ошондуктан ал iOS 12 жана андан жогору гана иштейт.

Бул UDP байланышын iOS 12де колдонуу канчалык оңой экенин көрсөтүү үчүн POC колдонмосу. UDP пакеттери жөнөкөй болушу үчүн, чайыр жана ролл үчүн өзүнчө жөнөтүлөт.

Сунушталууда: