-
Posts: 105 Joined: Wed Nov 18, 2015 9:16 pm
|
 Posted: Tue Jun 14, 2016 6:15 pm
ok. I am able to hit the Reef Angel Controller Webserve from the public ip address http://24.170.42.205:2000/ . Below is the code I uploaded. But all I get on the reef angel wifi unit is a green blinking light....help - Code: Select all
#include <ReefAngel_Features.h> #include <Globals.h> #include <RA_Wifi.h> #include <Wire.h> #include <OneWire.h> #include <Time.h> #include <DS1307RTC.h> #include <InternalEEPROM.h> #include <RA_NokiaLCD.h> #include <RA_ATO.h> #include <RA_Joystick.h> #include <LED.h> #include <RA_TempSensor.h> #include <Relay.h> #include <RA_PWM.h> #include <Timer.h> #include <Memory.h> #include <InternalEEPROM.h> #include <RA_Colors.h> #include <RA_CustomColors.h> #include <Salinity.h> #include <RF.h> #include <IO.h> #include <ORP.h> #include <AI.h> #include <PH.h> #include <WaterLevel.h> #include <Humidity.h> #include <DCPump.h> #include <PAR.h> #include <ReefAngel.h>
////// Place global variable code below here
////// Place global variable code above here
void setup() { // This must be the first line ReefAngel.Init(); //Initialize controller ReefAngel.AddStandardMenu(); // Add Standard Menu ReefAngel.AddWifi(); // Add Wifi ReefAngel.Use2014Screen(); // Let's use 2014 Screen // Ports toggled in Feeding Mode ReefAngel.FeedingModePorts = Port2Bit | Port8Bit; // Ports toggled in Water Change Mode ReefAngel.WaterChangePorts = Port2Bit | Port8Bit; // Ports toggled when Lights On / Off menu entry selected ReefAngel.LightsOnPorts = 0; // Ports turned off when Overheat temperature exceeded ReefAngel.OverheatShutoffPorts = Port4Bit; // Use T1 probe as temperature and overheat functions ReefAngel.TempProbe = T1_PROBE; ReefAngel.OverheatProbe = T1_PROBE; // Set the Overheat temperature setting InternalMemory.OverheatTemp_write( 830 );
// Feeeding and Water Change mode speed ReefAngel.DCPump.FeedingSpeed=0; ReefAngel.DCPump.WaterChangeSpeed=0;
// Ports that are always on
////// Place additional initialization code below here
// Define labels for 2014 LCD screen //box0 ReefAngel.CustomLabels[0]="T5HO"; ReefAngel.CustomLabels[1]="Skimmer"; ReefAngel.CustomLabels[2]="FugeLight"; ReefAngel.CustomLabels[3]="Heater"; ReefAngel.CustomLabels[4]="ScrubLight"; ReefAngel.CustomLabels[5]="Kalk_Mixer"; ReefAngel.CustomLabels[6]="Kalk_ATO"; ReefAngel.CustomLabels[7]="RO_ATO"; //lowers minimum speed for DC pump InternalMemory.DCPumpThreshold_write(0); //gives random sopmething to randomize against randomSeed(now()/SECS_PER_DAY); ////// Place additional initialization code above here }
void loop() { ReefAngel.ShowInterface(); //wifi ReefAngel.MHLights( Port1,12,30,14,30,5 ); //t5ho ReefAngel.MHLights( Port2,7,0,22,0,5 ); //skimmer ReefAngel.StandardLights( Port3,18,0,10,0 ); //fugelight ReefAngel.StandardHeater( Port4,785,788 ); //heater ReefAngel.StandardLights( Port5,18,0,10,0 ); //scrubber light ReefAngel.DosingPumpRepeat( Port6,0,240,25 ); // kalk mixing every 6 hours for 25 seconds ////// Place your custom code below here
////// Wave Pattern Code Start //Hardcode minimum speed of DC pumps ReefAngel.DCPump.Threshold=0;
// Add random mode if we set to Mode to Custom in portal static int rmode; static boolean changeMode=true;
// These are the modes we can cycle through. You can add more and even repeat... byte modes[] = { ReefCrest, NutrientTransport, TidalSwell, Lagoon, Else, ReefCrest, Else };
ReefAngel.DCPump.DaylightChannel = Sync; ReefAngel.DCPump.ActinicChannel = AntiSync; if (now()%SECS_PER_DAY==0 || changeMode==true) { // Change at midnight or if controller rebooted rmode=random(100)%sizeof(modes); // Change the mode once per day to pick from our array changeMode=false; }
// Set timer when in feeding mode static unsigned long feeding; if (ReefAngel.DisplayedMenu==FEEDING_MODE) feeding=now();
// after feed mode Continue NTM for the 60 minutes if (now()-feeding<1800) { ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=InternalMemory.DCPumpDuration_read(); ReefAngel.DCPump.Mode=Else;
} //7am to 9am - wake up from night mode else if (hour()>=7 && hour()<9){ ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=350; ReefAngel.DCPump.Mode=Sine; ReefAngel.DCPump.Speed=50; } //9am to 10am - ramp up to random else if (hour()>=9 && hour()<10){ ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=InternalMemory.DCPumpDuration_read(); ReefAngel.DCPump.Mode=Lagoon; ReefAngel.DCPump.Speed=60; } //10am to 6pm - Random else if (hour()>=10 && hour()<18) { ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=InternalMemory.DCPumpDuration_read(); ReefAngel.DCPump.Mode=modes[rmode]; // Put the mode to the random mode :) ReefAngel.DCPump.Speed=70; } //6pm to 7pm - slow down from random else if (hour()>=18 && hour()<19){ ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=InternalMemory.DCPumpDuration_read(); ReefAngel.DCPump.Mode=Lagoon; ReefAngel.DCPump.Speed=60;
} //7pm to 9pm - slow down to night mode else if (hour()>=19 && hour()<21){ ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=350; ReefAngel.DCPump.Mode=Sine; ReefAngel.DCPump.Speed=50;
} // Night mode else { ReefAngel.DCPump.UseMemory=false; ReefAngel.DCPump.Duration=450; ReefAngel.DCPump.Mode=Sine; ReefAngel.DCPump.Speed=40; } ////// Wave Pattern Code End
////// ATO RO and Kalk Settings if ((hour()>18 || hour()<9) && (ReefAngel.Params.PH < 822)) { ReefAngel.SingleATO( true,Port7,600,0 ); // Sump switch. Kalk schedule 6pm - 7am if pH < 8.25 If ATO/Kalk runs for 10 minutes=600 seconds, then shut off. ReefAngel.Relay.Off(Port8); } else { ReefAngel.SingleATO( true,Port8,500,0 ); // Sump switch. If ATO/RoDi runs for 8.20 minutes=480 seconds, then shut off. ReefAngel.Relay.Off(Port7); } ////// End ATO RO and Kalk Settings
////// Place your custom code above here
// This should always be the last line ReefAngel.ShowInterface(); }
|