Прошивка MegaD-328 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B , почему иногда при обращении к megaD 192.168.0.14/sec выдаётся DONE ?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
smorigo, никогда такого не наблюдал на своих устройствах.
Уточните.
Самосборное устройство или заводское? Если заводское, то какая аппаратная версия? Какая версия прошивки?
При каких обстоятельствах можно наблюдать проблему? Есть ли какие-то закономерности? Как можно воспроизвести ее.
На всякий случай, попробуйте другой браузер (в том смысле - нет ли проблемы с кешированием).
Уточните.
Самосборное устройство или заводское? Если заводское, то какая аппаратная версия? Какая версия прошивки?
При каких обстоятельствах можно наблюдать проблему? Есть ли какие-то закономерности? Как можно воспроизвести ее.
На всякий случай, попробуйте другой браузер (в том смысле - нет ли проблемы с кешированием).
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Устройство самосборное , использую как стенд для проверки : mega328 в DIPе + китайский модуль ENC28J60 . Браузер не имеет значения .
Как это воспроизвести , нужно подумать . Все другие мои megaDы на даче . (Не знаю есть ли проблема на них ).
У меня это происходит при обработке скрипта ( порт IN P&R) , который меняет значение ШИМа порта .
Если это происходит , то имеем :
192.168.0.14/ - выдаёт как и положено Unauthorized
192.168.0.14/sec - выдаётся Done
192.168.0.14/sec/?pt=12&cmd=get выдаёт страницу настройки порта , а не значение . (и так для любого порта .)
Естественно помогает reset
Как это воспроизвести , нужно подумать . Все другие мои megaDы на даче . (Не знаю есть ли проблема на них ).
У меня это происходит при обработке скрипта ( порт IN P&R) , который меняет значение ШИМа порта .
Если это происходит , то имеем :
192.168.0.14/ - выдаёт как и положено Unauthorized
192.168.0.14/sec - выдаётся Done
192.168.0.14/sec/?pt=12&cmd=get выдаёт страницу настройки порта , а не значение . (и так для любого порта .)
Естественно помогает reset
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
В догонку . Версия последняя 3.36b4. Win7 , Apache , PHP ...
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B, недавно приобрел у Вас второе устройство. Но заметил на нем неприятный глюк, когда начал подключать кнопки. На функционал он не влияет, но на зрительное ощущение не очень приятно. При замыкании контактов, что на Р2, что на Р3 загораются одновременно два светодиода Р2 и Р3. Это можно как-то решить самому?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Я не Андрей, но там скорее всего сопля между дорожками висит, нужно внимательно посмотреть и если есть то иголочкой аккуратно убрать, либо паяльником.Prokol писал(а):Andrey_B, недавно приобрел у Вас второе устройство. Но заметил на нем неприятный глюк, когда начал подключать кнопки. На функционал он не влияет, но на зрительное ощущение не очень приятно. При замыкании контактов, что на Р2, что на Р3 загораются одновременно два светодиода Р2 и Р3. Это можно как-то решить самому?
Все будет збс!
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Prokol, уточните, если коротким проводком, перемычкой замкнуть один из портов P2 или P3, то всегда загораются оба светодиода?
Но при этом срабатывает (отправляются данные на сервер или выполняется сценарий по умолчанию) только замкнутый порт или все же оба? Это важно, для понимания где именно лежит проблема.
Но при этом срабатывает (отправляются данные на сервер или выполняется сценарий по умолчанию) только замкнутый порт или все же оба? Это важно, для понимания где именно лежит проблема.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Функциональность нужна полностью аналогичная megad-cfg.phpGandalvAB писал(а):Давно тут не появлялся. А что за функционал нужен для проги прошивальщика? Я скоро буду для своих модулей на атмега 2560 писать могу и для 328х написать потренироваться. Если напишете какие пакеты и куда слать какие есть опции и т.д.
Все опции и функции расписаны здесь.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Ну и вопрос в догонку, нужен гуи или консольное приложение?Andrey_B писал(а): Функциональность нужна полностью аналогичная megad-cfg.php
Все опции и функции расписаны здесь.
Все будет збс!
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
GandalvAB, безусловно нужен GUI.
megad-cfg.php в консоли можно запустить и в Windows, но для начинающих (да и не только) пользователей было бы, думаю, удобнее графическое приложение.
И ведь приложение такое было почти написано пользователем VladF, но он неожиданно пропал и его MDProg остался недоработанным, хотя базовые функции его программа выполняла.
megad-cfg.php в консоли можно запустить и в Windows, но для начинающих (да и не только) пользователей было бы, думаю, удобнее графическое приложение.
И ведь приложение такое было почти написано пользователем VladF, но он неожиданно пропал и его MDProg остался недоработанным, хотя базовые функции его программа выполняла.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Да при любом замыкании либо Р2, либо Р3 всегда загораются оба светодиода одновременно Р2 и Р3. Команды все выполняются как надо, т.е. отдельно на Р2 и Р3.Andrey_B писал(а):Prokol, уточните, если коротким проводком, перемычкой замкнуть один из портов P2 или P3, то всегда загораются оба светодиода?
Но при этом срабатывает (отправляются данные на сервер или выполняется сценарий по умолчанию) только замкнутый порт или все же оба? Это важно, для понимания где именно лежит проблема.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Андрей, не хотите изменить результаты запросов к меге на что-то более удобное для использования в javascript-e, желательно в JSON-е?
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
gofrom, не совсем понял. Вы хотите, чтобы микроконтроллер парсил JSON?
Во-первых, это займет больше памяти, во-вторых, формирование таких запросов сложнее.
В данный же момент я могу отправить команду контроллеру не только через браузер, но и, например, написав скрипт и использовав wget или curl для отправки команды. А с JSON это будет сложно и неудобно.
Во-первых, это займет больше памяти, во-вторых, формирование таких запросов сложнее.
В данный же момент я могу отправить команду контроллеру не только через браузер, но и, например, написав скрипт и использовав wget или curl для отправки команды. А с JSON это будет сложно и неудобно.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Наоборот, я не хочу парсить HTML). Запросы оставить как есть, исправить только результаты запросов. Например ON или OFF заменить на что-то типа '{"status": 1}' или '{"status": 0}'Andrey_B писал(а):gofrom, не совсем понял. Вы хотите, чтобы микроконтроллер парсил JSON?
Все порты: '[{"port": 7, "status": 1},{"port": 8, "status": 0} ...]'
Взамен я сделаю html файл, который будет рисовать интерфейс меги с полным функционалом, с поддержкой нескольких устройств.
Также прошу добавить в прошивку запрос номера версии.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
gofrom, я не вижу в этом ничего, кроме усложнения.
Вместо того, чтобы использовать в условии (даже в обычном консольном скрипте) ON или OFF, и это, кстати, не HTML, вы предлагаете включать в программу в большинстве случаев дополнительные функции/библиотеки для парсинга JSON.
Кроме всего прочего, реализация отдачи ответа в этом духе опять же займет дополнительно память микроконтроллера.
Но самое главное, написано масса кода именно под такой ответ устройства. Вы же понимаете, что такие вещи нельзя трогать без крайней на то необходимости.
XML, JSON - штуки, которые сегодня модные, а завтра нет. ON/OFF - вне времени.
Другими словами, ваше предложение не даст устройству никакой новой функциональности, но: а) израсходует память б) усложнит в большинстве случаев реализацию на сервере в) поставит в трудное положение существующее ПО, работающее с устройствами.
По поводу запроса номера версии.
Регулярные выражения сейчас есть почти во всех языках программирования. Запрос номера версии - это маленький кусочек кода, обрабатывающий первую страницу. Если в этом есть большая необходимость.
Это ничего не стоит серверу. Зато экономит ценные байты в микроконтроллере.
Вместо того, чтобы использовать в условии (даже в обычном консольном скрипте) ON или OFF, и это, кстати, не HTML, вы предлагаете включать в программу в большинстве случаев дополнительные функции/библиотеки для парсинга JSON.
Кроме всего прочего, реализация отдачи ответа в этом духе опять же займет дополнительно память микроконтроллера.
Но самое главное, написано масса кода именно под такой ответ устройства. Вы же понимаете, что такие вещи нельзя трогать без крайней на то необходимости.
XML, JSON - штуки, которые сегодня модные, а завтра нет. ON/OFF - вне времени.
Другими словами, ваше предложение не даст устройству никакой новой функциональности, но: а) израсходует память б) усложнит в большинстве случаев реализацию на сервере в) поставит в трудное положение существующее ПО, работающее с устройствами.
По поводу запроса номера версии.
Регулярные выражения сейчас есть почти во всех языках программирования. Запрос номера версии - это маленький кусочек кода, обрабатывающий первую страницу. Если в этом есть большая необходимость.
Это ничего не стоит серверу. Зато экономит ценные байты в микроконтроллере.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Начало положено MegaFlasher
Пока умеет искать устройства в сети. Скиньте исходник загрузчика, а то разбираться в php-шном скрипте пипец неудобно с учетом того что php я не знаю.
И еще, какой запрос нужно отправить меге чтобы перезагрузить ее в режим загрузчика?
Смена IP не через хттп запрос а через UDP ? Формат пакета 0xAA 0 4 а дальше пароль старыйip новыйip ?
Пока умеет искать устройства в сети. Скиньте исходник загрузчика, а то разбираться в php-шном скрипте пипец неудобно с учетом того что php я не знаю.
И еще, какой запрос нужно отправить меге чтобы перезагрузить ее в режим загрузчика?
Смена IP не через хттп запрос а через UDP ? Формат пакета 0xAA 0 4 а дальше пароль старыйip новыйip ?
Последний раз редактировалось GandalvAB 30 окт 2015, 12:56, всего редактировалось 1 раз.
Все будет збс!
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Prokol,
К такому результату приведёт замыкание между:
- контактами 8 и 10 разъёма ХР1 на плате LED или печатными проводниками от них до светодиодов HL3, HL4;
- контактами 8 и 10 разъёма ХР2 на основной плате или проводниками от них к 1 ноге оптронов DA5 и DA6;
- между жилками 8 и 10 в ленточном кабеле и его разъёмах.
Вы можете осмотреть платы и шлейф на предмет описанных проблем. Если решить проблему не удастся, то придется выслать модуль мне для устранения проблемы или замены.
К такому результату приведёт замыкание между:
- контактами 8 и 10 разъёма ХР1 на плате LED или печатными проводниками от них до светодиодов HL3, HL4;
- контактами 8 и 10 разъёма ХР2 на основной плате или проводниками от них к 1 ноге оптронов DA5 и DA6;
- между жилками 8 и 10 в ленточном кабеле и его разъёмах.
Вы можете осмотреть платы и шлейф на предмет описанных проблем. Если решить проблему не удастся, то придется выслать модуль мне для устранения проблемы или замены.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Библиотека для парсинга не нужна! Наоборот использование памяти уменьшиться. Мега не будет рисовать html интерфейс.Andrey_B писал(а):Вместо того, чтобы использовать в условии (даже в обычном консольном скрипте) ON или OFF, и это, кстати, не HTML, вы предлагаете включать в программу в большинстве случаев дополнительные функции/библиотеки для парсинга JSON.
Например этот код перестанет быть нужным:
Код: Выделить всё
const PROGMEM char html_form[] = "<form action=/";
const PROGMEM char html_submit[] = "<br><input type=submit value=Save></form>";
const PROGMEM char html_input_hidden[] = "<input type=hidden name=";
const PROGMEM char html_checked[] = " checked";
const PROGMEM char html_cl[] = ">";
const PROGMEM char html_checked_cl[] = " checked>";
const PROGMEM char html_ahref[] = "<a href=/";
const PROGMEM char html_br[] = "<br>";
const PROGMEM char html_cbr[] = "><br>";
const PROGMEM char html_scbr[] = "\"><br>";
Уверен будет если не меньше то не больше точно, так как построение строки будет полностью ссылаться на константы.Andrey_B писал(а):Кроме всего прочего, реализация отдачи ответа в этом духе опять же займет дополнительно память микроконтроллера.
Ну мне тоже придется переписать модуль взаимодействующий с мегами. Также мне придется переделать приложение под android, хотя оно получилось достаточно сложным, так как можно его настраивать всем любителям Мегадевайса).Andrey_B писал(а):Но самое главное, написано масса кода именно под такой ответ устройства. Вы же понимаете, что такие вещи нельзя трогать без крайней на то необходимости.
Вы недооцениваете значение JSON, скорее будет не актуальным Мегадевайс. JSON встроен в javascript, по умолчанию встроены функции в PHPAndrey_B писал(а):XML, JSON - штуки, которые сегодня модные, а завтра нет. ON/OFF - вне времени.
Andrey_B писал(а):Другими словами, ваше предложение не даст устройству никакой новой функциональности, но: а) израсходует память б) усложнит в большинстве случаев реализацию на сервере в) поставит в трудное положение существующее ПО, работающее с устройствами.
- это спорно
- в разы упростит http://php.net/manual/en/function.json-decode.php
- переделки будут не значительные, существующее ПО пострадает только после перепрошивки устройства
Будет сделан и выложен общественности отдельный файл html который будет использовать возможности HTML5, например база данных, которая позволит добавить поддержку нескольких мегадевайсов, внешний вид "странички" будет похож на программу за счет выполнения асинхронных запросов, легко можно будет сменить оформление.
Ну вот например мне для поддержки старых версий прошивок и новых в андроидном приложении пришлось делать костыль в коде приложения. Я наивно думал, что код будет работать в новых версиях, но после перепрошивки "Done" сделал свое черное дело. В итоге думаю не поддерживать старые так как железки я покупал у вас и лишней нет, а постоянно перепрошиваться желания нет.Andrey_B писал(а):По поводу запроса номера версии.
Регулярные выражения сейчас есть почти во всех языках программирования. Запрос номера версии - это маленький кусочек кода, обрабатывающий первую страницу. Если в этом есть большая необходимость.
Это ничего не стоит серверу. Зато экономит ценные байты в микроконтроллере.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
"Мега" будет рисовать Web-интерфейс в любом случае. Это необходимо для пользователя. Такова философия проекта. Были попытки отказаться от использования Web-интерфейса. Чем они закончились я не знаю.gofrom писал(а):Библиотека для парсинга не нужна! Наоборот использование памяти уменьшиться. Мега не будет рисовать html интерфейс.
Библиотека для парсинга нужна там, где она не встроена, а это много где. Не все ограничивается Java или PHP. Да и в PHP она есть по умолчанию, начиная с версии 5.2. А есть ведь еще любители собирать "легкие" версии из исходников.
Вы недооцениваете значение JSON, скорее будет не актуальным Мегадевайс. JSON встроен в javascript, по умолчанию встроены функции в PHPAndrey_B писал(а):XML, JSON - штуки, которые сегодня модные, а завтра нет. ON/OFF - вне времени.
Я использую JSON там, где это удобно и оправдано. Например, в Megad Panel он успешно используется для хранения настроек.
Лично я не вижу существенной необходимости переделывать код прошивки для формирования ответов устройства в виде JSON.
Что-то я не совсем понял про Done. Что с ним не так?gofrom писал(а):Я наивно думал, что код будет работать в новых версиях, но после перепрошивки "Done" сделал свое черное дело.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Пользователю необходимо настроить мегадевайс, но удобнее взять планшет настроить и пользоваться, видеть статусы нажимать кнопочки и тд.Andrey_B писал(а):"Мега" будет рисовать Web-интерфейс в любом случае. Это необходимо для пользователя. Такова философия проекта. Были попытки отказаться от использования Web-интерфейса. Чем они закончились я не знаю.
В Megad Panel вы не используете JSON, так как его удобно использовать. Именно поэтому вы не сделали чтобы Megad Panel управляла локально устройством, что не очень удобно и совсем не секьюретно.Andrey_B писал(а):Я использую JSON там, где это удобно и оправдано. Например, в Megad Panel он успешно используется для хранения настроек.
Лично я не вижу существенной необходимости переделывать код прошивки для формирования ответов устройства в виде JSON.