Dan
I found out why the ESP-01 was not booting up correctly …you have to connect the chip power down pin too to the 3v3 line for it to work right …i guess it was a requirement that i did not know about
Not too long ago we did this together that actually works flawlessly
/// @brief
/// Arduino SmartThings Ethernet ESP8266 WiFi On/Off with LED Example
///
/// Revised by Dan Ogorchock on 2017-02-11 to work with new "SmartThings v2.0" Library
///
/// Notes: The ESP-01 communicates via WiFi to your home network router,
/// then to the ST Hub, and eventually to the ST cloud servers.
/// For Denis Grabocka use case
///
//*****************************************************************************
#include <SmartThingsESP8266WiFi.h>
//*****************************************************************************
// Pin Definitions | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
// V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
//*****************************************************************************
//******************************************************************************************
//NodeMCU ESP8266 Pin Definitions (makes it much easier as these match the board markings)
//******************************************************************************************
/* #define LED_BUILTIN 16 **** // If i am understanding it correctly we do not need any digital Inputs or Outputs in this sketch
#define BUILTIN_LED 16 **** // hence the commenting out of this portion
#define D0 16
#define D1 5
#define D2 4
#define D3 0
#define D4 2
#define D5 14
#define D6 12
#define D7 13
#define D8 15
#define D9 3
#define D10 1
#define PIN_LED LED_BUILTIN //Onboard LED */
byte relON[] = {0xA0, 0x01, 0x01, 0xA2}; // Hex command to send to serial for open relay Help needed here: Do I define these here or can i just serial write the hex command directly further down??
byte relOFF[] = {0xA0, 0x01, 0x00, 0xA1}; // Hex command to send to serial for close relay Also is byte the proper parameter
//*****************************************************************************
// Global Variables | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
// V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
//*****************************************************************************
SmartThingsCallout_t messageCallout; // call out function forward decalaration
//******************************************************************************************
//ESP8266 WiFi Information CHANGE THIS INFORMATION ACCORDINGLY FOR YOUR NETWORK!
//******************************************************************************************
String str_ssid = "grabockanet_2ghz"; // <---You must edit this line! // I will be putting my informations on this part
String str_password = "4697374387"; // <---You must edit this line!
IPAddress ip(192, 168, 1, 222); // Device IP Address // <---You must edit this line!
IPAddress gateway(192, 168, 1, 1); //router gateway // <---You must edit this line!
IPAddress subnet(255, 255, 255, 0); //LAN subnet mask // <---You must edit this line!
IPAddress dnsserver(192, 168, 1, 1); //DNS server // <---You must edit this line!
const unsigned int serverPort = 8090; // port to run the http server on
// Smartthings Hub Information
IPAddress hubIp(192, 168, 1, 192); // smartthings hub ip // <---You must edit this line!
const unsigned int hubPort = 39500; // smartthings hub port
//Create a SmartThings Ethernet ESP8266WiFi object
st::SmartThingsESP8266WiFi smartthing(str_ssid, str_password, ip, gateway, subnet, dnsserver, serverPort, hubIp, hubPort, messageCallout);
// bool isDebugEnabled; // enable or disable debug in this example
bool momentaryActive = false;
int period = 2000;
unsigned long time_now = 0;
//*****************************************************************************
// Local Functions | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
// V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
//*****************************************************************************
void on()
{
Serial.write(relON, sizeof(relON)); // turn LED on
time_now = millis();
momentaryActive = true;
smartthing.send("switch1 on"); // send message to cloud
}
//*****************************************************************************
void off()
{
Serial.write(relOFF, sizeof(relOFF)); // turn LED off
momentaryActive = false;
smartthing.send("switch1 off"); // send message to cloud
}
//*****************************************************************************
// API Functions | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
// V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V
//*****************************************************************************
void setup()
{
// setup default state of global variables
// isDebugEnabled = true;
// if (isDebugEnabled)
// { // setup debug serial port
Serial.begin(9600); // setup serial with a baud rate of 9600 **** In my ESP01 case the baud rate is the same as well 9600
// Serial.println("");
// Serial.println("setup.."); // print out 'setup..' on start
// }
// setup hardware pins
// pinMode(PIN_LED, OUTPUT); // define PIN_LED as an output **** Should i comment this out in my case?? if Not what do i do here??
Serial.write(relOFF, sizeof(relOFF)); // set value to HIGH (off) **** Is this right??
//Run the SmartThings init() routine to make sure the ThingShield is connected to the ST Hub
smartthing.init();
//synch up the ST cloud
smartthing.send("switch1 off"); // send message to cloud
}
//*****************************************************************************
void loop()
{
// run smartthing logic
smartthing.run();
//check to see if we need to run off the momentary switch device
if (momentaryActive) {
if (millis() - time_now > period) {
momentaryActive = false;
off();
}
}
}
//*****************************************************************************
void messageCallout(String message)
{
// if debug is enabled print out the received message
// if (isDebugEnabled)
// {
// Serial.print("Received message: '");
// Serial.print(message);
// Serial.println("' ");
// }
// if message contents equals to 'on' then call on() function
// else if message contents equals to 'off' then call off() function
if (message.equals("switch1 on"))
{
on();
}
else if (message.equals("switch1 off"))
{
off();
}
}
Which also uses an ESP-01 and a serially controlled relay with SmartThings and ST_Anything.
I have one request please can you guide me on how to incorporate the webserver part of the above example into it ( [RELEASE] ST_Anything v2.9.2 - Arduino/ESP8266/ESP32 to ST via ThingShield, Ethernet, or WiFi) it will be really practical to have something like this in my situation since i have lots of family members and cousins that come in and out of the house that do not have Smartthings on their phones so i can share a code with each of them and also be able to change it once in a while.
I really appreciate all you do and i completely understand if you have no time or patience to deal with it
Thank you again
Denis