declension / squeeze-alexa

Squeezebox integration for Amazon Alexa
GNU General Public License v3.0
59 stars 20 forks source link

Getting started on Mac OS #74

Closed dougadams closed 6 years ago

dougadams commented 6 years ago

Nick, I'm trying to get setup to test and use squeeze-alexa. New to AWS, Python, Unix. Sorry if this isn't the right forum for this, and happy to take it offline if you'd prefer.

I have LMS setup and working on a Raspberry PI. The squeezebox server is running on a Max2Play platform.

I've setup the AWS accounts, Alexa custom skill with v1 structure, Lambda, and Cloud 9.

Where I'm stuck with the How To is figuring out what from the release (the python files) need to get loaded up to Lambda. And how. Or at least I'm assuming all that code needs to be in Lambda. Unless some of it should reside on the LMS server.

Anyway, not clear where to go based on the How To. Sorry if this is too much of a newbie question, but let me know if there's something I can look at to get me over the initial hump and if there's a better way to communicate on this.

declension commented 6 years ago

Hi. Probably the chatroom is better for individual set up problems, but now that we're here..

Where I'm stuck with the How To is figuring out what from the release (the python files) need to get loaded up to Lambda. And how. Or at least I'm assuming all that code needs to be in Lambda. Unless some of it should reside on the LMS server.

The section you want is Upload the customised skill

Essentially you can either create a zip (using the create_zip.sh script, assuming you have BASH-like environment (any Linux, any Mac, any Windows with Git Bash)) and either upload it manually by point and click in the AWS Lambda GUI, or if you are going to do this a lot then set up the AWS CLI tools, login, and use that command mentioned: aws lambda update-code....

Nothing should reside on the LMS server (machine), other than the SSL tunnel or MQTT bridge perhaps (which can both live anywhere on the same network)

Does that clear it up?

declension commented 6 years ago

@dougadams any luck?

dougadams commented 6 years ago

Thanks for the response.

I did try the zip script. I'm working on a mac. When I tried it failed. First error was it didn't like readlink. I downloaded coreutils and changed to greadlink. Then I ran into issue it didn't recognize pipenv-to-requirements.

I'm pretty new to both linux and python, so trying to work my way through getting the zip script to work. And not sure I have my environment setup that well.

And then I haven't really had time to work on it since my first attempt.

If you have suggestions for getting it to work in a Mac environment, let me know. And then I'm happy to keep plugging away too.

I couldn't find a chatroom within Github. Do you have a chat environment you'd prefer to use so you can close out this issue? Slack?

dougadams commented 6 years ago

I tried again and it worked. Downloaded git-bash to my mac. Reinstalled and launched Python 3.6. The script created lambda_funtion.zip. On to next step - when I get a chance. Thanks

dougadams commented 6 years ago

I did have to change the readlink to greadlink in the script. And I had previously installed coreutils. Other than that it worked.

declension commented 6 years ago

@dougadams thanks, glad it's working. I'll try to update a few things to make them more Mac friendly.

NadirJ commented 6 years ago

I also had to change this line in create_zip.sh cp -r "$root/$inc" .

to

cp -r "$root/$inc" ./"$inc"

for mac

declension commented 6 years ago

Since #82 this should be much better, hopefully (it's Python-based now, other than some developer tooling).

Re-open if this continues to be an issue