This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:iot:examples:current [2017/12/18 11:05] – New picture tomykalm | en:iot:examples:current [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Current ====== | + | ====== Current |
| - | 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 side 3,5 mm jacket | + | 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 |
| + | The current sensor has to be 30A | ||
| {{: | {{: | ||
| + | |||
| + | Needed libraries: | ||
| + | < | ||
| The example code above shows the alternating current value to current topic " | The example code above shows the alternating current value to current topic " | ||
| <code c> | <code c> | ||
| - | |||
| #include < | #include < | ||
| #include < | #include < | ||
| Line 14: | Line 17: | ||
| #include < | #include < | ||
| + | #define WIFI_NAME " | ||
| + | #define WIFI_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; | + | |
| + | | ||
| } | } | ||
| + | // Function started after the connection to the server is established. | ||
| void iot_connected() | void iot_connected() | ||
| { | { | ||
| Line 36: | Line 45: | ||
| void setup() | void setup() | ||
| { | { | ||
| + | // setting up serial connection parameter | ||
| Serial.begin(115200); | Serial.begin(115200); | ||
| Serial.println(" | Serial.println(" | ||
| - | | + | |
| + | //iot.setConfig(" | ||
| + | // | ||
| + | |||
| + | | ||
| + | iot.printConfig(); | ||
| + | // Initialize IoT library | ||
| iot.setup(); | iot.setup(); | ||
| - | | + | // Current: input pin, calibration |
| - | | + | |
| + | adcSampleCount = 1500; | ||
| + | // Start function setAdcFlag 0.5 second interval | ||
| adcTicker.attach(0.5, | adcTicker.attach(0.5, | ||
| } | } | ||
| Line 49: | 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 56: | 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(" | iot.publishMsg(" | ||
| + | // sending measured current value to a computer | ||
| Serial.println(msg); | Serial.println(msg); | ||
| } | } | ||
| - | |||
| } | } | ||
| </ | </ | ||