Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2008, 16:35
Новичок на форуме
Отправить личное сообщение для AZbest Посмотреть профиль Найти все сообщения от AZbest
 
Регистрация: 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?

В общем, цель такая - разгрузить микроконтроллер устройства и возложить высокоуровневые задачи на компьютер клиента.
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2008, 17:26
Интересующийся
Отправить личное сообщение для vandy Посмотреть профиль Найти все сообщения от vandy
 
Регистрация: 24.03.2008
Сообщений: 27

Первый вопрос - нет.
Второй вопрос - напишите функцию кодирования ваших данных, но результат кодирования вам все равно придется передавать на сервер как параметр. Встречный вопрос - вы хотите, чтобы ваш МП можно было программировать через строку броузера? Т.е. вам безопасность не важна?
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2008, 18:02
Новичок на форуме
Отправить личное сообщение для AZbest Посмотреть профиль Найти все сообщения от AZbest
 
Регистрация: 17.04.2008
Сообщений: 5

Сообщение от vandy
вы хотите, чтобы ваш МП можно было программировать через строку броузера?
Надо-бы сделать авторизацию. Понимаю.

Сообщение от vandy
результат кодирования вам все равно придется передавать на сервер как параметр
Поясните пожалуста, как эти параметры передаются на сервер. В теле http-запроса? Или как строка URL? Если в теле запроса, то можно его перекодировать на стороне клиента, а не разбирать микроконтроллером. Не так ли?

Где бы про все это почитать?
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2008, 18:39
Интересующийся
Отправить личное сообщение для vandy Посмотреть профиль Найти все сообщения от vandy
 
Регистрация: 24.03.2008
Сообщений: 27

Почитать о JS можно хоть на этом сайте в разделах "Статьи" и "Книги".

Но мой совет, если хотите получить хороший продукт, надо составить ТЗ и заказать разработку у JS-программера. Выйдет намного быстрее и качественне.
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2008, 18:43
Интересующийся
Отправить личное сообщение для vandy Посмотреть профиль Найти все сообщения от vandy
 
Регистрация: 24.03.2008
Сообщений: 27

Если вы будете посылать запрос как POST, то параметр будет в теле запроса, если через адресную строку (GET), то в URL

Цитата:
Если в теле запроса, то можно его перекодировать на стороне клиента, а не разбирать микроконтроллером.
Поясните
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2008, 09:00
Новичок на форуме
Отправить личное сообщение для AZbest Посмотреть профиль Найти все сообщения от AZbest
 
Регистрация: 17.04.2008
Сообщений: 5

Я как раз и составляю ТЗ, чтобы самому ясно представлять как можно решить эту задачу. Чтобы получилось то, что хочу я, а не то, что смог программист.

Сообщение от vandy
Поясните
Поясняю. Задумано, что браузер пошлет POST-запрос, предварительно обработанный Java-скриптом. Скрипт должен перекодировать данные из HTML-формы в удобную для МП форму типа "заголовок, кол-во байт, код объекта, код свойства, значение".

Я вижу здесь один недостаток организационного характера. Не получится просто нанять JS-программиста для выполнения работы и потом отпустить. Ведь добавление нового параметра, доступного для конфигурирования в моем устройстве, потребует добавления этого же параметра в перекодирующем скрипте. Короче, этот программер у нас кормится будет, а мы от него зависеть. Просто незнаю как быть. Может научить МП разбирать HTML-формы? А уж дописать или изменить эти формы я и сам смогу.

Правильно рассуждаю?
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2008, 09:37
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

к вопросу о передаче данных по инициативе сервера
http://javascript.ru/ajax/server-push
а насчот последнго, можно обучить не МП разбирать формы, а JS из набора полей "заголовок, кол-во байт, код объекта, код свойства, значение" формировать запрос удобной для МП структуры.
Тогда, при условии не изменности структуры запросов, при добавлении новой команды достаточно просто добавить типовую формочку, с переопределенным полем(hidden-типа, например)
Ответить с цитированием
  #8 (permalink)  
Старый 18.04.2008, 10:23
Интересующийся
Отправить личное сообщение для vandy Посмотреть профиль Найти все сообщения от vandy
 
Регистрация: 24.03.2008
Сообщений: 27

совсем не обязательно кормить программера, Gvozd предложил хорошую идею и вполне реализуемую.
Ответить с цитированием
  #9 (permalink)  
Старый 18.04.2008, 10:48
Новичок на форуме
Отправить личное сообщение для AZbest Посмотреть профиль Найти все сообщения от AZbest
 
Регистрация: 17.04.2008
Сообщений: 5

Насчет взаимодействия с сервером - все прояснилось. Проблема превратилась в задачу, которую решают известными методами.

Ещё хотел узнать - может ли скрипт вести журнал событий и сохранять его на диск? Или просто писать log в отдельное окно браузера, которое при желании можно сохранить (главное нужно запретить пользователю его закрыть, чтобы не потерять историю событий).

Последний раз редактировалось AZbest, 18.04.2008 в 11:03.
Ответить с цитированием
  #10 (permalink)  
Старый 18.04.2008, 10:51
Интересующийся
Отправить личное сообщение для vandy Посмотреть профиль Найти все сообщения от vandy
 
Регистрация: 24.03.2008
Сообщений: 27

А рассказать, как говорится, для будующих поколений?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События в javascript для формы. woo_hoo Общие вопросы Javascript 5 17.07.2008 19:13