Требуется удаленно наблюдать за потреблением тока

Vinch
Offline
Зарегистрирован: 01.08.2013

Имеется датчик STC-013, требуется удаленно следить за показаниями. На чем реализовать проще и быстрее, чтобы отслеживать через интернет? Интернет с динамическим ip адресом. Может на sonoff какие-то прошивки есть, какие-то сервисы можно использовать.. хочется по минимуму времени и сил на это затратить)

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Vinch пишет:

 хочется по минимуму времени и сил на это затратить)

Это как "быстрый рецепт борща", если в курсе.

Ты понял, что я имел ввиду "Ищу исполнителя"? :))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Я бы воспользовался готовой библиотекой...
 

// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3

#include "EmonLib.h"                   // Include Emon Library
EnergyMonitor emon1;                   // Create an instance

void setup()
{  
  Serial.begin(9600);
  
  emon1.current(1, 111.1);             // Current: input pin, calibration.
}

void loop()
{
  double Irms = emon1.calcIrms(1480);  // Calculate Irms only
  
  Serial.print(Irms*230.0);	       // Apparent power
  Serial.print(" ");
  Serial.println(Irms);		       // Irms
}

 

Alfizik
Alfizik аватар
Offline
Зарегистрирован: 16.12.2020

какие-то сервисы можно использовать

я таким пользусь - https://remotexy.com/

http://remotexy.com/ru/editor/61e0b853cde8fca7f417912859417794/

Vinch
Offline
Зарегистрирован: 01.08.2013

спасибо, вроде удобно, понятно все, но не могу подключить ds18b20..

температуру -127 выдает

Уже кучу всяких тем перечитал, разные скетчи пробовал, стандартные примеры. Даже в сериал не могу температуру вывести..

Реле нормально работает.

#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// настройки соединения облачного сервера
#define REMOTEXY_WIFI_SSID "--------------"
#define REMOTEXY_WIFI_PASSWORD "------------"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "-----------------------------"
#define ONE_WIRE_BUS 14

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
char temperatureCString[6];
char temperatureFString[6];
float oldTemp;

#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,1,0,7,0,37,0,10,16,1,
  2,0,5,84,53,13,2,26,31,31,
  79,78,0,79,70,70,0,66,132,5,
  13,52,41,2,24,67,5,22,58,19,
  8,2,26,6 };
  
  
struct {


  uint8_t switch_1;  

    // output variables
  int8_t level_1;

  char text_temp[6];

  uint8_t connect_flag;
} RemoteXY;

#pragma pack(pop)


#define PIN_SWITCH_1 12
#define LED_SonOff 13
#define BUTTON_SonOff 0

int OnOff = LOW; // Состояние встроенного светодиода в плату ESP8266
int Relay_OnOff = LOW; // Состояние реле


void setup()
{
  Serial.begin(115200);
DS18B20.begin();
RemoteXY_Init ();
pinMode (PIN_SWITCH_1, OUTPUT);
// TODO you setup code

pinMode(LED_SonOff, OUTPUT);
pinMode(BUTTON_SonOff, INPUT);
}


void loop()
{
float temp;
RemoteXY_Handler ();
//RemoteXY.text_temp = temperatureCString;
//int i;
//for(i = 0; i < 6; i++)
//{
//  RemoteXY.text_temp[i] = temperatureCString[i];
//}
//RemoteXY.level_1 = tempC;
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
// TODO you loop code
// используйте структуру RemoteXY для передачи данных

//digitalWrite(LED_SonOff, OnOff);
OnOff = !OnOff;
//delay(500);

    DS18B20.requestTemperatures(); 
    temp = DS18B20.getTempCByIndex(0);
  Serial.print("Temperature: ");
    Serial.println(temp);
  if (temp != oldTemp)
  {
    dtostrf(temp, 0, 1, RemoteXY.text_temp);
    oldTemp = temp;
  }
  
    delay(1000);
}

А прошиваю sonoff прошивкой ravencore - все работает, значит проблема не в подключении..

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Где схема ?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

поменяй пин на D4