Arduino Mega Server

Модератор: Alex

pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение pastry777 » Пт окт 02, 2015 8:21 pm

uni писал(а):Если посмотреть на мои исходники, то явно видно, что это не просто. Там реализовано преобразование из unix- формата в winapi-формат и обратно.
чтобы мы правильно друг друга поняли,привожу пример,как я высчитываю аптайм из millis() в своем проекте,аналогично, по такому принципу я предложил и здесь,только из UNIXa...исходя из задачи,под которую необходимо высчитывать разницу,можно еще оптимизировать код немного...

Код: Выделить всё

// расчет тeкущего времени работы программы(uptime)
        static unsigned long time = millis();
        d = (time / 86400000);                  // дни
        h = (time % 86400000) / 3600000;  // часы
        m = (time % 3600000) / 60000;      // минуты
        s = (time % 60000) / 1000;            // секунды
 
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Пт окт 02, 2015 8:45 pm

LONG UNIX для меня это time_t, значение которого отсчитывается от эпохи unix. Если у вас есть значение в этом формате, то как вы приведёте его в "человеческий вид"? Как показать по этому значению какой это год, месяц, день и т.д. Я понял вопрос в таком ключе.
Исходники эти сделаны для реализации софтового RTC на мк, который железным не оборудован. Если нужно узнать текущую дату из софтового RTC, то я использовал указанный набор функций.

С относительными вычислениями тоже не всё просто. Например, узнать разницу в календарных днях между двумя значениями в unix-формате: одно число - минута до полуночи, второе - минута после. Если считать в миллисекундах, то разница будет нулевая в днях. Если сначала привести к датам, то будет 1 день. Тут от задач зависит.
Россия навсегда!
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение pastry777 » Пт окт 02, 2015 9:27 pm

uni писал(а):LONG UNIX для меня это time_t, значение которого отсчитывается от эпохи unix. Если у вас есть значение в этом формате, то как вы приведёте его в "человеческий вид"? Как показать по этому значению какой это год, месяц, день и т.д. Я понял вопрос в таком ключе.
Исходники эти сделаны для реализации софтового RTC на мк, который железным не оборудован. Если нужно узнать текущую дату из софтового RTC, то я использовал указанный набор функций.

С относительными вычислениями тоже не всё просто. Например, узнать разницу в календарных днях между двумя значениями в unix-формате: одно число - минута до полуночи, второе - минута после. Если считать в миллисекундах, то разница будет нулевая в днях. Если сначала привести к датам, то будет 1 день. Тут от задач зависит.
да,вы правы,если требуется из софтового UNIX получить год,месяц,день да еще и в текстовом читабельном варианте(вторник сегодня или суббота? :D ),то нужно очень заморочиться :roll:
а для высчитывания неких промежутков событий думаю можно обойтись парой операций:

Код: Выделить всё

now_number_day = timeUnix / 86400L;//получаем порядковый номер текущего дня с начала отсчета UNIX
now_day_seconds = timeUnix % 86400L; // высчитываем количество секунд с начала текущих суток
 
[/size]
секунды далее можно перевести в минуты и часы,само-собой....
это все для высчитывания,для внутреннего алгоритма работы MK..
из этих моих строк конечно не написать "насос включился в четверг пятого февраля",но можно вывести "насос включился три дня и пять часов назад" даже после сброса питания,предварительно сохранив время включения насоса в EEPROM,ведь для этого это все и делается...
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение pastry777 » Пт окт 02, 2015 10:05 pm

поковыряв библиотеку о которой я упоминал выше,нашел там интересные готовые расчеты год,месяц,день из UNIX... можно использовать конкретные блоки оттуда,слегка адаптировав,это как раз по силам Alex ;)
Oleg24
Сообщения: 5
Зарегистрирован: Вс сен 13, 2015 9:40 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Oleg24 » Вс окт 04, 2015 12:48 pm

Здравствуйте,
Китайская мега, карта 16 гиг, закинул все файлы из sd на карту, в скетче в Ethernet поменял ip, залил но страница не открывается. В хроме в заголовке окна появляется надпись mega1, но страница не загружается. Нужно что-то ещё подправить?
Oleg24
Сообщения: 5
Зарегистрирован: Вс сен 13, 2015 9:40 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Oleg24 » Вс окт 04, 2015 2:12 pm

Всё разобрался, в моей сети проблема.
AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение AVK74 » Вт окт 06, 2015 10:47 am

Подскажите алгоритм получения дня недели из года месяца и числа.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Чт окт 08, 2015 8:09 am

Вот ссылка на архив с функциями для работы с датой в uClinux.
Россия навсегда!
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Arduino Mega Server

Сообщение nick7zmail » Сб окт 10, 2015 11:49 am

Добрый день всем.
Очень интересная тема, очень много инфы. Половину где то прочитал)) больше не осилил.
Подскажите новичку в этих краях, как я понял можно поднять полноценный сервер с MajorDomo на базе ардуино мега? Появились несколько вопросов по интеграции.
1) Как быть с внешними девайсами? (например тот же контроллер ноолайт подключается через usb. есть библиотеки? или там операционка на базе линукса, например?)
2) Как там дела с голосом? На винде установлен движок Infovox Alyona. На ардуине хотя бы гугловским голосом умеет говорить?
3) Какой базовый набор брать, если надумаю?)) Ардуино мега+Ethernet sheld или как он там, достаточно будет?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб окт 10, 2015 7:45 pm

Подскажите новичку в этих краях, как я понял можно поднять полноценный сервер с MajorDomo на базе ардуино мега?
Да вы что? Нет, конечно. АМС это отдельная система и на 8 КБ ОЗУ невозможно сделать то, что делается на мегабайтах и мощных прцессорах. Но фишка в том, что АМС со своими 8-ю килобайтами во многих случаях может заменить М.
Появились несколько вопросов по интеграции.
1) Как быть с внешними девайсами? (например тот же контроллер ноолайт подключается через usb. есть библиотеки? или там операционка на базе линукса, например?)
АМС это Ардуино и всё, что может интегрироваться с Ардуино, может интегрироваться и с АМС.
2) Как там дела с голосом? На винде установлен движок Infovox Alyona. На ардуине хотя бы гугловским голосом умеет говорить?
Никак. А вот может ли Ардуина отослать речь и получить распознанный ответ — вопрос интересный.
3) Какой базовый набор брать, если надумаю?)) Ардуино мега+Ethernet sheld или как он там, достаточно будет?
Да, базовый набор — Мега 2560 + Ethernet Shield W5100 + microSD карта памяти. А вот брать или не брать — по большому счёту выбора нет. А то проживёте жизнь, а восьмое чудо света не увидите.
Ответить