17.04.2008, 16:35
|
Новичок на форуме
|
|
Регистрация: 17.04.2008
Сообщений: 5
|
|
Возможности JavaScript для управления hardware-объектом
Поскольку на форуме javascript.ru тусуются самые крутые гуру по web-программированию, хочу задать вам свой вопрос. Сразу скажу, что я не web-программист, я занимаюсь разработкой электронной аппаратуры и firmware к ней.
Так вот, как любое современное оборудование моя "железка" собирается управлятся через web-интерфейс. Принципиально всё ясно - я завожу на своём микроконтроллере (это такой слабенький процессор) tcp-сервер, обрабатываю http-запросы и выдаю код странички. В самом простом случае это уже получилось.
Далее, мне нужно обновлять web-страничку при изменении состоянии моего устройства. Пишу java-скрипт, по тайм-ауту обновляющий страничку (или её часть), тоесть отсылающий запрос моему серверу и постоянно отвлекающий мой микроконтроллер от решения его задач. Вопрос: а может ли web-сервер по своей инициативе обновить данные на web-страничке пользователя? То есть изменить их на страничке тогда, когда они действительно изменились, а не заставлять браузер постоянно себя опрашивать.
Второй вопрос - передача данных от браузера к микроконтроллеру. Пользователь расставляет на страничке галочки, выбирает конфигурацию и нажимает кнопку "Передать". Что получит сервер? Строку вида "http://javascript.ru/forum/newthread.php?do=postthread&f=3"? То есть придется разбирать все эти ?do=&? А может ли java-скрипт сформировать серверу сообщение, понятное для микропроцессора, типа 7E 87 F6 00 0A?
В общем, цель такая - разгрузить микроконтроллер устройства и возложить высокоуровневые задачи на компьютер клиента.
|
|
17.04.2008, 17:26
|
Интересующийся
|
|
Регистрация: 24.03.2008
Сообщений: 27
|
|
Первый вопрос - нет.
Второй вопрос - напишите функцию кодирования ваших данных, но результат кодирования вам все равно придется передавать на сервер как параметр. Встречный вопрос - вы хотите, чтобы ваш МП можно было программировать через строку броузера? Т.е. вам безопасность не важна?
|
|
17.04.2008, 18:02
|
Новичок на форуме
|
|
Регистрация: 17.04.2008
Сообщений: 5
|
|
Сообщение от vandy
|
вы хотите, чтобы ваш МП можно было программировать через строку броузера?
|
Надо-бы сделать авторизацию. Понимаю.
Сообщение от vandy
|
результат кодирования вам все равно придется передавать на сервер как параметр
|
Поясните пожалуста, как эти параметры передаются на сервер. В теле http-запроса? Или как строка URL? Если в теле запроса, то можно его перекодировать на стороне клиента, а не разбирать микроконтроллером. Не так ли?
Где бы про все это почитать?
|
|
17.04.2008, 18:39
|
Интересующийся
|
|
Регистрация: 24.03.2008
Сообщений: 27
|
|
Почитать о JS можно хоть на этом сайте в разделах "Статьи" и "Книги".
Но мой совет, если хотите получить хороший продукт, надо составить ТЗ и заказать разработку у JS-программера. Выйдет намного быстрее и качественне.
|
|
17.04.2008, 18:43
|
Интересующийся
|
|
Регистрация: 24.03.2008
Сообщений: 27
|
|
Если вы будете посылать запрос как POST, то параметр будет в теле запроса, если через адресную строку (GET), то в URL
Цитата:
|
Если в теле запроса, то можно его перекодировать на стороне клиента, а не разбирать микроконтроллером.
|
Поясните
|
|
18.04.2008, 09:00
|
Новичок на форуме
|
|
Регистрация: 17.04.2008
Сообщений: 5
|
|
Я как раз и составляю ТЗ, чтобы самому ясно представлять как можно решить эту задачу. Чтобы получилось то, что хочу я, а не то, что смог программист.
Сообщение от vandy
|
Поясните
|
Поясняю. Задумано, что браузер пошлет POST-запрос, предварительно обработанный Java-скриптом. Скрипт должен перекодировать данные из HTML-формы в удобную для МП форму типа "заголовок, кол-во байт, код объекта, код свойства, значение".
Я вижу здесь один недостаток организационного характера. Не получится просто нанять JS-программиста для выполнения работы и потом отпустить. Ведь добавление нового параметра, доступного для конфигурирования в моем устройстве, потребует добавления этого же параметра в перекодирующем скрипте. Короче, этот программер у нас кормится будет, а мы от него зависеть. Просто незнаю как быть. Может научить МП разбирать HTML-формы? А уж дописать или изменить эти формы я и сам смогу.
Правильно рассуждаю?
|
|
18.04.2008, 09:37
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
к вопросу о передаче данных по инициативе сервера
http://javascript.ru/ajax/server-push
а насчот последнго, можно обучить не МП разбирать формы, а JS из набора полей "заголовок, кол-во байт, код объекта, код свойства, значение" формировать запрос удобной для МП структуры.
Тогда, при условии не изменности структуры запросов, при добавлении новой команды достаточно просто добавить типовую формочку, с переопределенным полем(hidden-типа, например)
|
|
18.04.2008, 10:23
|
Интересующийся
|
|
Регистрация: 24.03.2008
Сообщений: 27
|
|
совсем не обязательно кормить программера, Gvozd предложил хорошую идею и вполне реализуемую.
|
|
18.04.2008, 10:48
|
Новичок на форуме
|
|
Регистрация: 17.04.2008
Сообщений: 5
|
|
Насчет взаимодействия с сервером - все прояснилось. Проблема превратилась в задачу, которую решают известными методами.
Ещё хотел узнать - может ли скрипт вести журнал событий и сохранять его на диск? Или просто писать log в отдельное окно браузера, которое при желании можно сохранить (главное нужно запретить пользователю его закрыть, чтобы не потерять историю событий).
Последний раз редактировалось AZbest, 18.04.2008 в 11:03.
|
|
18.04.2008, 10:51
|
Интересующийся
|
|
Регистрация: 24.03.2008
Сообщений: 27
|
|
А рассказать, как говорится, для будующих поколений?
|
|
|
|