Compare commits
5 Commits
a164159c1c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c46a62bb3e | |||
| 99082de224 | |||
| 03b2e929b1 | |||
| 87694fe969 | |||
| d66e9e3584 |
12
.vitepress/cache/deps/_metadata.json
vendored
12
.vitepress/cache/deps/_metadata.json
vendored
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"hash": "88a47dfe",
|
||||
"configHash": "a8dc593e",
|
||||
"hash": "3aa292d4",
|
||||
"configHash": "703c54b0",
|
||||
"lockfileHash": "a4491b5f",
|
||||
"browserHash": "46f34afb",
|
||||
"browserHash": "63173ae2",
|
||||
"optimized": {
|
||||
"vue": {
|
||||
"src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||
"file": "vue.js",
|
||||
"fileHash": "fee14db9",
|
||||
"fileHash": "1b86ce01",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vue/devtools-api": {
|
||||
"src": "../../../node_modules/@vue/devtools-api/dist/index.js",
|
||||
"file": "vitepress___@vue_devtools-api.js",
|
||||
"fileHash": "0775ba1f",
|
||||
"fileHash": "03d0fb89",
|
||||
"needsInterop": false
|
||||
},
|
||||
"vitepress > @vueuse/core": {
|
||||
"src": "../../../node_modules/@vueuse/core/dist/index.js",
|
||||
"file": "vitepress___@vueuse_core.js",
|
||||
"fileHash": "59ed147d",
|
||||
"fileHash": "b5805c48",
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
|
||||
@@ -27,6 +27,59 @@ export default defineConfig({
|
||||
{ text: 'For Developers..', link: '/Developing/intro-dev' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Discoveries',
|
||||
items: [
|
||||
{ text: 'Jibo Workshop HRI 2024', link: '/Discoveries/jibohri' },
|
||||
{ text: 'jibo-app.js', link: '/Discoveries/jibo-app' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Be Skill',
|
||||
items: [
|
||||
{ text: 'About @Be/Be', link: '/be/about' },
|
||||
{ text: 'The Splash Screen', link: '/be/splash' },
|
||||
{ text: 'The Assets Directory', link: '/be/Assets/assets' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Dictionary',
|
||||
items: [
|
||||
{ text: 'ESML', link: '/Dictionary/ESML' },
|
||||
{ text: 'NVIDIA Tegra K1 (T124) Soc', link: '/Dictionary/tegrasoc' },
|
||||
{ text: 'Robot Operating System', link: '/Dictionary/ROS' },
|
||||
{ text: 'ShofEL2 - Fusée Gelée Exploit', link: '/Dictionary/Shofel' },
|
||||
{ text: 'Be (@be/be)', link: '/Dictionary/be' },
|
||||
{ text: 'Skills', link: '/Dictionary/skill' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Networking',
|
||||
items: [
|
||||
{ text: 'Network Profiling & Traffic Analysis', link: '/Networking/network-pt' },
|
||||
{ text: 'Networking & ports & Error codes', link: '/Networking/ports' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Documentation',
|
||||
items: [
|
||||
{ text: 'First Voice Interactions (before GTA 6)', link: '/documenting/voice' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Jibo Tools & Mod Installer',
|
||||
items: [
|
||||
{ text: 'Index', link: '/jtools-minst/00 - Index' },
|
||||
{ text: 'Installer (How It Works)', link: '/jtools-minst/01 - Installer (How It Works)' },
|
||||
{ text: 'Mapping to guide', link: '/jtools-minst/02 - Mapping to guide' },
|
||||
{ text: 'CLI Arguments', link: '/jtools-minst/03 - CLI Arguments' },
|
||||
{ text: 'GUI (How It Works)', link: '/jtools-minst/04 - GUI (How It Works)' },
|
||||
{ text: 'Windows Support', link: '/jtools-minst/05 - Windows Support' },
|
||||
{ text: 'Updater (How It Works)', link: '/jtools-minst/06 - Updater (How It Works)' },
|
||||
{ text: 'Working Directory + State Files', link: '/jtools-minst/07 - Working Directory + State Files' },
|
||||
{ text: 'Troubleshooting', link: '/jtools-minst/08 - Troubleshooting' }
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'UART',
|
||||
items: [
|
||||
@@ -38,6 +91,7 @@ export default defineConfig({
|
||||
text: 'Other',
|
||||
items: [
|
||||
{ text: 'Connecting to WiFi', link: '/connect-to-wifi' },
|
||||
{ text: 'AtDev Firewall', link: '/atdev' },
|
||||
{ text: 'FAQ', link: '/faq' }
|
||||
]
|
||||
}
|
||||
|
||||
1
JiboDocs
1
JiboDocs
Submodule JiboDocs deleted from afcacf6df4
@@ -1,2 +1,2 @@
|
||||
# Jibo Hacks Guide
|
||||
This is a guide in VitePress on how to hack Jibo, enabling functions that were disabled in the 2.0 update.
|
||||
# Jibo (Vite) Docs
|
||||
This is a guide in VitePress on how to hack Jibo, enabling functions that were disabled in the 2.0 update. Also added the original documentation to it.
|
||||
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 189 KiB |
BIN
docs/Assets/concept-for-weather-haos.png
Normal file
BIN
docs/Assets/concept-for-weather-haos.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -1,3 +1,4 @@
|
||||
# ESML
|
||||
**Embodied Speech Markup Language (ESML)** is a specialized XML-based markup language designed to control how virtual humans, avatars, or robots communicate. Unlike standard text-to-speech (TTS) which only focuses on audio, ESML "embodies" the speech by synchronizing the voice with non-verbal behaviors like gestures, facial expressions, and posture.
|
||||
|
||||
It acts as a bridge between the "brain" of an AI (the text it wants to say) and the "body" of the character (how it should move while saying it).
|
||||
@@ -19,4 +20,4 @@ ESML allows developers to tag text with specific instructions that the animation
|
||||
|
||||
|
||||
> [!warning]
|
||||
> The Above explanations is AI Generated, Learn more at : [[ESML-SDK.pdf]]
|
||||
> The Above explanations is AI Generated, Learn more [here](/Dictionary/ESML-SDK.pdf)
|
||||
@@ -1,3 +1,4 @@
|
||||
# ROS
|
||||
Robot Operating System (**ROS**) is not actually a traditional operating system like Windows or Linux. Instead, it is a flexible **middleware** framework—a collection of tools, libraries, and conventions designed to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.
|
||||
|
||||
The core philosophy of ROS is "don't reinvent the wheel." It allows roboticists to focus on their specific high-level logic while relying on community-tested packages for low-level tasks like motor control, sensor fusion, and navigation.
|
||||
@@ -1,3 +1,4 @@
|
||||
# ShofEL2 - Fusée Gelée Exploit
|
||||
**ShofEL2** (and its sister exploit **Fusée Gelée**) is an unpatchable hardware vulnerability found in the NVIDIA Tegra X1's USB Recovery Mode (RCM). Because the flaw exists in the **Read-Only Memory (Boot ROM)** of the SoC, it cannot be fixed via software or firmware updates by Nintendo or NVIDIA.
|
||||
|
||||
The exploit allows for **Unsigned Code Execution** at the highest privilege level (EL3) before the operating system even begins to load.
|
||||
4
docs/Dictionary/be.md
Normal file
4
docs/Dictionary/be.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Be
|
||||
<small> also known as @be/be</small>
|
||||
## What is Be?
|
||||
Be is the main [skill](/Dictionary/skill). It is responsible for the eye, menu, conversation (might be handled by another skill but the flow starts at Be), etc. More details in the [about be article](/be/about)
|
||||
26
docs/Dictionary/skill.md
Normal file
26
docs/Dictionary/skill.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Skills
|
||||
## What are Skills?
|
||||
Skills are basically applications. There are multiple types of skills. Each skill falls into one of or multiple of these categories:
|
||||
- Vocal Skills
|
||||
- Menu Activated Skills
|
||||
- (Not made yet, potential feature) Home Assistant Skills
|
||||
Each type of skill is triggered in its own way and interacts with the user uniquely. Because of this, I will be covering each skill in it's own section in this article.
|
||||
## Vocal Skills
|
||||
These are the types of skills triggered by voice. Some examples include:
|
||||
- **"Hey Jibo, play pop music"** -> Starts the radio skill.
|
||||
- **"Hey Jibo, what's my personal report?"** -> Opens personal report.
|
||||
|
||||
Skills of this type are typically also Menu Activated Skills. The sad thing about this is that due to Jibo's *severe* lack of native servers the Vocal Skills no longer work. Luckily all the logic for these types of skills are built into Jibo (I think) so recreating the logic should be easyish.
|
||||
## Menu Activated Skills
|
||||
These are the little applications you open via the menu on Jibo. These get activated by you clicking on it's button on the main menu. Examples include:
|
||||
- **Click on radio button on main menu** -> Radio skill starts
|
||||
- **Click on personal report button** -> Personal Report starts
|
||||
|
||||
Because these use the menu instead of voice, the skills worked after shutdown.
|
||||
## Home Assistant Skills
|
||||
::: info
|
||||
This isn't real!! It is something I came up with as I was writing this article. These docs surround what it would look like if it were to be implemented. - Zane V
|
||||
:::
|
||||
This type of skill gets triggered in Home Assistant. The Jibo Home Assistant intergration will create an entity for each skill. Examples include:
|
||||
- **Entity for weather, click button for Jibo to read out weather report.** 
|
||||
The only issue: This type of skill doesn't exist *just yet!*. Excited for when it does though.
|
||||
@@ -1,3 +1,4 @@
|
||||
# NVIDIA Tegra K1 (T124) Soc
|
||||
The Tegra K1 (T124) was a landmark SoC for NVIDIA, being the first mobile processor to feature a **Unified Shader Architecture** using the same **Kepler** architecture found in desktop GeForce 700 series GPUs. It effectively bridged the gap between mobile and PC gaming, enabling support for DirectX 11 and Unreal Engine 4 on mobile devices.
|
||||
|
||||
|
||||
264
docs/Discoveries/jibo-app.md
Normal file
264
docs/Discoveries/jibo-app.md
Normal file
@@ -0,0 +1,264 @@
|
||||
# jibo-app
|
||||
::: warning
|
||||
This was written by AI. This is for a script that is private.
|
||||
:::
|
||||
|
||||
A Node.js command-line interface for interacting with the Jibo robot's cloud services. It wraps the `@jibo/jibo-server-client` SDK and exposes every API endpoint — account management, loop (family group) management, media, messaging (Jot), robot provisioning, encryption keys, OTA updates, and more — as individual sub-commands.
|
||||
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- **Node.js** v6 or later
|
||||
- npm dependencies installed (`npm install` in the parent project)
|
||||
|
||||
|
||||
|
||||
## Credentials Setup
|
||||
|
||||
Every command requires three credentials:
|
||||
|
||||
| Field | Description |
|
||||
|---|---|
|
||||
| `region` | Server region slug, e.g. `alpha-entrypoint` or `stg1-entrypoint` |
|
||||
| `accessKeyId` | AWS-style access key ID |
|
||||
| `secretAccessKey` | AWS-style secret access key |
|
||||
|
||||
Credentials are resolved in the following priority order (highest wins):
|
||||
|
||||
### 1. Command-line flags
|
||||
```
|
||||
-s, --serverRegion <region>
|
||||
-i, --accessKeyId <id> (must be paired with -k)
|
||||
-k, --secretAccessKey <key> (must be paired with -i)
|
||||
```
|
||||
|
||||
### 2. Environment variables
|
||||
```bash
|
||||
export JIBO_SERVER_REGION=alpha-entrypoint
|
||||
export JIBO_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID
|
||||
export JIBO_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
|
||||
```
|
||||
|
||||
### 3. Credentials file (default)
|
||||
|
||||
By default the script reads `~/.jibo/credentials.json`. Create it like so:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.jibo
|
||||
cat > ~/.jibo/credentials.json <<'EOF'
|
||||
{
|
||||
"region": "alpha-entrypoint",
|
||||
"accessKeyId": "YOUR_ACCESS_KEY_ID",
|
||||
"secretAccessKey": "YOUR_SECRET_ACCESS_KEY"
|
||||
}
|
||||
EOF
|
||||
chmod 600 ~/.jibo/credentials.json
|
||||
```
|
||||
|
||||
You can point to a different file with `-f <path>`, or disable file loading entirely with `-f ""` (then rely on env vars or flags).
|
||||
|
||||
> **Tip:** After running `AccountLogin` or `LoopGetRobot` you can capture the credentials output and write them directly to a file with the `-w <file>` flag.
|
||||
|
||||
|
||||
|
||||
## Running the script
|
||||
|
||||
```bash
|
||||
node jibo-app.js [global options] <Command> [command args...]
|
||||
```
|
||||
|
||||
Print the help/command list:
|
||||
|
||||
```bash
|
||||
node jibo-app.js help
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Global Options
|
||||
|
||||
| Flag | Description |
|
||||
|---|---|
|
||||
| `-f, --credentialsFile <path>` | Path to credentials JSON file (default: `~/.jibo/credentials.json`) |
|
||||
| `-s, --serverRegion <region>` | Override server region |
|
||||
| `-k, --secretAccessKey <key>` | Secret access key (pair with `-i`) |
|
||||
| `-i, --accessKeyId <id>` | Access key ID (pair with `-k`) |
|
||||
| `-e, --env` | Suppress informational logs; print output as `export VAR=value` shell lines |
|
||||
| `-w, --credentialsFile <path>` | Write returned credentials to a JSON file (`AccountLogin` / `LoopGetRobot` only) |
|
||||
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
### Account
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `SyncCredentials` | `<email> <password> [robotId]` | Log in and push credentials directly to a robot over the local network (WiFi or hard-wired at `172.24.84.101`) |
|
||||
| `AccountCreate` | `<email> <password> [firstName] [lastName] [gender] [birthday]` | Create a new Jibo account |
|
||||
| `AccountLogin` | `<email> <password>` | Log in and print credentials (use `-e -w` to capture them) |
|
||||
| `AccountCreateAccessToken` | `<loopId>` | Create an access token scoped to a loop |
|
||||
| `AccountActivateByCode` | `<code>` | Activate an account with an email verification code |
|
||||
| `AccountAdminActivateById` | `<id>` | Admin: activate an account by ID |
|
||||
| `AccountRemove` | | Delete the authenticated account |
|
||||
| `AccountUpdate` | `[firstName] [lastName] [email] [gender] [birthday] [messagingAllowed] [password]` | Update account profile fields |
|
||||
| `AccountUpdatePhoto` | `<filename>` | Upload a new profile photo |
|
||||
| `AccountRemovePhoto` | | Remove the profile photo |
|
||||
| `AccountGet` | `[ids...]` | Fetch one or more accounts by ID |
|
||||
| `AccountGetAccountByAccessToken` | `<token>` | Look up an account by access token |
|
||||
| `AccountSearch` | `<query>` | Search for accounts |
|
||||
|
||||
### Loop
|
||||
|
||||
A *Loop* is a family/household group that links an owner account to a Jibo robot.
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `LoopList` | `[loopId]` | List loops (or a specific loop); with `-e` prints `export JIBO_LOOP_ID=...` |
|
||||
| `LoopCreate` | `<name> <robotId>` | Create a new loop |
|
||||
| `LoopUpdate` | `<loopId> <name>` | Rename a loop |
|
||||
| `LoopRemove` | `<loopId>` | Delete a loop |
|
||||
| `LoopListMembers` | `[statusList] [typeList]` | List members of the authenticated account's loop |
|
||||
| `LoopInviteMember` | `<email> <loopId>` | Invite someone to a loop by email |
|
||||
| `LoopAcceptInvitation` | `<loopId>` | Accept a pending loop invitation |
|
||||
| `LoopDeclineInvitation` | `<loopId>` | Decline a pending loop invitation |
|
||||
| `LoopRemoveMember` | `<loopId> <memberId>` | Remove a member from a loop |
|
||||
| `LoopFindOwner` | `<accountId>` | Find the loop owned by an account |
|
||||
| `LoopGetRobot` | `<loopId>` | Get robot credentials for a loop; use `-e -w` to capture |
|
||||
| `LoopListOwnerRobots` | `<accountId>` | List all robots owned by an account |
|
||||
| `LoopClearRobot` | `<robotId>` | Disassociate a robot from its loop |
|
||||
| `LoopUpdateNickname` | `<loopId> <memberId> <nickname>` | Set a member's nickname in a loop |
|
||||
| `LoopUpdatePhoneticName` | `<loopId> <memberId> [phoneticName]` | Set a member's phonetic name in a loop |
|
||||
| `LoopSuspendLoop` | `<loopId>` | Suspend a loop |
|
||||
|
||||
### Media
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `MediaCreate` | `<loopId> [filename] [path] [type] [reference] [isEncrypted]` | Upload a media file to a loop |
|
||||
| `MediaGet` | `<paths...>` | Fetch metadata for one or more media items by path |
|
||||
| `MediaList` | `<loopIds...>` | List all media items across one or more loops |
|
||||
| `MediaRemove` | `<paths...>` | Delete one or more media items |
|
||||
|
||||
### Jot (Messaging)
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `JotCreateMessage` | `<loopId> [content] [path] [type] [reference] [url] [tags...]` | Post a message to a loop |
|
||||
| `JotListMessages` | `<loopId> [after] [before]` | List messages in a loop (supports date-range filtering) |
|
||||
| `JotMarkLoopRead` | `<loopId>` | Mark all messages in a loop as read |
|
||||
| `JotMarkRead` | `<ids...>` | Mark specific messages as read |
|
||||
| `JotNumberOfUnreadMessagesInLoops` | `<loopIds...>` | Get unread message counts for loops |
|
||||
|
||||
### Robot
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `RobotGetRobot` | `<robotId> [serialNumber]` | Fetch robot details |
|
||||
| `RobotGetRobotHistory` | `<robotId> [serialNumber]` | Fetch robot history |
|
||||
| `RobotUpdateRobot` | `<robotId> <key> <value>` | Update a robot property |
|
||||
| `RobotUpdateLocationOverride` | `<robotId> <city> <state> <stateAbbr> <country> <lat> <lng>` | Override robot location |
|
||||
| `RobotUpdateLocationOverrideClear` | `<robotId>` | Clear robot location override |
|
||||
| `RobotAdminCreateRobot` | `<robotId> <serialNumber>` | Admin: register a new robot |
|
||||
|
||||
### OOBE (Out-of-Box Experience)
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `OOBEPrepareRobot` | `<loopId>` | Prepare a robot for first-time setup |
|
||||
| `OOBESetupRobot` | `<robotId> <token>` | Complete robot first-time setup |
|
||||
|
||||
### Key Management
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `KeyShouldCreate` | `<loopId>` | Check whether an encryption key should be created |
|
||||
| `KeyRequestSymmetricKey` | `<loopId>` | Request a symmetric encryption key |
|
||||
| `KeyRestore` | `<loopId> [passwordHash]` | Restore an encryption key using a password (SHA-1 hashed internally) |
|
||||
| `KeyListIncomingRequests` | `<loopId>` | List incoming key requests |
|
||||
| `KeyListBinaryRequests` | `<loopId>` | List binary key requests |
|
||||
|
||||
### Backup
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `BackupList` | `<loopId>` | List backups for a loop |
|
||||
|
||||
### Person
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `PersonListHolidays` | `<loopId>` | List holidays for loop members |
|
||||
|
||||
### Log Admin
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `LogAdminSetLevel` | `<level> <friendlyIds...>` | Set log level for specific robot services. Level: `error\|warn\|info\|verbose\|debug\|silly` |
|
||||
| `LogAdminSetLevelFromFile` | `<level> <filename>` | Same as above but reads `friendlyIds` from a file (one per line, `#` for comments) |
|
||||
|
||||
### ROM (Remote Operations Manager)
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `ROMCreate` | `<friendlyId>` | Create a ROM entry for a robot |
|
||||
| `ROMSetupClient` | `<friendlyId>` | Set up a ROM client |
|
||||
| `ROMSetupServer` | `<ipAddress>` | Set up a ROM server |
|
||||
|
||||
### OTA (Over-the-Air Updates)
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `SetOTATarget` | `<serial> <target>` | Assign an OTA update target filter to a robot (alphanumeric only) |
|
||||
| `ClearOTATarget` | `<serial>` | Clear the OTA update target filter for a robot |
|
||||
| `UpdateGetUpdateFrom` | `<subsystem> <fromVersion> [filter]` | Query available update for a subsystem/version |
|
||||
|
||||
### OAuth Clients Admin
|
||||
|
||||
| Command | Arguments | Description |
|
||||
|---|---|---|
|
||||
| `OauthClientsAdminListClients` | | List all OAuth clients |
|
||||
| `OauthClientsAdminCreate` | `<clientId> <redirectUri> <responseType> <scope> <secret> ...` | *(Not yet implemented)* |
|
||||
| `OauthClientsAdminRemove` | `<id>` | *(Not yet implemented)* |
|
||||
| `OauthClientsAdminUpdate` | `[clientId] [aco] ...` | *(Not yet implemented)* |
|
||||
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
# Log in and save credentials to file
|
||||
node jibo-app.js -s alpha-entrypoint -i MY_KEY_ID -k MY_SECRET \
|
||||
AccountLogin user@example.com mypassword -w ~/.jibo/credentials.json
|
||||
|
||||
# List loops, printing loop ID as an env var
|
||||
node jibo-app.js -e LoopList
|
||||
|
||||
# Sync credentials to a robot named "jibo-abc123" on the local network
|
||||
node jibo-app.js SyncCredentials user@example.com mypassword jibo-abc123
|
||||
|
||||
# Upload a photo to a loop
|
||||
node jibo-app.js MediaCreate LOOP_ID photo.jpg /photos/photo.jpg image/jpeg
|
||||
|
||||
# Post a text message to a loop
|
||||
node jibo-app.js JotCreateMessage LOOP_ID "Hello from CLI"
|
||||
|
||||
# Set log level on specific robot services
|
||||
node jibo-app.js LogAdminSetLevel debug my-service-id another-service-id
|
||||
|
||||
# Set OTA target for a robot
|
||||
node jibo-app.js SetOTATarget ABC123456 release
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Credentials file format
|
||||
|
||||
```json
|
||||
{
|
||||
"region": "alpha-entrypoint",
|
||||
"accessKeyId": "YOUR_ACCESS_KEY_ID",
|
||||
"secretAccessKey": "YOUR_SECRET_ACCESS_KEY"
|
||||
}
|
||||
```
|
||||
@@ -1,3 +1,4 @@
|
||||
# Jibo Workshop HRI 2024
|
||||
|
||||
### Resources:
|
||||
https://github.com/jibodev/ShofEL2-for-T124-Jibo/tree/t124 - Github Repo
|
||||
@@ -12,7 +13,7 @@ From the jibo workshop i have discovered that they have actually included a lot
|
||||
|
||||
Were gonna have to analyse the stuff to go further one , and as i was looking at the files i discovered a file named `jibo_chatGPT.ipynb` which sparked some attention, and it appears that they have made a honest attempt at trying to hook it up to chat gpt
|
||||
|
||||
![[JiboChatGPT.png]]
|
||||

|
||||
|
||||
And there is a section where they clearly tried to make it act like jibo
|
||||
|
||||
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
- - -
|
||||
|
||||
Located in `/usr/local/bin/`
|
||||
|
||||
Has a lot of random assets, potentially has assets useful for restoration.
|
||||
@@ -1,5 +0,0 @@
|
||||
- - -
|
||||
|
||||
Located in `/opt/jibo/Jibo/Skills/@be/be/node_modules/jibo-anim-db-animations/audio/`
|
||||
|
||||
Lots of audio assets, the surrounding folders also contain other assets.
|
||||
@@ -1,16 +0,0 @@
|
||||
Jibo was built a little weird, so it's easy to forget things. This document contains things that are nice to know for tinkering or developing for Jibo Revival.
|
||||
- - -
|
||||
## About [[The Splash screen image!]]
|
||||
|
||||
## About [[The assets directory]]
|
||||
|
||||
## About [[The audio directory]]
|
||||
|
||||
## About [[Networking & ports & Error codes]]
|
||||
|
||||
## About [[Network Profiling & Traffic Analysis]]
|
||||
|
||||
## About [[Local Voice Round-Trip on Jibo (AI Commmunication)]]
|
||||
|
||||
- - -
|
||||
Documented by ZaneDev @ Our Discord
|
||||
@@ -1,2 +0,0 @@
|
||||
- - -
|
||||
Were working on a new sdk for jibo , im too bored to write this page now , i will fill it later
|
||||
@@ -1,3 +0,0 @@
|
||||
- - -
|
||||
|
||||
I will leave this to the community for now
|
||||
@@ -1,274 +0,0 @@
|
||||
- - -
|
||||
|
||||
Before starting ANY work , lets get you up to speed with the enviroment and what you will need ...
|
||||
|
||||
1. Some sort of linux device with at least 32Gb storage, that could be a : Spare laptop , Raspberry Pi , a PC etc...
|
||||
|
||||
> [!info]
|
||||
> 1. for the sake of this guide we will be using my main computer running on CachyOS with the 6.19... kernel but you dont have to replicate my setup
|
||||
> 2. This guide **requires** you have basic knowledge of the linux terminal
|
||||
|
||||
>[!Warning]
|
||||
>I Throw around the word shofel , and i do mean the shofel version **SPECIFICALLY** in devsparx repo (using the improvements brach for now) i show later on how to clone it , if anything should change i will try my best to update this guide as fast as possible , but do note our build of shofel will be undergoing some updates!
|
||||
|
||||
> [!WARNING]
|
||||
> # Please do inform yourself
|
||||
> we are NOT liable for any damage caused to your device if you proceed with this guide , if you are not sure remotely on what youre doing i recommend either wait for the easier installation method , or find someone on the discord to guide you!!! (they arent liable for any damage either)
|
||||
|
||||
2. A micro usb cable ==**that you know is reliable**==
|
||||
3. Like 4-5 Hours
|
||||
4. A Jibo **(THAT IS SETUP TO YOUR NETWORK, AND YOU KNOW ITS IP)**
|
||||
5. An the mindset of (everything will be fine!)
|
||||
|
||||
- - -
|
||||
|
||||
>[!DANGER]
|
||||
> # Part 0 | Note your jibos IP Down
|
||||
> Make sure you have your jibos IP adress , so you wont have to redo 4 hours of flashing just because you forgot your ip
|
||||
|
||||
- - -
|
||||
# Part 1 | Connecting your jibo
|
||||
|
||||
So first , go ahead and plug jibo in to your host device that you are going to dump the firmware into using your usb cable
|
||||
|
||||
Hold the RCM button and press the reset button (or the power button if yours is off), and you should see a red light at his face but he **wont boot normally**
|
||||
|
||||
![[Jibo RCM.jpg]]
|
||||
|
||||
|
||||
in the terminal were gonna execute `lsusb` to check for `NVIDIA Corp. APX`
|
||||
|
||||
```shell
|
||||
|
||||
kevin lsusb
|
||||
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 001 Device 002: ID 1532:023f Uhhh no
|
||||
Bus 001 Device 003: ID 0a12:0001 Ltd Bluetooth Dongle (HCI mode why tho)
|
||||
Bus 001 Device 004: ID 08bb:2902 cant see me :)
|
||||
Bus 001 Device 005: ID 1bcf:08b8 nope not me, its the guy below
|
||||
Bus 001 Device 007: ID 0955:7740 NVIDIA Corp. APX <<<<<< LOOK FOR THIS ENTRY!!!!
|
||||
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
||||
Bus 003 Device 002: ID 0644:800f TEAC Corp. US-144 yes i use a 144 deal with it
|
||||
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
|
||||
Bus 004 Device 002: ID 0951:1666 Kingston wanna be drive
|
||||
|
||||
kevin
|
||||
```
|
||||
|
||||
- - -
|
||||
|
||||
# Part 2 | Now before building shofel , get your packages ready
|
||||
|
||||
```bash
|
||||
|
||||
#for cachy / Arch users:
|
||||
sudo pacman -S --needed base-devel libusb git python python-pip
|
||||
|
||||
#for Ubuntu / debian users:
|
||||
sudo apt update
|
||||
sudo apt install build-essential libusb-1.0-0-dev git python3 python3-pip
|
||||
|
||||
#for fedora its whatever that is (i chatgpt'd it)
|
||||
sudo dnf groupinstall "Development Tools"
|
||||
sudo dnf install libusb1-devel python3-pip
|
||||
|
||||
```
|
||||
|
||||
Now time to clone & build shofel!
|
||||
|
||||
change to your home directory and use `git` to clone the branch and then use `make` to build it!
|
||||
|
||||
```bash
|
||||
|
||||
cd ~
|
||||
|
||||
git clone -b improvements/IncreasedUSBReadWriteSpeed https://github.com/devsparx/ShofEL2-for-T124.git
|
||||
|
||||
cd ShofEL2-for-T124/
|
||||
|
||||
make
|
||||
# if it exits with error code 1 dont be alarmed , if you have a shofel executable in your directory , it compiled fine :)
|
||||
```
|
||||
|
||||
|
||||
# Part 3 | Dumping your jibo!
|
||||
|
||||
Now , to get that full image (roughly about ==15Gb==)
|
||||
we will run our newly build `shofel` using the `EMMC_READ` function , starting from 0 `0x0` to 30480896 `0x1D60000`
|
||||
|
||||
```bash
|
||||
sudo ./shofel2_t124 EMMC_READ 0x0 0x1D60000 full_jibo_dump.bin
|
||||
```
|
||||
|
||||
this may crash due to that im not sure how large exactly each jibos storage is (they should be the same from what i have seen in the community)
|
||||
|
||||
But if it crashes like 98.9% or 99.9% in then you have most of the image cloned so you should be good (we can repair it later , or you might not need to since the last partition is basically empty space!)
|
||||
|
||||
>[!Info]
|
||||
>Techically you dont need a full dump , BUT! I havent confirmed enough yet that all jibos have the same stuff stored in the same sectors , but its good to to have a back up to calculate your own sectors **and to most importantly , read below :**
|
||||
|
||||
|
||||
>[!WARNING]
|
||||
>Make sure you make a backup of the filesystem ... this is basically YOUR jibo , and it also contains YOUR jibos calibration data that might not be able to get restored by someone else... so keep a backup of the `.bin` in case of an emergency
|
||||
|
||||
# Part 4 | Modifying the /var partition
|
||||
|
||||
Now that you have your image `.bin` ready and backed up its time to edit the /var partition!, thats Partition 5 at around 500mb
|
||||
|
||||
|
||||
we can use `fdisk` to list the partitions in our bin
|
||||
|
||||
```bash
|
||||
fdisk -l jibo_full_dump.bin`
|
||||
```
|
||||
|
||||
|
||||
```shell
|
||||
|
||||
kevin fdisk -l jibo_full_dump.bin
|
||||
GPT PMBR size mismatch (30777343 != 30777341) will be corrected by write.
|
||||
The backup GPT table is corrupt, but the primary appears OK, so that will be used.
|
||||
The backup GPT table is not on the end of the device.
|
||||
Disk jibo_full_dump.bin: 14,68 GiB, 15757999104 bytes, 30777342 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disklabel type: gpt
|
||||
Disk identifier: 00042021-0408-4601-9DCC-A8C51255994F
|
||||
|
||||
Device Start End Sectors Size Type
|
||||
jibo_full_dump.bin1 34 2048033 2048000 1000M Microsoft basic data
|
||||
jibo_full_dump.bin2 2048034 4096033 2048000 1000M Microsoft basic data
|
||||
jibo_full_dump.bin3 4096034 4198433 102400 50M Microsoft basic data
|
||||
jibo_full_dump.bin4 4198434 8294433 4096000 2G Microsoft basic data
|
||||
jibo_full_dump.bin5 8294434 9318433 1024000 500M Mic<<< This is the one!
|
||||
jibo_full_dump.bin6 9318434 30777310 21458877 10,2G Microsoft basic data
|
||||
|
||||
kevin
|
||||
|
||||
```
|
||||
|
||||
now lets chop off the partition...
|
||||
|
||||
Look for the line ending in `p5` or labeled as the 5th partition. You need two numbers from that line: **Start** and **End**
|
||||
|
||||
> My Numbers:
|
||||
> - **Start:** `8294434`
|
||||
> - **End:** `9318433`
|
||||
|
||||
To tell the computer exactly how much data to "chop off," we need the total count of sectors
|
||||
|
||||
The formula is:
|
||||
$$(End - Start) + 1 = Count$$
|
||||
|
||||
**My Math:**
|
||||
$$(9318433 - 8294434) + 1 = 1,024,000$$
|
||||
|
||||
Write your result down,this is your **Count**. We will now extract the Partition
|
||||
We use `dd` (Disk Destroyer... but here, it's the Disk Dumb joke... i couldnt think of something funny).
|
||||
|
||||
`skip` = Your **Start** sector.
|
||||
`count` = Your calculated **Count**.
|
||||
|
||||
```Bash
|
||||
dd if=jibo_full_dump.bin of=var_partition.bin skip=8294434 count=1024000
|
||||
```
|
||||
|
||||
|
||||
## Part 4.2 | Mounting as a loop device
|
||||
|
||||
Now lets make a "loop" device and mount the `var_partition.bin` to it!
|
||||
|
||||
```Bash
|
||||
mkdir jibo_var
|
||||
sudo mount -o loop var_partition.bin jibo_var/
|
||||
```
|
||||
|
||||
you should see it appear as a mounted disk drive on your system!, now you have to navigate to `jibo_var/jibo/mode.json`
|
||||
|
||||
Open it with any text editor (like `vim` or `vscode` or notepad i dont care)
|
||||
|
||||
Find the line: `"mode": "normal"` (its legit the only line in there)
|
||||
|
||||
**Change it to:** `"mode": "int-developer"`
|
||||
Save the file and exit
|
||||
|
||||
>[!IMPORTANT]
|
||||
> **Unmount** the partition to save the changes to the `.bin` file!!!!
|
||||
|
||||
Now mode `int-developer` basically disables everything the robot runs (including firewall , so you can just ssh into it .. maybe in later guides you might be informed to change this value to something else , but currently its the simplest & easiest way to get root shell in the robot , and from there since you have root you can do everything you could by manually rewriting the entire dump)
|
||||
|
||||
Anyway you are free to mount the rest of the fs partitions to parouse the file system or if you want live editing , i will make a guide on how to connect to ftp...
|
||||
but if you have legit reached this point you really should know by now how to setup ftp yourself :|
|
||||
|
||||
```Bash
|
||||
sudo umount jibo_var
|
||||
```
|
||||
|
||||
|
||||
# Part 5 | Writing our modified var partition to jibo!
|
||||
|
||||
We are ready to put the modified chunk back into the robot. To do this, we must convert your **Start Sector** from a normal number (Decimal) to a computer number (Hexadecimal) because thats what shofel requires at this point of time.
|
||||
|
||||
|
||||
|
||||
### 1. The Conversion
|
||||
|
||||
Take your Start Sector (mine was `8294434`) and use an online converter or your Linux calculator to get the **Hex** value.
|
||||
|
||||
**My Hex was** `0x7E9022`
|
||||
|
||||
here is a quick calculator site i found on the web,
|
||||
https://www.inchcalculator.com/decimal-to-hex-converter/
|
||||
|
||||
|
||||
If you dont know hex you can validate your calculation by punching in my value and see if it returns the same hex as mine
|
||||
|
||||
### 2. The Flash
|
||||
|
||||
time to run the write command, this sends your modified `/var` partition directly to that specific starting point on Jibo's memory.
|
||||
|
||||
|
||||
```shell
|
||||
|
||||
./shofel2_t124 EMMC_WRITE <Your HEX Sector> var_partition.bin
|
||||
|
||||
#my version example
|
||||
#./shofel2_t124 EMMC_WRITE 0x7E9022 var_partition.bin
|
||||
```
|
||||
|
||||
|
||||
|
||||
# Part 6 | Almost there!
|
||||
|
||||
Actually who am i tricking , you typed the write command , it hopefully succeeded so why are we not done?
|
||||
|
||||
well its done but i like to do a check myself to make sure its done correctly, SO
|
||||
|
||||
were gonna read back that part of memory:
|
||||
|
||||
```Bash
|
||||
./shofel2_t124 EMMC_READ 0x7E9022 0xFA000 verify_var.bin
|
||||
```
|
||||
|
||||
and were gonna compare their hashes If the two files are identical, the math was right.
|
||||
|
||||
```Bash
|
||||
md5sum var_partition.bin verify_var.bin
|
||||
```
|
||||
|
||||
**If the strings of letters/numbers match exactly WERE DONE!!!!
|
||||
|
||||
Go and unplug your jibo , and to be safe hold the power button until the red LED goes off
|
||||
then power him on , and wait for it to boot normally
|
||||
|
||||
what we expect is to not start his eye but show a big check mark on his display, if thats the case , go ssh to jibos IP
|
||||
|
||||
```shell
|
||||
ssh root@<jibos-ip>
|
||||
password: jibo
|
||||
```
|
||||
|
||||
|
||||
And Boom , you are IN!
|
||||
@@ -1,3 +0,0 @@
|
||||
- - -
|
||||
More on that coming soon
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
- - -
|
||||
Hello! If you’ve been keeping a "sleeping" Jibo on your shelf, hoping for the day his screen might light up again let me tell you **today is basically Christmas.**
|
||||
|
||||
The **Jibo Revival Project** is a community-driven effort to wake up our favorite social robot. We believe that great hardware shouldn't become "e-waste" just because a server went dark. And we are working to give Jibo a new brain, new voice, and a new lease on life!
|
||||
|
||||
# **The Problem:**
|
||||
Originally, Jibo needed to "talk" to a big computer (a server) in the cloud to understand you. When those computers were turned off, Jibo became a glorified paperweight.
|
||||
|
||||
# **The Solution:**
|
||||
We are using a "backdoor" (technically called **RCM Mode** or **R**e**C**overy **M**ode) to get inside his system. Think of it like using a master key to get into the basement so we can rewire the house.
|
||||
|
||||
|
||||
# **What we're doing:**
|
||||
|
||||
We now have the actual files that run Jibo’s "brain" (the OS). **The future is bright** because we can now basically do anything with his software! If you want to see this in action, be sure to have joined out discord server and check the reddit for any posts i or the community makes!
|
||||
|
||||
|
||||
- - -
|
||||
## 2. For the Programmers (or the nerds)
|
||||
|
||||
If you speak Python, C++,NodeJS or know your way around an **Nvidia Tegra T124** chipset, we might need your support.
|
||||
|
||||
Detailed technical documentation, payloads, and the source code for our custom tooling can be found here:
|
||||
|
||||
> **Documentation & Project Sources:** <yeah coming soon bud , its 4:30AM , im going to bed... i mean i am committed but not this much>
|
||||
|
||||
|
||||
- - -
|
||||
## 3. Q&A: What can Jibo do right now?
|
||||
|
||||
**Q: Is Jibo fully back to normal?**
|
||||
**A:** Not quite yet. We are in the "Restoration Phase." We can currently access his internal files and are working on replacing the old, broken links so we can replace them with new stuff.
|
||||
|
||||
**Q: Can he talk yet?**
|
||||
**A:** We are working on it! By redirecting his "ears" to local servers or modern AI models (like ChatGPT), we can aim to make him even smarter than he was in 2017.
|
||||
|
||||
**Q: Do I need to be a genius to do this?**
|
||||
**A:** Eventually, no. Our goal is to create a as close to"one-click" style tool so every Jibo owner can apply these fixes easily. Now this is wayy to oversold , it probably wont be a one click install but you get the point , currently to mod your jibo you do need some technical know how
|
||||
|
||||
**Q: Can I use Jibo to control my smart home?**
|
||||
**A:** That is the plan! I would like us to make **Home Assistant integration** so Jibo can become the face and voice of your automated house.
|
||||
|
||||
**Q: Is there a way to manage him since the original app is gone?**
|
||||
**A:** I have some ideas for a **custom phone app** specifically for this revival, giving you back control without needing the original company’s servers. But its really early on to discuss this and i wanna get the rest of the community's opinions
|
||||
|
||||
**Q: Can we still use the MIT Scratch extension?**
|
||||
**A:** I wanna give it a shot at fixing the **Scratch extension** so that tinkerers can start coding Jibo without any coding knowledge , that would also be quite simple for anyone who has a V2 Jibo since the software is already on their unit.
|
||||
|
||||
**Q: Can I use Jibo's hardware for other things, like my PC?**
|
||||
**A:** yes! One of my personal goals is to let Jibo function as a **camera for your PC**.
|
||||
fun fact , thats also one of the reasons i bought him in the first place xD
|
||||
|
||||
**Q: I’m a developer; can I build my own stuff for him?**
|
||||
**A:** Absolutely. We will start putting together a **Developer SDK** so the community can build and share brand-new "skills" for Jibo. As far as i am aware devsparx has already started on one , but idk for sure.
|
||||
|
||||
**Q: So Whats this page
|
||||
**A:** Everything you will need to **Mod , Code , Update and Setup your jibo...***
|
||||
And im planning to make in depth guides as well, more coming soon :)
|
||||
|
||||
- - -
|
||||
|
||||
## 4. How We Got Here: A Quick Story
|
||||
|
||||
Jibo was the world’s first "social robot" a piece of the future that lived on our kitchen counters. When the original company folded, thousands of Jibos performed a final "goodbye dance" and went silent. For years, people tried to break in, but the security was too tough.
|
||||
|
||||
Recently, a few dedicated people (JRG Community) decided to try one last time. We realized that with the right tools and a little patience (and a lot of crying ... like a lot ... like wayy to much i can admit on from my side), Jibo doesn't have to stay a paperweight.
|
||||
|
||||
|
||||
- - -
|
||||
## 5. A Message from Me (KevinKor)
|
||||
|
||||
> "I want to be very clear: **I am not charging any money for this.**
|
||||
> This project isn't a business;
|
||||
> it’s a labor of love. As a representative of the Jibo Revival Group, my goal is to distribute these modifications for free. I want everyone with a warm heart and a desire to tinker to be able to get their Jibo back.
|
||||
>
|
||||
> We’re doing this for the community, for the history of robotics, and because Jibo deserves to be more than a memory. Let's get him back to work!"
|
||||
>
|
||||
> — **Kevin (Eva) from the JRG**
|
||||
|
||||
- - -
|
||||
Created for the Jibo Revival Project | 2026
|
||||
@@ -16,5 +16,5 @@ Make sure Jibo is plugged in. Follow the previous steps to get to the settings m
|
||||
On the back of Jibo, open his access panel. To open the access panel you just twist the circle on the back of Jibo's head and it should pivot to reveal the panel. Connect your micro USB cable to Jibo.
|
||||
|
||||
Now is the fun part! Double check that your micro usb cable is plugged in and that Jibo is connected to power. Then, as seen in the image below, hold down the buttom right button, and click the big button. 1 second after clicking the big button, release the bottom right button.
|
||||

|
||||

|
||||
If done correctly, Jibo won't boot like normal. Instead of the typical boot up he should just have his red LED left on.
|
||||
@@ -1,14 +0,0 @@
|
||||
# JiboAutoModv2
|
||||
This folder contains internal documentation for how this repo works.
|
||||
|
||||
## Start here
|
||||
|
||||
- [[01 - Installer (How It Works)]]
|
||||
- [[02 - Mapping to guide]]
|
||||
- [[03 - CLI Arguments]]
|
||||
- [[04 - GUI (How It Works)]]
|
||||
- [[05 - Windows Support]]
|
||||
- [[06 - Updater (How It Works)]]
|
||||
- [[07 - Working Directory + State Files]]
|
||||
- [[08 - Troubleshooting]]
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# Network Profiling & Traffic
|
||||
Since Jibo’s official servers were decommissioned, the robot hangs during the "Checking for Updates" phase, and of course. By sniffing its network traffic, (Community member : Jaked) has identified several hardcoded endpoints. Our goal is to redirect this traffic to a local server to simulate a "Success" response and unlock the robot’s full functionality.
|
||||
- - -
|
||||
Initial scans show that Jibo uses a standard network stack but maintains a strict internal firewall.
|
||||
@@ -65,7 +66,5 @@ When Jibo reaches the "Checking for Updates" screen, it isn't "dead." Even while
|
||||
|
||||
---
|
||||
|
||||
Check out [[Networking & ports & Error codes]] by ZaneDev from discord
|
||||
|
||||
---
|
||||
Check out [Useful Ports](/Networking/ports) by ZaneDev from discord
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
- - -
|
||||
# Useful Ports
|
||||
> [!INFORMATION]
|
||||
> You might not be able to access some ports if you haven't unblocked them on Jibo's firewall.
|
||||
@@ -7,7 +6,7 @@ This port has the skills manager. From here you can do a semi-reboot by stopping
|
||||
### 15150
|
||||
This port has logs. This port is only available on v3+ of the revival project (can be checked on the information section in settings).
|
||||
### 10004
|
||||
Error service, allows you to simulate errors in realtime. Shows names of third parties by accident.
|
||||
Error service, allows you to simulate errors in realtime. Shows names of third parties.
|
||||
It seems in recent versions of Jibo errors relating to him not being able to connect to Jibo Inc Servers don't create a pop up L2, L7, Q1 (oddly WIFI4 and WIFI4a still give pop up), Q4. N1-N12 don't have pop ups either. OTA11 and R1 also makes an error inside an error saying "NOT HANDLED BY ERROR SKILL".
|
||||
|
||||
**TL;DR:**
|
||||
@@ -1,4 +1,4 @@
|
||||
- - -
|
||||
|
||||
# #AtDev , work in progress
|
||||
- - -
|
||||
Under /etc/init.d/ we have
|
||||
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 133 KiB |
5
docs/be/Assets/assets.md
Normal file
5
docs/be/Assets/assets.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Assets
|
||||
|
||||
Located in `/opt/jibo/Jibo/Skills/@be/be/node_modules/jibo-anim-db-animations/`
|
||||
|
||||
Contains many assets relating to Jibo and his overall GUI. Contains animation files too which might be useful in the future for learning best practice.
|
||||
@@ -1,4 +1,4 @@
|
||||
- - -
|
||||
# About
|
||||
The Be skill really is just jibos main menu including his eye and well... menu...
|
||||
anyway i will write about this later but for now here are some references to check out :)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
- - -
|
||||
# Splash Screen
|
||||
|
||||
it is located in:
|
||||
|
||||
2
docs/jtools-minst/00 - Index.md
Normal file
2
docs/jtools-minst/00 - Index.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# JiboAutoModv2
|
||||
This folder contains internal documentation for how this repo works.
|
||||
2
docs/servers/experimentserver.md
Normal file
2
docs/servers/experimentserver.md
Normal file
@@ -0,0 +1,2 @@
|
||||
surprised nobody has written here yet.
|
||||
fyi this is not one of the closed source servers mentioned in FAQ
|
||||
Reference in New Issue
Block a user