ESP, IoT WiFi лампа-будильник. Обсуждение проекта

Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

Комментарии

recoshet

★✩✩✩✩✩✩
15 Июн 2019
1
14
Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

SES

✩✩✩✩✩✩✩
29 Июл 2019
9
0
планета Земля
Всем доброго времени суток! Проблема, на работе пк , прошиваю лампу, проверяю на рабочем вай-фай, все работает без лагов и в приложение конектится мгновенно, все режимы отлично работают ( ip свой прописывал) . Прошиваю опять ( так как к новой сети вай-фай не подключится ) , отношу дамой подключаю к домашней сети , он конектится , горят конфети 1-2 мин , ииии ВСЕ ! В приложении не находится , и начинает перезагружать каждые 5- 10 сек ( горит конфетти --- гаснет--- горит конфети ) . Проект на плате wemos d1 mini . Прошивка V1.4. На работе tp-link . Дома xiaomi router3. Спасибо!!!
Для справки , с проектом борюсь уже недели 2 , до этого был проект на плате Node, все те же проблемы
Добрый день!
Что использовали для корпуса? Какая колба, подставка?
Спасибо!
 

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Спасибо, поправил.
А зачем было менять библиотеку кнопки? там можно ловить произвольное количество нажатий
C++:
  byte clicks = 0;
  if (ONflag && touch.hasClicks()) {
     clicks = touch.getClicks();
      //Serial.println("Кликов: " + String(clicks));
      if (clicks == 4) {
        Serial.println("четверной клик");
      }else if (clicks == 5) {
        Serial.println("пятерной клик");
      }// ну и так далее...
  }
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
А зачем было менять библиотеку кнопки? там можно ловить произвольное количество нажатий
C++:
  byte clicks = 0;
  if (ONflag && touch.hasClicks()) {
     clicks = touch.getClicks();
      //Serial.println("Кликов: " + String(clicks));
      if (clicks == 4) {
        Serial.println("четверной клик");
      }else if (clicks == 5) {
        Serial.println("пятерной клик");
      }// ну и так далее...
  }
Потому что это компактнее и так реализованы одиночный, двойной и тройной клик. А вы проверяли этот код? В нём на 4-ом клике сработает только секция (clicks == 4) или последовательно 1, 2, 3, 4?
 

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Потому что это компактнее и так реализованы одиночный, двойной и тройной клик. А вы проверяли этот код? В нём на 4-ом клике сработает только секция (clicks == 4) или последовательно 1, 2, 3, 4?
Проверял. Остается только 4. У меня на четверной клик сейчас сделан принудительный режим белого света. Проверить работу можно раскоментировав строку
//Serial.println("Кликов: " + String(clicks));
В этот обработчик попадают только 4+ нажатия
 

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Жил бы в Красноярске я б тебе модули сам припёр))) вообще тема!!! :)
Часть приехала :)
Pos.jpg
Вечер обещает быть интересным ))) Жаль модули часов еще не приехали. Очень мне хочется отвязаться от постоянного NTP и делать синхру раз в сутки по ночам как это и должно быть...
 
  • Лойс +1
Реакции: SES

malec

★★★★✩✩✩
5 Фев 2019
680
257
Часть приехала :)
Вечер обещает быть интересным ))) Жаль модули часов еще не приехали. Очень мне хочется отвязаться от постоянного NTP и делать синхру раз в сутки по ночам как это и должно быть...
у меня всё уже подключенно , но с*** вемос плеер не видит , пины уже как только не обзывал, к стати звуки вполне слушаемы))) плеером через землю как кнопками управлял, а вемос с*** плеер не видит, в монитор пишет:-
UDP-сервер на порту 2390
Инициализация MP3 плеера.
Звуков будильника найдено: -1
Звуков рассвета найдено: -1
MP3 плеер недоступен.
Да и в этой прошивке часы сами по себе работают, с приложения с телефона настройка синхронизируется...я ещё и модуль зарядки от ДВД плеера нашёл в хламе с шестью аккумами, уже полуавтономия)))))
УРА заработало)))
UDP-сервер на порту 2390
Инициализация MP3 плеера.
Звуков будильника найдено: 2
Звуков рассвета найдено: 6
-------------------------------------------------
#define LED_PIN 4 // пин DIN ленты
#define SRX 2 // D3 is RX of ESP8266, connect to TX of DFPlayer 18, 0
#define STX 0 // D4 is TX of ESP8266, connect to RX of DFPlayer module 17,2
#define PIN_BTN D6 // кнопка подключена сюда (PIN --- КНОПКА --- GND)
#define DIO D5 // TM1637 display DIO pin
#define CLK D7 // TM1637 display CLK pin
Вот в таком варианте)))
 

Вложения

Изменено:

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Моя душа тоже не выдержала :) На обеде метнулся домой, распаял модули и пока пил чай быстренько скомпилил проект просто добавив экран и плеер. На экран вывел просто цифры, на большее времени не хватило :)
test.jpg
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Прошло 4 часа полёт нормальный))) , да летим на аккумуляторах))) оставлю до утра посмотрим на сколь аккумы высосет))), сейчас показывает 11.40вольта на 3х2 банках))) полный заряд 12,6в
 

Вложения

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
А вот кстати... Дома в обед времени не было, а сейчас на работе поставил IDE, и попробовал создать пустой проект с библиотекой

#include "GyverTM1637.h"
void setup() {
}
void loop() {
}

сыплет 100500 ошибок и не компилится.
C++:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::display(uint8_t*)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:73:20: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
   sendArray(SegData);
                    ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:72:7: error:   initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)' [-fpermissive]
  void sendArray(int8_t sendData[]);
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayByte(uint8_t*)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:86:20: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
   sendArray(SegData);
                    ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:72:7: error:   initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)' [-fpermissive]
  void sendArray(int8_t sendData[]);
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClock(uint8_t, uint8_t)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:185:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockScroll(uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:195:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:202:27: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  scroll(disp_time, delayms);
                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:51:7: error:   initializing argument 1 of 'void GyverTM1637::scroll(int8_t*, int)' [-fpermissive]
  void scroll(int8_t DispData[], int delayms);       // обновить значение прокруткой (массив ЦИФР, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockTwist(uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:205:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:212:26: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  twist(disp_time, delayms);
                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:58:7: error:   initializing argument 1 of 'void GyverTM1637::twist(int8_t*, int)' [-fpermissive]
  void twist(int8_t DispData[], int delayms);        // обновить значение скручиванием (массив ЦИФР, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:273:34: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  scrollByte(DispDataByte, delayms);
                                  ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:278:43: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::scrollByte(DispData, delayms);
                                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:288:43: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::scrollByte(DispData, delayms);
                                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:370:23: error: invalid conversion from 'int8_t* {aka signed char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
   displayByte(DispData);
                       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:75:6: error:   initializing argument 1 of 'void GyverTM1637::displayByte(uint8_t*)' [-fpermissive]
 void GyverTM1637::displayByte(uint8_t DispData[])
      ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:420:28: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  twistByte(newData, delayms);
                            ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:425:42: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::twistByte(DispData, delayms);
                                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twistByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:430:42: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::twistByte(DispData, delayms);
                                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.

Дома таже хрень была, пришлось использовать стандартный TM1637.h
Хвостом чувствую что просто чтото гдето надо галочку поставить... Кто подскажет куда рыть?
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
А вот кстати... Дома в обед времени не было, а сейчас на работе поставил IDE, и попробовал создать пустой проект с библиотекой

#include "GyverTM1637.h"
void setup() {
}
void loop() {
}

сыплет 100500 ошибок и не компилится.
C++:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::display(uint8_t*)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:73:20: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
   sendArray(SegData);
                    ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:72:7: error:   initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)' [-fpermissive]
  void sendArray(int8_t sendData[]);
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayByte(uint8_t*)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:86:20: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
   sendArray(SegData);
                    ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:72:7: error:   initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)' [-fpermissive]
  void sendArray(int8_t sendData[]);
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClock(uint8_t, uint8_t)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:185:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockScroll(uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:195:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:202:27: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  scroll(disp_time, delayms);
                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:51:7: error:   initializing argument 1 of 'void GyverTM1637::scroll(int8_t*, int)' [-fpermissive]
  void scroll(int8_t DispData[], int delayms);       // обновить значение прокруткой (массив ЦИФР, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockTwist(uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:205:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
  if (hrs > 99 || mins > 99) return 0;
                                    ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:212:26: error: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  twist(disp_time, delayms);
                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:58:7: error:   initializing argument 1 of 'void GyverTM1637::twist(int8_t*, int)' [-fpermissive]
  void twist(int8_t DispData[], int delayms);        // обновить значение скручиванием (массив ЦИФР, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:273:34: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  scrollByte(DispDataByte, delayms);
                                  ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:278:43: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::scrollByte(DispData, delayms);
                                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:288:43: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::scrollByte(DispData, delayms);
                                           ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:54:7: error:   initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)' [-fpermissive]
  void scrollByte(int8_t DispData[], int delayms);      // обновить значение прокруткой (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:370:23: error: invalid conversion from 'int8_t* {aka signed char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]
   displayByte(DispData);
                       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:75:6: error:   initializing argument 1 of 'void GyverTM1637::displayByte(uint8_t*)' [-fpermissive]
void GyverTM1637::displayByte(uint8_t DispData[])
      ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(int8_t*, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:420:28: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  twistByte(newData, delayms);
                            ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:425:42: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::twistByte(DispData, delayms);
                                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twistByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:430:42: error: invalid conversion from 'byte* {aka unsigned char*}' to 'int8_t* {aka signed char*}' [-fpermissive]
  GyverTM1637::twistByte(DispData, delayms);
                                          ^
In file included from C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:
C:\Program Files (x86)\Arduino\libraries\GyverTM1637\GyverTM1637.h:61:7: error:   initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)' [-fpermissive]
  void twistByte(int8_t DispData[], int delayms);       // обновить значение скручиванием (массив БАЙТ, задержка в мс)
       ^
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.

Дома таже хрень была, пришлось использовать стандартный TM1637.h
Хвостом чувствую что просто чтото гдето надо галочку поставить... Кто подскажет куда рыть?
Та нет, ошибки программные, разные типы данных в объявлении функций и передаваемых в эти функции фактических параметров.
Я думаю, не галочками лечится, а массовым удалением буквы "u" в ""uint8_t". Короче, нужно в код смотреть.
 

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Та нет, ошибки программные, разные типы данных в объявлении функций и передаваемых в эти функции фактических параметров.
Я думаю, не галочками лечится, а массовым удалением буквы "u" в ""uint8_t". Короче, нужно в код смотреть.
Библиотека кривая выходит? Странно, вроде в коментах у народа работает. Я ничего не менял, просто хотел подключить либо и погонять циферки на дисплее. Вопрос снят. У Гайвера с сайта скачивается кривая библиотека! На других ресурсах народ поделился правленной
 

Вложения

Изменено:

SES

✩✩✩✩✩✩✩
29 Июл 2019
9
0
планета Земля
Доброго времени суток!

В Полном гайде по матрицам сказано, что: Логический пин Arduino соединён с пином DIN ленты (матрицы) через резистор с номиналом 220 Ом (можно брать любой в диапазоне 100 Ом – 1 кОм). Нужен для защиты пина Ардуино от перегрузки, т.е. ограничить ток в цепи (см. закон Ома).
У меня такой вопрос: Для ESP8266 вышеописанный резистор не нужен?
У меня он остался и все работает. Емкость не ставил, но пака еще не собирал все и питается от USB
На этой схеме, кнопка запитана от 5В, и она работала, но похе я из-за этого поджарил порт :-(
Перевел питание кнопки на 3.3В. Спасибо форумчанину за подсказку с обоснованием.
 
Изменено:

malec

★★★★✩✩✩
5 Фев 2019
680
257
Библиотека кривая выходит? Странно, вроде в коментах у народа работает. Я ничего не менял, просто хотел подключить либо и погонять циферки на дисплее. Вопрос снят. У Гайвера с сайта скачивается кривая библиотека! На других ресурсах народ поделился правленной
У меня тоже на Гайверовской библии...))) Всё в норме..
Блин щас дома посмотрел видос свой что выложил, камера телефона весь кайф ломает, она и яркость лампы выровняла(лампа плавно разгорается, на индикаторе стаба заметно как синий диод сначала моргает, нагрузка растёт, потом начинает гореть и красный тухне при максимуме) и звук плавно нарастает)))
 
Изменено:

SES

✩✩✩✩✩✩✩
29 Июл 2019
9
0
планета Земля
З.Ы.: Разобрался. Вэбморды нет. Нужно настраивать прогой со смарта.

Доброго времени суток!

Исходная прошивка GyverLamp_v1.4 работает на ура (после длительной обработки "напильником").
Изменил много:
- для изучения логики работы, добавил вывод отладочной информации. Отключается а первой строке
- сильно изменил логику сохранения изменений
- добавил автоматическую мену режима по четверному нажатию.
- добавил сброс настроек WiFi
Залил прошивку https://github.com/vvip-68/GyverLampWiFi
SerialOut01.png
К WiFi подключился с трудом и не с первого раза. ping идет стабильно.
WiFi01.pngWiFi02.pngWiFi03.pngping01.png
Но страничка не открывается, со смарта тоже.
Web01.png
Где собака порылась?
 

Вложения

Изменено:

malec

★★★★✩✩✩
5 Фев 2019
680
257
Доброго времени суток!

В Полном гайде по матрицам сказано, что: Логический пин Arduino соединён с пином DIN ленты (матрицы) через резистор с номиналом 220 Ом (можно брать любой в диапазоне 100 Ом – 1 кОм). Нужен для защиты пина Ардуино от перегрузки, т.е. ограничить ток в цепи (см. закон Ома).
У меня такой вопрос: Для ESP8266 вышеописанный резистор не нужен?
У меня он остался и все работает. Емкость не ставил, но пака еще не собирал все и питается от USB
На этой схеме, кнопка запитана от 5В, и она работала, но похе я из-за этого поджарил порт :-(
Перевел питание кнопки на 3.3В. Спасибо форумчанину за подсказку с обоснованием.
Я поставил 220 ом чтоб не в пороться у меня вемос мини кнопка на 5в. Заметил интересную лабу... при смене пинов , подключений , надо флеш чистить... по этому и плеер подключить не мог.
 
Изменено:
  • Лойс +1
Реакции: vortex и Xmas

SES

✩✩✩✩✩✩✩
29 Июл 2019
9
0
планета Земля
Я поставил 220 ом чтоб не в пороться у меня вемос мини кнопка на 5в. Заметил интересную лабу... при смене пинов , подключений , надо флеш чистить... по этому и плеер подключить не мог.
Я прочитал раз 5, но не могу понять о чем идет речь. Про ленту или кнопку, или про то и другое, но где о чем не пойму. Может где то не хватает знака препинания, И что значит чистить кэшь? Как чистит? Какой плеер? Может просто уже бошка не варит под вечер?
 

SES

✩✩✩✩✩✩✩
29 Июл 2019
9
0
планета Земля
@Andrew Haronych, https://github.com/vvip-68/GyverLampWiFi во нашол))) на гитхабе с музыкой и часами)))
Изменения функционала лампы по справнению с исходным проектом:
  • Адаптированная программа управления лампой на Andrioid
  • Настройка сервера синхронизации времени из программы на смартфоне
  • Установка текущего времени со смартфона вручную, если не удалось подключиться к серверу времени NTP
  • Отображение текущего времени на индикаторе TM1637
  • Два режима работы индикатора времени TM1637 - светится постоянно или выключается вместе с лампой
  • Пока время не получено с сервера NTP - на индикаторе отображается --:-- вне зависимости от настройки "Выключать индикатор при выключении лампы"
  • Поддержка звука будильника / звука рассвета звуковой платой MP3 DFPlayer
  • Настройки сетевого подключения (SSID и пароль, статический IP) задаются в программе и сохраняются в EEPROM
  • Если не удается подключиться к сети (неверный пароль или имя сети) - создается точка подключения с именем LampAP, пароль 12341234, IP 192.168.4.1. Подключившись к точке доступа из приложения можно настроить параметры сети. Если после задания параметиров сети WiFi соединение установлено - в приложении на смартфоне виден IP адрес подключения к сети WiFi.
  • Отображение текущего IP адреса лампы на индикаторе TM1637
  • Быстрое включение популярных режимов лампы из приложения
  • Два программируемых по времени режима, позволяющие, например, настроить автоматическое выключение лампы в ночное время и автоматическое включение лампы вечером в назначенное время
Доброго времени суток!
Обнаружил проблему: у меня пароль на WiFi длиннее чем прога отправляет или скетч принимает.
Как быть?
З.Ы.: Менять WiFi пароль не предлагать.
 

gunner47

★★★★★✩✩
18 Июн 2019
253
393
Доброго времени суток!
Обнаружил проблему: у меня пароль на WiFi длиннее чем прога отправляет или скетч принимает.
Как быть?
З.Ы.: Менять WiFi пароль не предлагать.
Добавить в прошивке вывод в Serial пароля. Если он туда правильный приходит, проблема где-то в библиотеке. Если не правильно, то править приложение или переменную для хранения пароля.
 

Andrew Haronych

★✩✩✩✩✩✩
17 Июл 2019
64
37
Москва
Прицепил плеер и экран :)
На экран пока вывожу только номер проигрываемого файла, пятерным кликом по кнопке перебираю файлы
четверной клик у меня включение белого света
Прикольно получается однако! :)
 
  • Лойс +1
Реакции: Paul777, Kesik и malec

malec

★★★★✩✩✩
5 Фев 2019
680
257
Прицепил плеер и экран :)
На экран пока вывожу только номер проигрываемого файла, пятерным кликом по кнопке перебираю файлы
четверной клик у меня включение белого света
Прикольно получается однако! :)[/QU
Здоровья всем!!! Да тёзка уже что-то , только я ленивый и не всегда к лампе тянуться хочется, надо-бы что-то с приложением замутить чтоб музыку с плеера гонять хош как хош, а хош к каждому эфекту свою... (Проблема в том что не пробовал ещё приложений к андроиду создавать надо по гуглить) :) в этом проекте (который с гитхаба) можно каждую композицию прослушать при настройке будильника или рассвета, но не очень удобно. Ты FlProgом пользуешся? (так для общего понимания). Да сегодня по семейным делам задержался , а будильник вчера на 10-00 поставил, и по этому проеХал рассвет))) ну и контроллер лампу отключил не знаю когда... Щас питание подкинул через тестер, посмотрю сколько в акумах ёмкости осталось. Но когда приехал на акумах 9,6в осталось без нагрузки (т.к. контроллер лампу отключил и пока питание не подкинеш он не включает её)) Ну теперь задача дизайнеру 3д чтоб всё это в корпус лампы аккуртно влепить и акустику продумать чтоб не хуже JBL ))) А может некстиан подключить? опять к лампе тянуться(((
 
Изменено:

ilimlife

✩✩✩✩✩✩✩
31 Июл 2019
3
0
Яблочникам посвящается. Сделал простенькое приложение под iOS, умеет все то же, что и под андроид, разве что багов чуть больше ввиду отсутствия времени, ну и делал для себя. Уже доступно в AppStore https://apps.apple.com/ru/app/arduino-lamp/id1473000797 За основу взята доработка от
gunner47
Мир не без добрых людей, спасибо огромное) Жизнь то, налаживается! Ожидаются обновления этого приложения? Я если что буду баги писать.