Управление отоплением в загородном доме (GSM)

Тема в разделе "Глядите, что я сделал", создана пользователем Вячеслав, 6 дек 2012.

  1. tik_1328

    tik_1328 Нуб

    Всем доброго дня! Я новичек. Но у меня в МКД автономное отопление (инфракрасные обогреватели) на аналоговых термостатах. по читав форму захотелось сделать на ардуино и что б со смартфона управлять и контролировать, вот только чуть навернуть - чтоб розетки управлялись беспроводным способом, так как тянуть заново проводя по квартире не хочется. Под нагрузкой 4 обогревателя (спальня 1, зал -2, кухня 1), в каждой комнате свой термостат. Если подскажете что нужно приобрести и поможете с написанием кода буду благодарен. Если дело в тугриках скину на карту.
     
  2. YanTV

    YanTV Нерд

    Может проще через Sonoff управлять? И по Wi-Fi и пультом. А так все равно к розеткам провода тянуть придется.
     
  3. tik_1328

    tik_1328 Нуб

    да розетки уже запитаны так как на аналоговом термостате работают. есть желание это автоматизировать.
     
  4. luii

    luii Нуб

    подскажите а нет ли у кого исходника стеварда из начала темы? ато в авторском нет файла аia
     
  5. YanTV

    YanTV Нерд

    Его там не может быть. Он компелился на App Inventor первой версии. А сейчас существует только вторая. Конвертировать надо в aia.
     
  6. YanTV

    YanTV Нерд

    Лови...
     

    Вложения:

  7. vitos08

    vitos08 Нуб

    добрый вечер! кто нить может подсказать что добавить в скетч чтоб при повышении температуры +19 приходило смс


    #include "SIM900.h"
    #include <SoftwareSerial.h>
    #include "call.h"
    #include <DHT.h>
    #include "sms.h"

    SMSGSM sms;
    #define DHTPIN 7
    #define DHTTYPE DHT22

    CallGSM call;
    boolean started=false;
    char sms_text[160];

    DHT dht(DHTPIN, DHTTYPE);

    void setup()
    {
    dht.begin();
    Serial.begin(9600);

    if (gsm.begin(9600))
    {
    Serial.println("\nstatus=READY");
    started=true;
    }
    else
    Serial.println("\nstatus=IDLE");
    }

    void loop()
    {
    float humidity, temperature;
    String smsText ="";

    switch (call.CallStatus())
    {
    case CALL_NONE: // Nothing is happening

    break;

    case CALL_INCOM_VOICE : // Yes! Someone is calling us

    Serial.println("RECEIVING CALL");
    call.HangUp();
    delay(2000);
    humidity = dht.readHumidity();
    temperature = dht.readTemperature();
    delay(2000);
    smsText = "Temperature: "+String(temperature,1)+"C Humidity: "+String(humidity,1)+"%";
    smsText.toCharArray(sms_text,160);
    //Serial.println(smsText);
    sms.SendSMS("+306900000000",sms_text);
    break;

    case CALL_COMM_LINE_BUSY: // In this case the call would be established

    Serial.println("TALKING. Line busy.");

    break;
    }
    delay(1000);
    }
     
  8. vitos08

    vitos08 Нуб

    людииии!!!! куда все делись
     
  9. _jah_69_

    _jah_69_ Гик

    Условие если tsig > t
     
  10. vitos08

    vitos08 Нуб

    Я извиняюсь могли бы вы показать пример на моем скетче как это условие применить
     
  11. Aleks_NN

    Aleks_NN Нерд

    Возможно ваша задача мало кому интересна, да и к описанному в теме проекту отношения не имеет.
     
  12. vitos08

    vitos08 Нуб

    ok спс за помощь
     
  13. _jah_69_

    _jah_69_ Гик

    Мутный какой то скетч. Тупа передрал с буржуйского сайта
     
  14. vitos08

    vitos08 Нуб

    ну естествено передрал сам я бы не смог поэтому и просил помощи
     
  15. _jah_69_

    _jah_69_ Гик

    ужасный ты вариант выбрал
     
  16. _jah_69_

    _jah_69_ Гик

    currentTime = millis();
    if(currentTime >= (loopTime + 180000) && zapuskTemp == 1)
    {
    int t3 = sens.readTemperature(A2); // чтение датчика на пине A5 Kotel
    int h3 = sens.readHumidity(A2); // чтение датчика на пине A5 Kotel
    delay(2000);
    sensors.requestTemperatures(); // запрос показаний температуры OUT
    int t4 = sensors.getTempCByIndex(0);
    delay(2000);
    loopTime = currentTime;
    Serial.print(t3);
    Serial.print(h3);
    Serial.print(t4);

    if (t3 < tempAlarm)
    {
    statusAlarm = String("<")+String("KotelPotyx")+String(">")+String("<")+String("Out")+int(t4)+String("C")+String(">")+String("<")+String("Kotel")+int(h3)+String("%")+String("Kotel")+int(t3)+String("C")+String(">");
    SendSms((statusAlarm), AdminPhone);
    Serial.println("KotelPotyx");
    zapuskTemp = 0;
    }
    }
     
  17. vitos08

    vitos08 Нуб

    да разницы нет какой вариант нужно чтобы слало смс при превышении заданной температуры и все
    попробовал этот скетч он работает когда звонишь на него приходит смс
     
  18. vitos08

    vitos08 Нуб

    спс за инфо в пред идущем сообщении
     
  19. _jah_69_

    _jah_69_ Гик

    В последнем варианте аккурат кусок дописан только при понижении температуры
     
  20. что то Код работает криво, при включеном питании постоянно приходит смска пока не отключишь питание от гсм модуля. Не понимаю как у тебя работает