Skip to content
The Graphical User Interface used by the Mycroft Mark II and more
Branch: master
Clone or download
Latest commit fdae5f3 Mar 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
+android Relicense to APL Nov 19, 2018
android better splashscreen Oct 23, 2018
applets
autotests
containments icons always visible Mar 17, 2019
data
documentation
import Merge pull request #22 from AIIX/feature/audiocomp Mar 16, 2019
lookandfeel
skills
tests completely rework animations Oct 18, 2018
ui_prototypes Relicense to APL Nov 19, 2018
.gitignore Add changes for Mark II image Jan 23, 2019
CMakeLists.txt move from webview to webengineview Mar 4, 2019
HintsModel.qml
HintsPage.qml
Idler.qml
LICENSE
MycroftMark2.colors add a colorscheme for the mark2 device Jan 24, 2019
README.md
SettingsPage.qml Prettify the Settings page Dec 11, 2018
config-mycroft.h.in Remove hardcoded path Sep 11, 2018
dev_setup.sh
main.cpp move from webview to webengineview Mar 4, 2019
main.qml AutoFitLabel and ProportionalDelegate Jan 11, 2019
net.bs.mycroft.gui.desktop Add desktop file Sep 6, 2018
net.bs.mycroft.gui.device.desktop
net.bs.mycroft.gui.device2.desktop
net.bs.mycroft.gui.device3.desktop Fix scaling Sep 14, 2018
qml.qrc when a query fails, display a duckduckgo search page results Oct 23, 2018
qtquickcontrols2.conf
run.sh Improved setup and utility scripts Dec 20, 2018
skills-extra.qrc add wikidata qml entry to skills-extra Nov 6, 2018
skills.qrc
speechintent.cpp
speechintent.h relicense to APL Nov 19, 2018
start_gui_and_mycroft.sh
sync_skills.sh
transportProtocol.md ommit message for your changes. Lines starting Mar 8, 2019

README.md

Mycroft GUI

- NOTE:  This is pre-Alpha and likely to break at any time!

The KDE-based visual interface for working with Mycroft. For more on the Mycroft Skill side, see the initial Mycroft Core GUI PR.

Getting Started

Foolproof Setup Instructions(tm)

  1. Download and Install VirtualBox
  2. Download an ISO from KDE Neon Developer Edition, Git Unstable. Any build >= 2057.
  3. Open VirtualBox and create a Neon installation TODO: More detailed installations?
  4. Within the VM, open a terminal session and type:
    • cd ~
    • sudo apt-get install git -y
    • git clone https://github.com/mycroftai/mycroft-gui
    • cd mycroft-gui
    • bash dev_setup.sh
  5. (Optional) Customize Plasma settings for GUI debugging purposes
    • Disable screensaver
      • Click the > icon, type: Screen Locking
      • Untick "Lock screen automatically after:"
      • Click OK
  6. Run and configure
    • mycroft-gui-app
    • Click on the hamburger menu in the lower left
    • Select 'Settings'
    • Enter the IP address of your device. If your device is at 192.168.2.2, enter 'ws://192.168.2.2'
    • Close

Normal use

  1. Invoke using mycroft-gui-app
  2. Click Start button in the middle of the window Note: Boot your device or run ./start-mycroft.sh all && ./start-mycroft.sh enclosure prior to doing this.
  3. Talk to your Mycroft!

After any code changes (if you are developing) or git pull, simply rerun bash dev_setup.sh to rebuild.

QML synchronization

At this point, the paths to skill QML on the Mycroft must precisely match the path on the mycroft-gui-app host machine. The simplest way to achieve this is to run rsync. This simple script can perform this synchronization, hanldling synchronization with different devices (e.g. for a developer who does work both at home and at an office).

sync.sh

function is_online() {
    ping -q -w 1 -c 1 "$1" > /dev/null
    if [ $? -eq 0 ]; then
        rsync -av pi@$1:/opt/mycroft/skills/ /opt/mycroft/skills/
        echo "Synched!"
        return 0
    else
        return 1
    fi
}

# Attempt sync with office Mark 1
is_online 10.10.41.86
if [ $? -ne 0 ]; then
    # Attempt sync with house Mark 1
    is_online 192.168.2.165
fi

Gotchas

  • For a Mark 1, but sure to disable the firewall on the Raspberry Pi. You can do this via sudo ufw disable
  • Generally, the GUI interaction is managed by an enclosure-specific skill that orchestrates things. For example, the Mark 2 uses skill-mark-2.
  • Lightweight debugging can be done from Mycroft's CLI. You can see commands being sent to GUI clients by hitting Ctrl+G within the CLI
  • Multiple GUIs can safely run against a single Mycroft Core instance.

Debugging Tips

  • Debug output can be seen by running the mycroft-enclosure directly from inside an SSH session. On a Mark 1:
    • SSH to the Mark 1
    • sudo service mycroft-enclosure-client stop
    • sudo su mycroft
    • mycroft-enclosure-client This will start the client and show Debug() messages on the console.

Skill Testing

cd /opt/mycroft/skills
git clone -b newapi https://github.com/AIIX/skill-wikidata
cd #
cd mycroft-core
source .venv/bin/activate
cd /opt/mycroft/skills/skill-wikidata
pip install -r requirements.txt
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.