Свързване на "самоизработени" устройства чрез bluetooth с iOS

Здравей Хабраузер! Имах ситуация на работа, че трябваше да проектирам iOS устройство, което да прехвърля данни към iPad чрез bluetooth. Накратко, това е устройство, което трябва да се скрие в обикновен пакет цигари и да предава данни на ipad, на чийто ръб се намира. Започнах да изучавам уебсайта на Apple за взаимодействието на bluetooth устройства и самия ipad, но опциите бяха или да използвам GameKit (което изобщо не ни подхожда), или да се присъединим към програмата Apple MFi (която има много ограничения и просто не можете да се присъедините към нея). Започнахме да търсим решения и тогава при мен се намери човек, който е много добър с електрониката. Първоначално разработката беше планирана на Arduino, но опитен човек разубеди тази идея поради големите финансови разходи (необходима беше партида от около 1000 броя). И намерихме най-доброто решение - сами да сглобим устройството. Тъй като не съм силен в електрониката, просто ще опиша какви компоненти са използвани:

  • датчик за положение MMA7260QT
  • контролер ATmega16U4-AU
  • Bluetooth BlueGiga

Резултатът е този прототип:

Изглед отдолу:

Устройството перфектно предаде позицията си, но възникна най-важният въпрос: как да прехвърлите тези данни на iPad?

Устройството предава определена буква 10 пъти в секунда в зависимост от местоположението и при всяка смяна на позицията предава число от 0 до 9, което съответства на заряда на батерията.

Е, на iPad не беше трудно да се прихванат данни от клавиатурата. Създадох скрит UITextField и просто прихванах "натиснатите" клавиши в него. Ето кратък код за това как работи всичко:

И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".