CraftBeerPi - Raspberry Pi Software

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
it looks like I am connected, I happened to fumble around and see that netstat shows a connection to my devices:

pi@raspberrypi:~ $ netstat | grep "1883"
tcp 0 0 Pi3b:1883 SonOff_S31_2:2012 ESTABLISHED
tcp 0 0 Pi3b:1883 SonOff_S31_1:31077 ESTABLISHED
tcp6 1 0 localhost:39265 localhost:1883 CLOSE_WAIT
tcp6 1 0 localhost:41159 localhost:1883 CLOSE_WAIT
tcp6 0 0 localhost:55681 localhost:1883 ESTABLISHED
tcp6 0 0 localhost:1883 localhost:55681 ESTABLISHED
pi@raspberrypi:~ $​

but turning on the actors does not activate the relays...


I found the mosquitto install, and the .conf, and where logging is...

1540747687: New connection from 192.168.5.84 on port 1883.
1540747687: New client connected from 192.168.5.84 as DVES_7D26BA (c1, k15, u'DVES_USER').
1540747690: New connection from 192.168.5.83 on port 1883.
pi@raspberrypi:~ $​


so maybe the User (or Client) entry is configured wrong on my Tasmota SonOffs?
 
OK, I set the MQTT paramaters in the SonOff-Tasmota to match the CBPI3 'System'-->'Parameters: settings:
MQTT_PASSWORD password MQTT password
MQTT_PORT 1883 MQTT Sever Port
MQTT_SERVER localhost MQTT Server
MQTT_USERNAME username MQTT username


I also rebuilt from scratch a CBPI3 install on a fresh new SD card with tile and
here is the logfile:
pi@raspberrypi:~ $ tail --lines=10 /var/log/mosquitto/mosquitto.log
1540760953: Config loaded from /etc/mosquitto/mosquitto.conf.
1540760953: Opening ipv4 listen socket on port 1883.
1540760953: Opening ipv6 listen socket on port 1883.
1540760958: New connection from ::1 on port 1883.
1540760958: New client connected from ::1 as bd508e69-d33b-4890-b787-7c476a369087 (c1, k60).
1540760966: New connection from 192.168.5.84 on port 1883.
1540760966: New client connected from 192.168.5.84 as SonOff_S31_2 (c1, k15, u'username').
1540760966: New connection from 192.168.5.83 on port 1883.
1540760966: New client connected from 192.168.5.83 as SonOff_S31_1 (c1, k15, u'username').
1540761006: New connection from 192.168.5.83 on port 1883.
pi@raspberrypi:~ $

I am assuming the first connection, from ::1 is from the MQTTplugin? I only have two devices that I know of that have MQTT...

I am close, I can feel it...

Edit -
I stopped the mosquitto service and started the executable from the command line with verbose mode, and I can see the detailed activity... I *do* see when I toggle the SonOff-Tasmota device on and off via it's web page, which means WiFi communication is working. What I *DO NOT* see is anything happening when I toggle the MQTTactor in CBPi3
 
Last edited:
First time posting in this thread. I have one issue I am not able to resolve and hoping someone might be able to steer me in the right direction of a post that covers this. CBPI3 is all set up however I am unable to find info on changing the CBPi IP address to match the rasberryPi address. This system was built and setup on a network using an IP address that my router does not support. its currently 192.x.x.x and I need to change it to 10.x.x.x both on CBPI3 and the wlan0 in Rasberry PI.

Any help would be greatly appreciated.
 
First time posting in this thread. I have one issue I am not able to resolve and hoping someone might be able to steer me in the right direction of a post that covers this. CBPI3 is all set up however I am unable to find info on changing the CBPi IP address to match the rasberryPi address. This system was built and setup on a network using an IP address that my router does not support. its currently 192.x.x.x and I need to change it to 10.x.x.x both on CBPI3 and the wlan0 in Rasberry PI.

Any help would be greatly appreciated.
I'm assuming your RPi is running the latest NOOBS (which is currently Stretch), if so plug a monitor into it open a terminal window and type:

Code:
sudo nano /etc/dhcpcd.conf

Scroll down to the example static IP section and enter something like this:

Code:
# Example static IP configuration:
interface wlan0
static ip_address=192.168.1.175/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

(replacing 192.168.1.175 & 192.168.1.1 with whatever matches your router config)

Cheers,

Kal
 
I have a Raspberry Pi 3 in the Brew Controller and it runs just fine. Temp sensors, SSR, relay, indicator lights - all works fine.
I don't want to have to move the brew controller around to control fermenting (plus, it's not set up for that anyway) - so I bought a Raspberry Pi Zero W for $5 at Microcenter to set up Fermenting control. My goal is to get to a 2-3 plastic conical setup with glycol chilling, motorized valves, etc.
But now - just a simple 10A relay running a heat fan, 100W light or reptile pad since it's getting close to winter here in MN.

The thing is, I can't get the 1-wire temp sensors working on the Raspberry Pi Zero W. It won't show the address of the sensor since I'm suspecting it doesn't find them. For now, I'm following the Leaning Man instructions (for heat only, no cooling), but using a Pi Zero W instead.

Yes, I'm installing GPIO options during CBPi install. I did verify I have the 1-Wire connected properly (red=5v, black=gnd, yellow=data). I'm using GPIO4 for the data pin (pin 7)

Are there any changes due to the different Pi I'm using? Also - I'm using Stretch version of the OS. I think my other controller is using an older version. Not sure if that makes a difference.

I connected a 10A relay to GPIO17 and I can turn that on and off OK.

I do have this line in my /boot/config.txt
# CraftBeerPi 1-wire support
dtoverlay=w1-gpio,gpiopin=4,pullup=on


There are no options found under the Sensor - no sensor address found:
1-wirenotfound.JPG


I do have 1-wire turned on in the Pi software:
1-wireconfigon.JPG
 
Last edited:
I'm just re-installing again but this time see some warnings when installing Craftbeerpi:

[Compile] mcp23016.c
[Compile] mcp23017.c
wiringPi.c:1309:21: warning: ‘digitalWrite8Dummy’ defined but not used [-Wunused-function]
static void digitalWrite8Dummy (UNU struct wiringPiNodeStruct *node, UNU int pin, UNU int value) { return ; }
^~~~~~~~~~~~~~~~~~
wiringPi.c:1308:21: warning: ‘digitalRead8Dummy’ defined but not used [-Wunused-function]
static unsigned int digitalRead8Dummy (UNU struct wiringPiNodeStruct *node, UNU int UNU pin) { return 0 ; }
^~~~~~~~~~~~~~~~~
[Compile] mcp23s08.c
[Compile] mcp23s17.c

Maybe that's a problem for the temp sensor? I don't know - don't know enough about Raspberry Pi / Linux. I just try to follow directions.
 
Last edited:
I'm assuming your RPi is running the latest NOOBS (which is currently Stretch), if so plug a monitor into it open a terminal window and type:

Code:
sudo nano /etc/dhcpcd.conf

Scroll down to the example static IP section and enter something like this:

Code:
# Example static IP configuration:
interface wlan0
static ip_address=192.168.1.175/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4

(replacing 192.168.1.175 & 192.168.1.1 with whatever matches your router config)

Cheers,

Kal
Yes to all questions. Yep, so that is what I have tried and it worked fine for eth0 no problem, I do the same thing for wlan0 and it wont stick. Only thing I did different was using my routers static domain of 10.0.0.1 instead of the google address. I will try it with the google one and see if that works. Thanks for responding.
 
Yes to all questions. Yep, so that is what I have tried and it worked fine for eth0 no problem, I do the same thing for wlan0 and it wont stick. Only thing I did different was using my routers static domain of 10.0.0.1 instead of the google address. I will try it with the google one and see if that works. Thanks for responding.
Did you revert eth0 back DHCP when you set up static on wlan0?
 
Okay, then remove the eth0 entry and only use the wlan0 entry. Using your router domain name server is fine on a local network, so I wouldn't worry about the Google DNS.

If you used the same IP address for eth0 and wlan0 you might need to reboot your router to release that lease.

Oh, and finish off with a sudo reboot to ensure the new network changes take affect.
 
Okay, then remove the eth0 entry and only use the wlan0 entry. Using your router domain name server is fine on a local network, so I wouldn't worry about the Google DNS.

If you used the same IP address for eth0 and wlan0 you might need to reboot your router to release that lease.

Oh, and finish off with a sudo reboot to ensure the new network changes take affect.

OK, got it and everything is on point and working. Thanks again for being responsive and willing to assist. Cheers!
 
All good glad you got there! One of the things I really love about HBT is everyone's willingness to assist a fellow brewer in need, I've had my fair share of bail-outs too :yes:

Cheers,

Kal
 
I brewed for the first time on my new CBP3 system yesterday. My system is a 2 vessel, 2 pump, 1 element system loosely based on the BrewEasy. My control panel has indicator lights which turn on when the respective receptacle is powered up. I also have a touchscreen on the panel (kiosk mode) but monitor things from inside on the PC. I noticed a couple issues which I'm hoping you all can help with.

1) Whenever the brew steps move from one MashStep to the next, the frequency of the heating element is reset. I have it set to 0.25 Hz via the GUI but on the next mash step my indicator light starts to go on and off probably 20 times per second. Is this a known bug or just an issue with the way I have my set-up configured?
FWIW I can remedy the issue by changing the frequency manually, say to 2.4 Hz, but it is only temporary fix. It will happen again the next mash step.

2) During my brew session when a step has a timer, the timer always shows 00:00:00 on the PC or my phone when the timer starts. No countdown. If I go outside to the panel, I can see the timer counting correctly from the touchscreen interface.

3) I get no temperature charts on the PC or on the touchscreen. When I click Chart, I just see a blank white screen.
 
I brewed for the first time on my new CBP3 system yesterday. My system is a 2 vessel, 2 pump, 1 element system loosely based on the BrewEasy. My control panel has indicator lights which turn on when the respective receptacle is powered up. I also have a touchscreen on the panel (kiosk mode) but monitor things from inside on the PC. I noticed a couple issues which I'm hoping you all can help with.

1) Whenever the brew steps move from one MashStep to the next, the frequency of the heating element is reset. I have it set to 0.25 Hz via the GUI but on the next mash step my indicator light starts to go on and off probably 20 times per second. Is this a known bug or just an issue with the way I have my set-up configured?
FWIW I can remedy the issue by changing the frequency manually, say to 2.4 Hz, but it is only temporary fix. It will happen again the next mash step.

2) During my brew session when a step has a timer, the timer always shows 00:00:00 on the PC or my phone when the timer starts. No countdown. If I go outside to the panel, I can see the timer counting correctly from the touchscreen interface.

3) I get no temperature charts on the PC or on the touchscreen. When I click Chart, I just see a blank white screen.
I can't help with number one or two but number three I might be able to.
Sometimes the graphs just take a while to display. Especially if there's a lot of data. Or if it never does then go into the system and delete the graphs/logs and then after a while you should see graphs show up again - with data this time.
 
Last edited:
I have been search and have not found a good source for this answer:

I installed version 2.2 on my pi. how do i deinstall this (completely).
I then want to install 3.x. anyone have a good link for that?

looking to automate my new electric setup that i am building and using an old pi/touch screen that isnt being used right now.

Gimp
 
I formatted the SD card then went through all the setup again. There could be a better way but it doesn't take too long just to redo everything.
 
I thought someone would say that. another questions... anyone know a good site to get the DS18B20 temp sensors and the MDR 40 amp SSR with heat sink, that isnt going to cost alot? not that i have a complete issue with this, but i would prefer not to pay china for these parts and get them from some place in the us, but ever where i look seems to be 3/4 times the cost. thoughts?

Gimp
 
I thought someone would say that. another questions... anyone know a good site to get the DS18B20 temp sensors and the MDR 40 amp SSR with heat sink, that isnt going to cost alot? not that i have a complete issue with this, but i would prefer not to pay china for these parts and get them from some place in the us, but ever where i look seems to be 3/4 times the cost. thoughts?

Gimp

I've had decent luck searching eBay for someone who lists their location as USA. Not a guarantee, but it's worked for me. Ultimately all this stuff comes from the far east, but at least this way someone who does this for a business has sourced it. I once bought a 10 pack of DS18B20 sensors from China for a few dollars, 2 in 10 worked. For me it's worth it to pay 3x - 4x more if they actually work when you get them. Mine end up getting built into custom probes, so it is worth even more to me to make sure they work.
 
I have the official cbpi interface board but I want to use it on an arduino mega. The rpi outputs are 3.3v and the mega is 5v. Anyway to modify the board to work?
 
First the pin out do not much Arduino mega.
If you want any way the outputs will work OK, as the transistor will saturate with 50% more current in the base.
The input for DS18B20 will also work ok, just be sure the pull up get 5V.

Are you planning to run Brewtroller?
 
I’d likely use a ribbon cable/ jumper wires to connect the two. I’m using Brucontrol now...

Would really prefer to make my own PCB but don’t know enough about that process yet.
 
Has anyone hooked up a piezo buzzer to work as an alarm for hop additions?

I bought one active and one passive buzzer - each has three leads and is mounted on a little circuit board. I can't seem to get either one to work properly.
 
I have a Piezo buzzer on my brew controller. I haven't figured out how to use it as an alarm for a timer though. It does work when manually turned on though. Only the 10, 20 and 30 second timers built in...


After messing around with it, I can get the buzzer to come on at various times, but am not sure exactly how to configure a brew to effectively use the alarm.

My buzzer is on GPIO 5. I think you have to use that one for it to work properly. The type is GPIO Simple.
 
Last edited:
I have a Piezo buzzer on my brew controller. I haven't figured out how to use it as an alarm for a timer though. It does work when manually turned on though. Only the 10, 20 and 30 second timers built in...


After messing around with it, I can get the buzzer to come on at various times, but am not sure exactly how to configure a brew to effectively use the alarm.

My buzzer is on GPIO 5. I think you have to use that one for it to work properly. The type is GPIO Simple.
You can set the buzzer GPIO assignment from within settings, just like changing from Celsius to Fahrenheit.
 
Hello,
It will maybe very stupid question but i want ask. I search SSR and see there are some difference of them. For example one has 3-32V control other 4,5-32V. Did CBpi have some specific SSR ? For my cotroll unit i want use Carlo Gavazzi RM1A48D50 did will be ok ?
 
have problems connecting to my new install. The install seemed to go well on a new install of Raspbian Stretch Lite. I was able to ssh into my RPI and completed the install. set craftbeerpi to start automatically on startup.

I think the status looks okay

pi@BreweryPI:~ $ sudo /etc/init.d/craftbeerpiboot status
● craftbeerpiboot.service - LSB: Put a short description of the service here
Loaded: loaded (/etc/init.d/craftbeerpiboot; generated; vendor preset: enabled)
Active: active (exited) since Mon 2018-12-10 23:00:33 GMT; 5min ago
Docs: man:systemd-sysv-generator(8)
Process: 287 ExecStart=/etc/init.d/craftbeerpiboot start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/craftbeerpiboot.service

Dec 10 23:00:32 BreweryPI systemd[1]: Starting LSB: Put a short description of the service here...
Dec 10 23:00:33 BreweryPI systemd[1]: Started LSB: Put a short description of the service here.
Dec 10 23:00:33 BreweryPI craftbeerpiboot[287]: Starting system CraftBeerPI daemon:.

pi@BreweryPI:~ $ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.13 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::d44d:86eb:67c0:2f6e prefixlen 64 scopeid 0x20<link>
ether 00:0f:60:07:b1:b7 txqueuelen 1000 (Ethernet)
RX packets 503 bytes 47084 (45.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 174 bytes 22253 (21.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

did the ifconfig command to get my ip address. so on my desktop computer on my local network I try going to the URL: http://192.168.1.13:5000

and I got the following error in my chrome browser:
This site can’t be reached
192.168.1.13 refused to connect.

what i'm I missing.

TIA.
 
I’ve got a problem, too:

I’m having a problem with the software when accessing from either an Android or Apple. All of the buttons on the interface work EXCEPT for the recipe schedule. So, I can operate all of my equipment, but I can’t run an automated recipe, nor can I even create or import one from either of my phones.

This button works perfectly well if I access Craftbeer Pi directly on the Raspberry Pi with a mouse and keyboard.
 

Attachments

  • 1290A279-D8B0-47D4-AC54-F55B6B4B54FF.jpeg
    1290A279-D8B0-47D4-AC54-F55B6B4B54FF.jpeg
    331.9 KB · Views: 259
Hello,
It will maybe very stupid question but i want ask. I search SSR and see there are some difference of them. For example one has 3-32V control other 4,5-32V. Did CBpi have some specific SSR ? For my cotroll unit i want use Carlo Gavazzi RM1A48D50 did will be ok ?

RaspberryPi is a 3.6V device, but the pins do not deliver too much current. It could work, but is much better to put some buffer ( transistor or ULN2803 ) in between and drive the SSR with 12V. That's is what the interface cards does.
 
I’ve got a problem, too:

I’m having a problem with the software when accessing from either an Android or Apple. All of the buttons on the interface work EXCEPT for the recipe schedule. So, I can operate all of my equipment, but I can’t run an automated recipe, nor can I even create or import one from either of my phones.

This button works perfectly well if I access Craftbeer Pi directly on the Raspberry Pi with a mouse and keyboard.
Is a know bug of the UI.
If you set the browser to "PC version" ( "Version para Ordenador" on mine ) it works ok.
 
have problems connecting to my new install. The install seemed to go well on a new install of Raspbian Stretch Lite. I was able to ssh into my RPI and completed the install. set craftbeerpi to start automatically on startup.

I think the status looks okay

pi@BreweryPI:~ $ sudo /etc/init.d/craftbeerpiboot status
● craftbeerpiboot.service - LSB: Put a short description of the service here
Loaded: loaded (/etc/init.d/craftbeerpiboot; generated; vendor preset: enabled)
Active: active (exited) since Mon 2018-12-10 23:00:33 GMT; 5min ago
Docs: man:systemd-sysv-generator(8)
Process: 287 ExecStart=/etc/init.d/craftbeerpiboot start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/craftbeerpiboot.service

Dec 10 23:00:32 BreweryPI systemd[1]: Starting LSB: Put a short description of the service here...
Dec 10 23:00:33 BreweryPI systemd[1]: Started LSB: Put a short description of the service here.
Dec 10 23:00:33 BreweryPI craftbeerpiboot[287]: Starting system CraftBeerPI daemon:.

pi@BreweryPI:~ $ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.13 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::d44d:86eb:67c0:2f6e prefixlen 64 scopeid 0x20<link>
ether 00:0f:60:07:b1:b7 txqueuelen 1000 (Ethernet)
RX packets 503 bytes 47084 (45.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 174 bytes 22253 (21.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

did the ifconfig command to get my ip address. so on my desktop computer on my local network I try going to the URL: http://192.168.1.13:5000

and I got the following error in my chrome browser:
This site can’t be reached
192.168.1.13 refused to connect.

what i'm I missing.

TIA.

Assure that the CBPi process is still running.

with "netstat -lntp" you will see python listening on port 5000.

Code:
 sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      30497/python

if you stop CBPI an do :
Code:
 cd /home/pi/craftbeerpi3/
sudo ./run.py

you can see the program chrash, if that is the case.
 
Last edited:
Assure that the CBPi process is still running.

with "netstat -lntp" toy will see python listening on port 5000.

Code:
 sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      30497/python

Thank you for your help. You pointed out to me, indirectly, I was not running CBPi 3 . I re-flashed my RPI and did a clean install off Raspbian and installed CBPi 3 and all is working now. Thanks!
 
Evening All.

I'm considering a build with a good deal of automation so I've got questions I hope you will help me with.

Can the CBPi control valves on a timer?
Example in 40 mins close one valve and open another.

How many sets of valves can it manage?
For instance can it divert wort flow into a cooling coil and start the water flow? So that's 1 valve to divert the flow and 1 for the water BUT the water must start 10 mins after the wort enters the coil.

Can the CBPi use the temperature probe to monitor cooling and open and close valves when the temperature has reached a setpoint?
Example diverting the flow to a FV and stopping the cooling water.

Any chance of automating hop additions, I'd probably use a stepper motor?

Just how hard would it be to set that lot up?


I know that I've posted a lot of questions, I didn't fancy reading my way through 33 pages, and thanks for looking them over.


Atb. Aamcle
 
Well. The short answer is YES.

There is no limit to the number of sensors and valves or actuators in general.
You will have to mix n match the steps to do it but yes.
There are several plugins for controling vessel temp, delay, move valves and even hop dropping.

Keep reading, set up a RPi and enjoy. ;-)

Evening All.

I'm considering a build with a good deal of automation so I've got questions I hope you will help me with.

Can the CBPi control valves on a timer?
Example in 40 mins close one valve and open another.

How many sets of valves can it manage?
For instance can it divert wort flow into a cooling coil and start the water flow? So that's 1 valve to divert the flow and 1 for the water BUT the water must start 10 mins after the wort enters the coil.

Can the CBPi use the temperature probe to monitor cooling and open and close valves when the temperature has reached a setpoint?
Example diverting the flow to a FV and stopping the cooling water.

Any chance of automating hop additions, I'd probably use a stepper motor?

Just how hard would it be to set that lot up?


I know that I've posted a lot of questions, I didn't fancy reading my way through 33 pages, and thanks for looking them over.


Atb. Aamcle
 
Hey all,

Other than starting at the beginning of this thread (33 pages long), is there a one stop shop procedure for getting CraftBeerPi set up on a RPi? Has anyone created a setup procedure and published it? Or is the best place to get that info still on the web site? It just seems like a lot of folks have issues setting everything up and have to jump on here to solve it?

Also, if I have a couple of special procedures to operate stepper motors and I need to perform them at various points in my recipe, is it fairly straight-forward to develop add-ins and have them executed at the right time? I am a software engineer so the coding is a no brainer, but I have not looked at the CraftBeerPi code yet, so this is just a preliminary question.
 
Back
Top