Bluetooth 연결을 통해 Furby Connect는 노래와 같은 새로운 놀라움으로 자주 업데이트됩니다. 안테나가 빛날 때, 이것은 Furby가 Furby Connect World 앱에서 새로운 것을 보여줄 새로운 것을 가지고 있음을 의미합니다. Furby는 어린이 친화적 인 비디오를 공유하는 것을 좋아합니다.

가장 먼저 : My Furby Connect "Dee-Koh"는 안전하며 이것을 만드는 데 해를 끼치 지 않았습니다. 이러한 종류의 해킹을 수행하기 위해 Furby에 대한 물리적 접근이 필요하지 않습니다 . 이 프로젝트는 Furby Connect의 Bluetooth 저에너지 프로토콜, 그래픽 및 오디오 형식을 리버스 엔지니어 / "Hack"을 목표로하며 결국 Furby에서 자체 코드를 실행하는 방법을 찾습니다.
이 정보는 교육 목적만을위한 것입니다. 제공된 데이터를 사용하면 하드웨어 손상에 대한 위험만으로도 동의합니다. 당신은 부당한 방법으로 인터페이스 할 때 당신의 furby를 벽돌로 만들 수 있으며,이 지식을 적용 할 때 보증을 거의 무효화 할 것입니다. 자세한 내용은 License.md를 참조하십시오.
Furby Connect에는 2 개의 (또는 그 이상의) 마이크로 컨트롤러가 포함되어 있으며, 하나는 GeneralPlus 의 운동, LCD 눈 및 연설을 통제하는 것으로 보입니다. 그리고 모든 Bluetooth 저에너지 (Bluetooth Smart) 커뮤니케이션을 수행하는 Nordic Semiconductor의 다른 하나. 나는 마음을 열 수있는 심장이 없기 때문에 정확히 어떤 모델을 알지 못하지만 (비싸다) 내부에 GPL16XXXX 시리즈 프로세서가 있다고 가정 할 것입니다.
Furby는 독립형 컨트롤 사용과 상호 작용하거나 Android / iOS 앱 "Furby Connect World"에 연결된 상태에서 Furby의 움직임 및 연설을 완전히 제어하고 Amazon AWS의 Hasbro 서버에서 가져 오는 업데이트를 보냅니다.
이 프로젝트는 주로 Furby의 프로토콜, 그의 특성, 퀴즈 및 Furby의 비밀을 해독 할 때 유용 할 수있는 몇 가지 소프트웨어 도구에 대한 문서로 구성됩니다. sleepmask 디렉토리에는 Furby 's Sleep Mask 내부의 Kicad 도식이 있으며 더 많은 개략도가 이어질 수 있습니다. 그러나이 프로젝트의 목표는 모두 Furby의 전자 제품을 완전히 리버스 엔지니어링하는 것이 아닙니다.
이 프로젝트에는 Furby Connect의 다양한 요소에 대한 리버스 엔지니어링 문서가 포함되어 있습니다.
"Fluffd"는 Linux, MacOS, FreeBSD 또는 Windows 컴퓨터에서 BLE를 통해 Furby Connect와 상호 작용하고 제어하는 것을 위해 존재합니다. 클라이언트-서버 모델 덕분에 Raspberry Pi와 같은 것에 쉽게 사용할 수 있습니다. Fluffd는 내장 된 Bluetooth 저에너지 (예 : Raspberry Pi 3에 통합 된 것) 또는 USB Bluetooth 4.0 (또는 더 높은) 어댑터를 필요로합니다.
"Fluffd"는 Node.js를 기반으로하며 백그라운드에서 Noble을 사용합니다. FluffD를 실행하려면 Node.js 버전 7.0 이상이 필요합니다.
fluffd 디렉토리로 탐색하십시오.udev 개발 파일이 설치되어 있는지 확인하십시오. 데비안 기반 배포판에서 APT 설치를 사용하여 libudev-dev root / with sudo를 사용하여 apt install libudev-dev 하십시오.npm install 실행하십시오fluffd 디렉토리로 탐색하십시오.npm install 실행하십시오npm install xpc-connection node.js에 XPC 연결 바인딩을 설치하십시오. XPC는 MacOS에 따라 다르므로 다른 플랫폼에서는 필요하지 않습니다.Bluetooth가 활성화되고 차단 해제되고 운영 체제의 Bluetooth 데몬 (예 : Linux)이 실행 중인지 확인하십시오. 대부분의 Linux 배포판에서 실행하여이를 달성 할 수 있습니다.
rfkill unblock bluetooth
systemctl start bluetoothFluffd를 사용하여 시작하십시오
node fluffd.js이렇게하면 "Furby"로 광고 광고를 스캔하여 연결합니다. 그런 다음 Fluffd-Client 또는 Fluffd의 HTTP API를 사용하여 명령을받을 수 있습니다.
서비스 및 특성 만보고 싶다면 Furby는 Ble Gatt 계층을 통해 노출되는 경우 사용하는 사람들을 볼 수 있습니다.
node fluffd.js introspect

Furby의 감정 상태는 다음 특성의 벡터로 정의 될 수 있습니다.
이 값 각각이 0과 100 사이의 정수 인 경우, 예를 들어, 혀를 두드려 Furby를 먹이면 5의 값만큼 증가하여 시간이 지남에 따라 자동으로 붕괴됩니다.
탐험 중에 나는 다음 Furby Connect 성격에 대한 몇 가지 명확한 언급을 발견했습니다.
그러나 이러한 성격들 중 어느 것도 Furby를 다양한 방식으로 (2012 년 버전과 같은) 치료함으로써 공개적으로 접근 할 수없는 것처럼 보이므로 나중에 추가 될 것으로 보입니다.
여기서 내 추측은 Hasbro가 Furby Connect를 위해 "마스크"를 판매하고 싶을 것입니다. 은유 적으로, "당신의 성격을 바꾸는"것을 의미하는 "마스크에 넣는"것이 완벽합니다. 또한 앱에서 수면 마스크가 아닌 "마스크"에 대한 언급을 찾았습니다. 그러나 가장 중요한 것은 수면 마스크를 해부 할 때 SO-8 IC (아마도 SPI eeprom?)와 뒷면의 테스트 포인트가있는 공간이있는 PCB를 발견했습니다.
잠을 자고 나면 Furby는 자신의 BLE 연결을 계속 광고 할 것입니다. 즉, 잠자는 것처럼 보이는 동안 수면 마스크를 켜거나 업데이트를 보낼 수 있습니다. 그는 앱에서 연결이 끊어지고 몇 분 동안 잠을 자고 난 후에 만 종료되지만 BLE 연결을 유지함으로써 배터리가 다 떨어질 때까지 깨어날 수도 있습니다.
이름은 Furby Connect World App에 나열되어 있지만 가능한 2 음절 Furby 이름의 정기적 인 패턴으로 존재해야하더라도 Furby Connect "Tay-Tah"의 이름을 지정할 수는 없습니다.
다음은 Furby의 내부 작업에 대한 자세한 내용을 도출하려고 시도 할 수있는 것들의 목록입니다.
다음과 같은 (또는 다른) 과목에 대한 정보가 있다면, 나는 당신의 의견에 매우 관심이 있습니다.