|
веб-интерфейс, конфигуратор |
|
|
|
Feb 6 2013, 12:24
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Инструментарий для чего ? Для написания программы к АRM ? или для создания странички ? так тут и в блокноте можно делать. Советую начать с изучения HTTP протокола, потом HTML + ajax, потом написание самого сервера. И тут миллион вопросов, какая операционка, какая файловая система, где будут храниться страницы. Какай вопрос такой ответ, для начала вам нужет только компилятор для ARM, браузер, и блокнот
|
|
|
|
|
Feb 6 2013, 13:01
|
Знающий
   
Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317

|
Цитата операционка Linux Ну так с этого и надо начинать, а АРМ там или х86 уже не имеет значения. Тут я вам не помогу.
|
|
|
|
|
Feb 6 2013, 20:50
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Zelepuk @ Feb 6 2013, 14:30)  операционка Linux просто на CGI такое можно сотворить? страницы планирую хранить в файловой системе нв SD карте Так только на CGI такое и делают. На чем еще? Но еще нужно сами страницы генерировать, не статически же их создавать. А то потом уйдет куча времени на их постоянные модификации. У меня такой подход: Еще на этапе создания приложения создается база данных переменных, событий и сигналов приложения. Прямо в MS Access и создаю. Потом пишу на VBA в том же MS Access небольшие функции которые из базы данных генерят ini файлы для операционки непосредственно хранящие значения переменных читаемых приложением, потом генерятся HTML страницы для встроенного WEB сервера с иерархией согласно иерархии переменных, дополнительно генерятся JSON файлы и MIB файлы с описанием все тех же переменных для других сетевых сервисов. HTML правда содержит включениря динамически обрабатываемые сервером для правильного представления разных типов переменных разными виджетами. Т.е. инструмент - MS Access и Basic Ну и Dreamweaver от Adobe напоследок чтобы навести дизайн и создать .CSS файл управляющий представлением.
|
|
|
|
|
Feb 6 2013, 22:39
|

Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828

|
Цитата(AlexandrY @ Feb 6 2013, 23:50)  У меня такой подход: Еще на этапе создания приложения создается база данных переменных, событий и сигналов приложения. Прямо в MS Access и создаю. Потом пишу на VBA в том же MS Access небольшие функции которые из базы данных генерят ini файлы для операционки непосредственно хранящие значения переменных читаемых приложением, потом генерятся HTML страницы для встроенного WEB сервера с иерархией согласно иерархии переменных, дополнительно генерятся JSON файлы и MIB файлы с описанием все тех же переменных для других сетевых сервисов. HTML правда содержит включениря динамически обрабатываемые сервером для правильного представления разных типов переменных разными виджетами. Т.е. инструмент - MS Access и Basic Ну и Dreamweaver от Adobe напоследок чтобы навести дизайн и создать .CSS файл управляющий представлением. Пример взглянуть можно? Почему не PHP? P.S. Чт у вас с сайтом - все интересные проекты, старые тексты (со старого вашего сайта) файлы - поубивали? Если так - жаль...
|
|
|
|
|
Feb 7 2013, 05:33
|

Гуру
     
Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606

|
Вот мой пример. Это не окончательная версия, для примера думаю сгодится. Что-то меня дернуло сделать там кодировку КОИ8, не делайте так, лучше используйте UTF-8. Я принципиально не использую разные верстальщики HTML (от них много мусора), все страницы верстались в текстовом редакторе. Вроде в eclipse с плагинами делал. Используется AJAX с JSON. CGI на С и на shell. PHP для железки это по-моему уж слишком. Зачем он там? Еще из плюшек использую библиотеки javascript это jquery, jquery datatables - для создания таблиц в html(http://www.datatables.net/), jquery impromptu - для всплывающих окон (http://trentrichardson.com/Impromptu/#Examples) и js файлы выдранные из своего домашнего роутера DIR-400 для проверки валидности IP адресов.
html_roip.rar ( 95.36 килобайт )
Кол-во скачиваний: 106
|
|
|
|
|
Feb 7 2013, 17:48
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Лет 7 тому назад писал web сервер на C++ объектно под Windows и назвал метод удаленным пользовательским интерфейсом. Все что видит пользователь на страничке в браузере, это отдельные объекты C++. Более сложные объекты обычно производны от простых. Такой метод я считал более рациональным и функциональным чем существующие на тот момент методы, мною был создан полноценный WAP WEB интернет сайт. Данные хранились в БД SQL сервере. Незнаю, прижилось ли нечто подобное? Помнится Микрософт делали нечто подобное на C#. Для микроконтроллеров буду использовать только такой метод, только без ОС. Делал попытки, но пока сложности с размерностью буфера в котором будет создаваться объектная WEB страничка, под те контроллеры которые использую нужна внешняя SRAM память. В PC то память была практически неограниченной, аж 512 мб. Извините за лирическое отступление от темы. Просто мне так думается по этому вопросу. PHP тогда мне казался очень ущербным при работе со значительными массивами данных. делал многопользовательскую справочную систему где одни пользователи данные вносили, а другие пользователи данные просматривали. Но скорее всего, просто не хотелось осваивать еще и PHP после письма PC программ на С++. погружаться в несколько ограниченную среду очень не хотелось. А так писал тоже самое что и программы под Windows, только с окошком в браузере. Почти таж надстройка над MFC , только для реализации браузерных окошек. Это я к тому, что можно делать WEB интерфейс и на языке написания системных программ.
|
|
|
|
|
Feb 8 2013, 01:11
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (Слесарь @ Feb 8 2013, 01:48)  Это я к тому, что можно делать WEB интерфейс и на языке написания системных программ. Можно, если веб-сервер свой, а это случается Если веб-сервер стандартный (boa, apache,...) то, ИМХО, лучше воспользоваться "стандартными" средствами (блокнот, что там еще?), оттестировать все на "большом" брате, а затем перегнать на целевую плату...
--------------------
Выбор.
|
|
|
|
|
Feb 8 2013, 05:08
|

Гуру
     
Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606

|
Цитата оттестировать все на "большом" брате, а затем перегнать на целевую плату... Вот именно это огромное преимущество использования ОС в железке. Не требуется новая компиляция прошивки, достаточно кидать новые файлы в железку и тестить после большого брата. И только когда все будет готово компилите готовый проект. Мне также приходилось делать вебсерверную часть на контроллере без ОС. Ограничился одной html страничкой, на даже на это ушло много времени. Каждый файл после изменения приходится переделыавть в hex массив, заталкивать его в исходники, компилить проект, заливать в железку и тестить. Очень долго.
|
|
|
|
|
Feb 8 2013, 06:04
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Цитата(haker_fox @ Feb 8 2013, 04:11)  Можно, если веб-сервер свой, а это случается  В моем случае web сервер был просто модулем обработчиком HTTP протокола. Для микроконтроллеров наверное вполне логичен такой подход. Сейчас подобное есть в библиотеке Микрочип TCP/IP Stack, использую для 8-бит микроконтроллеров в организациии WEB сервера. Например для простого ввода параметров в устройство из окна браузера по сети. В случае интернет-радиоприемника, ввожу названия и адреса интернет-радиостанций. позапрошлогодний проект.  Цитата(uriy @ Feb 8 2013, 08:08)  Вот именно это огромное преимущество использования ОС в железке. по этому то последние годы получаются такие медлительные устройства. помнится пришел к другу домой и попытался включить DVD и вставить диск в дисковод, обычно в моем проигрывателе подобную операцию можно проделать в одну секунду, то есть включить в сеть и сразу нажать на кнопку Извлечение, проигрыватель выполнит. сейчас, с развитием производительности процессоров на эту операцию может потребоваться до пол минуты. в случае интернет-радиоприемника на 8-бит микроконтроллере начинает воспроизводить через две секунды, но такая продолжительная задержка больше всего связана с длительностью отклика на запрос по сети интернет.
|
|
|
|
|
Feb 8 2013, 06:08
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915

|
Цитата Все что видит пользователь на страничке в браузере, это отдельные объекты C++. Более сложные объекты обычно производны от простых. зачем так сложно ? JS + Ajax + JSON. JSON легко генерируется/парсится на любом языке.
|
|
|
|
|
Feb 8 2013, 06:10
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Цитата(polyname @ Feb 8 2013, 09:08)  зачем так сложно ? JS + Ajax + JSON. JSON легко генерируется/парсится на любом языке. В те годы я не знал таких технологий а с чего вы взяли что обьектное программирование C++ это сложно? Я же сказал, делал в таком духе потому как небыло времени переучиваться на традиционное веб программирование, оно казалось очень сложным. просто переложил технологию создания окон виндовс, в область ВЕБ. создал десяток простых обьектов, по типу как оконные обьекты виндовс (кнопки, менюшки, списки) и сделал так, чтоб эти обьекты были видны в окне браузера по HTTP, потом в своих программах использовал эти обьекты как базовые. чисто идеологически, написание web вервиса мало чем отличалось от написания оконного виндовс приложения, по этому не надо было переучиваться на веб программиста.
|
|
|
|
|
Feb 8 2013, 06:53
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(polyname @ Feb 8 2013, 08:08)  зачем так сложно ? JS + Ajax + JSON. JSON легко генерируется/парсится на любом языке. Что-то вы в кучу все сбили. И тут похоже называют одни и те же вещи разными именами. Во первых AJAX требует XML. И скорее всего во встраиваемых серверах AJAX не имеет смысла ибо вообще нет такого объема структурированных данных которые бы требовали XML. Во вторых JSON есть аналог XML. Т.е. по сути AJAX и JSON это несколько конкурирующие технологии и применять их одновременно можно только от большого ума (в хорошем смысле  ). В третьих это никак не влияет на применение CGI который на встраиваемых WEB серверах применяют все. Ну и в четвертых реакцию на CGI на стороне встроенного WEB сервера по любому логичнее писать на C или C++ поскольку там это можно в отличии от серверов на сторонних хостингах и это удобней и гибче чем со скриптами типа PHP.
|
|
|
|
|
Feb 8 2013, 08:20
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915

|
Цитата Во первых AJAX требует XML ошибаетесь, давно не требует http://www.ibm.com/developerworks/ru/library/wa-ajaxintro10/ , http://api.jquery.com/jQuery.getJSON/Цитата Ну и в четвертых реакцию на CGI на стороне встроенного WEB сервера по любому логичнее писать на C или C++ да в принципе все равно на чем писать, но с Ajax проще - весь интерфейс это набор статических файлов, а генерация JSON проще чем генерация статического HTML
Сообщение отредактировал polyname - Feb 8 2013, 08:22
|
|
|
|
|
Feb 8 2013, 08:53
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(polyname @ Feb 8 2013, 10:20)  ошибаетесь, давно не требует http://www.ibm.com/developerworks/ru/library/wa-ajaxintro10/ , http://api.jquery.com/jQuery.getJSON/да в принципе все равно на чем писать, но с Ajax проще - весь интерфейс это набор статических файлов, а генерация JSON проще чем генерация статического HTML Да видать смысл аббревиатуры AJAX уже прочно исказился. Но тем не менее роль CGI не только в том чтобы сгенерировать ответ в виде HTML страницы или JSON набора данных, но еще и выполнить действия непосредственно в микроконтроллере. Только на нативном языке это и можно сделать. А сам Ajax по сути нужен только для добавления динамики в страницы. Если речь идет о редактировании параметров, то Ajax не при деле.
|
|
|
|
|
Feb 8 2013, 09:23
|
Частый гость
 
Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915

|
Цитата Если речь идет о редактировании параметров, то Ajax не при деле. почему ? Например после загрузки страницы JS шлет запрос и получает данные в виде JSON, парсит и заполняет поля данных. При нажатии кнопки - проверяет валидность, пакует данные обратно в JSON и отправляет серверу.
|
|
|
|
|
Feb 8 2013, 09:37
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(uriy @ Feb 8 2013, 11:10)  JS использую потому-что считаю необходимым проверять валидность данных до их отправки на сервер. Да и без JS наверно невозможно сделать всплывающие окна и обновление лишь части html страницы, например в моем случае обновление состояния датчиков. Javascript очень простой язык, а с jquery становится еще приятней. Обновлять все страницу целиком как-то не серьезно. Я сторонник минимализма и концентрации как модно говорить "бизнес логики" в одном месте. Проверка валидности данных в HTML странице перед отправкой, приводит к тому, что при изменении структуры данных придется править две программы: в микроконтроллере и в скрипте на странице. Пока данных мало или проект одиночный то можно терпеть. Но скажем если параметров под сотню ( а это уровень сложности скажем так рядового частотного преобразователя в автоматизации), то проблема как говориться встает. Вообще увлечение скриптами на стороне клиента чревато всегда двойной работой. Хотя jquery сам люблю и применяю.
|
|
|
|
|
Feb 8 2013, 09:43
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Цитата(polyname @ Feb 8 2013, 11:20)  ошибаетесь, давно не требует http://www.ibm.com/developerworks/ru/library/wa-ajaxintro10/ , http://api.jquery.com/jQuery.getJSON/да в принципе все равно на чем писать, но с Ajax проще - весь интерфейс это набор статических файлов, а генерация JSON проще чем генерация статического HTML Я делал интерфейс без файлов. Интерфейс был одно приложение. В будущем планировалось отдельные модули упаковать в отдельные динамические библиотеки или СОМ объекты. полностью динамический контент, все GET запросы пользователя обрабатывались и генерировался контент на ходу, согласно C++ программы и данных из БД. Модуль который генерировал тот или иной объект видимый пользователю, так же и обрабатывал клики пользователя по этому объекту, разбирая POST запросы от пользователя. 100% объектно-ориентированный подход.
|
|
|
|
|
Feb 8 2013, 10:03
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 26-03-05
Пользователь №: 3 697

|
Цитата(AlexandrY @ Feb 8 2013, 13:37)  Я сторонник минимализма и концентрации как модно говорить "бизнес логики" в одном месте. .. Вообще увлечение скриптами на стороне клиента чревато всегда двойной работой. Хотя jquery сам люблю и применяю.  Для динамических страниц применение скриптов на стороне клиента оправдано - памяти то не бесконечно(на микроконтроллере). Проще формы и статический контент грузить в код, а динамически менять через ajax переменные-параметры. При этом ускорение работы страниц (из-за уменьшения объема обмена в десятки раз) огромное, правда скрипты загружаются долго в самом начале, зато потом даже сложная тяжелая форма летает . Например для маленьких микроконтроллеров без MMU linux и прочего по другому вообще никак, если хотите веб морду с серьезным дизайном (а не поделку на голом html). Да, и никто не запрещает написать генератор кода (например пишу для создания кусков страниц на Си в CGI из HTML контента) чтобы не делать как вы говорите - двойной работы. Я сторонник того чтобы программист пиал как можно больше утилит и программ )) Это повышает его умения.
|
|
|
|
|
Feb 14 2013, 17:36
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Слесарь @ Feb 14 2013, 21:21)  Я использую буфер 64 кБайта, этого хватает на несколько секунд воспроизведения при обрыве потока данных, без заикания. Что-то слишком мало 64 кб, не помню точно сколько делал - у меня уходило на заполнение секунд 5, в Linux пару мегабайт отдать - ничего не значит  плеер этот http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki им можно по сети управлять. Помоему 2 метра и отдавал под буфер а играть начинал после заполнения 20%.
Сообщение отредактировал sasamy - Feb 14 2013, 18:07
|
|
|
|
|
Feb 14 2013, 19:26
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Слесарь @ Feb 14 2013, 22:58)  Обычно, если поток 128 кбит/сек, после отключения сетевого шнура продолжает играть несколько секунд. При пакетной передаче gprs/edge задержки могут быть очень лихие, а если еще поток 320 kbps ? вся система - ядро, рантайм сишный, VPN клиент, WEB сервер, плеер при этом даже половину RAM не занимали, так что чего тут жадничать
|
|
|
|
|
Feb 14 2013, 19:44
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Цитата(sasamy @ Feb 14 2013, 22:26)  При пакетной передаче gprs/edge задержки могут быть очень лихие, а если еще поток 320 kbps ? вся система - ядро, рантайм сишный, VPN клиент, WEB сервер, плеер при этом даже половину RAM не занимали, так что чего тут жадничать  Я не занимаюсь устройствами под управлением ОСей как минимум лет семь, если потребуется увеличить буфер, впаиваю еще пару микросхем SRAM и внесу изменения в ПО устройства.
|
|
|
|
|
Feb 14 2013, 20:18
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Цитата(sasamy @ Feb 14 2013, 22:51)  Стоить это будет в итоге дороже чем arm с Linux, работать хуже, не достигнете даже 10 части функциональности и при этом вам практически недоступны дешевые USB модемы. Ошибаетесь. минимальное интернет радио стот не дороже 1000 руб. работает однозначно лучше, так как нет ничего лишего кроме обработчика интернет радио. функциональность только та, как задумано разработчиком. например здесь интернет радиоприемник встроен в блок управления ванной комнатой на базе 8-бит микроконтроллера. не думаю что я ограничен в функциональности.    Кста, там есть и WEB интерфейс к настройкам ванной комнаты и включению режимов, таких, как например заблаговременный набор ванной перед приездом домой жарким летом, тоступ с помошью браузера сотового телефона
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|