Skip to content

The DiscordThing, TrelloThing, The WeatherThing, The MacroThing, Just not The CarThing anymore

License

Notifications You must be signed in to change notification settings

ItsRiprod/DeskThing

Repository files navigation

App Creation details

Logo design and artwork by @Dilango

The DeskThing ✔️

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.

⚠️DO NOT PULL MAIN BRANCH ⚠️

Instead, go to Releases and download the installer for your OS and all the apps


All instructions are up-to-date as late of v0.5.4-alpha. Later versions may differ in functionality and setup

✨ Features

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:

  • Spotify Integration 🎧

    • Show currently listening (Album, Artist, Song name, album art)
    • Control Spotify (Skip, pause, play, rewind, shuffle, repeat)
    • Supports Podcasts too!
    • Set Audio Output Source
    • Spotify app installation instructions here
  • Desktop Now Playing (Only Windows) 🎧

    • 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
  • Discord Integration 💬 to be migrated

    • 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
  • Weather Integration 🌧️

  • Audible Integration📗 to be migrated

    • 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
  • Launchpad Integration 🎵 to be migrated

    • 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
  • Trello Integration 📃 to be migrated

    • 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

Planned Apps

  • Macropad / Streamdeck
  • GUI Companion
  • Dashboard/Settings for config changes
  • General audio control
  • Advanced Spotify Stats
  • Home Assistant
  • Pomodoro Timer
  • Google Calendar
  • And more!

This is under constant development, so features will come as soon as I can make them. Suggestions welcome!


▶️ Setting Up

Prerequisites

  1. ADB Setup:

    • Install ADB on your computer (Android Development).
  2. Superbird Webapp flash:

Detailed Setup Instructions

  1. Flash Your CarThing:

If you need help, refer to the detailed instructions at the end of this page

  1. Get the built webapp under installation files: should be under releases

    • Unzip the file 'deskthing-client-build-v0...zip' onto your computer
    • open a command prompt in that directory for step 3

Note: You can usually do this by right clicking and clicking "Open Terminal"

  1. Pushing the project to the car thing:

    • 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 yourclientfilename/ /usr/share/qt-superbird-app/webapp # Ensure dist/ is in the directory you are running this from

    Ensure yourclientfilename/ is the file location as defined in the prior step (the client)

    • Restart chromium:
      adb shell supervisorctl restart chromium
  2. Setting up the server:

    • Download the correct installer under the files for your operating system
    • Download any .zip apps that you want that match the version of the installer
    • Run the installer
    • Drag-n-drop the apps you want one at a time (keeping in mind some have dependencies on other apps)
    • Ensure that the top left wifi icon is green (connected to car thing)
    • Ensure you get the

Any Issues? Contact me through the CarThingHax discord server or via DMs to @riprod


📸Flashing

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 release the buttons
  • Run python superbird_tool.py --burn_mode to enter burn mode

Note: This step may say it fails to enter burn mode. This is okay, continue on as if it worked. There is information in the discord as to why this is.

  • Download 8.2.5_adb_enabled.tar.xz or 8.4.4_adb_enabled.tar.xz files from image dumps (linked above) and in that same folder (unzip them)
  • (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 a while)
  • 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.
  • Ensure that adb devices works and registers 12345 device as one of the options
  • Continue setup from here

📗 Additional Resources


Questions? DM me on discord @riprod

⚠️ The possibility of this bricking your device is very real ⚠️