Эта функция доступна уже в версии 1.6.1.

Для многих приложений, необходимо часы реального времени,  если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом.

Процедура описывает полный цикл подключения к  роутеру WIFI подключение к серверам, получение данных времени конвертация его в двоично десятичный форма, для часов реального времени и отключения от роутера.

  1. AT+CWMODE_CUR=1  – настройка режим станции.
  2. AT+CIPMUX=0 – установить режим одного соединения.
  3. AT+CWJAP_CUR=”логин вашего роутера”,”пароль вашего роутера” – подключение к роутеру.
  4. AT+CIPSNTPCFG=1,3,”0.ua.pool.ntp.org”,”1.ua.pool.ntp.org”,”2.ua.pool.ntp.org” – вариант подключения к часовым серверам .(*1)
  5. AT+CIPSNTPTIME? – запрос времени.

ESP8266 – вернет время, день недели и дату в следующем формате:

Если не получено данных:

+CIPSNTPTIME:Thu Jan 01 00:00:00 1970

И если данные получены:

+CIPSNTPTIME:Wed Mar 18 12:35:17 2018

После получения времени, можно отключиться от сети.

  1. AT+CIPSNTPCFG=0 отключиться от серверов
  2. AT+CWQAP отключиться от роутера
  3. При желании можно перевести модуль в спящий режим.

ПРИМЕЧАНИЕ!!! После подключения в серверам точного времени и перед командой чтения времени возможно придется сделать пауза она может быть более 3 секунд (это зависит от вашего провайдера сети)!!!


Дополнительно можно прочитать WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)


*1  Небольшое описание для команды +CIPSNTPCFG

Чтение времени
SNTP включить, часовой пояс 3 часовые сервера “0.ua.pool.ntp.org”,”1.ua.pool.ntp.org”,”2.ua.pool.ntp.org”
// для подключения к конкретным серверам
AT+CIPSNTPCFG=1,3,”0.ua.pool.ntp.org”,”1.ua.pool.ntp.org”,”2.ua.pool.ntp.org”
для подключения к китайским серверам, по умолчанию
AT+CIPSNTPCFG=1,3

AT+CIPSNTPCFG?
+CIPSNTPCFG:1,3,”cn.ntp.org.cn”,”ntp.sjtu.edu.cn”,”us.pool.ntp.org”


// прочитать время
AT+CIPSNTPTIME? // команда
+CIPSNTPTIME:Wed Apr 11 22:00:46 2018 // ответ
OK
в 16-ричном виде (обрезаны данные для удобства)
+CIPSNTPTIME:Wed Apr 11 22:02:48 2018
+ C I P S N T P T I M E : W e d A p r 1 1 2 2 : 0 2 : 4 8 2 0 1 8
2B 43 49 50 53 4E 54 50 54 49 4D 45 3A 57 65 64 20 41 70 72 20 31 31 20 32 32 3A 30 32 3A 34 38 20 32 30 31 38

месяц
Jan – January – Январь
Feb – February – Февраль
Mar – March – Март
Apr – April – Апрель
May – May – Май
Jun – June – Июнь
Jul – July – Июль
Aug – August – Август
Sep – September – Сентябрь
Oct – October – Октябрь
Nov – November – Ноябрь
Dec – December –Декабрь

дни недели
Fri – Monday-понедельник
Tue – Tuesday-вторник
Wed – Wednesday-среда
Thu – Thursday-четверг
Fri – Friday-пятница
Sat – Saturday-суббота
Sun – Sunday-воскресенье

Преобразуем в формат двоично десятичный для хранения в часах реального времени
input_buf откуда извлекаются текстовый данные
DS1340.buf[] – где храняться данные для записи в часы
DS1340.buf[0] Seconds
DS1340.buf[1] Minutes
DS1340.buf[2] Hours
DS1340.buf[3] Day
DS1340.buf[4] Date
DS1340.buf[5] Month
DS1340.buf[6] Year

Процедура, сначала читаем данные с часов, чтобы получить со временем флаги управления
потом читаем время от сервера (ESP должна быть подключен к инету)
записываем новые данные от сервера времени, с учетом коррекции флагов
и сохраняем в часы реального времени

Возвращает
1-если операция прошла корректно
0-если ошибка
в не подключено варианте к сети будут возвращать время
+CIPSNTPTIME:Thu Jan 01 00:00:00 1970


В функции используются функции для чтения времени из часов реального времени и работы с UART через модуль DMA.



Это может быть интересно


  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся старым и …
  • Датчик контроля протечки воды ch-c0020Датчик контроля протечки воды ch-c0020
    Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с потолка…  И …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в первый раз …
  • Проект с использованием MCC часть 13Проект с использованием MCC часть 13
    Так как используя MCC мы можем его использовать со своими библиотеками, поэтому настало время и свое создать. Для начала откроем наш заголовочный файл в нем очень много букв: По этому. да …
  • WiFi ESP8266 – AT команды связанные с функцией Wi-FiWiFi ESP8266 – AT команды связанные с функцией Wi-Fi
    AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание  1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 AT+CWMODE_CUR Проверка, …
  • ch-светомузыка и AK4113ch-светомузыка и AK4113
    Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это такое, так …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – это значит, …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект. Метки:MPLAB® Code …
  • Счетчики посетителейСчетчики посетителей
    Вас сосчитали!? или счетчики посетителей.   Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое количество вечером. …
  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
     Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика холла автомобиля …



 

Tagged with →  
Share →
Translate »

Copyright © Catcatcat electronics 2013-2019. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com