BrewmaniacEX

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.
Opa Dumpa.
Gostaria de saber qual a melhor forma de utilizar.
A quantidade que uso para infusão é de uns 25 litros.
Coloco essa quantidade e configuro o autotune para a temperatura de infusão?
Quanto Tempo demora?
Funciona mesmo? Vale o tempo gasto?

Obrigado.

sim, qual a dúvida?
 
Last edited:
Opa Dumpa.
Gostaria de saber qual a melhor forma de utilizar.
A quantidade que uso para infusão é de uns 25 litros.
Coloco essa quantidade e configuro o autotune para a temperatura de infusão?
Quanto Tempo demora?
Funciona mesmo? Vale o tempo gasto?

Obrigado.

Normalmente é recomendado a água de mostura que normalmente vc usa e o setpoint dela. O tempo gasto é relativo, depende do material do equipamento, volume, temperatura ambiente... Em teoria é para funcionar. Mas basicamente ele vai ficar esquentando e deixando esfriar e sucessivamente e tentando manter o SP.

AUTO-TUNE
• Adicione água
• Entre no modo manual
• Configure a temperatura desejada, por ex. 50 ºC
• Ligue a resistência (HEAT) e a bomba se desejar ter a recirculação (recomendado)
• Quando atingir o SP segure o botão da resistência por uns 2s e solte, vai aparecer a pergunta TUNE PID? coloque SIM
• O TUNE PID irá começar e fará os ajustes necessários nos parâmetros
• Quando terminar os parâmetros estarão armazenados automaticamente
 
O autotune funciona bem sim, no meu equipamento leva cerca de 10 minutos.

Se fizer só com água o resultado já fica muito bom, mas para melhores resultados recomendo que faça exatamente da forma que costuma ser sua brassagem, com a mesma quantidade de água e malte.

Por exemplo, no dia que for brassar põe a água e o malte na panela, segue as instruções do dumpa programando o autotune para 50ºC, depois segue normalmente para suas rampas de sacarificação. Vai acrescentar muito pouco ao seu tempo de brassagem e seu aparelho vai ficar bem ajustado.
 
Opa,
Você diz para colocar o malte com a agua fria e setar para 50 graus?
Ou esquento até 50 graus, coloco o malte e seto o autotune?
Isso não irá afetar a densidade pré fervura, etc?

Obrigado!
O autotune funciona bem sim, no meu equipamento leva cerca de 10 minutos.

Se fizer só com água o resultado já fica muito bom, mas para melhores resultados recomendo que faça exatamente da forma que costuma ser sua brassagem, com a mesma quantidade de água e malte.

Por exemplo, no dia que for brassar põe a água e o malte na panela, segue as instruções do dumpa programando o autotune para 50ºC, depois segue normalmente para suas rampas de sacarificação. Vai acrescentar muito pouco ao seu tempo de brassagem e seu aparelho vai ficar bem ajustado.
 
Alguém pode ajudar?
Seto para 50 graus e coloco o malte. Ligo o autotune e depois avanço para a temp de infusão. Isso eu entendi.
A minha dúvida é se isso vai alterar alguma coisa na receita do beersmith.

Obrigado.

Opa,
Você diz para colocar o malte com a agua fria e setar para 50 graus?
Ou esquento até 50 graus, coloco o malte e seto o autotune?
Isso não irá afetar a densidade pré fervura, etc?

Obrigado!
 
Alguém pode ajudar?
Seto para 50 graus e coloco o malte. Ligo o autotune e depois avanço para a temp de infusão. Isso eu entendi.
A minha dúvida é se isso vai alterar alguma coisa na receita do beersmith.

Obrigado.

Nunca fiz assim, mas entendi isso também, então coloca a água, seta para sua temp. desejada, um pouco antes adicione o malte, vai ocorrer queda de temperatura e o PID vai tentar compensar e passará do setpoint se colocar quando atingir, por isso acho que antes é o ideal. Quando atingir acione o autune e depois que ele finalizar siga com a brassagem. Mas tem vez que leva 1h o auto tune, um colega fez essa semana só com água e está brassando neste momento, o máximo que passou foi 0.5 ºC, na rampa de 66 ºC está se mantendo em 66.11 ºC.
 
Bom dia, pessoal.
Alguém sabe o que significam os números 2, 1, 8 e 4 abaixo?
Consegui alterar os mapeamentos para a bomba, sensor e heater para a placa do Mazza mas somente os botões não estão funcionando.
Na placa dele, os botões foram associados aos pinos P1, P2, P3 e P4. Originalmente seriam nos P0, P1, P2 e P3.
Achei que esses números eram os pinos do PCF8574 mas aparentemente não é isso.
Refiz o código pois troquei o D1 por um D1 pro.

#define ButtonUpPin 2 // P1
#define ButtonDownPin 1 // p0 NODEMCU_PIN_D4
#define ButtonStartPin 8 //P3 NODEMCU_PIN_D5
#define ButtonEnterPin 4 //P2 NODEMCU_PIN_D6

Abs,
 
Last edited:
Já consegui!

Abs,

Bom dia, pessoal.
Alguém sabe o que significam os números 2, 1, 8 e 4 abaixo?
Consegui alterar os mapeamentos para a bomba, sensor e heater para a placa do Mazza mas somente os botões não estão funcionando.
Na placa dele, os botões foram associados aos pinos P1, P2, P3 e P4. Originalmente seriam nos P0, P1, P2 e P3.
Achei que esses números eram os pinos do PCF8574 mas aparentemente não é isso.
Refiz o código pois troquei o D1 por um D1 pro.

#define ButtonUpPin 2 // P1
#define ButtonDownPin 1 // p0 NODEMCU_PIN_D4
#define ButtonStartPin 8 //P3 NODEMCU_PIN_D5
#define ButtonEnterPin 4 //P2 NODEMCU_PIN_D6

Abs,
 
Opa,

Eu ia coloca meu pins.h aqui, mas verifiquei umas inconsistências (número dos BUS com relação aos D0, D5, etc).

Vou revisar aqui.

Poderia me passar as alterações que você fez no código para funcionar com a placa do mazza?

Eu até identifiquei algumas, mas queria confirmar antes de alterar e por na placa 😅
 
Last edited:
Segue o conteúdo do pins.h
Peço por favor que revise e teste o funcionamento. Não me responsabilizo por possíveis problemas ocasionados. Abs!

#ifndef PINS_H
#define PINS_H
#include <pcf8574_esp.h>
/*
#define NODEMCU_PIN_A0 17
#define NODEMCU_PIN_D8 15 Buzzer
#define NODEMCU_PIN_D1 5 [I/O]SCL // I2C
#define NODEMCU_PIN_D2 4 [I/O]SDA // I2C
#define NODEMCU_PIN_D3 0
#define NODEMCU_PIN_D4 2
#define NODEMCU_PIN_D5 14 Pump
#define NODEMCU_PIN_D6 12 Sensor
#define NODEMCU_PIN_D0 16 Heater
#define NODEMCU_PIN_D7 13 AuxHeater
*/
#define BUTTON_USE_EXT true
#define HEATER_USE_EXT false
#define PUMP_USE_EXT false
#define BUZZER_USE_EXT false
//#define PUMP_INVERTED_LOGIC true
// with all address pins grounded, PCF8574 is 0x20 while pCF8574A is 0x38
#define PCF8574_ADDRESS 0x20
//#define PCF8574_ADDRESS 0x38
//Using ESP8266 PINs as input seems to be a good idea
#define I2C_SCL NODEMCU_PIN_D1
#define I2C_SDA NODEMCU_PIN_D2
#define SensorPin NODEMCU_PIN_D6

#define AuxHeatControlPin NODEMCU_PIN_D7
// the following pin are group into Output & Input
// Input is for button, while output is for heater,pump, and buzzer.
#if BUTTON_USE_EXT !=true
#define ButtonUpPin NODEMCU_PIN_D3
#define ButtonDownPin NODEMCU_PIN_D4
#define ButtonStartPin NODEMCU_PIN_D5
#define ButtonEnterPin NODEMCU_PIN_D7
#else
#define ButtonUpPin 2 // P1
#define ButtonDownPin 4 // p2 NODEMCU_PIN_D4
#define ButtonStartPin 8 //P3 NODEMCU_PIN_D5
#define ButtonEnterPin 16 //P4 NODEMCU_PIN_D6
#endif
#if EnableLevelSensor
#define LevelSensorOnIoExpander false
#if LevelSensorOnIoExpander
#define LevelSensorIOExpPin 32 //P5
#else
#define LevelSensorPin NODEMCU_PIN_D7
#endif
#define SensorNormalCloseOnNotFull true
#endif
#if PUMP_USE_EXT != true
#define PumpControlPin NODEMCU_PIN_D5
#else
#define ExPumpControlPin 5
#endif
#if HEATER_USE_EXT != true
#define HeatControlPin NODEMCU_PIN_D0
#define ExHeatControlPin 3
#endif
#if BUZZER_USE_EXT != true
#define BuzzControlPin NODEMCU_PIN_D7
#else
#define ExBuzzControlPin 6
#endif

#if (BUTTON_USE_EXT == true) || (HEATER_USE_EXT == true) || (PUMP_USE_EXT == true) ||( BUZZER_USE_EXT == true)
PCF8574 pcf8574(PCF8574_ADDRESS,I2C_SDA, I2C_SCL);
#endif
// Buttons are INPUT
// byte btnReadPin(byte p){ return digitalRead(p);}
#if BUTTON_USE_EXT !=true
void btnPrepareRead(void){}
#define btnReadPin digitalRead
#else
byte _portvalue;
void btnPrepareRead(void)
{
_portvalue=pcf8574.read8();
}
byte btnReadPin(byte pin)
{
return (_portvalue & pin);
}
#endif
// Heater, Pump, Buzz are OUTPUTs
inline void setHeaterOut(byte v)
{
#if HEATER_USE_EXT != true
digitalWrite (HeatControlPin, v);
#else
pcf8574.write(ExHeatControlPin,v);
#endif
}
inline void setPumpOut(byte v)
{
#if PUMP_USE_EXT != true
#if PUMP_INVERTED_LOGIC
digitalWrite (PumpControlPin, (v==LOW)? HIGH:LOW);
#else
digitalWrite (PumpControlPin, v);
#endif
#else
pcf8574.write(ExPumpControlPin,v);
#endif
}
inline void setBuzzOut(byte v)
{
#if BUZZER_USE_EXT != true
digitalWrite (BuzzControlPin, v);
#else
pcf8574.write(ExBuzzControlPin,v);
#endif
}
#if SpargeHeaterSupport == true
inline void setAuxHeaterOut(byte v)
{
digitalWrite (AuxHeatControlPin, v);
}
#endif
#if SecondaryHeaterSupport == true
inline void setSecondaryHeaterOut(byte v)
{
digitalWrite (AuxHeatControlPin, v);
}
#endif
void initIOPins(void)
{
#if (BUTTON_USE_EXT == true) || (HEATER_USE_EXT == true) || (PUMP_USE_EXT == true) ||( BUZZER_USE_EXT == true)
// pcf8574.begin();
#endif
#if BUTTON_USE_EXT !=true
pinMode (ButtonUpPin, INPUT_PULLUP);
pinMode (ButtonDownPin, INPUT_PULLUP);
pinMode (ButtonStartPin, INPUT_PULLUP);
pinMode (ButtonEnterPin, INPUT_PULLUP);
#else
_portvalue=0;
#endif
#if HEATER_USE_EXT != true
pinMode (HeatControlPin, OUTPUT);
#endif
setHeaterOut(LOW);
#if PUMP_USE_EXT != true
pinMode (PumpControlPin, OUTPUT);
#endif
setPumpOut(LOW);
#if BUZZER_USE_EXT != true
pinMode (BuzzControlPin, OUTPUT);
#endif
setBuzzOut(LOW);
#if SpargeHeaterSupport == true
pinMode (AuxHeatControlPin, OUTPUT);
setAuxHeaterOut(LOW);
#endif
#if EnableLevelSensor
#if LevelSensorOnIoExpander != true
pinMode (LevelSensorPin, INPUT_PULLUP);
#endif
#endif
}
#if EnableLevelSensor
// close/connected/ground: not full
// open/disconnected/V+: full
#if SensorNormalCloseOnNotFull
#if LevelSensorOnIoExpander
bool isWaterLevelFull(void){
// _portvalue is read for button every loop cycle
return (_portvalue & LevelSensorIOExpPin) !=0;
}
#else
bool isWaterLevelFull(void){
return digitalRead(LevelSensorPin) != 0;
}
#endif
#else
#if LevelSensorOnIoExpander
bool isWaterLevelFull(void){
// _portvalue is read for button every loop cycle
return (_portvalue & LevelSensorIOExpPin) ==0;
}
#else
bool isWaterLevelFull(void){
return digitalRead(LevelSensorPin) == 0;
}
#endif
#endif //#if SensorNormalCloseOnNotFull
#endif // EnableLevelSensor

#endif
 
Segue o conteúdo do pins.h
Peço por favor que revise e teste o funcionamento. Não me responsabilizo por possíveis problemas ocasionados. Abs!

#ifndef PINS_H
#define PINS_H
#include <pcf8574_esp.h>
/*
#define NODEMCU_PIN_A0 17
#define NODEMCU_PIN_D8 15 Buzzer
#define NODEMCU_PIN_D1 5 [I/O]SCL // I2C
#define NODEMCU_PIN_D2 4 [I/O]SDA // I2C
#define NODEMCU_PIN_D3 0
#define NODEMCU_PIN_D4 2
#define NODEMCU_PIN_D5 14 Pump
#define NODEMCU_PIN_D6 12 Sensor
#define NODEMCU_PIN_D0 16 Heater
#define NODEMCU_PIN_D7 13 AuxHeater
*/
#define BUTTON_USE_EXT true
#define HEATER_USE_EXT false
#define PUMP_USE_EXT false
#define BUZZER_USE_EXT false
//#define PUMP_INVERTED_LOGIC true
// with all address pins grounded, PCF8574 is 0x20 while pCF8574A is 0x38
#define PCF8574_ADDRESS 0x20
//#define PCF8574_ADDRESS 0x38
//Using ESP8266 PINs as input seems to be a good idea
#define I2C_SCL NODEMCU_PIN_D1
#define I2C_SDA NODEMCU_PIN_D2
#define SensorPin NODEMCU_PIN_D6

#define AuxHeatControlPin NODEMCU_PIN_D7
// the following pin are group into Output & Input
// Input is for button, while output is for heater,pump, and buzzer.
#if BUTTON_USE_EXT !=true
#define ButtonUpPin NODEMCU_PIN_D3
#define ButtonDownPin NODEMCU_PIN_D4
#define ButtonStartPin NODEMCU_PIN_D5
#define ButtonEnterPin NODEMCU_PIN_D7
#else
#define ButtonUpPin 2 // P1
#define ButtonDownPin 4 // p2 NODEMCU_PIN_D4
#define ButtonStartPin 8 //P3 NODEMCU_PIN_D5
#define ButtonEnterPin 16 //P4 NODEMCU_PIN_D6
#endif
#if EnableLevelSensor
#define LevelSensorOnIoExpander false
#if LevelSensorOnIoExpander
#define LevelSensorIOExpPin 32 //P5
#else
#define LevelSensorPin NODEMCU_PIN_D7
#endif
#define SensorNormalCloseOnNotFull true
#endif
#if PUMP_USE_EXT != true
#define PumpControlPin NODEMCU_PIN_D5
#else
#define ExPumpControlPin 5
#endif
#if HEATER_USE_EXT != true
#define HeatControlPin NODEMCU_PIN_D0
#define ExHeatControlPin 3
#endif
#if BUZZER_USE_EXT != true
#define BuzzControlPin NODEMCU_PIN_D7
#else
#define ExBuzzControlPin 6
#endif

#if (BUTTON_USE_EXT == true) || (HEATER_USE_EXT == true) || (PUMP_USE_EXT == true) ||( BUZZER_USE_EXT == true)
PCF8574 pcf8574(PCF8574_ADDRESS,I2C_SDA, I2C_SCL);
#endif
// Buttons are INPUT
// byte btnReadPin(byte p){ return digitalRead(p);}
#if BUTTON_USE_EXT !=true
void btnPrepareRead(void){}
#define btnReadPin digitalRead
#else
byte _portvalue;
void btnPrepareRead(void)
{
_portvalue=pcf8574.read8();
}
byte btnReadPin(byte pin)
{
return (_portvalue & pin);
}
#endif
// Heater, Pump, Buzz are OUTPUTs
inline void setHeaterOut(byte v)
{
#if HEATER_USE_EXT != true
digitalWrite (HeatControlPin, v);
#else
pcf8574.write(ExHeatControlPin,v);
#endif
}
inline void setPumpOut(byte v)
{
#if PUMP_USE_EXT != true
#if PUMP_INVERTED_LOGIC
digitalWrite (PumpControlPin, (v==LOW)? HIGH:LOW);
#else
digitalWrite (PumpControlPin, v);
#endif
#else
pcf8574.write(ExPumpControlPin,v);
#endif
}
inline void setBuzzOut(byte v)
{
#if BUZZER_USE_EXT != true
digitalWrite (BuzzControlPin, v);
#else
pcf8574.write(ExBuzzControlPin,v);
#endif
}
#if SpargeHeaterSupport == true
inline void setAuxHeaterOut(byte v)
{
digitalWrite (AuxHeatControlPin, v);
}
#endif
#if SecondaryHeaterSupport == true
inline void setSecondaryHeaterOut(byte v)
{
digitalWrite (AuxHeatControlPin, v);
}
#endif
void initIOPins(void)
{
#if (BUTTON_USE_EXT == true) || (HEATER_USE_EXT == true) || (PUMP_USE_EXT == true) ||( BUZZER_USE_EXT == true)
// pcf8574.begin();
#endif
#if BUTTON_USE_EXT !=true
pinMode (ButtonUpPin, INPUT_PULLUP);
pinMode (ButtonDownPin, INPUT_PULLUP);
pinMode (ButtonStartPin, INPUT_PULLUP);
pinMode (ButtonEnterPin, INPUT_PULLUP);
#else
_portvalue=0;
#endif
#if HEATER_USE_EXT != true
pinMode (HeatControlPin, OUTPUT);
#endif
setHeaterOut(LOW);
#if PUMP_USE_EXT != true
pinMode (PumpControlPin, OUTPUT);
#endif
setPumpOut(LOW);
#if BUZZER_USE_EXT != true
pinMode (BuzzControlPin, OUTPUT);
#endif
setBuzzOut(LOW);
#if SpargeHeaterSupport == true
pinMode (AuxHeatControlPin, OUTPUT);
setAuxHeaterOut(LOW);
#endif
#if EnableLevelSensor
#if LevelSensorOnIoExpander != true
pinMode (LevelSensorPin, INPUT_PULLUP);
#endif
#endif
}
#if EnableLevelSensor
// close/connected/ground: not full
// open/disconnected/V+: full
#if SensorNormalCloseOnNotFull
#if LevelSensorOnIoExpander
bool isWaterLevelFull(void){
// _portvalue is read for button every loop cycle
return (_portvalue & LevelSensorIOExpPin) !=0;
}
#else
bool isWaterLevelFull(void){
return digitalRead(LevelSensorPin) != 0;
}
#endif
#else
#if LevelSensorOnIoExpander
bool isWaterLevelFull(void){
// _portvalue is read for button every loop cycle
return (_portvalue & LevelSensorIOExpPin) ==0;
}
#else
bool isWaterLevelFull(void){
return digitalRead(LevelSensorPin) == 0;
}
#endif
#endif //#if SensorNormalCloseOnNotFull
#endif // EnableLevelSensor

#endif

Tudo correto.
Como vc falou que já tinha achado a solução, então nem respondi.
 
Bom dia pessoal. Ontem terminei a montagem de um controlador brewmaniac. Estou usando a versão 49 com sparge e antes de conectar a bomba e as resistências, me surgiu algumas dúvidas!

Primeira: Usando o BM no modo auto, percebi que ele liga a pump e heat e não liga o sparge, mas quando dou pause, ele desliga o heat e pump e liga o sparge. Não minha concepção, ele deveria ligar os 3, para que ao fim da mostura a agua do sparge já esteja na temperatura. Como não deixei muito tempo ligado, depois de um tempo ele liga a sparge?

Segunda: Usando o BM no manual, não vi um botão para ligar/desligar o sparge

Obrigado a todos!
 
Bom dia pessoal. Ontem terminei a montagem de um controlador brewmaniac. Estou usando a versão 49 com sparge e antes de conectar a bomba e as resistências, me surgiu algumas dúvidas!

Primeira: Usando o BM no modo auto, percebi que ele liga a pump e heat e não liga o sparge, mas quando dou pause, ele desliga o heat e pump e liga o sparge. Não minha concepção, ele deveria ligar os 3, para que ao fim da mostura a agua do sparge já esteja na temperatura. Como não deixei muito tempo ligado, depois de um tempo ele liga a sparge?

Segunda: Usando o BM no manual, não vi um botão para ligar/desligar o sparge

Obrigado a todos!

Resistência principal e resistência de sparge nunca atuam juntas, faz parte do projeto ser assim, sempre na pausa da principal a de sparge é acionada. No modo auto até o final da mostura a temperatura de sparge será atingida, não se preocupe. Modo manual não tem sparge.
 
Resistência principal e resistência de sparge nunca atuam juntas, faz parte do projeto ser assim, sempre na pausa da principal a de sparge é acionada. No modo auto até o final da mostura a temperatura de sparge será atingida, não se preocupe. Modo manual não tem sparge.
Dumpa, então enquanto a temperatura sobe a sparge fica desligada, chegou no setpoint, a sparge liga. Depois ficam alternando para manter ambas na temperatura correta?
Obrigado!
 
Dumpa, então enquanto a temperatura sobe a sparge fica desligada, chegou no setpoint, a sparge liga. Depois ficam alternando para manter ambas na temperatura correta?
Obrigado!

Isso, enquanto não atingir o SP da principal a de sparge não é acionada, quando está para atingir e o PID entra em ação a de sparge já começa a ser acionada, e faz isso durante toda a mostura nas pausas da principal.
 
Pessoal, bom dia!

Tenho em casa alguns ESP e resolvi montar um Brewmaniac com um deles.

Estou usando um ESP-07, que aparentemente tem 8Mbit de memória (1Mbyte)

Eu consegui gravar o firmware da versão 0.4.9, montei o display LCD via i2c está funcionando (mostrando o IP e a tela inicial), consegui acessar pela rede que ele cria "bm" e configurar o acesso a minha rede de casa.


Acontece que no momento que acesso ele, por meio do PC conectado a internet, é necessário atualizar o javascript/HTML

Neste momento, ocorre um erro que não foi possível descompactar o arquivo e não consigo prosseguir.

Perguntas
1- Consigo utilizar o ESP-07 com ele? Qual a memória mínima para rodar?

2- Qual a posição de memória que devo gravar o binário? É a partir do endereço 0x0000000?

3- Preciso gravar apenas o binário do brewmaniac direto, ou precisa fazer um conjunto de mais um outro binário? (Por exemplo, o do nodemcu)

4- Eu já fiz um procedimento de resetar a flash pela IDE do arduino. Tem algum outro procedimento antes de gravar o binário?

Alguém consegue me ajudar?

Fico muito agradecido pessoal!!
 
Pessoal, bom dia!

Tenho em casa alguns ESP e resolvi montar um Brewmaniac com um deles.

Estou usando um ESP-07, que aparentemente tem 8Mbit de memória (1Mbyte)

Eu consegui gravar o firmware da versão 0.4.9, montei o display LCD via i2c está funcionando (mostrando o IP e a tela inicial), consegui acessar pela rede que ele cria "bm" e configurar o acesso a minha rede de casa.


Acontece que no momento que acesso ele, por meio do PC conectado a internet, é necessário atualizar o javascript/HTML

Neste momento, ocorre um erro que não foi possível descompactar o arquivo e não consigo prosseguir.

Perguntas
1- Consigo utilizar o ESP-07 com ele? Qual a memória mínima para rodar?

2- Qual a posição de memória que devo gravar o binário? É a partir do endereço 0x0000000?

3- Preciso gravar apenas o binário do brewmaniac direto, ou precisa fazer um conjunto de mais um outro binário? (Por exemplo, o do nodemcu)

4- Eu já fiz um procedimento de resetar a flash pela IDE do arduino. Tem algum outro procedimento antes de gravar o binário?

Alguém consegue me ajudar?

Fico muito agradecido pessoal!!

Depois que você acessa via modo AP, a rede bm pelo ip 192.168.4.1 a primeira tela deve ser a de configuração do wifi, configure ele na sua rede, feito isso vai ter um novo IP, desconecte da rede bm e acesse esse IP da sua rede, só após isso fará a atualização dos arquivos pois agora sim ele tem acesso a internet para fazer o download dos mesmos.
 
Depois que você acessa via modo AP, a rede bm pelo ip 192.168.4.1 a primeira tela deve ser a de configuração do wifi, configure ele na sua rede, feito isso vai ter um novo IP, desconecte da rede bm e acesse esse IP da sua rede, só após isso fará a atualização dos arquivos pois agora sim ele tem acesso a internet para fazer o download dos mesmos.

Dumpa, obrigado pela resposta!

Sim, é exatamente o que eu estou fazendo, saindo da rede "bm" após configurar o login e senha e acessando o ESP pelo meu roteador, com a conexão da internet.

A questão mesmo é que ele pede para atualizar os arquivos, inicia o carregamento e ocorre a falha... Eu não estou no momento com ele em mãos para dar um print da tela...

Estou meio inclinado a pensar que a memória interna não seja suficiente para essa aplicação... Você já experimentou com ESP de memória de 8Mbit ?

Obrigado!!

Eduardo
 
Depois que você acessa via modo AP, a rede bm pelo ip 192.168.4.1 a primeira tela deve ser a de configuração do wifi, configure ele na sua rede, feito isso vai ter um novo IP, desconecte da rede bm e acesse esse IP da sua rede, só após isso fará a atualização dos arquivos pois agora sim ele tem acesso a internet para fazer o download dos mesmos.

Dumpa, eu encontrei um tópico exatamente com o problema que estou enfrentando:

https://github.com/vitotai/BrewManiacEsp8266/issues/55#issuecomment-599982695
Talvez tente importar os arquivos de forma manual... Mas parece que existe uma relação com a memória interna, não sei...

Eduardo
 
Dumpa, obrigado pela resposta!

Sim, é exatamente o que eu estou fazendo, saindo da rede "bm" após configurar o login e senha e acessando o ESP pelo meu roteador, com a conexão da internet.

A questão mesmo é que ele pede para atualizar os arquivos, inicia o carregamento e ocorre a falha... Eu não estou no momento com ele em mãos para dar um print da tela...

Estou meio inclinado a pensar que a memória interna não seja suficiente para essa aplicação... Você já experimentou com ESP de memória de 8Mbit ?

Obrigado!!

Eduardo

Nunca usei esses, mas pode ser sim memória.
 
Pessoal, bom dia!

Tenho em casa alguns ESP e resolvi montar um Brewmaniac com um deles.

Estou usando um ESP-07, que aparentemente tem 8Mbit de memória (1Mbyte)

Eu consegui gravar o firmware da versão 0.4.9, montei o display LCD via i2c está funcionando (mostrando o IP e a tela inicial), consegui acessar pela rede que ele cria "bm" e configurar o acesso a minha rede de casa.


Acontece que no momento que acesso ele, por meio do PC conectado a internet, é necessário atualizar o javascript/HTML

Neste momento, ocorre um erro que não foi possível descompactar o arquivo e não consigo prosseguir.

Perguntas
1- Consigo utilizar o ESP-07 com ele? Qual a memória mínima para rodar?

2- Qual a posição de memória que devo gravar o binário? É a partir do endereço 0x0000000?

3- Preciso gravar apenas o binário do brewmaniac direto, ou precisa fazer um conjunto de mais um outro binário? (Por exemplo, o do nodemcu)

4- Eu já fiz um procedimento de resetar a flash pela IDE do arduino. Tem algum outro procedimento antes de gravar o binário?

Alguém consegue me ajudar?

Fico muito agradecido pessoal!!

ESP-07 não tem memória de Spiffs suficiente, se não me engano ela é a responsável pelos htmls.

Tem algumas versões pra Sonoff, tente algum delas.
 
ESP-07 não tem memória de Spiffs suficiente, se não me engano ela é a responsável pelos htmls.

Tem algumas versões pra Sonoff, tente algum delas.

Eu fiz mais algumas pesquisas e pelo que estou entendendo, é necessário pelo menos 4Mbytes de memória para o ESP ter condições de fazer atualização de firmware OTA (over the Air) justamente uma das funcionalidades que o projeto possui...



Eu vou ver se não encontro alguma placa nas minhas sucatas, que tenha alguma flash serial para fazer swap da memória para testar (tenho estação de reflow aqui em casa :D )

De qualquer forma, acho que vou comprar tambem uma outra placa para não empacar o projeto!

Qualquer placa Nodemcu V3 funciona? Alguns vendedores não informam a quantidade de memória flash...

Obrigado por enquanto pessoal!

Um abração
 
Pessoal, só dando um feedback que consegui fazer funcionar!

Por uma sorte tremenda, encontrei uma memoria flash de 8Mbyte (64Mbits) de 8 pinos em uma placa nas minhas sucatas de eletrônica.

Retirei o invólucro metálico do ESP-07 com muita dificuldade, porém consegui retirar a flash de 1Mbyte e soldar a nova.

Fiz o upload do arquivo binário "BrewManiacEx.049.bin" na posição 0x000000 pelo NodeMCU flasher, setando a memória como 8Mbytes, porém aconteceu exatamente o mesmo de antes, eu conseguia acessar o ESP pelo IP, e ele conectou na minha rede mas ele não conseguia fazer o upload dos arquivos...

Eu consegui fazer funcionar, utilizando outro flasher, o "ESP8266 DOWNLOAD TOOL V3.8.5", porém agora, setando uma memória de tamanho MENOR de 4Mbytes (16Mbits)
Desta forma, ele gravou, fiz o setup de acesso na rede e pronto! Quando foi para atualizar o Javascript/HTML, funcionou na hora!

Estou deixando essa dica para quem tiver problemas semelhantes de atualização após fazer o flash... Basicamente tem relação com o tamanho do filesystem (talvez ele se perca na hora de descompactar os arquivos?).

Sei que retirar a memória e obter outra é realmente uma forma meio roots de resolver, porém é possível utilizar se fizer a modificação.

Meu obrigado ao Dumpa e ao Gu-Mazza que forneceram uma resposta rápida!

Um abração!
 

Attachments

  • Flash_Size_4MB.png
    Flash_Size_4MB.png
    167.1 KB · Views: 65
  • IMG_20200730_205213849.jpg
    IMG_20200730_205213849.jpg
    44.2 KB · Views: 69
  • flasher.png
    flasher.png
    166.2 KB · Views: 67
Hoje finalmente conclui o meu controlador BrewManiacEx :)

Utilizei a PCB do @dumpa que além de facilitar bastante minha vida ainda pude trocar várias ideias bastante elucidativas com ele.

Montei meu projeto para não ultrapassar os 20A e utilizar uma tomada 220V comum, para isso utilizarei uma resistência de 3500W. O método que utilizo é single vessel numa panela n40.

Na lateral deixei:
- 1 conector P4 energizado o tempo inteiro em 12V (fiquei com preguiça de por uma chave liga/desliga pq é muito chato cortar a caixa) onde ligarei uma bomba para circular água com gelo pelo chiller de imersão durante o resfriamento;
- 1 saída para o sensor de temperatura (conector mike);
- 1 tomada para conectar uma bomba MP-15R e realizar a recirculação durante a brassagem;
- 1 cabo de 3 x 2,5mm que alimentará a resistência da panela e será ligada a esta por um conector Wago Winsta 770 (seguro, prático e permite até 25A);
- 1 cabo de 3 x 4,0mm para alimentar o sistema

Dentro do controlador a única coisa que fiz um pouco diferente dos demais, mas que acho essencial para o eletricista-cervejeiro amador, foi instalar um interruptor diferencial residual (IDR) para desligar o sistema em caso de corrente de fuga. Custou 90 reais, mas pode salvar uma vida.

Seguem as fotos:

View attachment 122373 View attachment 122374 View attachment 122375 View attachment 122376 View attachment 122377 View attachment 122378 View attachment 122379 View attachment 122380 View attachment 122381 View attachment 122382
desculpe me perguntar mais quais as medidas dos parafusos que usou e quais separadores usados nas placas de lcd e interface?
 
Pessoal, estou realizando a montagem de um sistema utilizando o Brewmaniac com um wemos D1, porem estou passando por 2 problemas e gostaria de saber se já aconteceu com voces.
Consigo passar tranquilamente o .bin para o d1, porem o modo de conexão pela rede é muito estranho, eu fiz tudo certinho como foi citado varias vezes aqui nesse post, conecetei na rede bm, coloquei os dados da rede, conecetei na rede padrão e fiz o upload nos arquivos, a principio tudo certo, conssigo conectar no controlador, porem quando eu conecto, ele fica reiniciando e eu não consigo utilizar nenhuma função, só consigo utilizar quando eu fecho o navegador.
O outro problema está relacionado ao upload via VS code utilizando o PlataformIO, preciso alteraruns pinos no codigo e adicionar um sensor de nivel, porem o codigo não compila. A principio achei que era algo de errado que fiz no codigo, mas não, nem o codigo puro, padrão, não compila. Inclsuive testei todos os env_default (development,spargeheater, nodemcuv2, etc...)

Alguem já passou por algum desses problemas?
 
Pessoal, estou realizando a montagem de um sistema utilizando o Brewmaniac com um wemos D1, porem estou passando por 2 problemas e gostaria de saber se já aconteceu com voces.
Consigo passar tranquilamente o .bin para o d1, porem o modo de conexão pela rede é muito estranho, eu fiz tudo certinho como foi citado varias vezes aqui nesse post, conecetei na rede bm, coloquei os dados da rede, conecetei na rede padrão e fiz o upload nos arquivos, a principio tudo certo, conssigo conectar no controlador, porem quando eu conecto, ele fica reiniciando e eu não consigo utilizar nenhuma função, só consigo utilizar quando eu fecho o navegador.
O outro problema está relacionado ao upload via VS code utilizando o PlataformIO, preciso alteraruns pinos no codigo e adicionar um sensor de nivel, porem o codigo não compila. A principio achei que era algo de errado que fiz no codigo, mas não, nem o codigo puro, padrão, não compila. Inclsuive testei todos os env_default (development,spargeheater, nodemcuv2, etc...)

Alguem já passou por algum desses problemas?

Consegui resolver a parte do upload via VS code, apenas extrai a pasta com o codigona area de trabalho e deu certo (não faço a menor ideia o pq deu certo)

Porem agora estou com outro problema, quando tento configurar meu controlador para utilizar o navegador, na hora de baixar o arquivos ele da o seguinte erro

error:Error open filed!

Alguem sabe como resolver isso?
Já tentei resetar o controlador com o nodemcu-pyflasher, mudar a rede wifi, retirar o controlador da placa, tudo sem sucesso.
Alias, não tive esse problema quando fiz o upload do codigo utilizando o .bin que vem com o codigo
1601853591458.png
 
Consegui resolver a parte do upload via VS code, apenas extrai a pasta com o codigona area de trabalho e deu certo (não faço a menor ideia o pq deu certo)

Porem agora estou com outro problema, quando tento configurar meu controlador para utilizar o navegador, na hora de baixar o arquivos ele da o seguinte erro

error:Error open filed!

Alguem sabe como resolver isso?
Já tentei resetar o controlador com o nodemcu-pyflasher, mudar a rede wifi, retirar o controlador da placa, tudo sem sucesso.
Alias, não tive esse problema quando fiz o upload do codigo utilizando o .bin que vem com o codigo

Essa versão não vai funcionar mesmo, o Vito mudou bastante coisa e não há mais essa etapa.

No momento a interface web só funciona em modo AC, se vc configurar o wi-fi vai bugar o firmware e vai parar de funcionar, por isso tem que relatar pro Vito. Eu discuti bastante esse erro com ele, mas estou sem tempo pra ficar testando agora e aparentemente ele fez atualizações recentes que pode ser a correção desse erro.
Instala esses bins pelo Node MCU Flasher.
BrewManiacEx.050b1.portuguese-br.bin
BrewManiacEx.050b1.spargeheater.bin
 
Essa versão não vai funcionar mesmo, o Vito mudou bastante coisa e não há mais essa etapa.

No momento a interface web só funciona em modo AC, se vc configurar o wi-fi vai bugar o firmware e vai parar de funcionar, por isso tem que relatar pro Vito. Eu discuti bastante esse erro com ele, mas estou sem tempo pra ficar testando agora e aparentemente ele fez atualizações recentes que pode ser a correção desse erro.
Instala esses bins pelo Node MCU Flasher.
BrewManiacEx.050b1.portuguese-br.bin
BrewManiacEx.050b1.spargeheater.bin
AHhhhh que otimo obrigado pela ajuda, fiz o upload e o wifi aparentemente está perfeito, inclsuive a interface ta sensacional!!!
Porem a legenda dos botões no LCD ficou toda desconfigurada, não consegui encontrar a solução para isso, aparentemente não é algo relacionado ao tipo do LCD pois o titulo aparece certo, só no resto do programa que está estranho, penso que possa ser algo relacionado as traduções (fiz upload via VS code tbm, utilizai o nodemcuv2 e o mesmo com a versão em portugues e o problema continua)
 
AHhhhh que otimo obrigado pela ajuda, fiz o upload e o wifi aparentemente está perfeito, inclsuive a interface ta sensacional!!!
Porem a legenda dos botões no LCD ficou toda desconfigurada, não consegui encontrar a solução para isso, aparentemente não é algo relacionado ao tipo do LCD pois o titulo aparece certo, só no resto do programa que está estranho, penso que possa ser algo relacionado as traduções (fiz upload via VS code tbm, utilizai o nodemcuv2 e o mesmo com a versão em portugues e o problema continua)
Olá pessoal!
Rafael, não é problema! Mas ele está compilado em Russo;

Editar o arquivo src\BrewManiac.cpp
linha 345 #include "resources_ru.h" para resource.h
Copiar o arquivo (src/resources.h) para (locales/)
Ai e só compilar
 
Olá pessoal!
Rafael, não é problema! Mas ele está compilado em Russo;

Editar o arquivo src\BrewManiac.cpp
linha 345 #include "resources_ru.h" para resource.h
Copiar o arquivo (src/resources.h) para (locales/)
Ai e só compilar
Obrigado pela ajuda, nem reparei que era russo, meu russo ta meio enferrujado hehehe
Eu ainda estou apanhando muito com o sensor de nivel, já fiz todos os procedimentos que da documentação para implementar o sensor de nivel e nada de funcionar, já testei separadamente o sensor e a conexão (estou utilizando o expansor PCF8574P) e aparentemente está ok, só n consigo fazer funcionar mesmo, alias, estava focando tanto nisso que nem reparei que nessa versão meus sensores não são calibrados e nem a opção de selecionar eles nas configurações, alguem já passou por um desses problemas?

EDIT
Consegui fazer funconar o sensor, tinha um opção no menu do controlador para ativar o sensor de nivel, achei que só ativando no codigo já funcionaria, quem iria imaginar né hah mas agora o problema é nos sensores, as versões 0.4.9 e 0.5 não estão reconhecendo meus sensores, eu já possuo o endereço deles, será que é possivel colocar direto no ccódigo?

MAISUMEDIT
Testei o sistema só com um sensor e deu certo, aparentemente o erro estava na utilização de varios sensores (achei que era conflito de endereço mas aparecentemente não é isso)
 
Last edited:
Tem versão multi-sensor e versão para apenas um sensor.
No arquivo Platformio.ini vc consegue selecionar o código para que seja "Sem sparge" mas multi-sensor.
 
Olá pessoal!
Rafael, não é problema! Mas ele está compilado em Russo;

Editar o arquivo src\BrewManiac.cpp
linha 345 #include "resources_ru.h" para resource.h
Copiar o arquivo (src/resources.h) para (locales/)
Ai e só compilar
ola, instalei a versao 0.5 em portugues usando o arquivo .bin, e tb deu esse erro, ficou tudo em russo o lcd, ai fiz o que vc falou aqui no vs code e deu certo, porem a interface HTML fico antiga, versao 0.4.8. Sabe como deixar na interface nova usando o vs code?
 
Implementei no código, ele interrompe a bomba quando atinge o nível e aguarda XX segundos de acordo com o que você configurar na nova opção que foi criada no menu "Settings". Assim dá tempo do nível baixar antes de tentar ligar a bomba de novo, evitando um liga e desliga repetitivo.
Vou postar o código caso tenha interesse.
Ola, sei que ja passou muito tempo mas se ainda tiver o codigo e puder postar eu agradeço.
 
ola, instalei a versao 0.5 em portugues usando o arquivo .bin, e tb deu esse erro, ficou tudo em russo o lcd, ai fiz o que vc falou aqui no vs code e deu certo, porem a interface HTML fico antiga, versao 0.4.8. Sabe como deixar na interface nova usando o vs code?

Entra pelo gerenciador de arquivos usando o seuip:8008/filemanager
Troque seuip pelo IP que está acessando o Brewmaniac, no gerenciador delete o arquivo: bm.htm.gz, clique nele com o botão direito do mouse, depois volte a página inicial e d~e um CTRL+ F5

WhatsApp Image 2020-11-18 at 10.35.23.jpeg
 
Entra pelo gerenciador de arquivos usando o seuip:8008/filemanager
Troque seuip pelo IP que está acessando o Brewmaniac, no gerenciador delete o arquivo: bm.htm.gz, clique nele com o botão direito do mouse, depois volte a página inicial e d~e um CTRL+ F5

View attachment 125144
Vlw Dumpa, deu certo, porem tive que apagar o bm.049 tb.
 
Back
Top