Jump to content
Gwynbleidd

CraftBeerPi - sieciowy sterownik browaru

Recommended Posts

Teoretycznie powinienes pod 3v3 podpiac, ale to nie ma wiekszego tutaj znaczenia.

Radzilbym korzystac z wersji 3, jest juz dobrze dopracowana i chyba wiekszosc ludzi na niej juz siedzi.

 

Nozki rezystora nie maja znaczenia jak wepniesz.

 

Moze masz inne oznaczenia kabli i cos odwrotnie podlaczasz od czujnika? Te chinskie czujniki maja czesto pomylone kolory.

 

Dummy to atrapa wiec tego nie uzywaj jak chcesz podlaczyc czujnik, protokol to 1-Wire i jakikolwiek nie wezmiesz to powinien dzialac.

Edited by Gwynbleidd

Share this post


Link to post
Share on other sites

Pisałem w którymś z tematów że DS18B20 tylko oryginały, miałem dwie sondy pamela na podróbach i żadna nie chciała działać.

rozprułem bo myślałem że źle podłączam i okazało się że wszystko powinno działać.

Kupiłem DS18B20 w elektroniku, ale oryginalne polutowałem i od razu zadziałały.

Więc pewnie przyczyną jest kiepski DS18B20 wsadzony w sondę.

Share this post


Link to post
Share on other sites
Dnia 16.04.2018 o 19:00, Gwynbleidd napisał:

Teoretycznie powinienes pod 3v3 podpiac, ale to nie ma wiekszego tutaj znaczenia.

Radzilbym korzystac z wersji 3, jest juz dobrze dopracowana i chyba wiekszosc ludzi na niej juz siedzi.

 

Nozki rezystora nie maja znaczenia jak wepniesz.

 

Moze masz inne oznaczenia kabli i cos odwrotnie podlaczasz od czujnika? Te chinskie czujniki maja czesto pomylone kolory.

 

Dummy to atrapa wiec tego nie uzywaj jak chcesz podlaczyc czujnik, protokol to 1-Wire i jakikolwiek nie wezmiesz to powinien dzialac.

 

No więc, podpiąłem do 5v - nie pomogło. 

Zamieniłem przewód zasilania i danych - również nie pomogło. 

 

Jak zainstałować CraftbeerPi v3? Idąc tym tutorialem: http://web.craftbeerpi.com/installation/ instaluje mi się wersja 2.2.

Share this post


Link to post
Share on other sites

W terminalu wpisujesz:

git clone https://github.com/Manuel83/craftbeerpi3

i Enter, jak dobrze pamiętam będziesz musiał jeszcze potwierdzić chęć instalacji.

Następnie wchodzisz do folderu craftbeerpi3 wpisując:

cd craftbeerpi3

i Enter i już jesteś w tym folderze i przystępujesz do instalacji wpisując:

sudo ./install.sh

znów Enter i pojawia się okno instalacji craftbeerpi, wybierasz zainstaluj - to wszystko.

Pamiętaj żeby dodać 1-wire, nie pamiętam tylko czy o dodanie pyta program podczas instalacji czy jest to opcja w oknie instalatora.

Pamiętaj też po instalacji o wybraniu opcji dodaj do autostartu w oknie instalatora (inaczej po każdym uruchomieniu raspberry będziesz musiał uruchamiać craftberrypi  poprzez komendę w terminalu).

Mam nadzieję, że jest to zrozumiałe. Powodzenia

P.S

Termometr ma być podłączony jak na załączonym przez Ciebie obrazku (u mnie działąją trzy tak podłączone).

Edited by adamski_68

Share this post


Link to post
Share on other sites

Okej, wszystko gra :) udało mi się też podłączyć termometr do NodeMCU z wgranym Espeasy i mam odczyt temperatury. Oczywiście po podłączeniu bezpośrednio do RPi3 odczyt też jest. 

 

Teraz kolejne pytanie, czy da się jakoś pobrać odczyt z ESP8266 do Craftbeer Pi 3? Może masz jakiś tutorial?

Share this post


Link to post
Share on other sites

Z ESP8266 nie pomogę bo nie robiłem jeszcze tak wyuzdanych rzeczy:D. Możesz spróbować poprzez plugin do hydrometru. Z tego co się orientuję to pobiera dane przez wifi i jest tam też temperatura więc powinno się udać. Przyjrzyj się też innym dodatkom, może któryś jest dedykowany temu, ja będę w domu dopiero za kilka dni, żeby to sprawdzić.

Share this post


Link to post
Share on other sites

Program naprawdę daje rade. Kilka warek zrobionych, jest kilka pomocnych addonów. Dobrze obsługuje czujniki PT100 za pomocą układów MAX31865. Oprócz zacierania i gotowania używam programu do kontroli fermentacji i zapisu logów temperatury. 

Share this post


Link to post
Share on other sites

Sterownik złożony na malince i płytce od Gwynbleidd

Do sterowania grzałkami zastosowałem SSR, do mieszadła (silnik od wycieraczek) zastosowałem zasilacz 12V który steruję włączając i wyłączając zasilanie...

Utknąłem na ustawieniach buzzera ... jak zrobić by sygnalizował kolejny etap warzenia???

 

Share this post


Link to post
Share on other sites

Nie wiem, na jakich ustawieniach buzzera utknąłeś, jak pamiętam można tylko wybrać pin, który będzie sterował buzzerem. Najlepiej zostawić na domyślnym pinie, kiedyś zmieniłem i nie działało to dobrze. Buzzer sygnalizuje tylko czasy chmielenia, jest to krótkie piknięcie. To są moje doświadczenia oparte na konfiguracji bez płytki, ale nie sądzę by płytka zmieniała coś w tym zakresie.

Powodzenia

Share this post


Link to post
Share on other sites

Czy wie ktoś, dlaczego czujnik DHT11 włączony do Craftbeerpi poprzez rozszerzenie AdafruitDHTSensor pokazuje mi temperaturę ok. 600 C i wilgotność rzędu 1100%?

 

Czujnik odpytywany z konsoli przez SSH pokazuje temperaturę rzędu 23-24C i wilgotność 40-50% (poza błędami co jakiś czas jak temperatura 12C, wilgotność 100%).

Share this post


Link to post
Share on other sites

Jako że jeszcze nie kupiłem Pamela, zastanawiam się nad malinowym sterownikiem do browaru, ale nie chciałbym musieć stawiać routera z wifi i osobnego komputera z przeglądarką - zawsze to więcej elementów, które mogą się posypać.

 

Brakuje mi pewnej ważnej informacji - czy CraftbeerPi pracuje "lokalnie", tj na zestawie klawiatura+mysz+HDMI. Albo z wyświetlaczem innym niż 800x480, np. tanim 320x240 z dotykiem lub bez. Widziałem też możliwość podłączenia LCD 20x4 ze sterownikiem HD44780, ale nie ma informacji czy da się warzyć, poustawiać przerwy/czasy/temperatury/inne parametry bez konieczności łącznia się przez wifi. Raz skonfigurować  Malinę pod swój sprzęt i mieć możliwość warzenia tak jak na Pamelu czy inym Boleckim - z klapatury i wyświetlacza "wbudowanych w browar".
 

Ewentualnie czy CBPI będzie działał przez ethernet (wbudowanu lub USB) na zestawie Malina+laptop

Edited by c64club

Share this post


Link to post
Share on other sites
7 godzin temu, c64club napisał:

Jako że jeszcze nie kupiłem Pamela, zastanawiam się nad malinowym sterownikiem do browaru, ale nie chciałbym musieć stawiać routera z wifi i osobnego komputera z przeglądarką - zawsze to więcej elementów, które mogą się posypać.

 

Brakuje mi pewnej ważnej informacji - czy CraftbeerPi pracuje "lokalnie", tj na zestawie klawiatura+mysz+HDMI. Albo z wyświetlaczem innym niż 800x480, np. tanim 320x240 z dotykiem lub bez. Widziałem też możliwość podłączenia LCD 20x4 ze sterownikiem HD44780, ale nie ma informacji czy da się warzyć, poustawiać przerwy/czasy/temperatury/inne parametry bez konieczności łącznia się przez wifi. Raz skonfigurować  Malinę pod swój sprzęt i mieć możliwość warzenia tak jak na Pamelu czy inym Boleckim - z klapatury i wyświetlacza "wbudowanych w browar".
 

Ewentualnie czy CBPI będzie działał przez ethernet (wbudowanu lub USB) na zestawie Malina+laptop

może, googluj "kiosk mode", podobno zamula

Share this post


Link to post
Share on other sites

Z tego co wiem, to Malina w ogóle zamula. Jesli wyswietlajac osobiscie obraz, "zamula nawet jak na swoje możliwości", to chyba nie warto probowac. Musialbym kupic wersje z Ethernetem, ustawić jej na sztywno jakiejś IP i przeznaczyć jakiegoś starszego lapka tylko do obsługi browaru.

Share this post


Link to post
Share on other sites
Godzinę temu, c64club napisał:

Z tego co wiem, to Malina w ogóle zamula. Jesli wyswietlajac osobiscie obraz, "zamula nawet jak na swoje możliwości", to chyba nie warto probowac. Musialbym kupic wersje z Ethernetem, ustawić jej na sztywno jakiejś IP i przeznaczyć jakiegoś starszego lapka tylko do obsługi browaru.

Może tak Ja używam raspberry pi 2 b+, wersji bez wifi i po ethernet działa bez problemu.

Za 30 zł kupiłem wifi na usb i po wpięciu działa bez zarzutu, mogę logować się i ustawiać wszystko z poziomu komórki czy tabletu.

Nie mam problemu z wersją CraftBeeryPi3 i nic Mi nie zamula, u mnie działa to z GF plus osobny pojemnik do grzania wody do wysładzania.

Dodam iz kupiłem z kartą pamięci i obudową za 100 zł na olx, plus 3x ssr hiszpańskie, 3x bezpiecznik i trochę gratów i do 250 zł mam kombajn do obsługi GF.

Ostatnio Śliwki na tym robiłem, CB3 sam utrzymywał zadaną temperaturę na szczycie :D

Edited by Pabllo_Lodz

Share this post


Link to post
Share on other sites
57 minut temu, Slawmir napisał:

Zmontuj brewmaniac i bedziesz pan zadowolony

Wysłane z mojego Metal przy użyciu Tapatalka
 

Brewmaniac też juz chyba nie jest udoskonalany.

Na arduino można ArdBira albo wgrać ten holenderski soft, wtedy faktycznie wszystko odbywa się za pomocą przycisków i wyświetlacza ale mozliwości są mocno ograniczone.

Share this post


Link to post
Share on other sites

Szanowni.

 

Postanowiłem podzielić się z Wami moim doświadczeniem z bezprzewodową komunikacją pomiędzy CrafbeerPi a modułami opartymi o ESP8266. Pytał o to w kwietniu @pan_czarny, ale nie dostał odpowiedzi i nie wiem czy ciągnął temat. Mi się udało, więc spisuję to dla potomnych - może ktoś będzie chciał zrobić to u siebie. Możecie zapytać - "po co" - na przykład po to, żeby podpiąć pod CBPi termostat do fermentora bez ciągania kabli po mieszkaniu :) (ja na przykład fermentuję na balkonie).

 

Zatem od początku. Do komunikacji będziemy wykorzystywać protokół MQTT. Bardzo prosty i lekki protokół powszechnie wykorzystywany w IoT.

 

Część CBPi

 

1. W sekcji Add-Ons instalujemy plugin MQTT

Screenshot_4.jpg.26b851a64174531bd03826162f481cf6.jpg

 

2. W informacjach o pluginie jest link do GitHuba i instrukcje instalacji Mosquitto - brokera MQTT oraz biblioteki MQTT do pythona.

 

3. W sekcji "Hardware Settings" Dodajemy MQTT_SENSOR. Trzeba zapamiętać jaki wpisaliśmy Topic. To będzie ważne na etapie oprogramowania ESP8266.

Screenshot_5.jpg.f9a5683c268e3611a8416663cf0d248b.jpg

 

4. Dodajemy również MQTT_ACTOR z zastrzeżeniem z punktu powyżej.

Screenshot_6.jpg.f1816fcdcddde5dd56de76302c375d20.jpg

 

5. Dodajemy fermentor

Screenshot_7.jpg.890d9a5f2597e061d560f04732b3bee7.jpg

 

6. ESP8266. Wyjaśnienia zawarte są w komentarzach w samym kodzie. Pamiętajmy, żeby malinka i esp8266 były w tej samej sieci (ta sama klasa IP)

 

#include <PubSubClient.h>
#include <ESP8266WiFi.h>

//////////////////////////Sterowanie wbudowaną GPIO (w tym wypadkudiodą LED za pomocą MQTT. Wysyłanie wartości zmiennej temp za pomocą MQTT (wartośią zmiennej temp może być odczyt temperatury z termometru/////


const char* ssid = "*************";  //SSID twojej sieci WiFi
const char* password = "*************"; //Hasło do twojej sieci WiFi


char* topic_receive = "fermentor_heat";     //  ustawiam wartość zmiennej "topic" - to jest nagłowek mqtt, którego wartość chcemy odczytywać z serwera
char* topic_send = "fermentor";     //  ustawiam wartość zmiennej "topic" - to jest nagłowek mqtt, do którego wartość chcemy przypisać wartość wysyłaną na serwer
char* server = "*************";  // adres serwera mqtt, który jest uruchomiony w twojej sieci wewnętrznej. Na przykład na malince z CBPi

char message_buff[100];   // inicjalizowanie bufora
void callback(char* topic, byte* payload, unsigned int length);
WiFiClient wifiClient;
PubSubClient client(server, 1883, callback, wifiClient);


//Ustawiania parametrów tablicy, w której będzie zapisana przychodząca wiadomość. Treść wiadomości to: {"state": "on"} lub {"state": "off"}. Wiadomość ma 15 lub 16 znaków, więc tablica musi być 16 bitowa.
String macToStr(const uint16_t* mac) 
{
  String result;
  for (int i = 0; i <= 16; ++i) {
    result += String(mac[i], 16);
    
  }
  return result;
}

void setup() {
  Serial.begin(115200);
  delay(10);

  // przygotowuję GPIO2 ***************************************************************************************
  pinMode(2, OUTPUT);   // Używam GPIO 2 aby sterowa wbudowaną diodą LED. Zmien wartość aby sterować innym GPIO
  digitalWrite(2, 0);  //**************************************************************************************

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  float temperatura = 23.45; // na potrzeby tego tutoriala nadajemy zmiennej float (dokładność 6 - 7 cyfr po przecinku) wartość, która może też pochodzić ze wskazania termometru
  char temp[8]; // tworzymy zmienną char o długości. Zmienna ma za zadanie przechować wartość miennej float po przekonwertowaniu na char.
  dtostrf(temperatura, 6, 2, temp); // konwerujemy zmienną float (temperatura) na zmienną char (temp). Musimy to zrobić, bo MQTT obsługuje wiadomości w stringach.

  //  sprawdzamy połączenie z brokerem MQTT
  if (client.connect("arduinoClient")) {
    client.publish("fermentor", temp); // wysyłam naszą teperaturę do CBPi z nagłówkiem tematu "fermentor"
    client.subscribe("fermentor_heat");   // subskrybujemy się do tematu "fermentor_heater" i oczekujemy wiasomosci od CBPi
  }
}

void loop() {

  client.loop();
}


void callback(char* topic, byte* payload, unsigned int length) {
  int i = 0;

  Serial.println("Message arrived:  topic: " + String(topic));
  Serial.println("Length: " + String(length, DEC));

  for (i = 0; i < length; i++) {
    message_buff[i] = payload[i];
  }
  message_buff[i] = '\0';

  String msgString = String(message_buff);

  Serial.println("Payload: " + msgString);
  int state = 0;  // ustawiam stan początkowy GPIO 2 na 0
  Serial.println (state);
  if (msgString == "{\"state\": \"off\"}") {   // jeżeli przyszła wiadomość o treści {"state": "on"} wyślij stan 1 na pin 2. Jak widać wiadomość jest otoczona backslashami i cudzysłowami. Musi tak zostać bo inaczjej jest traktowana jako polecenie.
    digitalWrite(2, 1);  
}
    if (msgString == "{\"state\": \"on\"}") {   // jeżeli przyszła wiadomość o treści {"state": "on"} wyślij stan 0 na pin 2. Jak widać wiadomość jest otoczona backslashami i cudzysłowami. Musi tak zostać bo inaczjej jest traktowana jako polecenie.
    digitalWrite(2, 0);  
}
  
  }

W razie pytań postaram się pomóc :)

 

I na koniec demonstracja https://photos.app.goo.gl/iFX9mfrf9um4bpiYA                                              

 

Edited by burymichu

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...