Kegberry/Kegbot New Installation

Soooo I got all the parts, thanks to @crankycowboy for the fittings!
Now I put everything together as you have instructed but I am getting an issue.
When I go into the Serial Monitor, I am not getting any readable data at baud 115200

MVIMG_20190408_210815

I set up the kegbot admin and found the keg board with 2 flow meters, flow0 and flow1, I have 3 flow meters attached but I realized that only 2 showed up because when I flashed my arduino mega I didn’t change the number of meters from 2 to 3 under ‘kegboard_config.h’
Anyway, I wired everything correctly but when I blow into the meters, or run water out of my keg with a flow meter attached, I dont see any activity on the kegbot app. It does not show any oz poured.

I should note that unlike you, I used a cat7 ethernet cable and on the flow meter side instead of soldering the wires to the rj45, because i completely screwed up…, I got one of these. Not sure if that would make a difference?
MVIMG_20190408_210603

Im pretty sure I wired everything correctly on the Arduino side and the flow meter side.
Not sure how to proceed.

Oh… I think I need to solder this with a head pin to make connections between the screws and the port…? Lol I was trying to avoid soldering…

@mhmatttu, I think you’ll also need to integrate some of my changes from the Kegbot-Pycore repository on Github, specifically the changes I committed on Aug 21, 2018. By default, Pycore does not publish an event with the username when an RFID token is scanned, so I added that feature.

@sharpbeer, first off, those messages in the Arduino Serial Monitor look correct. Each message from the Arduino to the tablet (or Raspberry Pi if going that route) will have “KBSP v1:” and then some encoded string after that, so I’m not concerned there. The temperature messages and flow messages look slightly different and I think @mhmatttu has a good screenshot that illustrates that.

As far as the flow meters, the screw-terminal RJ45 adapter should work just fine, I was actually using one of those successfully as I was prototyping my build out. I would first connect your flow meters directly to the arduino to make sure they are working (maybe you’ve already done that) and then start testing with a cable in-between. I’m sure those screw-terminals are already connected to the pins on the RJ45 connector.

Got it working when tested the flow meter connected directly to the Arduino, shows activity when I blow air into the flow meter on the serial monitor. Also, when I use it connected to the tablet it shows oz poured. It looks like I had the power wire plugged into the ‘5v’ on the board instead of the power connection… Dumb mistake haha. Now I have to set it all back up. Thanks.

Thanks again @johnnyruz but I’m having trouble getting the flow meters and Arduino to communicate through the RJ45 adapters. If I plug the flow meters directly to the Arduino they work. When I throw the RJ45 adapters into the mix, they do not show any oz poured in the Kegbot app. I tried switching the ethernet cable out, cat7 with a cat6, but that didn’t help. Sorry to keep bothering you with this but I’m literally 1 fix away from getting this thing set up and going. Not sure how to proceed.
These are what the Arduino/flow meter endings look like:
Any suggestions on what I can try?
IMG_20190409_223914 IMG_20190409_223549

@johnnyruz I appreciate your continued help with this. I have reviewed your Github repository and have all the latest updates implemented. Everything is working as you have described including live pour data, pours assigned to user based on rfid authentication, etc. The only missing part is the Welcome User message on the fullscreen page. Here is a screenshot of the logs from the web interface. I’m wondering if its not a API issue. I regenerated the API and updated the local_settings.py and node server config.js files with the new API Key, but i am still not getting the Welcome User message. Any thoughts are appreciated! Thanks.

@sharpbeer,

Do you have a multi-meter? I would just check that you see 5 Volts across the power and ground pins on the far-side of the connector once you connected the cable. Also, if your meter has a continuity test, make sure you read continuity between across the signal pin across the cable.

Thanks again for replying John. I actually just ordered another screw terminal rj45 to replace the solder type rj45. Got it yesterday and tried the cat7 between the two screw terminal rj45s and it worked. So, it seems either the one I replaced was broken or I had a bad connection on it somewhere, most likely my shoddy solder job.

I wont have time to get back to setting it up until Friday evening but it should all be good now. I’ll update on it this weekend.

I am looking to get this going for my 4 tap keezer. I am pretty comfortable with the Raspberry Pi portions of this. I have zero experience with Arduino’s other than using one on my 3d printer that I have to flash from time to time. I am looking to get this done with as little parts as possible and as little soldering as possible.

Also Will the Mega run the RFID, 4 flow meters, and a Temperature Sensor?

Can someone please verify if the parts below are everything that I would need to get this assembled? I currently have several Pi’s around the house and can repurpose them.

1 - ELEGOO MEGA 2560 R3 Board
4 - Flow Meters
2 - RJ45 Dual Breakout boards
1 - 5 pack of RJ45 breakout boards for controller box.
4 - 14’ Flat Cat5e Cable
2 - 5 pack Barb Fittings
1 - Temperature Sensor
1- RC522 RFID reader and fobs

I know this is a lot to ask but I am just trying to get hardware in place and in hand before I start asking build questions.

Thanks

I’m using a particle instead of the Arduino. I have everything working on the android, kegberry and particle (particle can see the flow meter). I am not sure how to get the kegberry to see the controller. Do I have to plug the particle / controller into the kegberry or is it configured wirelessly? Any ideas are much appreciated!

1 Like

Hi
Been running Kegberry for while now and working well. Im interested in trying the " Node JS Real-Time Updates Server", but little lost at this step.

" Download the contents of the node-server directory and move to the location
/home/kegbot/kegbot-server.venv
So… where and what should i download to move…

Thanks in advance!

Hi all, I’ve just finished following johnnyruz’s instructions on installing kegbot/keberry on RPi 3b+ (stretch) and the install went smoothly. I’ve ordered all the parts and have decided to first go with a single flow sensor. What would be helpful would be to see a diagram of exactly how to connect everything up in terms of wiring (breadboard, nano, etc). I’m still a noob (first raspberry pi project!). Any photos or diagrams of successful setups would help immensely (most don’t show all the wiring so I’m at a bit of a loss).

Have tested this and it works fine

Thanks again @johnnyruz have just setup a new pi. So many hurdles and I am sure it would be much much worse without your instructions!

Now to restore my database…

I’m having trouble restoring, Does anyone know how to do it after installing kegberry?

I’ve restored before after doing a manual install on Ubuntu with no trouble.

If I try and activate the virtual environment it asks me to login as kegbot user, I don’t know what the credentials are…

pi@raspberrypi:/home/kegbot $ source /home/kegbot/kegbot-server.venv/bin/activate
(kegbot-server.venv) pi@raspberrypi:/home/kegbot $ kegbot restore tat-20190904-151333/
Could not find local_settings.py; has Kegbot been set up?
Tried: /home/pi/.kegbot/ /etc/kegbot/ /usr/local/etc/kegbot

Run setup-kegbot.py or set KEGBOT_SETTINGS_DIR to the settings directory.
(kegbot-server.venv) pi@raspberrypi:/home/kegbot $

The issue I guess is I can’t run in the context of the kegbot user

if I run su - kegbot
I am asked for a password

EDIT: Nevermind, I just rebuilt with the server install scripts rather than kegberry and was able to restore

@moad, great info and glad you’re back up and running.

But is there some issue with the standard database restore if you build a fresh Kegbot Install following one of my walkthroughs? I’ve never actually done the DB restore process before, but any additional insight you could share as to the correct steps to make the restore successful? Thanks!

It is probably more my unfamiliarity with Linux than your guide mate. The main issue was that I would activate the virtual env and run the restore command and it would fail with permissions issue. Trying to run as sudo would ask for kegbot user account credentials which I don’t know.

I’m more familiar with installing manually but your scripts certainly helped to get all the packages and components in place so the setup piece was a breeze.

I should have documented the steps but once all of your packages were in place it was essentially following the standard server install guide.

The nginx and supervisor config i reused which from memory was the tricky part to get running automatically.

Hey @johnnyruz

Just integrated the real-time enhancement, I think there are a couple of typo’s in the readme… ?

/home/kegbot/kegbot-server.venv/lib/python2.7/site-packages/pykeg/web/kegweb/templates/kegweb/templates/kegweb/

should read:

/home/kegbot/kegbot-server.venv/lib/python2.7/site-packages/pykeg/web/kegweb/templates/kegweb/

Also " Update line 204 in fullscreen.html" was line 226 using fullscreen.html from 19th April '19

Lastly, in advanced setup…
“/etc/supervisor/cond.d/kegbot.conf” should read "/etc/supervisor/conf.d/kegbot.conf " (conf.d not cond.d) - Just for the copy and paste people.

@johnnyruz you are a beast. Great work on your write ups and all the help you have provided!

2 Likes

Thanks @andymemo you’re right there are some typos there.

I’m actually working on an updated process for getting all the latest changes installed, including an automated install of the Node stuff so I’ll be updating all of the documentation with the new procedure in the coming days.

In the meantime, this post has links to the two new scripts that “should” get both Kegbot and the Node stuff up and running without jumping through the hoops of my initial methods.