Commit Graph

536 Commits (365e23852f858f6f342627fd1e1fadf7bed0ebb1)

Author SHA1 Message Date
Jonathan D'Orleans 365e23852f Issues 356 - Moving enclosure logic from main to init 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 184e400e9e Issues 356 - Moving Visime logic to Mimic TTS 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 9e632a3c8a Issues 356 - Stopping processes during audio playback 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 4c1ba4e337 Issues 356 - Rebasing with master 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 14c6eae264 Issues 356 - Integrating Listener with STT modules 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 741350afa4 Issues 356 - Adding data stream support along with json 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans bd1175c1cb Issues 356 - Initializing language value for STT 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans c87397c8b9 Issues 356 - Adding WA and OWM remote api 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 8d2d77d661 Issues 356 - Fixing STT query language parameter 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans e76c1b7d21 Issues 356 - Refactoring TTS 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 885fe0a1cf Issues 356 - Renaming enclosure to main and stopping threads 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 72e2eaf646 Issues 356 - Removing non existent location from docs 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans c71c054258 Issues 351 - Creating STT module and classes 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 89e9c2ff77 Issues 351 - Moving TTS Factory to tts __init__.py 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans b1a4a9c22b Issues 351 - Making Identity static and unique 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 5fd8342868 Issues 356 - Removing unnecessary identity from pairing skill 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 15d43d951c Issues 356 - Fixing device activation endpoint 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 6749852320 Issues 351 - Setting mycroft as default STT engine 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans ccceb62b7a Issues 351 - Renaming metadata to data and simplifying data usage 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 348cc3fac0 Issues 351 - Renaming message_type to type 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans fe5b96e051 Issues 351 - Updating STT configuration 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans 935e2699ba Issues 351 - Merging metrics with server configuration 2016-12-17 10:14:42 -05:00
Jonathan D'Orleans db9c12c122 Issues 351 - Merging service and client web socket configuration 2016-12-17 10:14:42 -05:00
Jonathan D'Orleans 74abe9267d Issues 351 - Activating device 2016-12-17 10:14:42 -05:00
Jonathan D'Orleans 14050d70e8 Issues 354 - Implementing activation process 2016-12-17 10:14:42 -05:00
Jonathan D'Orleans 9e982aa114 Issues 351 - Fixing Listener variables types 2016-12-17 10:12:10 -05:00
Jonathan D'Orleans 8af0acff76 Issues 351 - Renaming auto_update to update 2016-12-17 10:12:10 -05:00
Jonathan D'Orleans 3304474a22 Issues 354 - Pairing device with remote server
- Getting pairing code from server
- Treating Api response after request
- Simplifying enclosure mouth events control, upgrade and test process
2016-12-17 10:12:10 -05:00
Jonathan D'Orleans 3280d57b18 Issues 351 - Tartarus Integration
- Creating API to communicate with remote server
- Updating Identity data
- Adapting RemoteConfiguration load to new server
2016-12-17 10:11:15 -05:00
Jonathan D'Orleans 0ecb369397 Issues 351 - Splitting date and time format 2016-12-17 10:11:15 -05:00
Arron Atchison 5bc14a8fd2 Revert "Update LICENSE.md" (#402) 2016-12-16 11:07:32 -06:00
Joshua Montgomery 63a7ee8d2f Merge pull request #400 from MycroftAI/joshua-montgomery-patch-1
Update LICENSE.md
2016-12-15 15:12:16 -08:00
Joshua Montgomery 1eec6bb565 Update LICENSE.md
Proper license for this repo at this time.  Was orignially GPL which is too restrictive.
2016-12-15 15:11:42 -08:00
Ante Kegalj 23f8f874e4 Fix arch build. (#390)
python2-virtualenvwrapper -> python-virtualenvwrapper
It is in Community repo:
https://www.archlinux.org/packages/?q=python-virtualenvwrapper
2016-12-05 18:17:05 -06:00
Steve Penrod 99418d746d Added link to Project Wiki 2016-11-30 01:53:39 -06:00
Steve Penrod 92d8501375 Merge pull request #388 from MycroftAI/bugfix/issues-343
Bugfix/issues 343 - autodetect platform ("mycroft-mark-1" or "unknown" currently) and shuts down enclosure-client when running on a generic Raspberry Pi.
2016-11-08 02:14:14 -06:00
Steve Penrod e47ac6b895 Renamed the EnclosureAPI "system_reset()" method which generated an
"enclosure.system.reset" on the messagebus (which was intended to
only reset the enclosure's visual elements) to simply "reset()" and
"enclosure.reset" to avoid confusion with the "system.reset" serial
port message (which resets the Arduino).
2016-11-08 01:44:20 -06:00
Steve Penrod 28a09fd586 Fix an issue with auto-detect on a Mycroft Mark 1. At boot time
there is a lot of electrical noise creating junk on the serial
port lines.
2016-11-04 17:09:51 -05:00
Steve Penrod 5e27364ca1 Added auto-detect to the enclosure.py. It will check for a
'platform' variable in 'enclosure' section, and if not found
the auto-detect will kick off.  The mechanism used is issuing
a serial 'system.ping' and listening for the Mycroft Mark 1
Arduino to respond.  This is a one-time event, since the
results get saved.

If the system is not a Mycroft Mark 1, it shuts itself down
so the enclosure message bus messages are simply ignored
on a generic Pi.
2016-11-04 13:48:18 -05:00
Steve Penrod f08bbe5902 Refined the reset mechanism on boot. Now there is a single Enclosure API
system_reset() that means the Enclosure appearance should be reset to
its defaults.  The implementation of this is now a reset of both the
mouth and the eyes.  This command gets sent to the Enclosure once the
speech client has fully opened its connection to the messagebus.
2016-11-03 16:18:08 -05:00
Steve Penrod b8c197f574 Added code to auto-detect the 'platform' the enclosure is running
under.  For now, only the 'mycroft-mark-1' is auto-detected by
attempting to send out a 'ping' over the serial line.  The
auto-detect results are saved as a 'platform' in the
configuration file.

Since the current enclosure is designed to only work with Mark 1,
we shutdown the client in all other platform cases.
2016-11-02 17:00:45 -05:00
Steve Penrod e251a1c625 Switched to using the EnclosureAPI instead of writting directly to the
serial port.  This is a stopgap, as potentially this message is sent
before the enclosure is fully active and listening.
2016-11-02 16:14:03 -05:00
Arron Atchison 40627ead23 Fixing NPR News Skill by regexing https to http (#386)
* Fixing NPR News Skill by regexing https to http

* reduced line length to pass pep8.
2016-10-24 10:05:54 -05:00
Steve f0386264a3 Wifi setup usability (#370)
* 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
2016-10-13 14:49:06 -05:00
Arron Atchison 196f6a077e remove config setting 2016-10-05 12:03:22 -05:00
Steve cac955fa64 Feature button behavior (#365)
* Several changes related to button pressing on the Mycroft unit:
- Pressing the button when it isn't listening starts it listening
- Pressing the button when listening will stop the listen
- Added a mycroft.util.signal() mechanism for out-of-thread communication
- Pressing the button now creates an "buttonPress" signal from the Enclosure
- The viseme playback and aplay check for the 'buttonPress' signal to abort
- Removed "Sorry I didn't catch that", irritating during false activations

* Fixed spacing that pep8 yelled about
2016-09-22 13:16:11 -05:00
Arron Atchison 1be93c2963 Set WiFi setup to false
... so it doesn't happen every time it is installed.
2016-09-22 10:22:47 -05:00
Åke 218c53c127 Add support for duration_stretch config parameter (#334) 2016-09-22 09:18:27 -05:00
ParkerMc 317a01f75e Added executable bit to arch setup (#359)
* Added executable bit to arch setup

* Update to use Python 2

* Changed pip to pip2

needed when python 3 is default
2016-09-22 09:12:18 -05:00
Arron Atchison c52f92f949 Feature/issues 356 (#362)
* working on a client for wi-fi setup

* added refactored code, ready to integrate

* client is running, now to handle the rest

* Staring touble in the face

* saved

* added config settings for wifi setup

* add an entry point for wifisetup to mycroft-base-setup.py

* moved SSID sorting into LinkUtils

* I'm now using the new SanAp class throughout

* Cleaning up code. All bash executions use bashThreadHandling class, mycroft's LOGGER

* removed legacy configuration parser

* funneling effort into cleanup

* fixed pep8, see if she builds

*  changed entry point for init script

*  changed import path to full path

* changed import path to full path for all files

* change ws port to 8080 for now

*  pep8 in wifi.py fixed

* fixed a few more pep8 errors

* strange import stuff goign on

* strange import stuff goign on

* renamed wifi.py to prevent import conflict

* freeze pip requirement versions

* changed import path in LinkUtils

* changed import path again

* trying to fix wifi import.. something is wrong

* consumer and producer queues now working

* Consumer & producer API's are coming alogn

* Refactor: developing an API

* add ap up/down procedure to api

*  looking googd

*  removed some older code, api is nearly written

* success

* Sending conection status to browser is now working

* Fixed pep8 errors again

* removed blank line from file

* fixed entrypoint name

* added shutdown and save upon connect; reducing verbosity

* now disabling and flushing network on connection fail

*  fix start.sh

* Corrected amount of arguments passed to wpa_cli_disable_network

* added iface to disable network

* added shutdown on success; restart wpa_supplicant upon ap up

* turning powersave mode off for wlan0

* removed wpa_cli flush

*  fix some file restore and exit issues

* re enabled flush networks on fail

* powersave mode was logged but not executed

* stop and start dhcpcd withh ap up

* changed hostapd channel; bring links up and down after successful pair

*  removed double quotes from the wpa_supplicant template

* Multiple files combined into util.py

* clean up some comments, added license headers

* what is up

* Ap mode event fires on enclosure event

* added logic for open network

* Changed empty passphrase from bool to empty string

* enclosure version bump

* changed ap down method in WiFiConsumer

* I'm now pulling all configuration from mycroft.ini and grabbing the mac address for ap ssid

* REFACTOR: removed util.py, as it was a bit messy

* REFACTOR: remove pep8 errors again, you would think that I would do this each time

* chagned some logic for open net

* open networks now function properly

* Reboot on success

* changed network save method

* Issues 356 - Setup wifi connection
- Removing tornado dependency
- Merging WS reader with Wifi process

* Issues 356 - Refactoring
- Using PyRIC and WIFI libs

* Issues 356 - Refactoring bash command

* Issues 356 - Refactoring FileUtils

* Issues 356 - WebClient refactoring

* Issues 356 - create password and loading pages

* Issues 356 - connecting

* Issues 356 - parsing data on ws

* Issues 356 - removing fake function on wifisetup

* Issues 356 - connecting on public network

* Issues 356 - show loading page on backbutton

* Issues 356 - sort networks by quality

* Issues 356 - Fixing message type variable

* Issues 356 - Adding more logs to wifi setup

* Issues 356 - network sort by quality

* Issues 356 - Fixing cell ssid param and using correct interface for scheme

* Issues 356 - Ensuring to save scheme before activating

* Issues 356 - Logging bash command

* Issues 356 - Refactoring wifi to P2P

* Issues 356 - Simplifying cli usage and getting results from wpa_cli

* Issues 356 - Parsing ssid and pass

* Issues 356 - Saving wpa configuration

* Issues 356 - Removing postfix in favor of wpa_supplicant config

* Issues 356 - Setting host to 0.0.0.0

* Issues 356 - Fixing parsing for wpa_cli output

* Issues 356 - Ensuring to save wpa config after connected

* Issues 356 - Setting interface for save config

* Issues 356 - Ensuring interfaces in all wpa cli

* Issues 356 - Creating, staring and stopping wifi web server

* Issues 356 - Adding logs to web server

* Issues 356 - create succes page and merge connect page on list page

* Issues 356 - Config.js server addr

* Issues 356 - Adding wifi status and connected control

* Issues 356 - lock margin top wifisetup

* Issues 356 - waiting connection

* Issues 356 - Moving dnsmasq backup logic to main.py

* Issues 356 - Cleaning imports

* Changed the base manifest to reflect new file locations

* fixed indent for pep8

* changed the mycroft-base-setup.py to reference the proper entry point for wifisetup

*  Enclosure version bump

* Added the wifi index.html to the base manifest, as it doesn't seem to catch it recursively

* Issues 356 - Updating first setup flag after running the first time

* Issues 356 - Ensure to stop server only if it exists

* Issues 356 - Ensuring to set first setup to false when connected

* Issues 356 - Closing web server after shutdown

* Issues 356 - Running web server as daemon

* Issues 356 - Creating server connection only once at initialization

* Issues 356 - Disconnecting network before connecting and fixing get status

* Issues 356 - Starting web server only once after AP is up

* Issues 356 - Returning empty status if not able to parse

* Issues 356 - Creating web server loop control

* Issues 356 - Performing final request call in order to unblock server

* Issues 356 - Adding GET method to server request

* Issues 356 - Requesting web server to stop on main thread
2016-09-19 12:28:58 -05:00