Страница 5 из 91

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 фев 2014, 12:03
Илья Карман
Об этом я не подумал. Это как вариант.
А одного универсального скрипта для всех Мег не получиться, да?

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 фев 2014, 12:18
Andrey_B
Илья Карман, конечно, получится. Нет смысла плодить скрипты.
Вот так сделано у меня. Есть также пример в демо-интерфейсе

Код: Выделить всё

if ( $_SERVER['REMOTE_ADDR'] == "192.168.0.120" )
{
// Код
}
elseif ( $_SERVER['REMOTE_ADDR'] == "192.168.0.121" )
{
// Код
}

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 03:58
Dron
Andrey_B, меня Wadim1 озадачил проблемой частоты работы. у меня работает на 16 МГц. простая прошивка в целом волшебно "вроде как" пашет. достаточно давно.
но если можно повысить надёжность, почему бы и не сделать это?

так вот моя просьба к Вам: можете выложить исходники лоадера или готовый файлик, но для частоты 16 МГц? с поправленными timeout.h и enc28j60.c
заранее спасибо

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 10:39
Wadim1
Ну и конечно же Вадим будем Вам благодарен. Ибо Вадим не умеет компилировать и надежда вся на вас))

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 10:52
Andrey_B

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 11:02
Wadim1
DRON, ну тогда уж будь добр - выложи прошивку скомпилированную под 16 мГц. Я еще не освоил процесс компиляции, а ведь тоже хочется как белый человек жить))

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 11:16
Wadim1
Andrey_B, Мое почтение. Я уже говорил о том, что ваша работа действительно многим полезна и многим нужна. Большое вам спасибо.
Если вы не против, то я хочу поучаствовать в эволюции данного проекта.
По моему скромному мнению следующим этапом развития должна быть увеличена функциональность.
Что бы ничего не изобретать и придумывать думаю стоит обратить внимание на уже разработанное приложение.
MicroLD.

Это упрощенная система, основанная на языке программирования релейного типа.
Это универсальный язык программирования ПЛК и подобных устройств. А MEGAD является именно ПЛК (по моему мнению).
Так вот - на внедрение данного решения в Проект MEGAD я конечно не надеюсь, но....
Но думаю надо много почерпнуть.
Там уже продуманы все необходимые функции. такие как таймеры, выводы на UART, всякие логические функции, компараторы и все все все..
В любом случае процесс эволюции МЕГИ идет именно в эту сторону. Так давай те же обратим внимание готовые решения.

Вся документация на русском имеется. ничего сложно я там не нашел. Ну за исключением так и не понял как устроен выход на LCD экран...


вот стартовая ссылка на проект LDMICRO.
вся информация есть на сайте и в мануале к программе.
все на русском.

http://cq.cx/ladder-tutorial-ru.html


Что скажете?


С Уважение, Вадим

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 11:33
Dron
премного благодарен!
Wadim1 писал(а):DRON, ну тогда уж будь добр - выложи прошивку скомпилированную под 16 мГц. Я еще не освоил процесс компиляции, а ведь тоже хочется как белый человек жить))
megad-328.zip
(24.62 КБ) 899 скачиваний

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 11:53
Andrey_B
Строго говоря, MegaD-328 не является ПЛК, но это в большей степени вопрос терминологии. Его можно называть как угодно, по сути ничего не поменяется.
LD Micro - это компилятор, который делает HEX из LD. Я не совсем понимаю каким боком он в данном случае применим.
MegaD-328 - это глаза, уши, руки системы Умный Дом. Такие вещи как "цветомузыка по Ethernet" или "управление ЖК дисплеем по Ethernet" наглядно демонстрирует подход, когда управляющая логика работает где-то "там" (сервер, мини-ПК, и т.д.), сеть Ethernet выступает в роли высокоскоростной шины для передачи данных, а MegaD-328 примерным и усердным исполнителем.

Преимущество такого подхода заключается в том, что в качестве сервера может выступать все, что угодно, а управляющие программы могут быть написаны на любых языках программирования.
Здесь озвучивалась идея объединить сервер и микроконтроллер. Идея интересная, если в доме одно такое устройство. А если несколько? Моя личная необходимость - около 12-15 комплектов. Усложнение устройства спариванием с ARM-процессором в этом случае мало чего прибавит с точки зрения функциональности, зато стоимость вырастет как минимум вдвое. Гораздо удобнее иметь один полноценный центральный компьютер (хотя бы на том же ARM) и россыпь простых, "легких", надежных, "неубиваемых" железок, которые будут делать всю черную работу.

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 12:01
kod.begemot
Премного благодарен всем, кто участвует в проекте! Огромное дело делаете! И очень нужное!
Сам я в программировании ещё плаваю, паяльник вроде бы в руках держу уверенно :)
Посему вопрос-просьба:
У меня есть в наличии несколько ATMEGA32A, хотелось бы запустить мегадевайс именно на ней. Есть параллельный программатор (triton), который эту мегу отлично шьёт. Может кто выложит бутлоадер и прошивку под этот контроллер?
Также читал здесь про версию для mega32 с управлением 24 портами (на двух страницах), но до автора достучаться не получилось.
Заранее спасибо!
P.S. есть у меня и парочка 328p, однако они впаяны в meduino nano, и прошить бут в них через ISP разъём не получилось. ISP программатора не имею, а заставить Triton им стать без переходника не получилось.

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 16:41
alexsis_76
под мега 32 бут не работает используется аппаратная особенность мега238 ,происходит манипуляция с таблицей векторов прерываний, в мега 32 место прерываний следует использывать обычные задежки , в самой прошивке используются аппаратные ресурсы которых нет в меге 32 ,ну и соответственно сами порты
хотел переделать это все под мегу 32, да времени не хватает , тем более у меня есть другой загрузчик который с 32 работает прекрасно

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 19:02
Wadim1
Andrey_B писал(а):Строго говоря, MegaD-328 не является ПЛК, но это в большей степени вопрос терминологии. Его можно называть как угодно, по сути ничего не поменяется.
LD Micro - это компилятор, который делает HEX из LD. Я не совсем понимаю каким боком он в данном случае применим.
MegaD-328 - это глаза, уши, руки системы Умный Дом. Такие вещи как "цветомузыка по Ethernet" или "управление ЖК дисплеем по Ethernet" наглядно демонстрирует подход, когда управляющая логика работает где-то "там" (сервер, мини-ПК, и т.д.), сеть Ethernet выступает в роли высокоскоростной шины для передачи данных, а MegaD-328 примерным и усердным исполнителем.

Преимущество такого подхода заключается в том, что в качестве сервера может выступать все, что угодно, а управляющие программы могут быть написаны на любых языках программирования.
Здесь озвучивалась идея объединить сервер и микроконтроллер. Идея интересная, если в доме одно такое устройство. А если несколько? Моя личная необходимость - около 12-15 комплектов. Усложнение устройства спариванием с ARM-процессором в этом случае мало чего прибавит с точки зрения функциональности, зато стоимость вырастет как минимум вдвое. Гораздо удобнее иметь один полноценный центральный компьютер (хотя бы на том же ARM) и россыпь простых, "легких", надежных, "неубиваемых" железок, которые будут делать всю черную работу.

Я подразумевал рассмотреть алгоритмы взаимодействия входов и выходов. )
Я уверен, что все что можно реализовать на устройствах такого типа , продуманно и используется в языке (Ladder).
Это была моя попытка ускорить эволюцию МЕГА Д)))

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 25 фев 2014, 19:14
Wadim1
Dron писал(а):
премного благодарен!
Wadim1 писал(а):DRON, ну тогда уж будь добр - выложи прошивку скомпилированную под 16 мГц. Я еще не освоил процесс компиляции, а ведь тоже хочется как белый человек жить))
megad-328.zip

Спасибо дорогой друг)))

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 02:30
alexsis_76
Там уже продуманы все необходимые функции. такие как таймеры, выводы на UART, всякие логические функции, компараторы и все все все
тогда уж возьмите CVAVR там все это есть тоже и даже больше , например ничего не зная об устройствах ds18b20 и понятия не имея как это работает , двумя щелчками мыши сделать 8 датчиков и всякое такое

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 12:34
Andrei34
Добрый день.
Очистил flash , прошил megad-boot.hex и что то не хочет работать.Из консоли под рутом пишет такое:
root@xbmc:/var/www# php megad-cfg.php --fw megad-328.hex -f
Connecting... OK
Erasing firmware... OK
Writing firmware... FAULT
Restarting device... OK
хотя на 3.11 все хорошо работало.В чем может быть проблема? Нашел в tcpdump такую строчку:
15:43:29.236698 IP 192.168.10.181 > 192.168.0.14: ICMP 192.168.10.181 udp port 42000 unreachable, length 39
Что бы это значило?

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 17:57
Andrey_B
Andrei34, всегда уточняйте, идет ли речь о моем модуле или самосборном.
Как подключено устройство - напрямую к компьютеру, через коммутатор, маршрутизатор. Что происходит, если изменить способ подключения. Что используется в качестве сервера?
tcpdump отображает эту информацию сразу или какое-то количество пакетов с прошивкой удается отправить?
Вы можете попробовать увеличить таймаут в коде скрипта.

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 18:36
Andrei34
Подключен через хаб , но я пробовал и через рутор - тоже самое . устройство самосборное , из блоков. сервер Debian из последних . Попробовал на win7 он пишет:
F:\php-5.5>php megad-cfg.php --fw megad-328.hex -f -e
Fatal error: Call to undefined function socket_create() in F:\php-5.5\me
gad-cfg.php on line 55
в tcpdump:
root@xbmc:~# tcpdump -i eth0 -n host 192.168.0.14
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:30:02.090711 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 13
16:30:02.090756 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 13
16:30:02.092311 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 13
16:30:02.092331 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 13
16:30:03.048698 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.048733 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.055240 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.055258 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.061449 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.061476 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
16:30:03.061654 IP 192.168.10.181 > 192.168.0.14: ICMP 192.168.10.181 udp port 42000 unreachable, length 39
16:30:03.063001 IP 192.168.0.14.52000 > 192.168.10.181.42000: UDP, length 3
и вопрос как увеличить таймаут ? Заранее спасибо.

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 18:45
Andrey_B
На какой частоте работает устройство. Как выставлены фьюзы?

Call to undefined function socket_create()
Нужно в php.ini раскомментировать строчку
extension=php_sockets.dll

Таймаут увеличить здесь
stream_set_timeout($socket, 0, 300000);

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 26 фев 2014, 19:46
Andrei34
Cхема один в один ваша , только без светодиода и транзистора . Фьюзы Low:60, High:D8,Ext:FE .но я пробовал и Ext:FF - никакой разницы . в win7
C:\php>php megad-cfg.php --fw megad-328.hex -f -e
Connecting... OK
Erasing firmware... OK
Writing firmware... FAULT
Restarting device... OK
правда процессор у меня в DIP корпусе .
Таймаут увеличивал , ничего не изменилось :((

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 27 фев 2014, 13:23
Andrey_B
Andrei34
1. В строке 286
echo "FAULT\n";
поменяйте на
echo "FAULT ($pkt[1])\n";
И позапускайте несколько раз. Важно понять, какой именно FAULT имеет место быть, а также спотыкается ли процесс в одном месте или в разных.
2. В строке 282
usleep(400);
Попробуйте увеличить значения. И понаблюдайте, не меняется ли значения в скобках после FAULT

У меня есть модуль с МК в DIP-корпусе. Модуль прекрасно прошивается без ошибок. Проблема явно не в корпусе.