Самодельный ардуино контролер отопления

Тема в разделе "Силовая электроника", создана пользователем mednagolov, 25 окт 2022.

  1. mednagolov

    mednagolov Гик

    Написал тестовый скетч, чтоб с помощю пультика слать команды,
    всеравно блютуз ерорит...
    Код (C++):
     #include <SoftwareSerial.h>
         SoftwareSerial  SIM800(2, 3);  // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L)
    //--- IRremote -----------
      #include <IRremote.h>
    int irPin = 4;
         IRrecv irReciver(irPin); // указываем вывод, к которому подключён приёмник
         decode_results results;
    //------ OLED --------------------
       #include <GyverOLED.h>
          GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
    //--------------------------

    void setup() {
    // pinMode(LED_BUILTIN, OUTPUT);
      Serial.begin(9600);
    SIM800.begin(9600); // Скорость обмена данными с модемом
    irReciver.enableIRIn(); // запускаем приём
       oled.init();          // инициализация дисплея
    ////////////// заставка //////////////////////////////////////////////
        oled.clear();       // очистка
      oled.setScale(2);   // масштаб текста (1..4)
      oled.setCursor(0, 3);       // курсор в 0,3
      oled.print("Atmeda328");
      delay(2000);
        oled.clear();       // очистка

    //-----------------------------
      Serial.println("Start!");    // пишем в монитор порта
        SIM800.println("AT");    //посылаем AT на SIM800
    Serial.println("SKETCH-");
    Serial.println("TEST_BL_IRremote");
    }

    void loop() {

    if (SIM800.available()) // Ожидаем прихода данных (ответа) от модема…
        Serial.write(SIM800.read()); // …и выводим их в Serial
      if (Serial.available()) // Ожидаем команды по Serial…
        SIM800.write(Serial.read()); // …и отправляем полученную команду модему




    //----------
      if (irReciver.decode(&results)) { // если данные пришли
        decodeIR(); // расшифровываем данные
        irReciver.resume(); // принимаем следующую команду
      //Serial.println( results.value, HEX ); // выводим данные
      delay(800);
    }





    }// //END LOOP ****

    // определяем значение нажатой клавиши
    void decodeIR() {
      switch (results.value)
      {
        case 0xFF9867:
          Serial.println("0");
          // val=0;
         Serial.println("BLYTUS-ON");
    SIM800.println("AT+BTPOVER=1");//AT+BTPOVER=1 // включение функции Bluetooth

           break;
        case 0xFFA25D:
          Serial.println("1");
          //  val=1;
        Serial.println("at-?");
        SIM800.println("AT");
          break;
        case 0xFF629D:
          Serial.println("2");
            // val=2;
       
      SIM800.println("AT+CCLK?");// Текущая дата и время телефона    
          break;
        case 0xFFE21D:
          Serial.println("3");
         // digitalWrite(LED_BUILTIN, HIGH);
            // val=3;
          break;
    /*   case 0xFF22DD:
          Serial.println("4");
            //  val=4;
          break;
        case 0xFF02FD:
          Serial.println("5");
          break;
        case 0xFFC23D:
          Serial.println("6");
          break;
        case 0xFFE01F:
          Serial.println("7");
          //digitalWrite(LED_BUILTIN, LOW);
          break;
        case 0xFFA857:
          Serial.println("8");
          break;
        case 0xFF906F:
          Serial.println("9");
          break;
    */

    case 0xFF18E7:
          Serial.println("UP");
          break;
    case 0xFF4AB5:
          Serial.println("DOWN");
          break;
      case 0xFF10EF:
          Serial.println("LEFT");
          break;
      case 0xFF5AA5:
          Serial.println("RAIT");
          break;
      case 0xFF38C7:
          Serial.println("OK");
          break;
      case 0xFF6897:
          Serial.println("*");
          break;
       case 0xFFB04F:
          Serial.println("#");
          break;
       }


    }//---- END decodeIR ----


    //
     
  2. Andy16

    Andy16 Гик

    Я никогда не ковырял такой модуль, но я думаю, что слово POWER пишется вот так.
     
  3. mednagolov

    mednagolov Гик

    я копировал из списков команд с сайта....
    AT+BTPOWER — включение/выключение Bluetooth;
    AT+BTPAIRCFG — конфигурирование настроек подключения;
    AT+BTSCAN — сканирование доступных для соединения устройств;
    AT+BTVIS — включение/выключение обнаружения модуля серии SIM800x;
    AT+BTPAIR — управление сопряжением устройств, оснащенных Bluetooth;
    AT+BTGETPROF — просмотр доступных профилей подключенного устройства;
    AT+BTACPT — подтверждение запроса на подключение;
    AT+BTCONNECT — установление соединения с устройством;
    AT+BTSPPCFG — конфигурирование профиля SPP.
    ну и тд....
    на другие АТ команды модуль откликается, только блютуз не включает.
    Модуль - sim800c БЛЮТУЗ быть должен , но может как то в прошивке его китайцы
    отключили?....или ещё чего нигде найти не могу
     
  4. mednagolov

    mednagolov Гик

    AT+BTPOVER=1 пишет ерор,
    и
    AT+BTPOWER=1 всеравно фигвам...
     
  5. mednagolov

    mednagolov Гик

    вот ревизия (по на модуле)
    sim800 revision.JPG
     
  6. mednagolov

    mednagolov Гик

    на сайте https://wireless-e.ru/radiomoduli/sim800-bluetooth/
    пишется так
    SIM800x и SPP
    Рассмотрим установление беспроводного соединения для модуля SIM800C32 (см. листинг). В качестве удаленной стороны выступает компьютер, оснащенный Bluetooth USB-адаптером. Настройка режимов соединения по профилю SPP доступна посредством команды AT+BTSPPCFG.

    AT+CGMR // получение версии предустановленного ПО модуля
    Revision:1418B04SIM800C32_BT_EAT
    OK
    AT+BTPOVER=1// включение функции Bluetooth
    OK
    AT+BTPAIRCFG? // проверка текущей конфигурации модуля
    +BTPAIRCFG: 0
    OK
    А на сайте https://www.raviyp.com/sim800-series-bluetooth-at-commands/
    AT+BTPOVER=1 пишется так
    Checking if firmware is Bluetooth compatible

    Check current firmware version

    AT+CGMR

    Revision:1418B02SIM800C24_BT

    OK

    Initialize Bluetooth

    Turn power ON

    AT+BTPOWER=1

    OK
    Но фигали? всеровно блютуз не включается ни так ни так....?!
     
  7. mednagolov

    mednagolov Гик

    ВОТ заметил в ревизиях что на сайтах
    SIM800C24_BT
    и на втором сайте тоже есть _ВТ
    SIM800C32_BT_EAT
    на моем модуле
    SIM800c24_TLS12
    но что за _ВТ ?
    может в прошивке моего модуля с _TLS12 надо как то ещё какую то команду слать перед
    активацией блютуза слать ?
    нигде найти не могу...
    вот такая вот хрень...
     
  8. mednagolov

    mednagolov Гик

    Другие функции вроде без косяков работают. И звонит и смсКИ шлёт...и DTMF тоже работает., динамик и микрофон тоже-ОК...
     
  9. mednagolov

    mednagolov Гик

    Вот описание моего модуля с магазина...

    Описание GSM/GPRS-модуль
    GSM/GPRS-модуль SIM800C с UART интерфейсом. Позволяет звонить и принимать звонки от абонентов сотовых сетей, отправлять и принимать SMS-сообщения, передавать данные через протокол GPRS, передавать данные через Bluetooth.

    Комплектуется пружинной антенной под пайку.

    Спецификация
    • напряжение питания: от 5 до 20 В;
    • Рабочий температурный диапазон: -40 °C... +85 °C;
    • размеры: 28 x 26 мм.
    Особенности:

    • четыре диапазона GSM 850 / 900 / 1800 / 1900 МГц;
    • класс передачи данных GPRS multi-slot class 12 (↨85.6 Kbps);
    • соответствие стандарту GSM фазы 2/2+;
    • Класс мощности 4 (2 Вт в диапазонах 850 / 900 МГц);
    • Класс мощности 1 (1 Вт в диапазонах 1800 / 1900 MГц);
    • Управление AT командами (GSM 07.07, 07.05, а также фирменные AT команды SIMCom);
    • Аудиокодеки Half rate (HR), Full rate (FR), Enhanced Full rate (EFR), AMR, функция hands-free иподавлениеэха;
    • Интерфейсы 2xUART, USB, Bluetooth, GPIO, ADC;
    • SIM-карты 3 В / 1.8 В;
    • Bluetooth стандарта 3.0;
    • PPP-стек;
    • Встроенный стек TCP/IP, UDP/IP;
    • Протокол мультиплексирования MUX (07.10);
    • Протоколы HTTP и FTP, SSL (HTTPS, FTPS, SMTPS);
    • Прием и отправка SMS (Text&PDU) и MMS;
    • Поддержка SMS cell broadcast;
    • Часы реального времени RTC;
    • eMail;
    • Audio record;
    • AMR play - воспроизведение аудиофайлов локально и в сторону удаленного абонента;
    • GSM Location - определение местоположения по базовым станциям;
    • Декодирование и формирование DTMF-тонов;
    • TTS (text to speech, опционально);
    • Embedded AT (EAT) - работа с пользовательским ПО (опционально, в -расширенной аппаратной версии);
    • Cell Location (определение координат по базовым станциям).

    Вроде тоже прямо написано -что блютуз нате пожалуйста.... но чета никак не едет...помогите разобраться.....с блютузом!
     
  10. mednagolov

    mednagolov Гик

    В магазин писал чтоб прислали полный мануал на мой шильд..... вторая неделя прошла - ти/ши/на...на..на...
     
  11. mednagolov

    mednagolov Гик

    включил полный отчет об ошибке,
    на нажатие на пультике получается такой лог в мониторе порта
    gsm800log.JPG
     
  12. mednagolov

    mednagolov Гик

    на включение блютуса что из строки, что из скетча ругается на команду и не включает блютуз
     
  13. mednagolov

    mednagolov Гик

    как можно проверить блютуз на модуле?
     
  14. mednagolov

    mednagolov Гик

    похоже никто не знает....
     
  15. parovoZZ

    parovoZZ Гуру

    а даташит пробовал смотреть? Я вот открыл и вижу
    исходя из названия, у тебя прошивка без блюпупа. Ищи _BT_TLS12 или просто _BT, но она старше.
     
    mednagolov нравится это.
  16. mednagolov

    mednagolov Гик

    Блин, а продаваны в описале к шильду Bluetooth стандарта 3.0; обещали...
     
  17. mednagolov

    mednagolov Гик

    ни разу не менял прошивку. Порекомендуйте отлковые источники где можно постичь сих знаний..?
     
  18. mednagolov

    mednagolov Гик

    и где лучше скачать нужную (не глючную) прошивку?
     
  19. mednagolov

    mednagolov Гик

    Это где я могу посмотреть? Это даташит на прошивку ?
     
  20. parovoZZ

    parovoZZ Гуру

    и на модуле должно быть две антенны - под GSM и под блюпуп.

    найди нужную прошивку и прошей.
     
    mednagolov нравится это.