RPi GPIO monitoring #6

Open
mik3y opened this Issue Feb 13, 2014 · 11 comments

Comments

Projects
None yet
7 participants
@mik3y
Member

mik3y commented Feb 13, 2014

Spawned from issue #3: Monitor mode only listens to kegboards, but we've had some long-standing requests for RPI GPIO support. Add a trivial flow meter daemon for these pins.

@mik3y mik3y referenced this issue Feb 13, 2014

Closed

Add "monitor mode" #3

@kerber

This comment has been minimized.

Show comment
Hide comment
@kerber

kerber Feb 26, 2014

I'm definitely going to keep an eye on how this turns out for you. I've done some cursory testing with monitoring an SF800 from GPIO as well as using an MCP23017 as a go-between. While I was getting good reads, my main concern was losing pulses while the CPU was busy with other tasks. With all the processing needed for the kegbot server, do you see this as a viable option?

kerber commented Feb 26, 2014

I'm definitely going to keep an eye on how this turns out for you. I've done some cursory testing with monitoring an SF800 from GPIO as well as using an MCP23017 as a go-between. While I was getting good reads, my main concern was losing pulses while the CPU was busy with other tasks. With all the processing needed for the kegbot server, do you see this as a viable option?

@mik3y

This comment has been minimized.

Show comment
Hide comment
@mik3y

mik3y Feb 26, 2014

Member

@kerber: Yeah, I'm skeptical about this architecture, but it's something we want to do just to cover all bases. (Similarly I think Android makes for an objectively better frontend than RPi, but some people want an all-pi system; hence Kegberry).

A dedicated micro -- KBPM, or even a cheap DIY one -- will have the advantage of being totally decoupled from whatever Linux us up to, as far as flow sensing is concerned. (Not to mention other features & portability..) That said, I've got an experiment to try.

Member

mik3y commented Feb 26, 2014

@kerber: Yeah, I'm skeptical about this architecture, but it's something we want to do just to cover all bases. (Similarly I think Android makes for an objectively better frontend than RPi, but some people want an all-pi system; hence Kegberry).

A dedicated micro -- KBPM, or even a cheap DIY one -- will have the advantage of being totally decoupled from whatever Linux us up to, as far as flow sensing is concerned. (Not to mention other features & portability..) That said, I've got an experiment to try.

@kerber

This comment has been minimized.

Show comment
Hide comment
@kerber

kerber Feb 26, 2014

I totally agree on the dedicated Micro. That actually feeds into something I've been wondering about the KBPM. What led to your decision to only read one flow monitor per atmega32u4? I've been running a few tests with a Leonardo (atmega32u4 based) and I'm having no problem polling 4 concurrent 1.2kHz pulsed lines. I could see relying on interrupts when you had other functionality on the micro, but those KBPM seem pretty dedicated to flow monitoring. Did you run into some design issue with that method that I've not thought of?

kerber commented Feb 26, 2014

I totally agree on the dedicated Micro. That actually feeds into something I've been wondering about the KBPM. What led to your decision to only read one flow monitor per atmega32u4? I've been running a few tests with a Leonardo (atmega32u4 based) and I'm having no problem polling 4 concurrent 1.2kHz pulsed lines. I could see relying on interrupts when you had other functionality on the micro, but those KBPM seem pretty dedicated to flow monitoring. Did you run into some design issue with that method that I've not thought of?

@mik3y

This comment has been minimized.

Show comment
Hide comment
@mik3y

mik3y Feb 26, 2014

Member

Re: KBPM: It's mostly a board/connector space compromise. KBPM actually supports two meters (int0 and int1), and could support more (int3,4 and pin change interrupts) with a firmware change, assuming the pins are exposed.

Our product goals were to make a small (1" x 2") board, pin compatible with our RJ-45 KegJack; adding more connectors would have blown up the board size, assembly and BOM cost, etc, so we held back on it for "v1". After all, anyone interested in hacking a big board together can already do so with the firmware plus Arduino [Mega], and less-technical users can scale up with a USB hub. (We're working on a bigger board as a follow-on.)

Member

mik3y commented Feb 26, 2014

Re: KBPM: It's mostly a board/connector space compromise. KBPM actually supports two meters (int0 and int1), and could support more (int3,4 and pin change interrupts) with a firmware change, assuming the pins are exposed.

Our product goals were to make a small (1" x 2") board, pin compatible with our RJ-45 KegJack; adding more connectors would have blown up the board size, assembly and BOM cost, etc, so we held back on it for "v1". After all, anyone interested in hacking a big board together can already do so with the firmware plus Arduino [Mega], and less-technical users can scale up with a USB hub. (We're working on a bigger board as a follow-on.)

@kerber

This comment has been minimized.

Show comment
Hide comment
@kerber

kerber Feb 26, 2014

Thanks for the informative answer! Will the firmware for the neg KBPM be posted, or does the Android app work with the current version of the Kegboard?

kerber commented Feb 26, 2014

Thanks for the informative answer! Will the firmware for the neg KBPM be posted, or does the Android app work with the current version of the Kegboard?

@mik3y

This comment has been minimized.

Show comment
Hide comment
@mik3y

mik3y Feb 26, 2014

Member

Same firmware! Set target to Arduino Leonardo and it should Just Work™.

Production firmware is built against the Kegboard/Arduino repo -- a tiny fork that includes a few minor board-specific customizations (like the USB VID/PID) for a new kbpm Arduino board type. Also, kegboard_config.h will automatically disable a few options that would be no-ops (like the buzzer) when this board type is used.

Member

mik3y commented Feb 26, 2014

Same firmware! Set target to Arduino Leonardo and it should Just Work™.

Production firmware is built against the Kegboard/Arduino repo -- a tiny fork that includes a few minor board-specific customizations (like the USB VID/PID) for a new kbpm Arduino board type. Also, kegboard_config.h will automatically disable a few options that would be no-ops (like the buzzer) when this board type is used.

@geokal

This comment has been minimized.

Show comment
Hide comment
@geokal

geokal Jul 11, 2014

Hi currently experimenting with some sort of the same project but with coffee ,raspberry as a server with flow meter (lower resolution than SF800 )on gpio and electric valve(teflon) attached on a big caffe dispenser through rpi.gpio python and does not seem as reliable as on an arduino. So can i upload firmware to an Uno R3 or i need a Leonardo?Thanks .Big thanks for sharing all these info and code!!!Keep On

geokal commented Jul 11, 2014

Hi currently experimenting with some sort of the same project but with coffee ,raspberry as a server with flow meter (lower resolution than SF800 )on gpio and electric valve(teflon) attached on a big caffe dispenser through rpi.gpio python and does not seem as reliable as on an arduino. So can i upload firmware to an Uno R3 or i need a Leonardo?Thanks .Big thanks for sharing all these info and code!!!Keep On

@chrismeyersfsu

This comment has been minimized.

Show comment
Hide comment
@chrismeyersfsu

chrismeyersfsu Apr 17, 2016

I'm a bit confused as to if Raspberry Pi GPIO is now supported. Can you clarify the status?

I'm a bit confused as to if Raspberry Pi GPIO is now supported. Can you clarify the status?

@loganbest

This comment has been minimized.

Show comment
Hide comment
@loganbest

loganbest Apr 20, 2016

Also want to know an update here. Surely after almost 2 years something has come out of this. :)

Also want to know an update here. Surely after almost 2 years something has come out of this. :)

@joel7269

This comment has been minimized.

Show comment
Hide comment
@joel7269

joel7269 Jul 28, 2016

Any updates on this?

Any updates on this?

@kjones6197

This comment has been minimized.

Show comment
Hide comment
@kjones6197

kjones6197 Sep 14, 2017

Was any progress ever made on this?

Was any progress ever made on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment