77 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C++
		
	
	
	
 | 
						|
////////////////////////////////////////////////////////////
 | 
						|
//                                                        //
 | 
						|
//    HomeSpan: A HomeKit implementation for the ESP32    //
 | 
						|
//    ------------------------------------------------    //
 | 
						|
//                                                        //
 | 
						|
// Example 9: Logging messages to the Serial Monitor      //
 | 
						|
//                                                        //
 | 
						|
//                                                        //
 | 
						|
////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#include "HomeSpan.h" 
 | 
						|
#include "DEV_LED.h"     
 | 
						|
#include "DEV_Identify.h"       
 | 
						|
 | 
						|
void setup() {
 | 
						|
 | 
						|
  // HomeSpan sends a variety of messages to the Serial Monitor of the Arduino IDE whenever the device is connected
 | 
						|
  // to a computer.  Message output is performed either by the usual Serial.print() function, or by one of two macros,
 | 
						|
  // LOG1() and LOG2().  These two macros call Serial.print() depending on HomeSpan's Log Level setting.  A setting
 | 
						|
  // of 0 means that LOG1() and LOG2() messages are ignored.  A setting of 1 causes HomeSpan to print LOG1() messages
 | 
						|
  // to the Serial Monitor, but ignores LOG2() message.  And a setting of 2 causes HomeSpan to print both LOG1() and
 | 
						|
  // LOG2() messages.
 | 
						|
  
 | 
						|
  // Example 9 illustrates how to add such log messages.  The code is identical to Example 8 (without comments), except
 | 
						|
  // that Serial.print() and LOG1() messages have been added to DEV_LED.h.  The Serial.print() messages will always be
 | 
						|
  // output to the Arduino Serial Monitor.  The LOG1() messages will only be output if the Log Level is set to 1 or 2.
 | 
						|
 | 
						|
  // The setLogLevel() method of homeSpan is used to change the log level as follows:
 | 
						|
  
 | 
						|
  //    homeSpan.setLogLevel(0)     - sets Log Level to 0
 | 
						|
  //    homeSpan.setLogLevel(1)     - sets Log Level to 1
 | 
						|
  //    homeSpan.setLogLevel(2)     - sets Log Level to 2
 | 
						|
 | 
						|
  // The method should be called BEFORE homeSpan.begin() - see below for proper use.
 | 
						|
  
 | 
						|
  // RECOMMENDATION: Since a HomeSpan ESP32 is meant to be physically connected to real-world devices, you may find
 | 
						|
  // yourself with numerous ESP32s each configured with a different set of Accessories.  To aid in identification
 | 
						|
  // you may want to add Serial.print() statements containing some sort of initialization message to the constructors for
 | 
						|
  // each derived Service, such as DEV_LED.  Doing so allows HomeSpan to "report" on its configuration upon start-up.  See
 | 
						|
  // DEV_LED for examples.
 | 
						|
  
 | 
						|
  Serial.begin(115200);
 | 
						|
 | 
						|
  homeSpan.setLogLevel(1);                                // NEW - Sets Log Level to 1, which causes LOG1() messages to be output
 | 
						|
 | 
						|
  homeSpan.begin(Category::Bridges,"HomeSpan Bridge");
 | 
						|
  
 | 
						|
  // Defines the Bridge Accessory
 | 
						|
 | 
						|
  new SpanAccessory();  
 | 
						|
    new DEV_Identify("Bridge #1","HomeSpan","123-ABC","HS Bridge","0.9",3);
 | 
						|
    new Service::HAPProtocolInformation();
 | 
						|
      new Characteristic::Version("1.1.0");
 | 
						|
  
 | 
						|
  // Defines an ON/OFF LED Accessory attached to pin 16
 | 
						|
 | 
						|
  new SpanAccessory();                                                          
 | 
						|
    new DEV_Identify("On/Off LED","HomeSpan","123-ABC","20mA LED","0.9",0);
 | 
						|
    new DEV_LED(16);
 | 
						|
 | 
						|
  // Defines a Dimmable LED Accessory attached to pin 17 using PWM channel 0
 | 
						|
  
 | 
						|
  new SpanAccessory();                                                        
 | 
						|
    new DEV_Identify("Dimmable LED","HomeSpan","123-ABC","20mA LED","0.9",0);       
 | 
						|
    new DEV_DimmableLED(0,17);                                            
 | 
						|
 | 
						|
} // end of setup()
 | 
						|
 | 
						|
//////////////////////////////////////
 | 
						|
 | 
						|
void loop(){
 | 
						|
  
 | 
						|
  homeSpan.poll();
 | 
						|
  
 | 
						|
} // end of loop()
 |