Avec sa connexion Bluetooth, Furby Connect est fréquemment mise à jour avec de nouvelles surprises, comme des chansons. Lorsque l'antenne brille, cela signifie que Furby a quelque chose de nouveau à vous montrer dans l'application Furby Connect World. Furby aime partager des vidéos adaptées aux enfants.

Tout d'abord: ma Furby Connect "Dee-Koh" est sûre et n'a pas été blessée dans la fabrication de cela. Il n'y a pas besoin d'accès physique au Furby afin d'effectuer ce type de hacks. Ces projets visent à insensé ingénieur / "pirater" le protocole Bluetooth à basse énergie, graphique et au format audio de Furby Connect et finalement trouver un moyen d'exécuter son propre code sur Furby.
Ces informations sont uniquement à des fins éducatives. En utilisant les données fournies, vous acceptez de prendre uniquement des risques pour endommager votre matériel. Vous pouvez brique votre furby lorsque vous interfacez avec lui de manière injustifiée et vous annulerez presque certainement votre garantie lors de l'application de ces connaissances. Voir Licence.MD pour plus de détails.
Le Furby Connect contient deux (ou plus) microcontrôleurs, un de GeneralPlus qui semble contrôler le mouvement, les yeux LCD et la parole; et un autre de Nordic Semiconductor qui fait toute la communication Bluetooth à basse énergie (également appelée Bluetooth Smart). Je ne sais pas quels modèles étant exactement car je n'avais pas le cœur pour en ouvrir un (et ils sont également un peu cher), mais je suppose qu'il y a un processeur de série GPL16XXXX à l'intérieur.
Furby peut être interagi avec l'utilisation de commandes autonomes ou bien connectées à l'application Android / iOS "Furby Connect World", qui prend le contrôle total du mouvement et de la parole de Furby et envoie des mises à jour qu'il tire des serveurs de Hasbro sur Amazon AWS.
Ce projet se compose principalement de documentation du protocole de Furby, de ses particularités, de ses anecdotes et de plusieurs outils logiciels qui peuvent être utiles lorsqu'ils déchiffrent les secrets de Furby. Il y a aussi un schéma Kicad de l'intérieur du masque de sommeil de Furby dans le répertoire sleepmask et plus de schémas peuvent suivre. Cependant, ce n'est pas l'objectif de ce projet de rétrécir complètement tout l'électronique de Furby.
Ce projet contient une documentation ingénierie inverse pour différents éléments de Furby Connect:
"Fluffd" existe pour rendre l'interaction avec et contrôler Furby Connect via BLE à partir de votre ordinateur Linux, MacOS, FreeBSD ou Windows. Grâce à son modèle client-serveur, il peut également être facilement utilisé sur quelque chose comme un Raspberry Pi. Fluffd nécessite soit une faible énergie Bluetooth intégrée (par exemple, celle intégrée dans Raspberry Pi 3) ou un adaptateur USB Bluetooth 4.0 (ou plus).
"Fluffd" est basé sur Node.js et utilise Noble en arrière-plan. Vous aurez besoin de node.js version 7.0 ou ultérieure pour exécuter Fluffd.
fluffd sur la ligne de commandeudev sont installés. Sur les distributions basées sur Debian, installez libudev-dev en utilisant apt install libudev-dev en tant que root / avec sudo.npm install pour télécharger et installer toutes les dépendancesfluffd sur la ligne de commandenpm install pour télécharger et installer toutes les dépendancesnpm install xpc-connection pour installer les liaisons de connexion XPC pour node.js. XPC est spécifique à MacOS, donc cela n'est pas requis sur d'autres plates-formes.Assurez-vous que Bluetooth est activé et débloqué, et que le démon Bluetooth de votre système d'exploitation (par exemple Bluez sur Linux) fonctionne. Sur la plupart des distributions Linux, vous pouvez y parvenir en exécutant
rfkill unblock bluetooth
systemctl start bluetoothLancez Fluffd en utilisant
node fluffd.jsCela évaluera les appareils qui font la publicité comme "Furby" et se connecteront à eux. Vous pouvez ensuite prendre la commande à l'aide de Fluffd-Client ou à l'aide de l'API HTTP de Fluffd.
Si vous voulez seulement regarder les services et les caractéristiques que Furby expose via sa hiérarchie BLE GATT, vous pouvez regarder ceux qui utilisent
node fluffd.js introspect

L'état émotionnel de Furby peut être défini comme un vecteur des propriétés suivantes:
où chacune de ces valeurs est un entier entre 0 et 100. Par exemple, lors de l'alimentation de Furby en tapotant sa langue, sa plénitude augmente d'une valeur de 5, qui se désintègre automatiquement au fil du temps.
Au cours de mes explorations, j'ai trouvé plusieurs références claires aux personnalités de Furby Connect suivantes:
Cependant, comme aucune de ces personnalités ne semble être ouvertement accessible en traitant Furby de différentes manières (comme avec la version 2012 Furbies), il semble qu'ils seront ajoutés plus tard.
Ma spéculation ici est que Hasbro pourrait vouloir vendre des "masques" pour Furby Connect. Métaphoriquement, il est parfaitement logique d'avoir "mettre un masque" signifiant "changer votre personnalité". De plus, j'ai trouvé des références à un "masque" qui ne semble pas être le masque de sommeil dans l'application. Mais surtout, lors de la dissection du masque de sommeil, j'ai trouvé un PCB avec de l'espace pour un SO-8 IC (probablement une EEPROM SPI?) Et des points de test à l'arrière.
Après s'être endormi, Furby continuera de publier sa connexion BLE. Cela signifie que vous pouvez réveiller Furby même avec le masque de sommeil ou lui envoyer des mises à jour pendant qu'il semble endormi. Il ne s'arrête vraiment qu'après avoir été déconnecté de l'application et endormi pendant quelques minutes, mais en maintenant la connexion BLE, vous pouvez également le garder éveillé jusqu'à ce que les batteries s'épuisent.
Même si le nom est répertorié dans l'application Furby Connect World, et même si elle devrait exister dans le modèle régulier de noms Furby à deux syllabes possibles, vous ne pouvez pas nommer votre Furby Connect "Tay-Tah".
Voici une liste de choses que vous pouvez essayer d'obtenir plus de détails sur le fonctionnement intérieur de Furby:
Si vous avez des informations sur les sujets suivants (ou différents), je serais très intéressé à vous entendre: