Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Запрос примеров для Sming

Тема в разделе "Sming Open Source Framework", создана пользователем JustACat, 23 мар 2015.

  1. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Более того, там и проект комплекте :)
     
  2. waskez

    waskez Новичок

    Сообщения:
    18
    Симпатии:
    3
    Здравствуйте!
    Возможно ли с помощью фреймворка Sming реализовать ШИМ на модуле ESP8266-01. Хочу реализовать проект управление телевизором и другими устройствами c помощью смартфона.
    Спасибо.
     
  3. Климатехник

    Климатехник Читатель

    Сообщения:
    126
    Симпатии:
    11
    waskez, а можно по подробнее,зачем вам ШИМ для телевизора?Да,кстати,шим тут также реализуется,как на Ардуино,перейдите на первую страницу этой темы
     
  4. waskez

    waskez Новичок

    Сообщения:
    18
    Симпатии:
    3
    Зачем лишняя деталь, если можно обойтись без Arduino.
    ШИМ нужен для 38 kHz.
     
    Последнее редактирование: 24 апр 2015
  5. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    waskez, т.е. речь про ИК, верно? По частотам не тестировал, но в Sming я реализовывал analogWrite.
     
  6. waskez

    waskez Новичок

    Сообщения:
    18
    Симпатии:
    3
    Пробовал реализовать шим таким образом, но похоже не работает должным образом:
    Раскрыть Спойлер
    Код (C):
    1.  
    2. #include <user_config.h>
    3. #include <SmingCore/SmingCore.h>
    4.  
    5. #define LED_PIN 2 // GPIO2
    6.  
    7. #define TOPBIT 0x80000000
    8.  
    9. #define SAMSUNG_HDR_MARK  4500
    10. #define SAMSUNG_HDR_SPACE 4500
    11. #define SAMSUNG_BIT_MARK  560
    12. #define SAMSUNG_ONE_SPACE 1690
    13. #define SAMSUNG_ZERO_SPACE  560
    14. #define SAMSUNG_RPT_SPACE 46000
    15.  
    16. void sendSamsung(unsigned long data);
    17. void pulseIR(unsigned long microseconds);
    18.  
    19. Timer procTimer;
    20.  
    21.  
    22. void blink()
    23. {
    24.     sendSamsung(0xE0E040BF);
    25. }
    26.  
    27. void pulseIR(unsigned long microseconds)
    28. {
    29.     cli();
    30.     while(microseconds > 0)
    31.     {
    32.         digitalWrite(LED_PIN, 0);
    33.        delayMicroseconds(13); // 12
    34.        digitalWrite(LED_PIN, 1);
    35.         delayMicroseconds(13); // 12
    36.         microseconds -= 26; // 24
    37.     }
    38.     sei();
    39. }
    40.  
    41. void sendSamsung(unsigned long data)
    42. {
    43.     for (int r = 0; r < 2; r++)
    44.     {
    45.         pulseIR(SAMSUNG_HDR_MARK);
    46.         digitalWrite(LED_PIN, 1);
    47.         delayMicroseconds(SAMSUNG_HDR_SPACE);
    48.         for (int i = 0; i < 32; i++)
    49.         {
    50.             if (data & TOPBIT)
    51.             {
    52.                 pulseIR(SAMSUNG_BIT_MARK);
    53.                 digitalWrite(LED_PIN, 1);
    54.                 delayMicroseconds(SAMSUNG_ONE_SPACE);
    55.             }
    56.             else
    57.             {
    58.                 pulseIR(SAMSUNG_BIT_MARK);
    59.                 digitalWrite(LED_PIN, 1);
    60.                 delayMicroseconds(SAMSUNG_ZERO_SPACE);
    61.             }
    62.             data <<= 1;
    63.         }
    64.         pulseIR(SAMSUNG_BIT_MARK);
    65.         digitalWrite(LED_PIN, 1);
    66.         delayMicroseconds(SAMSUNG_RPT_SPACE);
    67.     }
    68. }
    69.  
    70. void init()
    71. {
    72.     pinMode(LED_PIN, OUTPUT);
    73.     digitalWrite(LED_PIN, 1);
    74.     procTimer.initializeMs(5000, blink).start();
    75. }
    76.  
    77.  
     
    Последнее редактирование: 24 апр 2015
  7. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    На мой взгляд, если интервалы подобраны под Ардуино, то здесь может не заработать, процессор в 5-10 раз быстрее. Возможно надо подработать с ними, но в идеале, конечно, осциллограф.
     
  8. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    Поддержку @anakod - без осцилла или хотя бы лог-анализатора трудно завести IR/ИК на новом железе.
    Так что сначала нужно, чтобы кто-то по этим граблям прошелся и адаптировал какую-то из библиотек Ардуино под ESP.
    На Ардуино мне больше всего нравится библиотека от Ken Shirriff. Ссылки: раз, два, и инфо: три. Ну и общее инфо по отправке/приему IR на МК.
    Есть добровольцы? :)
     
  9. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.169
    Симпатии:
    1.347
    По прерываниям на TIMER0 доступна минимальная длительность до 5us (200кГц и для I2C по прерываниям не хватет :(), при этом у процессора всего 400 тактов CLK на 80MHz между срабатываниями таймера... и всё при этом ещё работает. Если смените опции трансляции библиотеки и исходников в GCC, то можно наверно дотянуть до 3us с работой системы :) Таймер и gpio
    А ШИМ для ИК управления проще делать на SPI или UART :)
    Тем более входы-выходы UART0 и UART1 меняются местами на ходу
    reg 0x3ff00028:
    bit0: SWAP TX0<->TX1, RX0<->RX1, RTS0<->RTS1, CTS0<->CTS1
    bit2: SWAP TXo<->RTS0, RX0<->CTS0, ...
    bit3: SWAP TX1->? RX1->?

    И можно использовать UART1, которая обычно не задействована...
     
    Последнее редактирование: 25 апр 2015
  10. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Добрый день. Помогите разобраться с примером TcpClient_NarodMon, я в него добавил небольшое изменение по считыванию с ком порта(выкладывал выше) все работало, но через некоторое время модуль перестает отправлять данные. Вот лог того что происходит раз в пять минут где должна была быть передача
    rm matchpm close 7 0 0/718839010reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1
    А вот лог когда передача работает
    rm matchpm close 7 0 0/388824243reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1+TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    Причем если отключать и включать роутер, то когда модуль работает это ему не мешает, а вот если уже перестал то и не помогает, только передернуть питание.
     
  11. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    FGX, что-то я по логу не пойму - у вас модуль постоянно переподключается к WiFi что ли?
    Я у себя когда его гонял на отправку раз в 6 минут (5 не стал ставить, т.к. вдруг на народмон забанят :)), то в логах было только вот это:
    Лог (раскрыть)

    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 47 (47)
    TcpClient request completed
    onReadyToSendData: 3
    nmOnReadyToSend
    sourceEvent: 3
    TCP sent: 47
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    И оно повторялось раз в 6 минут по таймеру...
    Не могли бы вы полный лог привести, скажем, работу модуля в течение 3-6 отправок (за пол часа, например)?
     
  12. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Да сейчас сделаю, модуль начинает переподключаться только если вайфай выключить -включить и тогда он работает, но пишет что каждый раз переподключается, а потом перестает(но роутер показывает что модуль всегда подключен). Может тут где-то собака зарыта.
    Лог (раскрыть)

    АА<0><0>А<0><0><0>аА<0>А<0>ААа<0>А<0><0><0>а<0>Аа<0>А<0>АА<0><0><0><0><0><0><0><0><0><0><0><0><0>А<0><0>А<0><0><0>а<0><0><0>аА<0>а<0>Аа<0><0>А<0>аА<0>аААааА<0>ААА<0>А<0>А<0>а<0><0><0>А<0><0><0><0><0>АаААаАА<0>АА<0><0>аАААААА<0><0>ААА<0>А<0>А<0><0>А<0>А<0><0><0>а<0><0>А<0>А<0>а<0>Аа<0><0>А<0>АА<0><0>А<0><0>ААаААа<0>А<0><0>А<0><0><0><0><0>А<0>А<0><0><0>А<0><0><0><0><0><0><0><0><0><0><0><0><0>а<0><0><0><0>ааАа<0>а<0>аа<0><0>А<0><0><0><0>А<0><0><0>а<0><0><0><0>А<0><0><0><0><0>АаААаААаААА<0><0>а<0><0><0>А<0><0><0>аА<0><0>а<0><0>аАа<0>Аа<0>АА<0>АА<0><0><0><0>аА<0><0>а<0>а<0>А<0>АААаААА<0>ААААААаАА<0><0><0><0><0>А<0><0>А<0>аАа<0><0>А<0><0>ааАааА<0>а<0><0>а<0><0><0><0><0>АА<0><0><0><0>А<0><0>АаА<0>А<0><0><0><0><0><0><0><0><0>А<0><0><0><0>АААА<0>А<0>АА<0><0><0><0><0>АаА<0><0><0><0><0><0><0>а<0><0><0><0><0>аАааАааААаа<0><0><0><0><0><0>АА<0><0>А<0><0>аАа<0>Аа<0>АА<0>АА<0><0><0><0>аА<0><0>а<0>а<0>А<0>АААаААА<0>ААаАААаАА<0><0><0><0><0>АА<0><0>А<0><0>Аа<0><0>А<0><0>ааАааА<0>а<0><0>а<0><0><0><0><0>АА<0><0><0><0>А<0><0>АаА<0>А<0><0>а<0><0>аА<0>А<0><0><0>А<0><0><0><0>АААА<0>А<0>АА<0><0>АА<0><0><0><0><0><0><0><0><0><0>а<0><0><0><0><0>аАааАааАААа<0><0><0><0><0><0>АА<0><0>А<0><0>ААА<0>АА<0>АА<0>АА<0><0><0>А<0>Аа<0><0>А<0>А<0>А<0>ааААааА<0>аАААаААаа<0><0><0><0><0>а<0><0>аА<0><0>АА<0><0>А<0>а<0>Аа<0>АаАаАаААА<0><0><0><0><0>А<0><0>Аа<0><0>АА<0><0>а<0>аА<0><0>шшшЂ<0>шx<0>шш<0>Ђш<0>xшшшxшшxx<0>шшш<0>шшшшшшш<0>Ђx<0>ЂшЂшшшЂxшш<0>x<0>шшxш<0><0>ш<0><0><0><0><0><0><0>ш<0><0>ш<0><0><0><0>Ђ<0><0><0>ш<0><0>ш<0>ш<0>шxшшшxшЂ<0><0><0><0><0>Ђ<0>ш<0><0><0>шшx<0>шш<0><0>xш<0>Ђxшшя

    0

    Station configuration was updated to: Kurochka
    mode : sta(18:fe:34:a0:45:4f)add if0READY!
    scandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1I'm CONNECTED to WiFi
    mac: 18-FE-34-хх-хх-хх
    connect to: narodmon.ru
    DNS record found: narodmon.ru = 94.19.113.221
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 68 (68)
    TcpClient request completed
    TCP sent: 68
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    beacon timeoutrm matchpm close 7 0 0/1641492688scandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneno Kurochka found, reconnect after 1sreconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...rm matchpm close 7 0 0/1052084reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1+TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    rm matchpm close 7 0 0/404016476reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1+TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection

     
    Последнее редактирование: 26 апр 2015
  13. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    FGX, не, вы сделайте именно так, когда он сам работает, и вы ничего нигде не трогаете и не переподключаете.
    Ну и второе: код из моего примера тестового (без каких-либо изменений кроме настроек WiFi конечно) работает при тех же условиях или то же глохнет? Проверьте это.
     
  14. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Что значит не переподключайте, если я роутер раза два за день дергаю, так как интернет отваливается и после этого модуль начинает писать про переподключения и перестает работать. Изменений в коде влияющих на работу вайфай нет. Проверьте именно лог после выключения и включения роутера (это обычная ситуация и модуль не должен от этого переставать работать), лог я выше выложил.
     
  15. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    FGX, так, я что-т запутался... Получается, что именно он подключиться нормально к роутеру не может? Или именно данные не шлет? Просто судя по логу вроде данные шлет же ну по 76 (байт видимо). Если я где-то туплю - прошу прощения. Но реально запутался...
     
  16. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    Объясняю, включаем приблуду с модулем, он подключается к вай фай и начинает отправлять раз в 5 минут данные все хорошо в логе только
    1 (раскрыть)

    +TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection
    Затем если выключить роутер и включить начинает отправлять опять нормально все, но в логе уже странная стрчка как будто он каждые пять минут подключается к вай фай
    2 (раскрыть)

    rm matchpm close 7 0 0/898822774reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1+TCP connection
    connect to: narodmon.ru
    TcpConnection::connect result:, 0
    OnConnected
    TCP connected
    onReadyToSendData: 0
    nmOnReadyToSend
    sourceEvent: 0
    TCP connection send: 76 (76)
    TcpClient request completed
    TCP sent: 76
    onReadyToSendData: 2
    nmOnReadyToSend
    sourceEvent: 2
    nmOnCompleted
    successful: 1
    TCP connection closing
    -TCP connection

    И наконец после какого то времени, в какой момент не знаю смотрю когда мне приходит уведомление что датчик неисправен, он перестает отправлять данные и каждые 5 минут в логе всего одна строчка
    3 (раскрыть)

    rm matchpm close 7 0 0/898822774reconnectscandoneadd 0aid 1pm open phy_2,type:2 0 0cnt connected with Kurochka, channel 4dhcp client start...ip:192.168.1.100,mask:255.255.255.0,gw:192.168.1.1
     
  17. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    FGX, да, так все ясно.
    Блин, фигово, тогда надо опять отлавливать некий глюк, который вылезает не сразу. Возможно, опять переполняется что-то где-то (имею ввиду память).
    Начать нужно с того, чтобы без отключений вашего роутера заметить, через какое время и кол-во отправок ESP начинает глючить. Просто задачу нужно решать поэтапно, и перво-наперво нужно выявить закономерность. Можно в лог дополнительно писать время (хотя бы через millis() или как ее там) и текущее количество уже совершенных отправок с момента запуска (вставить переменную счетчик и инкрементить/выводить ее). Время можно и на народмон поглядеть, по времени последней отправки данных.
     
  18. FGX

    FGX Читатель

    Сообщения:
    100
    Симпатии:
    9
    https://www.dropbox.com/s/ix2t9wn53fx7myx/Скриншот 2015-04-26 15.57.26.png?dl=0
    Вот скрин где видно, что модуль в 8 часов перестал отправлять данные и в 12 опять сам начал, хотя дома никого и не было. И так раз в день бывает на него находит, скорее всего его провоцирует пропадание интернета, у меня бывает такое, но когда интернет работает уже точно, то модуль не хочет.
     
  19. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    Не нашёл в Sming и тут на форуме, есть ли возможность читать данные с аналоговых датчиков (как в Arduino analogRead)?
     
  20. JustACat

    JustACat Moderator Команда форума

    Сообщения:
    568
    Симпатии:
    121
    Dr. Morg, дак analogRead и будет :) Не забывайте только, что ADC в ESP ущербный (имхо). Меряет только от 0 до 1 вольт. И ведет себя у всех по разному. У кого работает, у кого нет.
    Почитайте в теме про Свалку @pvvx - там точно было.

    Update: ввел в заблуждение: на analogRead оно пока что не вынесено. Так что по SDK смотрите.
     
    Последнее редактирование: 28 апр 2015

Поделиться этой страницей