KiQ шега мачка или како направивме играчка што зборува за возрасни. Како да направите BLE услуги за куче што зборува на nRF51822 и iOS апликација

Меѓу постоечките играчки, посебна позиција заземаат оние кои можат да зборуваат и да реагираат на допир. Таквите играчки се нарекуваат интерактивни.

ВО Во последно времеНајпопуларна меѓу девојчињата и момчињата е интерактивната птица Little Live Pets. Оваа играчка ќе биде прекрасен подарок за дете кое сонува да има домашно милениче.

Карактеристики на интерактивни играчки

Играчките можат да зборуваат благодарение на специјалниот уред кој е монтиран во телото на играчката. Овие блокови се разликуваат по функционалност:

  • Наједноставниот механизам е модулот за аудио запишување еднаш. Времето за играње може да биде од 1 до 6,5 минути;
  • пософистицираните уреди ви овозможуваат повторно да снимате мелодии или фрази. Интерактивните играчки со такви системи учат да зборуваат со детето, постојано зголемувајќи се лексикон. Можете исто така да снимате бајки или песни што ги изведува вашата мајка или друг роднина;
  • Постојат системи кои се активираат не со притискање на копче на единицата за звук, туку со глас или допир разни деловииграчки.

На пример, интерактивна кукла почнува да се смее кога ќе и го допрете образот, а ако ја земете за рака, почнува да зборува.

Деца различни возрастисакаат играчки за зборување. Играјќи со нив, децата учат да комуницираат, да стекнуваат нови знаења и други вештини. Единствениот недостаток на интерактивните играчки е нивната цена. Колку повеќе функции извршува таквата играчка, толку е поголема нејзината цена.

Сами да направите играчка

Ако сакате да му угодите на вашето дете со играчка што зборува, можете сами да ја направите.

Лицето кое е запознаено со радио електрониката може да состави програмабилен звучен модул дома. Но, ова не е особено неопходно денес таквите блокови може да се купат на Интернет или во специјализирана продавница.

Процесот на правење играчка за зборување изгледа вака:

  1. Избираме играчка. Може да се купи во продавница или да се направи самостојно. Рачно изработените текстилни играчки се многу популарни денес.
  2. Купуваме музички модул и снимаме мелодија, текст или бајка на него. Може да земете и звучен модул од која било стара играчка, само проверете дали батериите работат правилно.
  3. Ние го откинуваме шевот на местото каде што ќе се инсталира блокот.
  4. Модулот го ставаме внатре во играчката и важно е да се обрне внимание на копчето, мора да биде достапно за притискање.

После ова, останува само тивко да се шие шевот и тоа е тоа - играчката стана зборува.

Ова видео ќе ви помогне да научите како да направите играчка што зборува:

Во светот има неверојатен број играчки за зборување за деца, а тоа само го продлабочува впечатокот дека на возрасните им е здодевно. Нашиот тим реши да ја поправи оваа ситуација.

Почетокот на приказната

Сè започна кога на еден мој пријател и колега-мрежен колега му дојде светла мисла: зошто да не ги забавуваме не само децата, туку и возрасните со тематски шеги? За среќа, достапен и добро докажан хардвер сега веќе не е реткост и не само што може да трепка светлата, туку и да пее песни.

Во врска со ова, тој ми се јави и ми понуди да го повторам епскиот подвиг за да видам дали ESP8266 пушта музика во MP3 формат добро преку мрежата и дали го раскинува хрчакот на парчиња, дали навистина има доволно изведба, што брзо го направив новогодишни празници 2016:


Во видеото, ESP8266 репродуцира интернет радио, емитувајќи звук со помош на хакирањето „5-битна PWM преку I2S“.

Сепак, репродукцијата на MP3 радио од Интернет го трошеше речиси целиот ресурс на ESP8266 и звучеше „така-така“, додека нашата имагинација веќе сликаше нешто повеќе од само MP3 радио звучник. Со овие креативни импулси отидовме кај нашиот тим и саканиот готвач Владимир.

По малку бреинсторминг, почна да се појавува подетална слика и изедначена логичен синџиршто не само што сакаме, туку и можеме да го направиме:

  • За да го замениме MP3 со нешто што бара помалку ресурси и повеќе бесплатно, се решивме на Speex, кој flexxnn доста успешно и брзо го пренесе на ESP8266.
  • Земете снимки од шеги од сервер во облакот и складирајте ги локално на SD картичка, бидејќи ... Интернетот не е насекаде достапен, па дури и на ESP8266, ако го држите цело време вклучен, нема да добиете доволно батерија.
  • Врзете „шеги на хумор“ за некои настани, а не само да зборувате случајно. За генератор на настани беше избран паметен телефон, бидејќи скоро секој веќе има. Па, вистинските настани може лесно да се добијат од сервисот на Apple Notification Center (ANCS), кој е веќе достапен на iPod, iPhone и iPad.
  • Користете Bluetooth Low Energy (BLE) за да комуницирате со паметен телефон, бидејќи на малкумина ќе им биде забавно да полнат играчка повеќе од еднаш неделно.
  • За да спречиме играчката да го изнервира корисникот со чести шеги за сите дојдовни настани, решивме да користиме логика на јазик за скриптирање. Се населивме на пешачкиот јазик.
  • Бидејќи секој има различен вкус за шеги, а слушањето иста шега е веќе тажно, одлучено е да му се даде можност на корисникот да гласа за шеги со „тапкање“ и „тепање“ (акцелерометар), така што на серверот за содржина следно време тие можат да генерираат порелевантни плејлисти.

Избор на хардвер

Првично, сакав да направам многу едноставен, но целосно работен прототип на сè-во-едно плочка, па решивме да го пробаме на LinkIt ONE од MediaTek. И мрежата успеа речиси веднаш. Имаше врска со телефонот и MP3 од SD картичката се пуштаа совршено.
Се чини дека ова е среќа и готова платформа! Но, тогаш се соочивме со суровата реалност на ограничувањата на нивната затворена СДК и еуфоријата помина.

Сфативме дека на една табла нема готова платформа која ќе ги задоволи сите наши желби, што значеше дека треба да ја создадеме од нула.

Значи, моравме да го избереме (февруари 2016 година) најсоодветниот BLE чип што требаше да се поврзе со ESP8266. Решивме да користиме стандарден TWI (I2C) како врска помеѓу ESP8266 и BLE чипот (во тоа време не знаевме каков вид на чип ќе биде).

Но, со BLE тогаш немаше многу избор:

  • TI CC2541 - некако не ми се допадна веднаш поради архитектурата, а RAM меморијата од 8 KB изгледаше неперспективно лесен живот, со оглед на бројот на услуги и карактеристики на BLE што ги баравме во играчката.
  • BCM20732 - изгледаше многу ветувачки, но во реалноста SDK се покажа како многу груб, а хардверот Broadcom WICED Smart BLE е толку забавен што нема да напишам ништо посебно овде, за да не се заколнам. Кажете ми дали ситуацијата е подобрена сега.
  • nRF52832 е првиот чип што веднаш ме израдува. Но, тогаш немаше компактен BLE модул - rekod започна да прави прототипови на табла за отстранување грешки, навистина ми се допадна SDK, содржеше многу различни работниципримери. Примерот BLE ANCS започна веднаш и веднаш видовме известувања од iPhone во дневниците на UART. Патем, оваа табла за отстранување грешки има вистински SEGGER J-Link програмер и дебагер, што ни го олесни животот многу во иднина.
  • nRF51822 - во тоа време имаше готови модули, а тие беа програмирани преку SEGGER од nRF52832. Она што најмногу ме изненади е дека кодот од постариот модел nRF52832 е совршено префрлен на помладиот nRF51822 и назад!
Како резултат на тоа, првото железо изгледаше како пајак од тарантула, нешто вака:

Фати дефекти поради паѓање на каблите на дупонот, особено на модулот nRF51822, каде што пиновите се малку помали по големина, беше многу тажно.

BLE услуги на nRF51822 и iOS апликација

Сепак, афер и јас веќе почнавме да ги имплементираме услугите и карактеристиките на BLE на nRF51822 на овој пајак хардвер, делејќи сè приближно на половина:
  • Услуга за центар за известувања на Apple (ANCS) - за да добивате известувања за настани од вашиот паметен телефон.
  • Apple Current Time Service (CTS) - кога е поврзана, играчката одзема време од телефонот.
  • Услуга за ракување (HSS) - оваа услуга, патем, ја прави играчката „непробојна“, за разлика од конвенционалните слушалки и слични гаџети. Факт е дека облакот има ClientID и корисникот не само што ги спарува телефонот и играчката преку Bluetooth, туку и дополнително врзување кое не е така лесно да се ресетира. Описот на овој процес бара посебна статија, па ќе се ограничам на кратко спомнување.
  • Battery As Service (BAS) - пренос на статусот на батеријата на апликација за паметен телефон.
  • Услуга за содржина (CONTS) - со ова можете да видите листа на претходно играни шеги, со текст (текстот е преземен од серверот во облакот).
  • Услуга за поставки (SETTS) - со ова можете да конфигурирате филтри за несоодветна содржина на шега, времето кога играчката треба да молчи (на пример, ноќе) итн.
MaximKit правеше во исто време апликација за iOS.

Сликата од десната страна го прикажува главниот екран на апликацијата.

Тука flexnn не можеше да го издржи нашето страдање поради падот на жиците и го направи првиот нормален прототип дома користејќи го методот на ласерско железо:

Не е видливо на фотографијата, но веќе има слот за microSD картичка. На малата квадратна картичка подолу - ALC5627, звукот веќе беше многу подобар од 5-битниот PWM преку I2S.

За управување со енергијата го избравме AXP209. Ви овозможува да ја полните и користите батеријата истовремено, како и да ја следите нејзината состојба. Чипот е многу чест, но има многу специфики и во програмирањето и во потребните надворешни компоненти, т.н "појас".

Магија на ESP8266

Паралелно со ова, flexnn ги префрли Speex, FatFs на ESP8266, направи подигнувач за ESP8266 и nRF51822, така што не мора да трепкате ажуриран фирмвер преку жицата, туку направете го тоа со ставање на датотеките на фирмверот на microSD картичка.

Мене лично ми се чини дека му помогнаа вонземјани, бидејќи сето тоа го направи за околу еден месец. Но, тој не признава дека има контакти со вонземска интелигенција.

И тогаш вториот, понормален прототип:

Но, понормалниот прототип повеќе не се вклопува во мека играчка. И дури и да влезеше, тогаш со ненадејно движење „странец“ ќе се искачи од играчката врз потенцијалниот корисник, што секако беше неприфатливо за МВП.

Затоа, беше одлучено да се нарача одборот на професионалци и еве што се случи на крајот:

Овој дизајн веќе совршено се вклопува во мачка, иако изгледа некако нехумано:

Во исто време, се потврдија стравувањата дека настаните од телефонот може да доаѓаат доста често и како резултат на тоа корисникот ќе добие иритација наместо забава. Потребна е флексибилна логика за филтрирање, која може лесно да се смени во секое време без повторно трепкање. Во овој поглед, откако го проучував хардверот и сфатив дека нема брзи и компактни скрипти за ESP8266 (Lua и microPython се толкувачи), решив да го пренесам јазикот Pawn, кој брзо (само 18 пати побавно од мајчиниот) извршува компактен бајтекод.

Патем, изворите на Pawn се многу слични на C, така што менувањето на скриптите е задоволство - само треба да ги компајлирате во AMX бајтекод и да ги копирате на SD-картичка.

Гаџет мамење. Се преправате дека сте iOS на Андроид

И тогаш „одеднаш“ сите се сетивме на тоа Андроид телефонинема толку малку, па дури и повеќе од iOS телефони во светот.

Како резултат на тоа, морав брзо да проверам дали можеме измамете гаџети и преправајте се дека сте iOS на Андроид, така што тие гледаат услуга ANCS што не се разликува од Apple.

На крајот, сè излезе и за една недела гаџетите (а нашата мачка не беше исклучок) искрено поверуваа дека имам iPhone со услуга ANCS, кој се поврзува со мојот Nexus 5, па дури и со стариот Самсунг Галаксисо Android 4.4.

Оди во Облак

Бидејќи никој не сака да слуша шега неколку пати (факт), а има и преференции и културни ограничувања, беше одлучено да се создаде единствена плејлиста за секој корисник. За оваа афера, тесно работев на сервер во облакот.

Но, како да одлучите кому што ќе му се допадне? Така е - дозволете корисникот сам да одлучи! За да го направам ова, направив основно детекција на гестови на акцелерометар од STMicroelectronics. Ако ви се допадна шегата, ја наведнавте мачката како да е „да“, ако не ви се допадна шегата, ја наведнавте на страна како да е „не“. Додадов и „заборави-не“ за телефонот - ако се изгуби врската BLE и акцелерометарот детектира движење, тоа значи дека мачката се носи некаде, а телефонот е заборавен.

Откако корисникот „допадна“ и со тоа ги посочи неговите преференции, информациите одат на серверот, каде што се споредуваат „геномите“ на листите за репродукција и се генерираат нови групи шеги за корисникот, но ова е тема за посебна статија .

Резултати

Како резултат на тоа, забавата се покажа како одлична платформа која може:
  • комуницирајте со вашиот телефон преку BLE и примајте известувања за настани;
  • комуницирајте преку WiFi и преземајте содржини и ажурирања на фирмверот;
  • зачувајте и читајте датотеки во FAT32 на microSD;
  • играјте шеги преполни со спеекс кодек;
  • одредување на корисничките параметри со помош на акцелерометар (откривање гестови);
  • креирајте плејлисти за секој корисник врз основа на нивните преференции во хуморот;
Она што е забележливо е дека „многу вешти раце“ можат лесно да се поврзат со соодветните пинови (дури и дупките за конекторите на таблата се оставени) и „да ја направат мачката помудра“ како што сакаат гикови.

Со оваа платформа отидовме на kickstarter, нарекувајќи ја готовата играчка KiQ. Првиот ден собравме 40%, а сега веќе е 57%. Но, тоа е сосема друга приказна.

Благодарност до сите што читаа до овој ред. Очекувам интересни прашања од вас.

Како да се направи куче што зборуваповторете со свои раце. Занаетот е направен специјално за шеги за време на Нова Година. За жал, не сум видел повторени кучиња за продажба. Следејќи ја веќе претепаната патека, кучешкиот повторувач беше направен со мои раце. За да го направите ова, треба да купите само две играчки и да извршите едноставни активности на нив со свои раце. За детали за тоа како да направите повторувач за куче што зборува со фотографии и видеа, видете ја презентираната мастер класа. Како и секогаш, готовата играчка ќе му биде подарена на детето во новата година.

За да направите куче-повторувач, потребен ви е хрчак со повторувач и мека играчкакуче. Господарот го реши ова прашање со купување на хрчак на Aliexpress користејќи ја врската http://ali.pub/q3pti . Кучето било купено во продавница за играчки. Цена на фотографија.




Играчка за кучиња

Играчка за кучиња

Инструкции за склопување за повторливи кучиња

  1. Го отстрануваме механизмот на хрчакот од кожата. Обично кожата се прицврстува со вратоврска за кабел. Треба само да го отсечете со клешти. Можете да видите како да ги исечете сврзувачките елементи.
  2. Ја проверуваме работата на механизмот. Механизмот треба да се запре во горната положба на подвижната платформа. Гледајте видео.
  3. Избраната играчка, Кучето, е малку мала за да се вклопи во механизмот. Поради тоа, поставата беше откорната и по отстранувањето на дел од полиестерот за облога од главата, горната платформа на механизмот беше ставена во главата на играчката.
  4. Вишокот полиестер за полнење се става во шепите на кучето за да му даде волумен.
  5. За јасно движење на главата на играчката, според работата на механизмот, врвот на главата беше врзан со конци за платформата на механизмот.
  6. По должината на работ на играчката под дихтунгот се пренесуваше конец. Конецот се протега и го фиксира работ на кожата во жлебот на механизмот. Погледнете го видеото.


Механизмот е инсталиран во продолжена положба

Штета е што е невозможно да се купи готова играчка во продавниците, но можете сами да ја направите со свои раце. Занаетот вреди време за инвестирање. Главната работа е да го ставите во дело навреме кога ја прославувате Новата година и на сите ќе им биде загарантирана смеа до солзи! И самиот занает е достоен подарок за дете. Децата ги ценат играчките што нема да ги најдете меѓу вашите пријатели.

Се вчитува...Се вчитува...