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:current [2017/09/29 08:47] Somepuben:iot:examples:current [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Current ======+====== Current example======
  
-==== Theory ====+The current sensor device has to be connected to the sensor module. Current sensor device has a 3,5 mm plug what has to be connected to the sensor module left jacket A. The controller and sensor modules must be connected. 
 +The current sensor has to be 30A
  
 +{{:en:iot:examples:currentpicture1.jpg?200|}}
  
 +Needed libraries:
 +<code>lib_deps = ITTIoT, EmonLib</code>
  
-==== Practical ==== +The example code above shows the alternating current value to current topic "curr"If nothing is measured the current value is NaN.
- +
-The current sensor device has to be connected to the sensor moduleCurrent sensor device has a 3,5 mm plug what has to be connected to the sensor module eft side 3,5 mm jacket input(smaller input jacket). The controller and sensor modules must be connected.+
  
 <code c> <code c>
- 
 #include <Arduino.h> #include <Arduino.h>
 #include <ittiot.h> #include <ittiot.h>
Line 16: Line 17:
 #include <Ticker.h> #include <Ticker.h>
  
 +#define WIFI_NAME "name"
 +#define WIFI_PASSWORD "password"
 +
 +// Pin definition for the current sensor
 #define ADC_PIN A0 #define ADC_PIN A0
  
 +// create a objects
 EnergyMonitor emon1; EnergyMonitor emon1;
 Ticker adcTicker; Ticker adcTicker;
  
 bool adcFlag; bool adcFlag;
- 
 uint16_t adcSampleCount; uint16_t adcSampleCount;
  
 void setAdcFlag() void setAdcFlag()
 { {
-    adcFlag=true;+    // If time, the set adcFlag. 
 +    adcFlag = true;
 } }
  
 +// Function started after the connection to the server is established.
 void iot_connected() void iot_connected()
 { {
Line 38: Line 45:
 void setup() void setup()
 { {
 +    // setting up serial connection parameter
     Serial.begin(115200);     Serial.begin(115200);
     Serial.println("Booting");     Serial.println("Booting");
-    iot.printConfig(); // print json config to serial+ 
 +    //iot.setConfig("wname", WIFI_NAME); 
 +    //iot.setConfig("wpass", WIFI_PASSWORD); 
 +     
 +    // print json config to serial 
 +    iot.printConfig(); 
 +    // Initialize IoT library
     iot.setup();     iot.setup();
  
-    emon1.current(ADC_PIN, iot.cfg->get<double>("stc"));             // Current: input pin, calibration. +    // Current: input pin, calibration (how big current can it read)
-    adcSampleCount = iot.cfg->get<uint16_t>("samples");+    emon1.current(ADC_PIN, 30)
 +    adcSampleCount = 1500;
  
 +    // Start function setAdcFlag 0.5 second interval
     adcTicker.attach(0.5, setAdcFlag);     adcTicker.attach(0.5, setAdcFlag);
 } }
Line 51: Line 67:
 void loop() void loop()
 { {
 +  // IoT behind the plan work, it should be periodically called
   iot.handle();   iot.handle();
  
 +  // If adcFlag is set, then send information to server
   if(adcFlag)   if(adcFlag)
   {   {
Line 58: Line 76:
       double val = emon1.calcIrms(adcSampleCount);       double val = emon1.calcIrms(adcSampleCount);
       String msg = String(val);       String msg = String(val);
 +      // publishing measured current value to a MQTT broker
       iot.publishMsg("curr", msg.c_str());       iot.publishMsg("curr", msg.c_str());
 +      // sending measured current value to a computer
       Serial.println(msg);       Serial.println(msg);
   }   }
- 
 } }
  
 </code> </code>
  
en/iot/examples/current.1506674872.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