2ветерок Нет, немного неправильно поняли. HTML5 тут вообще непричем. API Яндекс.Карт используется ТОЛЬКО для визуализации. Сам "движок" веб-сервиса от него никак не зависит. Поэтому я и писал уже выше, что с таким же успехом можно и Google Maps прикрутить и OSM.
Отправка данных происходит по инициативе клиентского устр-ва, поэтому периодичность отправки зависит от вашей реальной необходимости. Я лично написал скрипт для отправки каждые 30 минут, ибо погода за окном чаще не меняется, хотя пришлось уже на сервер добавить антиспам если кто-то решит за DOSить его, защитный интервал поставил пока что 5 минут, т.е. чаще чем раз в 5 минут данные просто игнорируются, но если у вас будет
реальная необходимость отслеживать изменения оперативнее, то вопрос решаем.
Теперь по принципу работы сервиса(хотя в "О проекте" на самом сайте map.net13.info многое расписано для всех и дополняется чаще):
1. Вы выбираете клиентское устр-во для отправки данных или собираете его сами. Если сами собрать не можете, то предлагаются варианты разработанные другими электронщиками.
2. Если Вы используете MP707(Мастеркит) или иное USB/COM устр-во требующее постоянного подключения к ПК, то необходимо еще подключить скрипт для отправки данных на сервер. Для тех кто использует nix могу поделиться своими наработками на PHP+bmcontrol для пользователей винды сейчас веду переговоры чтобы автор ПО для MP707 под винду допилил свою прогу для отправки данных или напишите сами, если можете. Заранее скажу что вариант с USB устр-вом менее выгоден ибо аптайм оставляет желать лучшего, да и зависимость от ПК портит общую картину.
3. В настройках устр-ва(или софта для USB) указываете DNS имя
map.net13.info(или его IP пинг рулит, но DNS предпочтительнее) и
TCP/IP порт(UDP тоже принимается, но стабильность работы с TCP выше, да и 512байт для UDP ограничение размера пакета). Сам протокол передачи аналог telnet и поэтому его можно использовать для отладки отправки показаний на сервер.
Сам протокол:Код
#mac\n
#mac1#value1\n
#mac2#value2\n
...
##
mac(hex) - уникальный заводской серийный номер МК(или сетевой карты), к которому подключены датчики.
macN(hex) - уникальный заводской(или сгенерированный для аналоговых датчиков) серийный номер датчика, например у ds18.
valueN(float) - показание датчика, например -10.15
\n - спецсимвол конца строки - код 10(0A)
## - признак окончания пакета данных(после него разрыв соединения).
Количество строк в сообщении = кол-во датчиков + 2Сами датчики могут быть любыми, не обязательно ds18 и даже не обязательно 1-wire главное чтоб вы могли считать их показания и передать на сервер.
SSL защиту протокола пока не делаю ибо и без нее народ пока с трудом справляется с реализацией(не гостайну же передаем и не финансовую информацию), но все IP и время записываются, если что то СОРМ поможет найти вредителей.
Если состояние объекта критично логировать даже когда нет канала связи, то протокол расширяется и 3-им полем в каждой строке шлется штамп времени актуальности показания(предпочтительнее UnixTime или ISO 8601). Т.е. пропала канал связи, Ваше устр-во продолжает собирать показания и складирует в локальный кеш, канал восстановился - все пачкой отправилось на сервер - аналогично многие GPS/GSM автотрекеры делают.
ИТАК: Вы подключили и настроили устр-во, оно успешно отправляет данные. Теперь авторизуйтесь на
http://map.net13.info заходите в "Мои датчики" и добавляете MAC всего устр-ва(1я строка в протоколе) подключенные к нему датчики добавятся автоматически хоть их 100500 штук будет. По-умолчанию привязка к карте выполнится по IP адресу(городу привязки провайдера вашего), но желательно уточнить размещение ибо этот метод определения расположения оставляет желать лучшего. Поэтому Вы в "Мои датчики" указываете "Город, Улицу, Дом" или географические координаты(по образцу в Вики) размещения самого устр-ва, а не каждого датчика в отдельности. Также вы можете на самой карте передвинуть сам маркер с вашими датчиками на нужную позицию, используя вид со спутника и не заморачиваться с вычислением геокоординат вообще. Также можете установить режим отображения показаний каждого датчика в отдельности(для всех или только для владельца), т.е. уличный датчик интересен всем(в т.ч. и неавторизованным посетителям сайта) а вот температура у вас в квартире врядли кому кроме вас интересна.
Для разработчиков, кто хотел бы пополнить ассортимент устр-в, помните пож-та, что не все физлица Рокфеллеры и постарайтесь минимизировать себестоимость устр-ва. Например МастерКит вариант(USB) стоит ~500р, FlyRouter около 1000-1500р, LAN-термометр elephant.embedders.org - 1500р(все цены назначены их разработчиками и не включают доставку). Постарайтесь не выходить за эти рамки. Это не жесткое требование, но дорогие устр-ва мало кто покупает особенно ради хобби. Также помните об унификации и компактности корпусов и масштабируемости, например корпуса от LAN-розеток, вывод шины 1-wire RJ11/12 ибо удлинителей в продаже и тройников под них тьма и т.п., настройку IP пользователем свести к минимуму через DHCP или вебинтерфейс или дисплейчик, главное чтоб было просто даже для человека не разбирающегося в IP-сетях и электронике.За пример реализации почитайте мой обзорчик забугорного девайса
Current Cost EnviR там есть чему поучиться в плане удобства установки и настройки, ибо забугром сие устр-во разошлось более чем 2млн шт., несмотря на немаленькую цену(около 5500р мне обошлось).
TCP/UDP порт для отправки данных на сервере map.net13.info сообщу только в ответ на Ваше письмо по e-mail ! Адрес на странице проекта.PS Если при 1000+ датчиков сервер не будет справляться с нагрузкой(что врядли) найду другой хостинг, но пока проект некоммерческий поэтому пользуемся тем что есть ибо моя прибыль от проекта = 0.
Сообщение отредактировал SSar - Apr 23 2012, 08:14