Iamdreaver / MichKegbot

4 stars 1 forks source link

Kegbot server and Android app #4

Open jacobdavidson opened 11 years ago

jacobdavidson commented 11 years ago

I installed the kegbot server on my laptop. We can use it to test the deployment until we get a dedicated machine, which should either run Ubuntu or Debian Linux since that will make setup and maintenance the easiest.

Here's some notes from installing the server on my computer if you want to follow the same procedure (I'm using Ubuntu 12.04):

followed this to install apache, php, mysql: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

apache defaults to installation at http://127.0.0.1/, or http://localhost

to get phpmyadmin to work, you need to do a few extra things: https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

follow this to install the kegbot server: http://kegbot.org/docs/server/install-database/

I didn't do any test databases or look at the code, but somewhere in this server part we'll want to make updates to allow for users to have account balances (is that all we want to add/change??).

Nick, you've probably set up stuff like this a lot before - do you want to figure out what functionality we need to add and make updates to the kegbot server code?

nickruff commented 11 years ago

User account balances are already a feature; we won't need to add it. I'll take a look at the database structure with you on your computer when I see you today cuz I've been looking but can't find it online. But from the About page:

"User Account System

Kegbot has an integrated account system, allow your drinkers to take credit for their pours. Based on this information, you can, for example, determine who owes you the most money for the keg."

On Sun, Feb 10, 2013 at 11:12 AM, jd4cubs notifications@github.com wrote:

I installed the kegbot server on my laptop. We can use it to test the deployment until we get a dedicated machine, which should either run Ubuntu or Debian Linux since that will make setup and maintenance the easiest.

Here's some notes from installing the server on my computer if you want to follow the same procedure (I'm using Ubuntu 12.04):

followed this to install apache, php, mysql:

http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

apache defaults to installation at http://127.0.0.1/, or http://localhost

to get phpmyadmin to work, you need to do a few extra things:

https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

follow this to install the kegbot server: http://kegbot.org/docs/server/install-database/

I didn't do any test databases or look at the code, but somewhere in this server part we'll want to make updates to allow for users to have account balances (is that all we want to add/change??).

Nick, you've probably set up stuff like this a lot before - do you want to figure out what functionality we need to add and make updates to the kegbot server code?

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4..

Nick Ruff CSE @ U of M

macklinu commented 11 years ago

If we have problems sideloading our Kegbot app onto the Coby tablet, people have rooted it, added the Google Play store, etc. to it before. Here's the thread.

pauldast commented 11 years ago

I vote Debian. For all practical purposes it is nearly ideltical to Ubuntu for this application but in my experience it is easier to keep Debian light and quick. On Feb 10, 2013 11:12 AM, "jd4cubs" notifications@github.com wrote:

I installed the kegbot server on my laptop. We can use it to test the deployment until we get a dedicated machine, which should either run Ubuntu or Debian Linux since that will make setup and maintenance the easiest.

Here's some notes from installing the server on my computer if you want to follow the same procedure (I'm using Ubuntu 12.04):

followed this to install apache, php, mysql:

http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

apache defaults to installation at http://127.0.0.1/, or http://localhost

to get phpmyadmin to work, you need to do a few extra things:

https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

follow this to install the kegbot server: http://kegbot.org/docs/server/install-database/

I didn't do any test databases or look at the code, but somewhere in this server part we'll want to make updates to allow for users to have account balances (is that all we want to add/change??).

Nick, you've probably set up stuff like this a lot before - do you want to figure out what functionality we need to add and make updates to the kegbot server code?

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4..

jacobdavidson commented 11 years ago

Sent from the future On Feb 10, 2013 3:00 PM, "pauldast" notifications@github.com wrote:

I vote Debian. For all practical purposes it is nearly ideltical to Ubuntu for this application but in my experience it is easier to keep Debian light and quick. On Feb 10, 2013 11:12 AM, "jd4cubs" notifications@github.com wrote:

I installed the kegbot server on my laptop. We can use it to test the deployment until we get a dedicated machine, which should either run Ubuntu or Debian Linux since that will make setup and maintenance the easiest.

Here's some notes from installing the server on my computer if you want to follow the same procedure (I'm using Ubuntu 12.04):

followed this to install apache, php, mysql:

http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

apache defaults to installation at http://127.0.0.1/, or http://localhost

to get phpmyadmin to work, you need to do a few extra things:

https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

follow this to install the kegbot server: http://kegbot.org/docs/server/install-database/

I didn't do any test databases or look at the code, but somewhere in this server part we'll want to make updates to allow for users to have account balances (is that all we want to add/change??).

Nick, you've probably set up stuff like this a lot before - do you want to figure out what functionality we need to add and make updates to the kegbot server code?

— Reply to this email directly or view it on GitHub< https://github.com/Iamdreaver/MichKegbot/issues/4>..

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-13359836..

jacobdavidson commented 11 years ago

Oops I dropped my phone and it sent nothing haha

Cool, yea let's check out the database structure and try to make a test user sometime this week. It's sounding like we can probably use the app and server as is, and go forward to put everything together without RFID working. Users can still login on screen with the tablet. Then when we figure RFID out later we,ll enable it

Sent from the future On Feb 10, 2013 11:38 PM, "Jacob Davidson" jddavid@umich.edu wrote:

Sent from the future On Feb 10, 2013 3:00 PM, "pauldast" notifications@github.com wrote:

I vote Debian. For all practical purposes it is nearly ideltical to Ubuntu for this application but in my experience it is easier to keep Debian light and quick. On Feb 10, 2013 11:12 AM, "jd4cubs" notifications@github.com wrote:

I installed the kegbot server on my laptop. We can use it to test the deployment until we get a dedicated machine, which should either run Ubuntu or Debian Linux since that will make setup and maintenance the easiest.

Here's some notes from installing the server on my computer if you want to follow the same procedure (I'm using Ubuntu 12.04):

followed this to install apache, php, mysql:

http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-12.04-lts-lamp

apache defaults to installation at http://127.0.0.1/, or http://localhost

to get phpmyadmin to work, you need to do a few extra things:

https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

follow this to install the kegbot server: http://kegbot.org/docs/server/install-database/

I didn't do any test databases or look at the code, but somewhere in this server part we'll want to make updates to allow for users to have account balances (is that all we want to add/change??).

Nick, you've probably set up stuff like this a lot before - do you want to figure out what functionality we need to add and make updates to the kegbot server code?

— Reply to this email directly or view it on GitHub< https://github.com/Iamdreaver/MichKegbot/issues/4>..

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-13359836..

pauldast commented 11 years ago

I think this would be the best place for me to concentrate my efforts. If the user database is in MySQL we should be able to easily integrate it with our network login database so that future Nerd Tsars can easily create the kegbot user and network login for new members in one go.

pauldast commented 11 years ago

If I migrate the router from pfsence to ebox it may make it easy to run the kegbot server on the router. The issue is that this is an experiment that would require taking the internet down for a fair amount of time.

jacobdavidson commented 11 years ago

I worked on this a bit tonight..here's where I got stuck

I'm following this general procedure to configure and install things https://kegbot.org/docs/server/

After installing the database and configuring the kegbot server, I couldn't get it to run - was getting an error with the "built-in server" based on django that is packaged with kegbot, errors when I tried to go through their procedure with Gunicorn, and I couldn't figure out how to get it to work with apache2 (didn't work very hard at it, I'm not very familiar with servers).

Is anyone familiar with using and configuring apache? something like this would probably get it to work: https://kegbot.org/kegbb/topic/227/. I'm gonna sign off now though, not sure if its worth trying

Basically, 2 ways to go next:

On Wed, Mar 6, 2013 at 9:32 PM, pauldast notifications@github.com wrote:

If I migrate the router from pfsence to ebox it may make it easy to run the kegbot server on the router. The issue is that this is an experiment that would require taking the internet down for a fair amount of time.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-14539622 .

Jacob Davidson Grad student, UM Aerospace jddavid@umich.edu | 540.424.9646

pauldast commented 11 years ago

Repurposing the router is something we may be able to experiment with over the summer but only if the house is willing to potentially endure significant amounts of internet downtime for the sake of this project. It is kind of out of the question for finals season. It is probably best to get a dedicated server for this. I would like to have a server in Mich to act as a backup server for all of the router/switch/access point configuration data anyways. If it is a decent machine with lots of storage it could be a Kegbot/Backup/File server. I think hiding it behind the basement stairs may be ideal.

nickruff commented 11 years ago

I've been talking to Geoff and when we get a dedicated server space for michminnies.icc.coop or bluepurple.icc.coop or whatever subdomain we get we can also host the Kegbot server from that address

On Sat, Apr 20, 2013 at 1:43 PM, pauldast notifications@github.com wrote:

Repurposing the router is something we may be able to experiment with over the summer but only if the house is willing to potentially endure significant amounts of internet downtime for the sake of this project. It is kind of out of the question for finals season. It is probably best to get a dedicated server for this. I would like to have a server in Mich to act as a backup server for all of the router/switch/access point configuration data anyways. If it is a decent machine with lots of storage it could be a Kegbot/Backup/File server. I think hiding it behind the basement stairs may be ideal.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-16708105 .

Nick Ruff CSE @ U of M

macklinu commented 11 years ago

I got the hardware out and am sort of playing around right now in Mich dining room. I'd be interested in working with whoever is interested tonight. I'm not really sure what to do, but I'm just going to do something! Probably trying to get a server up and running would be a good step.

pauldast commented 11 years ago

Do we have a place/machine to run the server on? If we do I can set up the server tonight or tomorrow. On Jun 5, 2013 4:59 PM, "Macklin Underdown" notifications@github.com wrote:

I got the hardware out and am sort of playing around right now in Mich dining room. I'd be interested in working with whoever is interested tonight. I'm not really sure what to do, but I'm just going to do something! Probably trying to get a server up and running would be a good step.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19008130 .

macklinu commented 11 years ago

No machine at the moment. I was thinking about just setting one up on a laptop just to see how it works and what we can make progress on? Bad idea?

pauldast commented 11 years ago

We could do that. We just wont have something perminantly functional until we have a dedicated machine but we could make progress this way. On Jun 5, 2013 5:56 PM, "Macklin Underdown" notifications@github.com wrote:

No machine at the moment. I was thinking about just setting one up on a laptop just to see how it works and what we can make progress on? Bad idea?

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19011680 .

pauldast commented 11 years ago

That is a fine idea. Actually, do I recall that you have a desktop running Ubuntu? We could use that as a temporary server until we get a dedicated machine. On Jun 5, 2013 5:56 PM, "Macklin Underdown" notifications@github.com wrote:

No machine at the moment. I was thinking about just setting one up on a laptop just to see how it works and what we can make progress on? Bad idea?

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19011680 .

macklinu commented 11 years ago

Yeah I am good to do that. My Ubuntu machine is pretty much always running.

Macklin Sent from my phone On Jun 6, 2013 10:00 PM, "pauldast" notifications@github.com wrote:

That is a fine idea. Actually, do I recall that you have a desktop running Ubuntu? We could use that as a temporary server until we get a dedicated machine. On Jun 5, 2013 5:56 PM, "Macklin Underdown" notifications@github.com wrote:

No machine at the moment. I was thinking about just setting one up on a laptop just to see how it works and what we can make progress on? Bad idea?

— Reply to this email directly or view it on GitHub< https://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19011680> .

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19085127 .

pauldast commented 11 years ago

That should be a pretty solid testbed. I am out of town for the weekend but I can help with stuff next week when I get back.

On Thu, Jun 6, 2013 at 10:35 PM, Macklin Underdown <notifications@github.com

wrote:

Yeah I am good to do that. My Ubuntu machine is pretty much always running.

Macklin Sent from my phone On Jun 6, 2013 10:00 PM, "pauldast" notifications@github.com wrote:

That is a fine idea. Actually, do I recall that you have a desktop running Ubuntu? We could use that as a temporary server until we get a dedicated machine. On Jun 5, 2013 5:56 PM, "Macklin Underdown" notifications@github.com wrote:

No machine at the moment. I was thinking about just setting one up on a laptop just to see how it works and what we can make progress on? Bad idea?

— Reply to this email directly or view it on GitHub< https://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19011680>

.

— Reply to this email directly or view it on GitHub< https://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19085127> .

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19085969 .

macklinu commented 11 years ago

Hello y'all. Jacob has donated a Dell Inspiron 710m laptop for use as the Mich House Kegbot Server. It is currently running Windows XP, but perhaps we can put a version of Linux on it. This laptop cannot run the current version of Ubuntu 12; Jacob let me know that.

Paul, would this laptop be usable? Would you mind checking it out this week? Jacob and I would love to help.

I would also like to suggest a way for us all to stay up to date with what progress is being made on the project. What about using a service like Trello? It is a collaborative tool for organizing projects. It might be good to go through this, see what people have been up to, comment, etc. Or we could continue using Github to communicate. Thoughts on this?

Thanks!

pauldast commented 11 years ago

We should be able to make that work. So long as we can get a minimal version of Ubuntu or Debian running on it, it should work. On Jun 10, 2013 8:36 PM, "Macklin Underdown" notifications@github.com wrote:

Hello y'all. Jacob has donated a Dell Inspiron 710m laptophttp://www.cnet.com/laptops/dell-inspiron-710m/4505-3121_7-31625261.htmlfor use as the Mich House Kegbot Server. It is currently running Windows XP, but perhaps we can put a version of Linux on it. This laptop cannot run the current version of Ubuntu 12; Jacob let me know that.

Paul, would this laptop be usable? Would you mind checking it out this week? Jacob and I would love to help.

I would also like to suggest a way for us all to stay up to date with what progress is being made on the project. What about using a service like Trello https://trello.com/? It is a collaborative tool for organizing projects. It might be good to go through this, see what people have been up to, comment, etc. Or we could continue using Github to communicate. Thoughts on this?

Thanks!

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19234996 .

pauldast commented 11 years ago

I vote we keep using github On Jun 10, 2013 8:59 PM, "Paul Stewart" pauldast@gmail.com wrote:

We should be able to make that work. So long as we can get a minimal version of Ubuntu or Debian running on it, it should work. On Jun 10, 2013 8:36 PM, "Macklin Underdown" notifications@github.com wrote:

Hello y'all. Jacob has donated a Dell Inspiron 710m laptophttp://www.cnet.com/laptops/dell-inspiron-710m/4505-3121_7-31625261.htmlfor use as the Mich House Kegbot Server. It is currently running Windows XP, but perhaps we can put a version of Linux on it. This laptop cannot run the current version of Ubuntu 12; Jacob let me know that.

Paul, would this laptop be usable? Would you mind checking it out this week? Jacob and I would love to help.

I would also like to suggest a way for us all to stay up to date with what progress is being made on the project. What about using a service like Trello https://trello.com/? It is a collaborative tool for organizing projects. It might be good to go through this, see what people have been up to, comment, etc. Or we could continue using Github to communicate. Thoughts on this?

Thanks!

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19234996 .

macklinu commented 11 years ago

That's chill as f. I am free to work on Kegbot on Wed or Thurs pretty much anytime after noon.

jacobdavidson commented 11 years ago

I had trouble getting wireless drivers to work on that laptop with a previous version of ubuntu (v9 maybe?), but I was a linux noob when trying that, and gave up. This says it "should" work: http://www.linlap.com/dell_inspiron_710m. Definitely need to hook into a wired connection to install things. Paul I think you are the master of us all at figuring out that kind of stuff

Do either of you have a version in mind? Here's options I found with a brief search, not sure if the latest version of any of these will work. Lubuntu Xubuntu Linux Mint Ubuntu 8,9, or 10

I'm at work and can easily download and burn a disc right now

On Mon, Jun 10, 2013 at 9:03 PM, Macklin Underdown <notifications@github.com

wrote:

That's chill as f. I am free to work on Kegbot on Wed or Thurs pretty much anytime after noon.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19235728 .

Jacob Davidson Grad student, UM Aerospace jddavid@umich.edu | 540.424.9646

pauldast commented 11 years ago

I am installing a minimal version of Debian on the laptop as we speak. All of the things you mentioned are based on Debian and I think it will be easiest to keep the server minimal and running well on the old laptop, plus anyone comfortable in Ubuntu, Mint etc.. should feel at home with Debian. I am not going to worry about the wireless drivers, we can just put the thing near one of the switches and use a short ethernet cable. The base system is almost done installing and I will get the kegbot server up and running after I get back from crossfit. The server will be at 192.168.1.10 when I am done.

pauldast commented 11 years ago

I'm home and sleepy. I successfully got the OS installed on the server but haven't got the server installed yet. I will get that tomorrow.

pauldast commented 11 years ago

Kegbot server installed and running. I created an account with the username:sinsteward password:rocksharder. You can access the server if you are on the MichMinnies network by pointing your browser to 192.168.1.10:8000. You can ssh in to the server if you must at kegbot@192.168.1.10. All of the passwords are rocksharder. If the server isn't running you can log in to the laptop with username:kegbot pass:rocksharder. First run the command: "source ~/kb/bin/activate" then run: "kegbot runserver 0.0.0.0:8000" to start it.

pauldast commented 11 years ago

I just did a survey of the network and everything including the kegbot server is currently up. I also snagged the tablet from the Minnie's maintenance closet and will begin trying to install the app on it in a few minutes.

jacobdavidson commented 11 years ago

You rock the hardest

After the Android app the next step is to put the kegboard software on the Arduino and connect...while I'm thinking about it I'll post this about that code and the RFID reader. I made notes about how to get it to work with the RFID reader, and did test code, but never made any changes to the kegboard.ino file - so the best thing to so is to get the newest version of that from the kegbot site to upload to the Arduino. We can start by disabling RFID, which is done in the kegboard_config.h file (I think).

If you get the Android app installed I'll try uploading to the Arduino and interfacing with the tablet this weekend

On Fri, Jun 21, 2013 at 2:27 PM, pauldast notifications@github.com wrote:

I just did a survey of the network and everything including the kegbot server is currently up. I also snagged the tablet from the Minnie's maintenance closet and will begin trying to install the app on it in a few minutes.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-19832567 .

Jacob Davidson Grad student, UM Aerospace jddavid@umich.edu | 540.424.9646

pauldast commented 11 years ago

Having some trouble getting the play store on the tablet, I think I may need to root it. I will update this when I get the app to run.

pauldast commented 11 years ago

This tablet may be more difficult than I thought it would be. I am out of town for Sat and some fraction of Sun but I will work on it again Sun and Mon. We may eventually need to get a better tablet though, you really have to fiddle with the charger to get it to work and I think that is a pretty bad sign for something that is brand new.

pauldast commented 11 years ago

Ahh, figgured out the charger. You just need to really cram it in to the cram hole real hard.

pauldast commented 11 years ago

I put the tablet on top of the can machine by the laptop. I am not going to have time to work on it for a while. Honestly, if everyone else is short on time too, the fastest way to get this thing up and running would be to get a tablet with Google Play that meets the requirements here: https://kegbot.org/docs/android/overview/#compatibility It should be possible to get it working on our current tablet but it will take some effort from someone.

jacobdavidson commented 11 years ago

Ok cool, thanks. I'll probably end up buying the tablet myself, they are still only like 100 dollars. I'm really busy the next few weeks but have taken a vow to finish the kegbot before I leave michigan...

The garage at my new house is (almost) clear - I'm planning on bringing the kegerator and all over there to finish the assembly and do the first tests with it. It will be much easier to work on for a half hr a day in a place where everything can be left out, i.e. will actually do it. The server/firmware/Arduino etc. are at the point where stuff just needs to be hooked up, the tablet app is the last software hurdle

On Tue, Sep 3, 2013 at 3:12 PM, pauldast notifications@github.com wrote:

I put the tablet on top of the can machine by the laptop. I am not going to have time to work on it for a while. Honestly, if everyone else is short on time too, the fastest way to get this thing up and running would be to get a tablet with Google Play that meets the requirements here: https://kegbot.org/docs/android/overview/#compatibility It should be possible to get it working on our current tablet but it will take some effort from someone.

— Reply to this email directly or view it on GitHubhttps://github.com/Iamdreaver/MichKegbot/issues/4#issuecomment-23738859 .

Jacob Davidson Grad student, UM Aerospace jddavid@umich.edu | 540.424.9646