Считывание времени с ПК
- Войдите на сайт для отправки комментариев
Чт, 11/07/2013 - 13:17
Добрый день!
Проблема заключается в следующем: необходимо считать текущее время с компьютера и вывести его с помощью Serial порта на монитор после посланной команды опять же через сериал порт. Желательно, чтобы выводилось время в секундах после полуночи (т.е. время от начала суток). Также, есть еще один вопрос: возможно ли считывание этого времени с точностью до тысячных долей секунды?
Решил обратиться, поскольку даже не могу понять с чего лучше начать. Использование библиотек DateTime и DateTimeStrings не принесло ощутимых результатов, поскольку грамотно ими распорядиться не смог.
Буду благодарен за любую помощь.
Присоединюсь к вопросу.
За тем лишь отличием, что не хочу читать время в конкретном компутере.
Хочу синхронизировать время на автомате, например через интернет, с серверами реального времени )
использовать какое то существующее соединение например Wi-Fi/Ethernet/Serial(GPRS и тп)
Есть у кого то идеи и опыт реализации?
Ардуина хотелось чтоб справилась уже на младших мегах типа 328 (т.е поместиться бы в мозг и не только с часами разумеется)
Задачу следует решать на самом компе. те. именно там должна висеть программа которая по запросу от порта ответит нужной инфо. Если комп с каким нибудь линуксом и тп. тогда проблемы ответа на запрос от сериала нет. он оттуда всегда ждет регистрацию юзера и предоставляет консоль - пользуйся что называется наздоровье...
точное время легче всего видеть по GPS.
и плюс, зачем отвечать после запроса? пусть копм всегда шлет информацию. контроллер всё равно по прерыванию получает данные.
Задачу следует решать на самом компе. те. именно там должна висеть программа которая по запросу от порта ответит нужной инфо.
Это самый простой вариант. Вы же понимаете ,что Windows по умолчанию не видит СОМ порта и тем более не шлёт время в него. У меня во внешней программе есть кнопка 'Синхронизиовать время и дату' ,нажимаешь и время с датой по СОМ порту передаются в Ардуину и устанавливают новое время и дату в А.
Добрый день!
Проблема заключается в следующем: необходимо считать текущее время с компьютера и вывести его с помощью Serial порта на монитор после посланной команды опять же через сериал порт.
Лобовой вариант: в любом случае на компе вам понадобится какая-то програмка. На каком языке будете писать - на том языке и смотрим "как получить время", "функции работы со временем" и т.п.
После того как "получили время" - есть два варианта действий:
1. Разбираем это время на составные части (как правило, в любом "комповом языке" уже есть функции для этого) - получаем несколько чисел: час, минуты, секунды и т.п. И уже эти числа - отсылваем ардуине.
2. Время берем изначально "в миллисекундах". Еще его частенько обзывают timestamp. Это количество милисекунд 1 января 1970 года. Тогда нам "передать ардуине" потребуется всего "одно число" (правда большое).
А уж, на стороне ардуины - пересчитываем милисекунды в часы, минуты и т.п.
Как "передать ардуине число" - тоже есть несколько вариантов. Но... тут вам уже поиск поможет. Не раз, не два и даже не 10-ть обсуждалось :)
Ну или, если раз вам важно не время, а только "сколько прошло после полуночи секунд", то можно это на стороне компа самому посчитать. И передавать уже готовую цифру. Секретная формула СЕКУНД_ПОСЛЕ_ПОЛУНЧОИ=3600*ЧАСЫ+60*МИНУТЫ+СЕКУНДЫ
Хочу синхронизировать время на автомате, например через интернет, с серверами реального времени )
NTP — Википедия
SNTP — Википедия
Список серверов времени, поддерживающих протокол SNTP (Simple Network Time Protocol), доступных в Интернете
Arduino - UdpNTPClient
Arduino NTP Client using EtherShield library | Reverse Biased
tuxgraphics.org: The Tuxgraphics AVR NTP clock
и плюс, зачем отвечать после запроса? пусть копм всегда шлет информацию. контроллер всё равно по прерыванию получает данные.
Почему не GPS обьясню сразу, потомучто используем в основном в помещении, GPS не залетает туда.
Всегда слать инфо - не кошерно и излишне.
Вопервых если имеем вечно включенный комп, тогда зачем приплетать Ардуино?
Второе, Ардюха имеет встроенный таймер, он тикает, можно отслеживать время, да точность хромает, поэтому не плохо было бы периодически делать коррекцию. Вполне достаточно 1-2 раза в сутки. И каждый раз при включении, например после пропадания и восстановления питания, все сбилось, взяли и поправили.
Не знаю задачу автора вопроса, но я хотел бы чтобы инициатива шла от Ардуинки при этом компутера включенным иметь не желательно, есть к примеру какой то интерфейс для связи с миром, и вечно включен маршрутизатор, вот через него и хочется установить время
Arduino - UdpNTPClient
Спасибо, пожалуй, это именно то что хочется. Странно что мне самому это найти не удалось. Убил пол дня сегодня изучая другие ссылочки, и док по НТП. А оно таки вот где )
Теперь неотвратимо требуется какой то сетевой шилд, ну и буду на всякий случай искать вариант попроще чтоб приручить IP через GSM мамед, на случай отсутствия таки интернета. ))
Не забудьте прикрутить к этому делу солнечные часы - на случай отсутсвия-таки устойчивого сотового сигнала. ;-)
Не забудьте прикрутить к этому делу солнечные часы - на случай отсутсвия-таки устойчивого сотового сигнала. ;-)
Всепгенепгеменнейшим обгазом!
Установлю строго по компАсу светочуйствительный элемент в направлении на солнце каждые 12-00. Будет строгая синхра по времени с уток.
Будет строгая синхра по времени с уток.
Строго по времени, больничные утки пролетают?