Paano gumawa ng nagsasalitang aso. Paano gumawa ng mga serbisyo sa pakikipag-usap na laruang BLE sa nRF51822 at iOS app


Paano gumawa ng isang nagsasalita ng aso repeater gamit ang iyong sariling mga kamay. Ang bapor ay partikular na ginawa para sa mga guhit sa Bisperas ng Bagong Taon. Sa kasamaang palad, hindi ako nakatagpo ng mga repeater sa pagbebenta ng mga aso. Naglalakad sa landas na nasira, ang aso ay ginawa gamit ang kanyang sariling mga kamay. Upang gawin ito, kailangan mong bumili lamang ng dalawang laruan at magsagawa ng mga simpleng aksyon sa kanila gamit ang iyong sariling mga kamay. Para sa mga detalye kung paano gumawa ng nagsasalitang aso na may mga larawan at video, tingnan ang ipinakitang master class. Gaya ng dati, ang isang handa na laruan ay ipapakita sa isang bata sa bagong taon.

Para makagawa ng repeater dog, kailangan mo ng repeater hamster at soft dog toy. Nalutas ng master ang isyung ito sa pamamagitan ng pagbili ng hamster sa Aliexpress gamit ang link http://ali.pub/q3pti . Ang aso ay binili sa isang tindahan ng laruan. Presyo ng larawan.




doggy toy

doggy toy

Mga Tagubilin sa Assembly Repeater Aso

  1. Inalis namin ang mekanismo ng hamster mula sa balat. Karaniwan ang balat ay pinagkakabit ng cable tie. Kailangan lang putulin. Maaari mong makita kung paano i-cut ang mga fastener.
  2. Sinusuri namin ang pagpapatakbo ng mekanismo. Ang mekanismo ay dapat na huminto sa itaas na posisyon ng movable platform. Manood ng video.
  3. Ang napiling laruan ng aso ay medyo maliit upang i-install sa mekanismo. Samakatuwid, ang lining ay napunit at pagkatapos na alisin ang bahagi ng padding polyester mula sa ulo, ang itaas na platform ng mekanismo ay magkasya sa ulo ng laruan.
  4. Ang labis na sintetikong winterizer ay inilagay sa mga paa ng Aso upang bigyan sila ng volume
  5. Para sa isang malinaw na paggalaw ng ulo ng laruan, ayon sa pagpapatakbo ng mekanismo, ang korona ng ulo ay nakakabit sa mga thread sa platform ng mekanismo.
  6. May nawawalang sinulid sa gilid ng laruan sa ilalim ng padding. Ang thread ay nakaunat at inaayos ang gilid ng balat sa uka ng mekanismo. Panoorin ang video.


Ang mekanismo ay naka-install sa pinalawig na posisyon

Nakakalungkot na ang tapos na laruan ay hindi mabibili sa mga tindahan, ngunit maaari mo itong gawin sa iyong sarili gamit ang iyong sariling mga kamay. Ang bapor ay nagkakahalaga ng oras. Ang pangunahing bagay ay upang maisagawa ito sa oras kapag natutugunan ang Bagong Taon at lahat ay bibigyan ng tawa hanggang sa luha! At ang bapor mismo ay isang karapat-dapat na regalo para sa isang bata. Pinahahalagahan ng mga bata ang mga laruan na hindi mo mahahanap sa mga kaibigan.

Mayroong isang hindi kapani-paniwalang bilang ng mga nakikipag-usap na mga laruan para sa mga bata sa mundo, at ito ay nagpapalala lamang sa impresyon na ang mga matatanda ay nababato. Nagpasya ang aming koponan na itama ang sitwasyong ito.

Ang simula ng kwento

Nagsimula ang lahat sa katotohanan na ang isang maliwanag na pag-iisip ay pumasok sa matanong na isip ng isa sa aking mga kaibigan at kasamahan na netsnail: bakit hindi lamang mga bata, kundi pati na rin ang mga matatanda na huwag pasayahin sila ng mga pampakay na biro? Sa kabutihang palad, ang abot-kayang at mahusay na itinatag na hardware ay hindi kailanman bihira, at hindi lamang ito nakakapag-blink ng mga ilaw, ngunit nakakanta rin ng mga kanta.

Kaugnay nito, tinawagan niya ako at inalok na ulitin ang epikong gawa upang matiyak na ang ESP8266 ay nagpapatugtog ng musika sa MP3 na format sa network nang napakahusay at pinupunit ba nito ang hamster, mayroon ba talagang sapat na pagganap, na ginawa ko nang mabilis sa Mga pista opisyal ng Bagong Taon sa 2016:


Sa video, ang ESP8266 ay nagpe-play ng internet radio, na naglalabas ng audio gamit ang "5-bit PWM over I2S" hack.

Gayunpaman, ang paglalaro ng MP3 na radyo mula sa Internet ay kumain ng halos buong mapagkukunan ng ESP8266 at tumunog na "kaya-kaya", habang ang imahinasyon ay gumuguhit na sa amin ng isang bagay na higit pa sa isang haligi ng radyo ng MP3. Sa mga malikhaing impulses na ito, pumunta kami sa aming koponan at sa aming minamahal na chef na si Vladimir.

Pagkatapos ng ilang brainstorming, nagsimulang lumabas ang isang mas detalyadong larawan, at maging lohikal na kadena kung ano ang hindi lamang namin gusto, ngunit maaari ring gawin:

  • Ang MP3 ay pinalitan ng isang bagay na hindi gaanong hinihingi sa mga mapagkukunan at mas libre, sila ay nanirahan sa Speex, na flexxnn medyo matagumpay at mabilis na nai-port sa ESP8266.
  • Ang mga pag-record ng mga biro ay kinuha mula sa server sa cloud at inilalagay nang lokal sa SD card, dahil. Hindi available ang Internet sa lahat ng dako, at kung patuloy mong naka-on ang ESP8266, hindi ka makakakuha ng sapat na baterya.
  • Itali ang "mga biro ng katatawanan" sa ilang mga kaganapan, at hindi basta basta basta magsalita. Napili ang isang smartphone bilang generator ng kaganapan, dahil halos lahat ay mayroon na nito. Well, ang mga aktwal na kaganapan ay madaling matanggap mula sa Apple Notification Center Service (ANCS), na nasa iPod, iPhone at iPad na.
  • Gumamit ng Bluetooth Low Energy (BLE) para makipag-ugnayan sa iyong smartphone, dahil kakaunting tao ang makakatuwang i-charge ang laruan nang higit sa isang beses sa isang linggo.
  • Upang ang laruan ay hindi magalit sa gumagamit sa mga madalas na biro, nagpasya kaming gumamit ng lohika sa isang wika ng script para sa lahat ng mga papasok na kaganapan. We settled on Pawn language.
  • Dahil ang bawat isa ay may iba't ibang panlasa sa mga biro, at ang pakikinig sa parehong biro ay nakakalungkot na, napagpasyahan na bigyan ang gumagamit ng pagkakataon na bumoto para sa mga biro sa pamamagitan ng "pag-stroking" at "pagbugbog" (accelerometer) upang mabuo siya sa nilalaman server sa susunod na mas may kaugnayang playlist.

Ang pagpili ng bakal

Noong una, gusto naming gumawa ng napakasimple ngunit ganap na gumaganang prototype sa isang all-in-one na board, kaya nagpasya kaming subukan ito sa LinkIt ONE mula sa MediaTek. At halos agad na nagtagumpay ang netsnail. Nagkaroon din ng koneksyon sa telepono at mula sa SD card ay perpektong naglaro ang MP3.
Mukhang - narito ang kaligayahan at isang handa na platform! Ngunit pagkatapos ay hinarap namin ang malupit na katotohanan ng mga limitasyon ng kanilang saradong SDK at ang euphoria ay nawala.

Napagtanto namin na walang handa na platform sa isang board na nakakatugon sa lahat ng aming mga kagustuhan, na nangangahulugang kailangan naming likhain ito mula sa simula.

Kaya, kinailangan naming pumili (Pebrero 2016) ang pinaka-angkop na BLE chip na ipares sa ESP8266. Nagpasya kaming gamitin ang karaniwang TWI (I2C) bilang koneksyon sa pagitan ng ESP8266 at ng BLE chip (hindi namin alam kung anong chip iyon noon).

Ngunit sa BLE, ang pagpipilian noon ay hindi napakahusay:

  • TI CC2541 - kahit papaano ay hindi ko ito nagustuhan kaagad dahil sa arkitektura, at ang 8 KB ng RAM ay mukhang hindi maaasahan para sa isang madaling buhay, dahil sa bilang ng mga serbisyo ng BLE at mga katangian na kailangan namin sa laruan.
  • BCM20732 - mukhang napaka-promising, ngunit sa katunayan ang SDK ay naging napaka krudo, at ang BLE hardware ng Broadcom WICED Smart keychain ay napaka-buggy kaya hindi ako magsusulat ng anumang espesyal dito para hindi magmura. Ipaalam sa akin kung ang mga bagay ay mas mahusay na ngayon.
  • Ang nRF52832 ang unang chip na nagpasaya sa akin kaagad. Ngunit pagkatapos ay walang compact BLE module - sinimulan ng record ang prototyping sa isang debug board, talagang nagustuhan ko ang SDK, naglalaman ito ng maraming iba't ibang manggagawa mga halimbawa. Nagsimula kaagad ang halimbawa ng BLE ANCS at agad naming nakita ang mga notification mula sa iPhone sa mga log mula sa UART. Sa pamamagitan ng paraan, ang debug board na ito ay may isang tunay na SEGGER J-Link programmer at debugger, na ginawang mas madali ang aming buhay sa hinaharap.
  • nRF51822 - sa oras na iyon ay may mga yari na module, at sila ay na-program sa pamamagitan ng SEGGER mula sa nRF52832. Ang pinakanagulat sa akin ay ang code mula sa mas lumang modelo ng nRF52832 ay perpektong inilipat sa mas batang nRF51822 at pabalik!
Bilang resulta, ang unang bakal ay mukhang isang tarantula spider tulad nito:

Nakalulungkot ang pagkakaroon ng mga glitches dahil sa pagkalaglag ng mga dupont cable, lalo na sa nRF51822 module, kung saan mas maliit ang mga pin.

Mga serbisyo ng BLE sa nRF51822 at iOS app

Gayunpaman, nagsimula na ako at ang pag-iibigan sa pagpapatupad ng mga serbisyo at katangian ng BLE sa nRF51822 sa spider hardware na ito, na hinahati ang lahat ng humigit-kumulang sa kalahati:
  • Serbisyo ng Apple Notification Center (ANCS) - para sa pagtanggap ng mga notification ng kaganapan mula sa iyong smartphone.
  • Apple Current Time Service (CTS) - kapag nakakonekta, tumatagal ang laruan mula sa telepono.
  • HandShake Service (HSS) - ang serbisyong ito, sa pamamagitan ng paraan, ay ginagawang "hindi nababasag" ang laruan hindi tulad ng mga nakasanayang headset at katulad na mga gadget. Ang katotohanan ay mayroong isang ClientID sa cloud at ang gumagamit ay hindi lamang nagpapares ng telepono at mga laruan sa pamamagitan ng Bluetooth, kundi pati na rin ng karagdagang pagbubuklod na hindi napakadaling i-reset. Ang paglalarawan ng prosesong ito ay nangangailangan ng isang hiwalay na artikulo, kaya lilimitahan ko ang aking sarili sa isang maikling pagbanggit.
  • Battery As Service (BAS) - paglipat ng katayuan ng baterya sa application sa smartphone.
  • Serbisyo ng Nilalaman (CONTS) - kasama nito makikita mo ang isang listahan ng mga naunang nilalaro na biro, na may teksto (ang teksto ay kinuha mula sa isang server sa cloud).
  • Serbisyo ng Mga Setting (SETTS) - magagamit ito upang magtakda ng mga filter para sa hindi naaangkop na nilalaman ng mga biro, ang oras kung kailan dapat tumahimik ang laruan (sa gabi, halimbawa), atbp.
MaximKit sa parehong oras ginawa application para sa iOS.

Ipinapakita ng larawan sa kanan ang pangunahing screen ng application.

Dito hindi nakayanan ni flexxnn ang aming paghihirap dahil sa mga nahuhulog na wire at ginawa ang unang normal na prototype sa bahay gamit ang isang laser iron:

Hindi ito nakikita sa larawan, ngunit ang slot ng microSD card ay naroon na. Sa maliit na square scarf sa ibaba - ALC5627, ang tunog ay mas mahusay kaysa sa 5-bit PWM sa pamamagitan ng I2S.

Ang AXP209 ay pinili para sa pamamahala ng kuryente. Nagbibigay-daan sa iyong i-charge at gamitin ang baterya nang sabay, pati na rin subaybayan ang kondisyon nito. Ang chip ay napaka-pangkaraniwan, ngunit may maraming mga detalye kapwa sa programming at sa mga kinakailangang panlabas na bahagi, ang tinatawag na. "nagbubuklod".

Magic sa ESP8266

Kaayon nito, ang flexxnn na naka-port sa ESP8266 Speex, FatFs, ay gumawa ng bootloader para sa ESP8266 at nRF51822, upang hindi ka makapag-flash ng na-update na firmware sa wire, ngunit gawin ito sa pamamagitan ng paglalagay ng mga file ng firmware sa isang microSD card.

Sa personal, tila sa akin ay tinulungan siya ng mga dayuhan, dahil ginawa niya ang lahat sa loob ng isang buwan. Ngunit hindi siya umamin sa mga contact na may alien na isip.

At pagkatapos ay ang pangalawang mas normal na prototype:

Ngunit ang isang mas normal na prototype ay hindi na umakyat sa isang malambot na laruan. At kahit na nakapasok ito, pagkatapos ay sa isang matalim na paggalaw sa isang potensyal na gumagamit, isang "estranghero" ang lalabas sa laruan, na siyempre ay hindi katanggap-tanggap para sa MVP.

Samakatuwid, napagpasyahan na mag-order ng isang board para sa mga propesyonal at ito ang nangyari sa huli:

Sa isang pusa, ang gayong disenyo ay akma na nang perpekto, kahit na mukhang hindi makatao:

Kasabay nito, ang mga takot ay nakumpirma na ang mga kaganapan mula sa telepono ay maaaring dumating nang madalas at, bilang isang resulta, ang gumagamit ay maiinis sa halip na masaya. Kinakailangan ang isang nababaluktot na lohika sa pag-filter, na madaling mabago anumang oras nang hindi kumikislap. Kaugnay nito, nang mapag-aralan ang hardware at napagtanto na walang mabilis at compact na mga script para sa ESP8266 (Lua at microPython ay mga interpreter), napagpasyahan kong i-port ang wikang Pawn, na mabilis (18 beses lamang na mas mabagal kaysa sa native) na nagpapatupad ng compact bytecode.

Siyanga pala, ang mga pinagmumulan ng Pawn ay halos kapareho sa C, kaya nakakatuwang baguhin ang mga script - kailangan mo lang i-compile ang mga ito sa AMX bytecode at kopyahin ang mga ito sa SD card.

Scam sa gadget. Nagpapanggap bilang iOS sa Android

At pagkatapos ay "biglang" naalala nating lahat na hindi gaanong kakaunti ang mga Android phone sa mundo, at higit pa sa mga iOS phone.

Sa huli, kinailangan kong mabilis na suriin kung magagawa namin linlangin ang mga gadget at magpanggap na iOS sa Android upang makita nila ang serbisyo ng ANCS, na hindi makilala sa Apple.

Sa huli, ang lahat ay nagtrabaho at pagkatapos ng isang linggo ang mga gadget (at ang aming pusa ay walang pagbubukod) taos-pusong naniniwala na mayroon akong iPhone na may serbisyo ng ANCS, na kumokonekta sa aking Nexus 5 at maging sa lumang Samsung Galaxy na may Android 4.4.

Sige Cloud

Dahil walang gustong makinig sa isang biro nang maraming beses (katotohanan), at mayroon ding mga kagustuhan at mga paghihigpit sa kultura, napagpasyahan para sa bawat gumagamit na bumuo ng isang natatanging playlist. Para sa kapakanan na ito ay dumating sa grips sa server sa cloud.

Ngunit paano ka magpapasya kung sino ang gusto ng ano? Tama iyon - hayaan ang gumagamit na magpasya! Upang gawin ito, gumawa ako ng pangunahing pagtukoy ng kilos sa isang accelerometer mula sa STMicroelectronics. Nagustuhan ko ang biro - ikiling ang pusa, na parang "oo", hindi gusto ang biro - ikiling ito sa gilid, na parang "hindi". At nagdagdag din siya ng "forget-me-not" para sa telepono - kung nawala ang koneksyon sa pamamagitan ng BLE, at nakita ng accelerometer ang paggalaw, kung gayon ang pusa ay dinadala sa isang lugar, ngunit ang telepono ay nakalimutan.

Pagkatapos na "gusto" ng user at sa gayon ay ipahiwatig ang kanyang mga kagustuhan, mapupunta ang impormasyon sa server, kung saan inihahambing ang mga "genomes" ng mga playlist at nabuo ang mga bagong hanay ng mga biro para sa user. Ngunit ito ay isang paksa para sa isang hiwalay na artikulo.

Mga resulta

Bilang resulta, ang entertainment ay naging isang mahusay na platform na maaaring:
  • makipag-ugnayan sa telepono sa pamamagitan ng BLE at makatanggap ng mga abiso sa kaganapan;
  • kumonekta sa pamamagitan ng WiFi at mag-download ng nilalaman at mga update sa firmware;
  • i-save at basahin ang mga file sa FAT32 sa microSD;
  • maglaro ng mga biro na puno ng speex codec;
  • tukuyin ang mga kagustuhan ng gumagamit gamit ang accelerometer (pagtukoy ng kilos);
  • lumikha ng mga playlist para sa bawat gumagamit batay sa kanyang mga kagustuhan sa katatawanan;
Kapansin-pansin, ang "napakahusay na mga kamay" ay maaaring kumonekta sa mga kaukulang pin (kahit na ang mga butas para sa mga konektor sa board ay naiwan) at "matalino ang pusa" ayon sa gusto nila. Ginagawa nitong kaakit-akit ang all-in-one na platform para sa mga geeks.

Gamit ang platform na ito, pumunta kami sa kickstarter, na tinatawag ang tapos na laruang KiQ. Sa unang araw ay nakakolekta sila ng 40%, at ngayon ay 57%. Ngunit iyon ay isang ganap na naiibang kuwento.

Salamat sa lahat ng nagbasa hanggang sa linyang ito. Inaasahan ko ang iyong mga kawili-wiling tanong.

Kabilang sa mga umiiral na laruan, ang isang espesyal na posisyon ay inookupahan ng mga maaaring magsalita at tumugon sa pagpindot. Ang ganitong mga laruan ay tinatawag na interactive.

Kamakailan, ang interactive na ibong Little Live Pets ay naging pinakasikat sa mga babae at lalaki. Ang ganitong laruan ay magiging isang magandang regalo para sa isang bata na nangangarap ng isang alagang hayop.

Mga tampok ng mga interactive na laruan

Ang mga laruan ay maaaring makipag-usap salamat sa isang espesyal na aparato na naka-mount sa loob ng laruang case. Ang mga bloke na ito ay naiiba sa pag-andar:

  • ang pinakasimpleng mekanismo ay ang sound write-once module. Ang oras ng pag-playback ay maaaring mula 1 hanggang 6.5 minuto;
  • ang mga mas sopistikadong device ay nagbibigay-daan sa mga melodies o parirala na muling maitala. Ang mga interactive na laruan na may ganitong mga sistema ay natututong makipag-usap sa bata, na patuloy na nagdaragdag ng bokabularyo. Maaari ka ring mag-record ng mga fairy tale o mga kanta na ginawa ng iyong ina o ibang kamag-anak;
  • May mga system na na-activate hindi sa pamamagitan ng pagpindot sa isang pindutan sa sound block, ngunit sa pamamagitan ng boses o sa pamamagitan ng pagpindot sa iba't ibang bahagi ng laruan.

Halimbawa, ang isang interactive na manika, kapag hinawakan sa pisngi, ay nagsisimulang tumawa, at kung hawakan mo ang kanyang kamay, magsisimula siyang magsalita.

Ang mga bata sa lahat ng edad ay gustong makipag-usap sa mga laruan. Sa pakikipaglaro sa kanila, natututo ang mga bata na makipag-usap, makakuha ng bagong kaalaman at iba pang kasanayan. Ang tanging disbentaha ng mga interactive na laruan ay ang kanilang gastos. Ang mas maraming tulad ng isang laruan ay gumaganap ng mga function, mas mataas ang presyo nito.

Kami mismo ang gumagawa ng laruan

Kung gusto mong pasayahin ang iyong anak gamit ang isang nakikipag-usap na laruan, maaari mo itong gawin sa iyong sarili.

Ang isang taong pamilyar sa radio electronics ay maaaring mag-assemble ng programmable sound module sa bahay. Ngunit hindi ito partikular na kinakailangan, ngayon ang mga naturang bloke ay maaaring mabili sa Internet o sa isang dalubhasang tindahan.

Ang proseso ng paggawa ng laruang nagsasalita ay ganito:

  1. Pumili kami ng laruan. Maaari itong bilhin sa tindahan o gawa sa sarili. Ang mga laruang gawa sa kamay ay napakapopular ngayon.
  2. Bumili kami ng music module at nagre-record ng melody, text o fairy tale dito. Maaari ka ring kumuha ng sound module mula sa anumang lumang laruan, tingnan lamang ang pagganap ng mga baterya.
  3. Pinutol namin ang tahi sa lugar kung saan mai-install ang bloke.
  4. Inilalagay namin ang module sa loob ng laruan, habang mahalaga na bigyang-pansin ang pindutan, dapat itong magagamit para sa pagpindot.

Pagkatapos nito, nananatili lamang itong tahimik na tahiin ang tahi at iyon na - ang laruan ay naging isang nagsasalita.

Tutulungan ka ng video na ito na matutunan kung paano gumawa ng laruang nagsasalita: