Let's begin, shall we?
This is the DeskThing project. Using Spotify's existing Car Thing, the DeskThing makes the perfect desk assistant. Integrating Trello API, Spotify API, AccuWeather API, and Macro capabilities, the DeskThing shoots to be the thing for controlling your desk environment.
Instead, go to Releases and download the .zip file for v0.5.*-alpha (which this readme follows) and use that
The DeskThing is a simple CarThing Chromium-based website that can communicate with a server run on the host via ADB (on port 8891) functioning as a socket. The CarThing can:
-
- Show currently listening (Album, Artist, Song name, album art)
- Control Spotify (Skip, pause, play, rewind, shuffle, repeat)
- Supports Podcasts too!
- Spotify app installation instructions here
-
- Show currently listening (Album, Artist, Song name, album art)
- Control the current media (Skip, pause, play, rewind, shuffle, repeat)
- no setup instructions yet. Drag-n-drop the .zip from /releases/apps/ into the GUI
-
- Show current call status (Participants, who's talking, their mute status)
-
Control Discord (Mute/Unmute Deafen//Undeafen Disconnect) -
Control Individual User Volume -
See message preview - Discord app installation instructions here
-
- Show local weather
- Temperature
- AQI, UV Index, Wind Speed + Direction, Visibility
- 12 Hour forecast
- Weather app installation instructions here
-
-
Currently Listening To -
Audio Controls (Skip, Rewind, Fast Forward) -
Audio Status (%through) - Audiobook library
- Audiobook stats (Progress, Length of book, time left, ASIN)
- Audible app installation instructions here
-
-
- Control different views on your launchpad!
- Show your system resource usage on your novation launchpad
- Add timers from your launchpad
-
Show weather from launchpad -
Show time on launchpad -
Trigger macros from launchpad - Launchpad app installation instructions here
-
- See all organizations
- See all boards
- See all lists
- See all cards
- See all tags
- Set different lists as your favorites
- Trello app installation instructions here
- Macropad / Streamdeck
- GUI Companion
- Dashboard/Settings for config changes
- General audio control
- Advanced Spotify Stats
- Home Assistant
- And more!
This is under constant development, so features will come as soon as I can make them. Suggestions welcome!
-
ADB Setup:
- Install ADB on your computer (Android Development).
-
Superbird Webapp flash:
- Flash your CarThing with the adb_enabled dump here using the superbird-tool.
- detailed instructions
- Flash Your CarThing:
- Follow the instructions in the superbird-tool repository to flash your CarThing device with the necessary image.
If you need help, refer to the detailed instructions at the end of this page
- Configure Apps You Want To Include:
You do not need the .env file on versions at or later than v0.5.0 due to the apps requesting the keys. Still reference the tutorials for obtaining the needed information when loading an app
- Spotify app installation instructions here
- Trello app installation instructions here
- Weather app installation instructions here
- Launchpad app installation instructions here
- Discord app installation instructions here
- Audible app installation instructions here
- Configure Workspace:
- Use
cd ./DeskThing
to get into the project directory and run:
npm install
Add.env
file to/DeskThing/server/
(optionally, just rename.env-template
to.env
..env-template
is already located where it needs to be)EnsureNot required on versions later than v0.5.0PORT=8888
in the.env
file
- Use
If anything here does not work. DM me on discord @riprod
- Pushing the project to the car thing:
- Build project:
npm run build
- Open port 8891:
adb reverse tcp:8891 tcp:8891
adb should be an environment variable from step 1
- Remount the build to the carthing:
adb shell mount -o remount,rw / adb shell mv /usr/share/qt-superbird-app/webapp /tmp/webapp-orig adb shell mv /tmp/webapp-orig /usr/share/qt-superbird-app/ # it's ok if this fails adb shell rm -r /tmp/webapp-orig adb push dist/ /usr/share/qt-superbird-app/webapp
- Restart chromium:
adb shell supervisorctl restart chromium
- Build project:
Links:
Process:
- Go to superbird-tool and install it based off your operating system. Come back once you can run
python superbird_tool.py --find_device
and see your Car Thing - Unplug the Car Thing
- Hold buttons 1 and 4 (the four large top buttons are mapped from left to right) and plug it in.
- Wait a few seconds. If the screen does not turn on, that means you are in boot mode. You can realease the buttons
- Run
python superbird_tool.py --burn_mode
to enter burn mode - Download 8.2.5 adb enables from image dumps (linked above) and in that same folder, also download Readme.txt
- Follow the Readme.txt to change the appropriate file names
- (Windows only) Download zadig and install the WinUSB driver for GX-CHIP (select it and click "Install Driver")
Alternatively use libusbK if it does not work
- Run
superbird_tool.py --restore_device /path/to/extracted/firmware/folder
(This may take awhile) - After the firmware is flashed, the Car Thing should be ready with ADB enabled. To check, run
adb shell ls -l /usr/share/qt-superbird-app/
and you should see webapp as one of the folders. - Continue setup from here
- 🔧 superbird-tool - This is the CarThing image that is being used. Be sure to either include this link or steps on how to flash the CarThing.
- 🐤 superbird-custom-webapp - The React web app framework that this project started with.
- 🗨️ Car Thing Hax Community Discord - The discord where there is this project and so much more!
- If you are running from a .bat file, this is what it should look like:
@echo off
cd /d "C:\*Path to car thing files*\carthing\DeskThing\"
adb reverse tcp:8891 tcp:8891
adb shell mount -o remount,rw /
adb shell mv /usr/share/qt-superbird-app/webapp /tmp/webapp-orig
adb shell mv /tmp/webapp-orig /usr/share/qt-superbird-app/ # it's ok if this fails
adb shell rm -r /tmp/webapp-orig
adb push dist/ /usr/share/qt-superbird-app/webapp
adb shell supervisorctl restart chromium
Questions? DM me on discord @riprod