Часы на esp8266 и max7219 + android управление

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 28 авг 2017.

?

Вы повторили это проект?

  1. Нет (просто ознакомился)

    35 голосов
    13,2%
  2. Да, один раз (попробовал)

    111 голосов
    41,9%
  3. Да, не однократно

    123 голосов
    46,4%
Можно выбрать сразу несколько вариантов.
  1. IvanUA

    IvanUA Гуру

    Да, есть такое. Поправил скетч. Можно перекачать из первого сообщения.
    Кстати не обязательно поправлять часовой пояс что бы проверить. Можно изменить время отображения бегущей строки в веб морде)))
     
    Последнее редактирование: 10 апр 2018
    saha74 нравится это.
  2. Boryan_R

    Boryan_R Гик

    Блин а я мучаюсь...прописал MQQT и всё отлично обновляется ..оба города и MQTT и народмон...и не нужно шаманить с секундами...
    Иван, может подскажешь как отключить MQQT что бы он не ломился в сетку и не давал глюков, если он не настроен.
    Просто хочу такие часики хорошим знакомым дарить ..не прописывать же каждому MQTT...зачем им это :)))
    Парни может кто сможет скетч подправить что бы MQTT отключался...а то я полный ноль в написании скетчей :(((
     
    Последнее редактирование: 10 апр 2018
  3. IvanUA

    IvanUA Гуру

    В последней версии часиков есть возможность отключать MQTT через веб морду. Смотрите как я это сделал там, и переносите себе в скетч.
    [​IMG]
     
  4. Boryan_R

    Boryan_R Гик

    Спасибо! Попробую кривыми руками сделать :))
    Мдаа...глянул ..сравнил два скетча...для такого чайника как я ..это походу непосильная задача :((
     
    Последнее редактирование: 10 апр 2018
  5. IvanUA

    IvanUA Гуру

    Для начала идете во вкладку P_MQTT - ищите там переменную которая отвечает за включение MQTT.
    Находим ее - mqttOn.
    Далее вызываете форму поиска - ctrl+F
    В поле "Поиск" - вписываете эту переменную, ставите галку "Искать во всех вкладках" и Go.
    Те части блока (строки) где эта переменная что то делает, переносите к себе в скетч.
    Но и переносить нужно тоже немного внимательно и думая. Иногда простое копирование - может дать отрицательный результат. Короче, надо стараться все равно разбираться, как это работает.
     
  6. Boryan_R

    Boryan_R Гик

    Спасибо за помощь! Буду шаманить :)
    После настройки MQTT часики работают как часы:) Оба города обновляются каждые полчаса.
     
  7. Boryan_R

    Boryan_R Гик

    не фига не получается....Всё сделал как советовал. Единственный затык был в куске где добавлен датчик температуры и влажности..а так всё вроде со смыслом сделал. При проверке скетч стал ругатся
    C:\Users\Борис\Desktop\Часы_Мах\LED_clock_weath_v5.21\LED_clock_weath_v5.21.ino: In function 'void setup()':

    LED_clock_weath_v5.21:170: error: 'loadConfig' was not declared in this scope

    LED_clock_weath_v5.21:176: error: 'wifiConnect' was not declared in this scope

    LED_clock_weath_v5.21:195: error: 'server_init' was not declared in this scope

    LED_clock_weath_v5.21:196: error: 'temper' was not declared in this scope

    LED_clock_weath_v5.21:198: error: 'GetNarodMonTemp' was not declared in this scope

    C:\Users\Борис\Desktop\Часы_Мах\LED_clock_weath_v5.21\LED_clock_weath_v5.21.ino: In function 'void callback(char*, byte*, unsigned int)':

    LED_clock_weath_v5.21:220: error: 'printStringWithShift' was not declared in this scope

    C:\Users\Борис\Desktop\Часы_Мах\LED_clock_weath_v5.21\LED_clock_weath_v5.21.ino: In function 'void loop()':

    LED_clock_weath_v5.21:276: error: 'updateTime' was not declared in this scope

    LED_clock_weath_v5.21:289: error: 'printStringWithShift' was not declared in this scope

    LED_clock_weath_v5.21:297: error: 'printStringWithShift' was not declared in this scope

    LED_clock_weath_v5.21:299: error: 'printStringWithShift' was not declared in this scope

    LED_clock_weath_v5.21:301: error: 'printStringWithShift' was not declared in this scope

    LED_clock_weath_v5.21:306: error: 'showSimpleDate' was not declared in this scope

    LED_clock_weath_v5.21:310: error: 'GetNarodMonTemp' was not declared in this scope

    LED_clock_weath_v5.21:314: error: 'showAnimClock' was not declared in this scope

    LED_clock_weath_v5.21:317: error: 'showSimpleTemp' was not declared in this scope

    LED_clock_weath_v5.21:319: error: 'showSimpleTempU' was not declared in this scope

    LED_clock_weath_v5.21:326: error: 'wifiConnect' was not declared in this scope

    C:\Users\Борис\Desktop\Часы_Мах\LED_clock_weath_v5.21\LED_clock_weath_v5.21.ino: At global scope:

    LED_clock_weath_v5.21:335: error: expected unqualified-id before 'if'

    LED_clock_weath_v5.21:337: error: expected unqualified-id before 'if'

    exit status 1
    'loadConfig' was not declared in this scope

    К сожалению из языков программирования занимался ассемблером и то 20 лет назад...
     
    Последнее редактирование: 11 апр 2018
  8. big_alex

    big_alex Гик

    Собственно ошибка в этих строках
    Проверьте все ли скобки есть "{}"
     
  9. Estet

    Estet Нуб

    Как минимум в конце не хватает } , if(second == 45 && mqttOn) { ---- открытая осталась
     
  10. Boryan_R

    Boryan_R Гик

    Всем спасибо...разобрался сам. Скобок лишних наставил...только в другом месте. Скомпилилось норм. Буду проверять.
     
    Последнее редактирование: 12 апр 2018
  11. Boryan_R

    Boryan_R Гик

    Всем кто помогал огромное СПАСИБО!!! Всё получилось! Есть кнопка отключения MQTT и теперь можно не настраивать MQTT обновляться будут оба города раз в полчаса. Так же можно брать данные с народмон. Проверил в мониторе порта все обновилось с 45 по 46 минуту...гоняю дальше.
     
  12. Boryan_R

    Boryan_R Гик

    Парни проверил по монитору порта с выкл MQTT, всё нормально...включаю MQTT начинает слать данные на сервер без перерыва...а должен как я понял раз в минуту. Где то я косячнул...но тут я уже не осилю.
    big_alex или IvanUA может найдёте мою ошибку в уже ставшем народном скетче.?
    Тут он лежит https://yadi.sk/d/sJLCa5kQ3ULDkA
     
    Последнее редактирование: 12 апр 2018
  13. Boryan_R

    Boryan_R Гик

    Парни проверьте все ли правильно? Думаю косяк тут
    было основная вкладка
    334строка if(second == 45 && secFr == 0) {
    if(!MQTTclient.connected()) {
    reconnect();
    ==============================================
    стало
    334строка if(second == 45 && mqttOn) {
    if(!MQTTclient.connected()) {
    reconnect();
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    Вкладка P_MQTT.h
    было
    15строка Вы можете использовать внешний сервер, например: <a href="https://www.cloudmqtt.com" align="center" target="_blank"> cloudmqtt.com</a>
    </div>
    <hr>
    <div class="row">
    <div class="col-sm-6" style="margin-top">
    <div class="alert alert-dismissible alert-warning"style="padding-top:8px; padding-bottom: 9px;">
    Подключение к MQTT серверу:
    </div>
    </div>
    <div class="col-sm-6">
    <input id="mqtt_server" value="{{mqtt_server}}" class="form-control" pattern="[-\w\s#@./]{1,20}" placeholder="MQTT сервер">
    </div>
    </div>
    <div class="row" >
    <div class="col-sm-6" style="margin-top">
    ==================================================================

    стало
    15строка Вы можете использовать внешний сервер, например: <a href="https://www.cloudmqtt.com" align="center" target="_blank"> cloudmqtt.com</a>
    </div>
    <hr>
    <tr>
    <td align = "left"> Использовать MQTT сервер: </td>
    <td><select id = "mqttOn" name = "mqttOn">
    <option value = "{{mqttOn}}"> {{mqttOn}} </option>
    <option value = "1"> 1 </option>
    <option value = "0"> 0 </option>
    </select></td>
    </tr>
    <hr>
    <div class="row">
    <div class="col-sm-6" style="margin-top">
    =================================================================
    Может здесь косяк?
     
    Последнее редактирование: 12 апр 2018
  14. Karas8628

    Karas8628 Нерд

    Ребят подскажите,собрал часики на 6 матрицах,сдвинул в центр,и слева появился какой то нолик!где искать?как убрать подскажите
     
  15. Karas8628

    Karas8628 Нерд

  16. IvanUA

    IvanUA Гуру

    Это скорее не нолик, а буква D. Вложите в сообщение кусок кода где что поправляли, а то как то гадать не особо получается.
     
  17. MIchaell

    MIchaell Нерд

    Можно убрать ограничение колличества символов при вводе пароля WIFI?
     
  18. IvanUA

    IvanUA Гуру

    Да, конечно. Поправьте на сколько вам нужно.
     
  19. Boryan_R

    Boryan_R Гик

    IvanUA подскажите как подправить скетч под активный буззер. Прицепил его напрямую к GPIO при ровном времени пару раз пискнет и затем пищит без перерыва..После писков на GPIO почему то остаётся 1, хотя при первом запуске там ноль.
     
  20. IvanUA

    IvanUA Гуру

    Ну во первых. Активный бузер - это кроме катушки еще какая то схемка с генератором. Я бы советовал кроме того как поправить скетч, еще и немного изменить железячную часть устройства. К примеру добавить туда транзистор и пару резисторов. Как это сделать ищите, в нете полно подобных схемок.
    По коду все просто.
    группу
    Код (C++):
        tone(buzzerPin, 2000, 40);
        delay(200);
    меняете на что то типа
    Код (C++):
        digitalWrite(buzzerPin, HIGH/LOW);
        delay(200);
        digitalWrite(buzzerPin, LOW/HIGH);
     
    Порт базера переводите в хай или лов - зависимости от схемы подключения.
    Далее паузе (делей - в это время базер работает "пищит")
    И потом переводите порт базера в неактивное (противоположное) состояние. Ну и собственно он перестает пищать...