Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:iot:examples:smartventilator [2020/07/20 11:26] – external edit 127.0.0.1en:iot:examples:smartventilator [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 10: Line 10:
 The following is the code for the controller with relay module. The following is the code for the controller with relay module.
 Required libraries: Required libraries:
-<code>lib_deps = ITTIoT@1.0.5</code>+<code>lib_deps = ITTIoT</code>
 <code c> <code c>
 +// Includes global variables and librarys that the relay uses
 #include <Arduino.h> #include <Arduino.h>
 #include <ittiot.h> #include <ittiot.h>
 +
 +#define WIFI_NAME "name"
 +#define WIFI_PASSWORD "password"
  
 // Change it according to the real name of the red IoT module where // Change it according to the real name of the red IoT module where
-// DHT shield is connected +// temperature & humidity shield is connected 
-#define DHT_TOPIC "ESP53"+#define DHT_TOPIC "ESP30"
  
-#define RELAY_PIN 5 +#define RELAY_PIN 5 // The relay has been connected to pin 
-float t; //for holding the received float value+float t; //for holding the received temperature float value
 float tempLimit = 28; //the temperature limit on what the relay will switch float tempLimit = 28; //the temperature limit on what the relay will switch
  
Line 26: Line 30:
 void iot_received(String topic, String msg) void iot_received(String topic, String msg)
 { {
-  t=msg.toFloat();+  t=msg.toFloat(); // Converts received temperature value into a real number
  
-  // Check if topic contains conficuration data+  // Check if topic contains configuration data (change the temperature limit value)
   if(topic == (DHT_TOPIC"/conf"))   if(topic == (DHT_TOPIC"/conf"))
   {   {
-    //re-configures the limit temperature+    //re-configures the temperature limit
     tempLimit=t;     tempLimit=t;
   }   }
Line 65: Line 69:
 { {
   // Initialize serial port and send message   // Initialize serial port and send message
-  Serial.begin(115200);+  Serial.begin(115200); // setting up serial connection parameter
   Serial.println("Booting");   Serial.println("Booting");
  
-  // print IoT json config to serial +  //iot.setConfig("wname", WIFI_NAME); 
-  iot.printConfig(); +  //iot.setConfig("wpass", WIFI_PASSWORD); 
-  // Initialize IoT library +  iot.printConfig(); // print IoT json config to serial 
-  iot.setup();+  iot.setup(); // Initialize IoT library
  
-  // Initialize relay pin as output +  pinMode(RELAY_PIN, OUTPUT); // The relay pin is defined as output type
-  pinMode(RELAY_PIN, OUTPUT);+
 } }
  
 void loop() void loop()
 { {
-  // IoT behind the plan work, it should be periodically called +  iot.handle(); // IoT behind the plan work, it should be periodically called 
-  iot.handle(); +  delay(20); // Wait 0.2 second
-  delay(200);+
 } }
 +
 </code> </code>
  
 The following is the program code for the controller with DHT module. The following is the program code for the controller with DHT module.
 Required libraries: Required libraries:
-<code>lib_deps = ITTIoT@1.0.5, DHT sensor library, Adafruit Unified Sensor</code>+<code>lib_deps = ITTIoT, DHT sensor library, Adafruit Unified Sensor</code
 +<fc #ff0000>After programming, if NAN appears instead of readings, the USB cable should be disconnected and reconnected!</fc>
 <code c> <code c>
 +// Includes global variables and librarys that the DHT uses
 #include <Arduino.h> #include <Arduino.h>
 #include <ittiot.h> #include <ittiot.h>
 +#include <Ticker.h>
 #include <DHT.h> #include <DHT.h>
  
-#define DHTPIN D3     // Pin where DHT shield is connected. Change this to D4 if your shield has no legs removed.+#define WIFI_NAME "name" 
 +#define WIFI_PASSWORD "password" 
 + 
 +#define DHTPIN D3     // Pin where DHT shield is connected. Change this to D4 if the shield has no legs removed.
 #define DHTTYPE DHT22   // DHT 22  (AM2302) #define DHTTYPE DHT22   // DHT 22  (AM2302)
  
Line 99: Line 108:
 DHT dht(DHTPIN, DHTTYPE); DHT dht(DHTPIN, DHTTYPE);
  
-// Message received +// Create an object for Ticker library 
-void iot_received(String topic, String msg)+Ticker timeTicker; 
 + 
 +bool sendDataFlag; 
 + 
 +// Ticker library callback, which will occur 0.5 second interval. 
 +void sendData()
 { {
 +  sendDataFlag=true;
 } }
  
Line 117: Line 131:
 { {
   // Initialize serial port and send message   // Initialize serial port and send message
-  Serial.begin(115200);+  Serial.begin(115200); // setting up serial connection parameter
   Serial.println("Booting");   Serial.println("Booting");
  
-  // print IoT json config to serial +  //iot.setConfig("wname", WIFI_NAME); 
-  iot.printConfig(); +  //iot.setConfig("wpass", WIFI_PASSWORD); 
- +  iot.printConfig(); // print IoT json config to serial 
-  // Initialize IoT library +  iot.setup(); // Initialize IoT library
-  iot.setup();+
  
   // Initialize DHT library   // Initialize DHT library
   dht.begin();   dht.begin();
 +
 +  // Initialize Ticker interval and callback
 +  timeTicker.attach(1, sendData);
 } }
  
 void loop() void loop()
 { {
-  // IoT behind the plan work, it should be periodically called +  iot.handle(); // IoT behind the plan work, it should be periodically called
-  iot.handle();+
  
-  // Read humidity and temperature +  if(sendDataFlag) 
-  float h = dht.readHumidity(); +  { 
- float t = dht.readTemperature();+    sendDataFlag = false; 
 +    // Read humidity and temperature 
 +    float h = dht.readHumidity(); 
 +    float t = dht.readTemperature();
  
-  // Create a buffer to store strings to being sent later +    // Create a buffer to store strings to being sent later 
-  char buf[10];+    char buf[10];
  
-  // Convert messages to strings and send to the MQTT server +    // Convert temperature value messages to strings and send to the MQTT server 
- String(t).toCharArray(buf,10); +    String(t).toCharArray(buf,10); 
-  iot.publishMsg("temp",buf); +    iot.publishMsg("temp",buf);
- delay(1000);+
  
- String(h).toCharArray(buf,10); +    // Convert humidity value messages to strings and send to the MQTT server 
-  iot.publishMsg("hum",buf); +    String(h).toCharArray(buf,10); 
- delay(1000);+    iot.publishMsg("hum",buf); 
 +  }
 } }
 +
 </code> </code>
  
en/iot/examples/smartventilator.1595244384.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0