New build, work in progress.

The fruits of our labor. We welcome all types of plants, but grows posted here must be legal.
sice
LED-Curious
LED-Curious
Reactions:
Posts: 13
Joined: Mon Jun 15, 2020 5:30 am

awesome.

Im amazed at how close the light it to the buds. :idea:
almostcompost
LED-Curious
LED-Curious
Reactions:
Posts: 2
Joined: Mon Jun 15, 2020 5:37 pm

Good shit, Shimbob! I really like your cabinet build. Great use of space. Did you say that each platform is built on drawer slides? Genius idea!
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

almostcompost wrote:
Wed Dec 23, 2020 5:39 am
Good shit, Shimbob! I really like your cabinet build. Great use of space. Did you say that each platform is built on drawer slides? Genius idea!
Yup, if you look at the first picture here, the drawer sliders can be seen on each side of the drawer. The water tubing and sensor wires had to be routed a certain way as to not pinch but it's worked out well.

3rd round is done, wife says it's stoney. I'll take it.

The upstairs is fairly sorted out now:
145 (2).jpg

The heart of it is a bit of a rats' nest.
145 (1).jpg
But as a prototype I think it's killer. This adventure in microclimate control has been very fun.
Mkozik1
LED-Curious
LED-Curious
Reactions:
Posts: 4
Joined: Thu Dec 17, 2020 5:12 am
Location: Monroe, GA

Just starting out with all of this so seeing your journey has been awesome and much appreciated. Brother and Sister In-Laws asked if I would drum them up a system to help them out so here we go!!

Look forward to seeing more!

- Mark
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

Just some code in preparation of the next sensor addition.
I've also added the ability to change the interval between samples.

Code: Select all

//espTwo
//Measures canopy leaf temperature

const char* espName = "espTwo";
int interval = 5000; //ms

#include <ESP8266WiFi.h>
const char* ssid = "";
const char* password = "";
IPAddress staticIP(192,168,2,51);
IPAddress gateway(192,168,0,1);
IPAddress subnet(255,255,0,0);

#include <Wire.h>

#include <PubSubClient.h>
WiFiClient espClient;
PubSubClient client(espClient);
const char* mqtt_server = "192.168.2.1";
char tempString[8];
unsigned char payload[64];
String mesg;

//for IR Heat
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
double temp;

//////////////////////////////////////// SETUP CODE
void wifi_setup() {
   WiFi.persistent( false );
   WiFi.begin(ssid, password);
   WiFi.config(staticIP, gateway, gateway, subnet);
   WiFi.setOutputPower(10.0); //0 to 20.5

  while (WiFi.status() != WL_CONNECTED) 
    delay(500);
}

void i2c_setup()
{
  Wire.begin();
  mlx.begin();
}

void mqtt_connect() {
  while (!client.connected()) {
    if (!client.connect(espName))
      delay(1000);
  }
}

void callback(char* topic, byte* payload, unsigned int length);

void mqtt_setup()
{
    client.setServer(mqtt_server, 1883);
    client.setCallback(callback);
    mqtt_connect();
    client.subscribe("espTwo/get_status");
    client.subscribe("espTwo/setInterval");
    client.publish("espTwo/status", "espTwo Online");
}

///////////////////////////////////////////////////////// END SETUP

///////////////////////////////////////////////////////// RUNTIME CODE

void callback(char* topic, byte* payload, unsigned int length) {

  if (0==strcmp(topic, "espTwo/get_status")){
    mesg = "get_status: interval: ";
    dtostrf(interval, 7, 0, tempString);
    mesg += tempString;
    mesg += "ms";
    mesg.toCharArray((char *)payload, 127);
    client.publish("espTwo/status", (char *)payload);
  }

  else if (0 == strcmp(topic, "espTwo/setInterval"))
    interval = atoi((char *)payload);
}

void setup()
{
  wifi_setup();
  i2c_setup();
  mqtt_setup();
}

void do_temp()
{
  temp = mlx.readAmbientTempC();
  dtostrf(temp, 3,1, tempString);
  
  client.publish("canopy/LeafTemp" , tempString);
}

void loop() {

  if (WiFi.status() != WL_CONNECTED)
    wifi_setup();

  if (!client.connected())
    mqtt_connect();

  do_temp();

  client.loop();

  delay(interval);
}
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

Another round is firing on all cylinders. Two above, two below. Yes, we're flowering with the veg 5000K below, because fuckit let's see how that works out.
283.jpg
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

A weeks' worth of data as it gets dialed in. Light green is canopy temperature and red is humidity.

I recently raised night time temp to 23C and daytime to 27.5C.
0_Screenshot_20210526-083914_Chrome_Beta.png
Capt. Saicin
LED Enthusiast
LED Enthusiast
Reactions:
Posts: 83
Joined: Mon Jul 30, 2018 7:20 pm

Are you using VPD/Vapour Pressure Deficit to dial in your humidity/temp?
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

Yup, tracking it like a hawk. Currently using an IR gun to measure leaf temp once a while but I want to get these ir sensors going to measure every hour.
Shimbob
LED Wizard
LED Wizard
Reactions:
Posts: 642
Joined: Mon Nov 27, 2017 11:29 pm

Heat wave has thrown my carefully dialed in temperatures all out of whack! I have no AC, yet, so I'm just cranking up the humidity to match the temperature. Now at 31C & 68%. Just a couple more days and we'll be back to our regular overcast, I hope.
Screenshot_2021-06-01_21-08-14.png
Post Reply