Skip to content
This repository has been archived by the owner on Sep 8, 2024. It is now read-only.

Commit

Permalink
Wifi setup usability (#370)
Browse files Browse the repository at this point in the history
* Enhancing the Wifi setup process:
* When no intenet is detected, Mycroft now instructs user
  to connect cable or tells how to start wifi setup
* Wifi setup talks user through connection process
* Setup will auto-shutdown after 5 minutes
* Completion screen now goes to cerberus.mycroft.ai to
  allow registration immediately
  (TODO: custom url/landing page to that will already have the pairing code)

* Changing the wording of the prompt message and slowing down the
rate at which the password is spoken.

* fixed pep8 error

* fixed mroe pep8 in listener.py

*     -webkit-user-select: text;

* * Fixed iOS issues with password input
* Added SSID wrapping for unusually long network names
* Fixed need for left/right scrolling on small phone screens (e.g. iPhone 4/5)
* iOS devices now automatically open the screen after connecting to the MYCROFT network
* Tweaked Wifi setup instruction wording to make it easier to understand
* Fixed a potential bug with the flag used to stop the connection monitor

* Removed some temporary debugging code being used to track a very
specific issue with odd network names.

* Various small changes for the code review.  Mainly deleting some dead
code and comment changes.

* Made the "not connected" message more Mimic-friendly by using the word
'browse' instead of 'login'.

* Increased the size of the password characters.  They felt tiny at 13px on
previously on an iPad.

* - Added an auto-check for unit connection during the first 20 seconds when
  a unit is turned on.  If no connection to the internet is found, the user
  is told how to get connected.
- Added calls to 'ping' to help rebuild the ARP table we previously cleared
  in the test for lost connection
- Tweaked some terminology spoken to be more Mimic-friendly and understandable.
- Added automatic announcements every 45 seconds of the next step in the
  process.
- Added automatic shutdown after 5 minutes
- Added announcement when the process is complete
- Added documentation and comments throughout
- Made things more "pythonic".  Switched functions from camelCase to
  python_style_names.  Also used some underscore prefixes for private methods
  that are really just implementation helpers.

* - The initial check for internet connectivity now happens 5 seconds after the system comes up instead of 20.
- Also added a space to tweak the pronunciation of an announcement

* Changes to the wifi setup portal
- Added a Cancel Setup button (shuts down the process)
- The Register Me button only appears once the browser can
  reach cerberus.mycroft.ai.  This prevents following the
  link while phone is still connected to the temporary
  access point or not connected back to the real network.

* Update version.txt
  • Loading branch information
Steve authored and aatchison committed Oct 13, 2016
1 parent 196f6a0 commit f038626
Show file tree
Hide file tree
Showing 7 changed files with 421 additions and 61 deletions.
2 changes: 1 addition & 1 deletion mycroft/client/enclosure/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.13
0.1.14
8 changes: 6 additions & 2 deletions mycroft/client/speech/listener.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def runnable():
logger.error("AccessDenied from Cerberus proxy.")
self.__speak(
"Your device is not registered yet. To start pairing, "
"login at cerberus dot mycroft dot A.I")
"browse to cerberus dot mycroft dot A.I")
utterances.append("pair my device")
except Exception as e:
logger.error("Unexpected exception: {0}".format(e))
Expand Down Expand Up @@ -191,7 +191,11 @@ def transcribe(self, audio_segments):
else:
raise sr.UnknownValueError
else: # TODO: Localization
self.__speak("This device is not connected to the Internet")
# TODO: Enclosure virtualization (might not have a button)
self.__speak("This device is not connected to the Internet."
"Either plug in a network cable or hold the button"
" on top for two seconds, then select wifi from the "
"menu")


class RecognizerLoopState(object):
Expand Down
Loading

0 comments on commit f038626

Please sign in to comment.