Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

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.
What benefits does Weaved have that .htaccess password protection doesn't give me? In FuzzeWuzze's post on a cheap BrewPi, someone posted up code to create a public access page with the current state and the graph, but removes the Start/Stop Script, Maintenance Panel, and the Temperature Control pane. I was really fond of that setup.

If my reading of what Weaved does is correct, it's basically a reverse proxy (allowing you to connect externally to something that is internal to your setup).

In your case, you're explicitly port forwarding, so .htaccess will work fine for your use. If you didn't want to forward ports (or couldn't in your environment) then you could use Weaved instead.

Again - this is based on a reading of their website though, I haven't actually used Weaved to be able to acknowledge one way or another.
 
What benefits does Weaved have that .htaccess password protection doesn't give me? In FuzzeWuzze's post on a cheap BrewPi, someone posted up code to create a public access page with the current state and the graph, but removes the Start/Stop Script, Maintenance Panel, and the Temperature Control pane. I was really fond of that setup.
Well, not to be a smart@$$ but, it works and right now your .htaccess doesn't. It's secure without having to worry about doing the work yourself to prevent hacking. It does remove public access to your page, but let's face it, folks don't really want to monitor our beer anyway.

Anyway, you said you were having an issue and you were presented with a possible solution. I can verify it works very nicely. I'm not sure how to help with the .htaccess.

I set up the .htaccess myself once and I found it rather fiddly to set up. Once it was working it was nice but it was pretty fragile since it "broke" without me really doing anything (or so I thought anyway.)

ETA: Thorrak is correct. I find a reverse proxy somewhat more secure since the port closes down if the daemon is not running to accept connections.
 
Well, not to be a smart@$$ but, it works and right now your .htaccess doesn't.

Hah! Very true!

but let's face it, folks don't really want to monitor our beer anyway.
:(

Probably. To that end, I was able to get .htaccess working for EVERYTHING, but wasn't able to whitelist a public page, that was the issue I was really having. I can get protection up, but it's just dumb protection.

Maybe I'll drop a line on Fuzze's post if I manage to get it for the updated Apache2 system, and until then deal with full site lockdown with .htaccess
 
This is. Huge thread but I seem to remember that someone had to change the webacess mid way through. I posted a link to it on the official brewpi website that includes the tweaks you need to make to get the htpasswd access working. Weaved just means you can have a stock install of brewpi and access it outside your network. If you want to share your brewpi graphs etc externally it won't work for that.
 
Okay I have my level shifer and display. Now I'm just waiting for @Thorrak to get bored enough to do a final update to the PCB. ;)

giphy.gif
 
Yessir ... I think that's all that was left? I'll scroll back here in a sec.

BTW the cat is me, laying about, not you. ;)

Yep, I think so. I'll be honest - the only part I'm worried about is the level shifter board. It's the only part I don't have an eagle schematic for :eek:

Trying to see if there's something I can use to fake it out there!
 
Yep, I think so. I'll be honest - the only part I'm worried about is the level shifter board. It's the only part I don't have an eagle schematic for :eek:

Trying to see if there's something I can use to fake it out there!
Before I say anything stupid ... let's understand I have no idea what I'm talking about ..... :p

There are level shifters in the Fritzing library. I am not home right now so I can't see if they are the same size but looking at your picture zoomed in it seems like it. And then there are Fritzing to Eagle converters that I've seen.

Of course it may be that just having the right size is not everything and I have no idea what I am talking about too. :)

Capture.PNG
 
Before I say anything stupid ... let's understand I have no idea what I'm talking about ..... :p

There are level shifters in the Fritzing library. I am not home right now so I can't see if they are the same size but looking at your picture zoomed in it seems like it. And then there are Fritzing to Eagle converters that I've seen.

Of course it may be that just having the right size is not everything and I have no idea what I am talking about too. :)

Actually, that's not a half-bad idea. I found the board you included the image of on Sparkfun's site, and they apparently have a pre made eagle library. I'm not at home to test it, but this might be the answer:
http://cdn.sparkfun.com/datasheets/BreakoutBoards/Logic_Level_Converter.zip

Of course, I've got a cheap Chinese clone of the Sparkfun board, but surely they would have copied the footprint as well -- right? ;)
 
The new PCB is complete for those who are interested.

As requested by @LBussy, this version is (almost) entirely through-hole, and uses screw terminals rather than dupont connectors. It also has the level shifter as a separate board, based on the Sparkfun footprint (where you can get knock-off versions of the board from AliExpress inexpensively as well). The only part which violates this is buzzer - given that this isn't implemented yet, I broke out the pins for future compatibility but left them using pin headers.

https://PCBs.io/share/46AR1 - Current board cost is $15.12 shipped for 4 (~$3.78/ea).

BOM to build this board:
1x 2-Screw Screw Terminal
2x 4-Screw Screw Terminal (Alternatively, 4x 2-screw screw terminals)
1x WeMos D1 Mini/Mini Pro ESP8266 Board
1x Sparkfun-based level shifter
1x 10k through-hole resistor
1x 2-pin Pin Header
1x RJ-11 Jack

You will also need some form of +5V power supply to run the board.

I'll add the eagle files for the schematic to the GitHub repo this weekend in case anyone has a preferred fab house other than PCBs.io. I'm going to make a version which is for Dupont cables as well - this should substantially reduce the footprint & board cost.
 
This is awesome, thank you for all your hard work! I ordered the boards, I'll probably order the Dupont connector version as well.

I would not be me without asking some questions. :)

Are these the right terminals?
I see you used a 10k instead of the typical 4.7k. Is there a reason? Is that sized for a 1/4w I assume?

And this will work for a header?
 
Can you post the link to the Ebay vendor of the Sparkfun-based level shifter and pcb mount RJ11 jacks. I see different size footprints on Ebay.
Thanks
 
Can you post the link to the Ebay vendor of the Sparkfun-based level shifter and pcb mount RJ11 jacks. I see different size footprints on Ebay.
Thanks
Not eBay, but these are the links Thorakk posted previously:

Level Shifter
RJ-11 Jacks on AliExpress - 4 @ $3.76

LCD Screen:
 
Last edited by a moderator:
This is. Huge thread but I seem to remember that someone had to change the webacess mid way through. I posted a link to it on the official brewpi website that includes the tweaks you need to make to get the htpasswd access working. Weaved just means you can have a stock install of brewpi and access it outside your network. If you want to share your brewpi graphs etc externally it won't work for that.

I tried picking through that thread yesterday for a brief moment, I'll try diving headfirst next time I get time.

@Thorrak, one thing I'm curious about are a couple of the controller settings don't seem to be settable, specifically the Cooler Minimum Off Time and On Time to try and keep the compressor from cycling too quick. Are those features unavailable with this setup?
 
I tried picking through that thread yesterday for a brief moment, I'll try diving headfirst next time I get time.

@Thorrak, one thing I'm curious about are a couple of the controller settings don't seem to be settable, specifically the Cooler Minimum Off Time and On Time to try and keep the compressor from cycling too quick. Are those features unavailable with this setup?

I'll be honest - I didn't know they existed. What screen are they on? I can try to dig through the code and see where they are implemented - if they aren't in there, I can try to get them added.
 
This is awesome, thank you for all your hard work! I ordered the boards, I'll probably order the Dupont connector version as well.

Glad to help! The Dupont version is closer to the version I'll end up ordering myself, I think. The final version I'll end up using will have SMD resistor & on-board level shifter, ideally mounted beneath the ESP8266 mount point. Smaller footprint = cheaper board, and all. We'll see though - Haven't made it yet!

I really need to get the files added to GitHub so I can start organizing. Apologies on that.

Are these the right terminals?

Yep!

I see you used a 10k instead of the typical 4.7k. Is there a reason?

Nope!

I think I read some tutorial initially on wiring up DS18B20 sensors that recommended a 10k resistor. Honestly, it will probably work with either.

Is that sized for a 1/4w I assume?

Yep! I used the "vertical" orientation (where you aren't pulling the resistor tight against the board) so different wattages will probably work. This uses the "207" package (which I think is generally 1/4w).

And this will work for a header?

Yep! Just break off 2 pins. These also are the same size as the Dupont cables, so they'll be properly sized for that version of the board. :)
 
Can you post the link to the Ebay vendor of the Sparkfun-based level shifter and pcb mount RJ11 jacks. I see different size footprints on Ebay.
Thanks

Level shifter, I believe you want this footprint:
http://www.ebay.com/itm/2-Channel-L...460145?hash=item43e04580b1:g:KFAAAOSwu4BVtyx-

There are a bunch of vendors that sell that footprint so you should be able to use any of them.

For RJ-11 this one would work:
http://www.ebay.com/itm/10Pcs-RJ11-...425914?hash=item2a70393d7a:g:wIgAAOSwdIFXz-yA

Honestly, I'm not too familiar with the different jack model numbers/types, but I do know a PCB I had made with this footprint works with the jacks I have sitting on my desk, and the jacks were 95001-6P6C.
 
I tried picking through that thread yesterday for a brief moment, I'll try diving headfirst next time I get time.



@Thorrak, one thing I'm curious about are a couple of the controller settings don't seem to be settable, specifically the Cooler Minimum Off Time and On Time to try and keep the compressor from cycling too quick. Are those features unavailable with this setup?


Page 269 is the info I followed to open up my brewpi password protected.

https://www.homebrewtalk.com/showthread.php?t=466106&page=269

If that link doesn't take you there take a look here and the link I posted should work.

https://community.brewpi.com/t/remote-access-viewing/512/14
 
Link? I was unable to find them there ... my Google-fu failed me.

These should work:
https://www.aliexpress.com/item/100...ctor-5mm-Pitch-Free-Shipping/32700056337.html

A trick with the 2 pin screw terminals is that they generally have a little "slot" on one side that can be used to attach them together to make a 4 pin screw terminal (or longer). This is $3.66 for a 100 pack, shipped, but you can get smaller packs for less including shipping. Loads of options.

The only real trick is to make sure you're getting the 5mm pitch terminals. As long as you do that, you're good.
 
The new PCB is complete for those who are interested.

As requested by @LBussy, this version is (almost) entirely through-hole, and uses screw terminals rather than dupont connectors. It also has the level shifter as a separate board, based on the Sparkfun footprint (where you can get knock-off versions of the board from AliExpress inexpensively as well). The only part which violates this is buzzer - given that this isn't implemented yet, I broke out the pins for future compatibility but left them using pin headers.

https://PCBs.io/share/46AR1 - Current board cost is $15.12 shipped for 4 (~$3.78/ea).

BOM to build this board:
1x 2-Screw Screw Terminal
2x 4-Screw Screw Terminal (Alternatively, 4x 2-screw screw terminals)
1x WeMos D1 Mini/Mini Pro ESP8266 Board
1x Sparkfun-based level shifter
1x 10k through-hole resistor
1x 2-pin Pin Header
1x RJ-11 Jack

You will also need some form of +5V power supply to run the board.

I'll add the eagle files for the schematic to the GitHub repo this weekend in case anyone has a preferred fab house other than PCBs.io. I'm going to make a version which is for Dupont cables as well - this should substantially reduce the footprint & board cost.


Just in case anyone in the U.K. Is interested I've ordered some of these boards and as postage was free it was actually a £11.33 which i didn't think was too bad.
 
Stupid question time: The level shifter is marked with Rx and Tx. Which of those corresponds to SCL and SDA? I thought since the level shifter was pi-directional it would not matter, but I thought I should ask before letting any smoke out.
 
I have update the drawing to include a quickport, 110v outlet, and main incoming power. Still haven't printed. Should be doing that in the next day or two.

http://www.thingiverse.com/thing:1730607

Will be adding adding breadboard mount in the coming revisions.

cn6xSLM.png
@Juba409 I'm unable to get the lid for this to scale correctly. What was it modeled in?
 
I'll be honest - I didn't know they existed. What screen are they on? I can try to dig through the code and see where they are implemented - if they aren't in there, I can try to get them added.

The latest version does include this feature.
The version we adapted defines those parameters as constant values, in TempControl.h.
 
Stupid question time: The level shifter is marked with Rx and Tx. Which of those corresponds to SCL and SDA? I thought since the level shifter was pi-directional it would not matter, but I thought I should ask before letting any smoke out.

It is bi-directional. The important part is the high and low voltage pins being oriented correctly.
 
Next board is up (with the same screw locations for consistency): https://PCBs.io/share/rJA3K

This board has:
  • Built in level shifter
  • SMD Components
  • Dupont Connectors

$11.80 for 4, so a touch cheaper than the previous one as well. This is the board I'm going to use myself, incidentally. Fewer components. :)


Bill of Materials:
1x 2-Pin 5mm Pitch Screw Terminal
1x 2-Pin Pin Header
2x 4-Pin Pin Header
5x 10k 0805 Resistor
2x BSS138 MOSFET
1x RJ-11 Jack
1x WeMos D1 Mini ESP8266 board

Note - I'm contemplating swapping out the 0805 resistors for 1206. We have room on the board, and they're easier to solder. Anyone have any preference on this?
 
Next board is up (with the same screw locations for consistency): https://PCBs.io/share/rJA3K

This board has:
  • Built in level shifter
  • SMD Components
  • Dupont Connectors

$11.80 for 4, so a touch cheaper than the previous one as well. This is the board I'm going to use myself, incidentally. Fewer components. :)
While I can't see me volunteering for SMD components, I expect those that would are going to need a parts list? Or is it that people who do SMD can decipher what's going on there? :)
 
While I can't see me volunteering for SMD components, I expect those that would are going to need a parts list? Or is it that people who do SMD can decipher what's going on there? :)

I would love to see a parts list as well.
 
One last board - This one a mix between the first two. This retains the separate level shifter board and through hole components, but swaps out the LCD/Relay screw terminals for pin headers for use with dupont cables.

https://PCBs.io/share/46AL1

Bill of Materials:
1x 2-Pin 5mm Pitch Screw Terminal
1x 2-Pin Pin Header
2x 4-Pin Pin Header
1x 10k 1/4 Watt Resistor
1x Sparkfun (or compatible) Level Shifter
1x RJ-11 Jack
1x WeMos D1 Mini ESP8266 board
 
While I can't see me volunteering for SMD components, I expect those that would are going to need a parts list? Or is it that people who do SMD can decipher what's going on there? :)

I would love to see a parts list as well.

Yeah - that probably would have been helpful. Bill of materials is as follows:

Bill of Materials:
1x 2-Pin 5mm Pitch Screw Terminal
1x 2-Pin Pin Header
2x 4-Pin Pin Header
5x 10k 0805 Resistor
2x BSS138 MOSFET
1x RJ-11 Jack
1x WeMos D1 Mini ESP8266 board
 
Back
Top