Умный дом Ethernet + 1-Wire + Bootloader

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 08 июл 2014, 00:01

shaman1010 писал(а):
DOCSIMUS писал(а):округление можно сделать как-то и по другому
еще и сам не пойму как лучше
а округлять обязательно? может вводить значение через точку? (25.12) или умноженным на 100 (2512)? а точку уже в интерфейсе отрисовывать для наглядности...
Подумаю...

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 08 июл 2014, 00:30

сделал как предложил шаман, но по другому :)
при сравнении значения температуры датчика произвожу сравнение с учетом дробной части
но умножая на 16
такой формат хранения дробной части в DS18B20 - 4 младших бита представляют дробную часть, единица = 1/16 градуса
так вроде бы более логично, чем округлять +0,5
вводить дробную часть в пороги DS18B20 невозможно
во всяком случае в этой реализации
т.к. я пороги для DS18B20 храню не в EEPROM авр-ки, а в EEPROM самого датчика, а там отведено всего 2 байта - 1 на нижний и один на верхний пороги, и сохранять можно соответственно только целые значения

kID
Сообщения: 69
Зарегистрирован: 29 май 2013, 19:36
Откуда: Новосибирск

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение kID » 08 июл 2014, 05:47

Стало выглядеть и работать привычно :)

grave_digger
Сообщения: 7
Зарегистрирован: 24 окт 2014, 17:43

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение grave_digger » 24 окт 2014, 18:02

Всем привет,
прочитав эту ветку я заинтересовался контроллером STM32. Немного поискал в инете, что уже сделано на нем. Вот нашел следующий проект... видимо уже на нем идет реализация умного дома. Не сочтите за рекламу, если кому интересно _http://hs4home.org_
Нашел на этом сайте плату с модулем BeagleBoneBlack правда нету фотки.
Хочу сделать свой полуумный дом, для это думаю приобрести девайсы на атмеге и стме и сравнить их.

Genok
Сообщения: 6
Зарегистрирован: 15 май 2011, 17:06
Откуда: Тула

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение Genok » 25 окт 2014, 12:45

А где схема устройства ?

Segador
Сообщения: 20
Зарегистрирован: 26 окт 2011, 12:58

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение Segador » 25 окт 2014, 23:45

Genok писал(а):А где схема устройства ?
http://elinux.org/Beagleboard:BeagleBoneBlack
Эта не подойдет?

grave_digger
Сообщения: 7
Зарегистрирован: 24 окт 2014, 17:43

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение grave_digger » 26 окт 2014, 01:46

Насколько я понял на этом сайте есть 3 проекта
1. плата КСМ ... это плата управления основанная на микроконтроллере STM32F207 / STM32F407 / STM32F756 к этой плате можно подключить до 8 плат KRM в которой 8 реле и 16 входов. Схема http://hs4home.ddns.net:8090/pages/view ... d=24248391 этой платы
2. КВВ - плата управления на основе модуля BeagleBoneBlack к которой можно подключить до 8 плат KRM + какие-то входы и 16 отдельных каналов 1-wire. Схема http://hs4home.ddns.net:8090/display/CY ... re+KBB-EX8
3. плата с силовыми реле и входами КRM 8 реле 16А \220В + 16 входов сухой контакт с подавлением дребезга. Схема http://hs4home.ddns.net:8090/display/CY ... e+KRM-I8O8
Как написано на сайте плата KRM может работать в автономном режиме без управляющей платы, алгоритм задается прошивкой микросхемы XILINX. Это намного надежнее чем управление контроллером, но нет связи по Ethernet и внешнего управления через web. Сделал вывод исходя из схемы платы.

Что лучше выбрать в качестве управляющей платы каждый выбирает для себя сам
1. STM это ОС реального времени FreeRTOS. до 200МГц
2. BeagleBoneBlack - OC например ubuntu - простота настройки, программирования и т.д. 1ГГц

Как обещает разработчик к платам KCM и KBB можно подключать платы http://www.ebay.com/itm/16-Channel-5V-R ... 2a3eff741f через плату преобразователь SPI \ parallel ,но на сайте она не представлена.

а какие схемы еще Вам нужны?
Мне пока того, что представлено на сайте хватает. Разбираюсь как пользоваться микросхемой XILINX. Вступил в переписку с автором по поводу зачем она нужна и что с ней делать :)
Но сам факт, что к одной плате управления можно подключить до 8 плат с 8 реле, т.е. 64 реле и 128 выключателей меня очень радует.

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение foolhome » 28 окт 2014, 21:58

XILINX программируемая логика

grave_digger
Сообщения: 7
Зарегистрирован: 24 окт 2014, 17:43

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение grave_digger » 29 окт 2014, 00:17

Ну вообщем я разобрался, с Xilinx там все понятно, он собственно нужен для коммутации интерфейса SPI от STM32 на каждую плату подключенную к плате управления (KCM) через разъем (это происходит последовательно. Сначала STM обращается к плате с адресом 0, и пытается считать уникальный код, если удалось, то переходит к адресу 1 и т.д. если ответа не пришло, то считается, что к этому разъему ничего не подключено и больше не происходит никакого обращения по этому адресу ). Т.е. логика такая, STM по очереди переключает канал SPI к каждой подключенной плате и считывает \ передает ей состояние (и это все в бесконечном цикле). Все это выполняется под FreeRTOS. На плате с реле(KRM), тоже установлена микросхема XIlinx в которой реализован интерфейс SPI и есть регистры для хранения состояния платы. Автор сказал, что в этой микросхеме можно сделать любую логику связи входов и выходов. Т.е. от разных входов можно управлять одним реле (реализовать проходной выключатель) и самое главное в этом не участвует плата управления (ну если не нужно выводить состояние на веб интерфейс). Т.е. плата с входами и реле может работать автономно и реализовывать любую логику работы.

Разбираюсь дальше.

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Bootloader

Сообщение select » 30 окт 2014, 14:41

Коллеги!
Не могу запустить ethernet bootloader.
Железо использую arduino-совместимое: Atmega 328 c внешним кварцем на 16MHz. В работе проверено - с моей прошивкой исправно трудится и управляется по сети.
Собираю исходники с первого поста темы в avrstudio 4.19 и проект не стартует - led линк не загорается. Видимо собираю неправильно, т.к. размер получается всего 8 Кб - даже в область bootloader не попадает.
Пытаюсь прошить собраный Андреем для МегаД megad-boot_12.zip - при этом линк загорается, но sflasher не видит устройство. Пытался использовать скрипт megad-cfg.php - так же зависает в статусе "connecting.."
Использую hfuse: D8, lfuse: FF. Вроде все верно.
Прошу вас - дайте пожалуйста hex собранного bootloader'a. Или укажите пожалуйста на мои ошибки.

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Bootloader

Сообщение shaman1010 » 31 окт 2014, 03:53

select писал(а):Или укажите пожалуйста на мои ошибки.
Бут docsimus-а и Андрея - отличаются. А ошибка, скорее всего, стандартная - в оригинальных схемах обоих - 328-я тактируется от половинной частоты 28j60 (12,5МГц) а ардуина - либо от 16, либо от 8. Андрей исходники своего бута не выкладывал, на сколько я помню, а в docsimus-овских нужно правильно частоту выставить.
Попробуй.
main_16.zip
(3.27 КБ) 349 скачиваний

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение select » 31 окт 2014, 16:11

shaman - спасибо.
Но не помогло. Не знаю уже на что грешить.
В исходниках частоту на 16 MHz менял. Не смог скомпилировать - я не разобрался как установить стартовый адрес прошивки.
Моя прошивка чудесно работает, поэтому железо исключаю.
Что делать? Как диагностировать? Может с фьзами что не так, хотя и перепроверил уже?

alexsis_76

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение alexsis_76 » 31 окт 2014, 16:24

Собираю исходники с первого поста темы в avrstudio 4.19 и проект не стартует
скорей всего бут попадает не туда куда нужно , в avrstudio поставьте стартовый адрес бута

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение select » 31 окт 2014, 18:44

Я тоже предполагаю что бут садится с нуля.
Как это сделать? Изменить стартовый адрес?

alexsis_76

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение alexsis_76 » 31 окт 2014, 18:54

бут должен писаться с адреса 0x3800 это в словах , или с 0x7000 в байтах в avrstudio на вкладке Project самый нижний пункт , откроется окно настройки проекта выберите Build , снимите галку с с Use External Makefile ,на вкладке Memory внизу memory segments поставьте 0x3800 вообщем вот сдесь http://www.avrportal.com/?page=avrnet все описано

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение select » 31 окт 2014, 19:25

Дружище!
Ну подскажи еще чуть-чуть:
Делаю как в приведенной тобой ссылке: добавляю сегмент .text at 0x3800 и получаю сообщение от avrdude:

avrdude.exe: reading input file "D:\eth-bootloader\default\eth-bootloader.hex"
avrdude.exe: input file D:\eth-bootloader\default\eth-bootloader.hex auto detected as Intel Hex
avrdude.exe: ERROR: address 0x8010 out of range at line 257 of D:\eth-bootloader\default\eth-bootloader.hex
avrdude.exe: write to file 'D:\eth-bootloader\default\eth-bootloader.hex' failed

Где туплю? Или нужно добавлять не сегмент .text a .bootloader? Или оба?
Помоги?

alexsis_76

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение alexsis_76 » 31 окт 2014, 19:40

avrdude.exe: ERROR: address 0x8010 out of range at line 257 of D:\eth-bootloader\default\eth-bootloader.hex
видимо он хочет сказать что адрес находится вне диапазона памяти иными словами не влазит она , попробуй включить оптимизацию по размеру
Где туплю? Или нужно добавлять не сегмент .text a .bootloader? Или оба?
нет не надо там написано что тип памяти Flash .text -секция кода , разместить по указанному адресу

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение select » 31 окт 2014, 19:43

Похоже ты прав - просто не влезает в память. Вот лог компиляции:
Build started 31.10.2014 at 21:40:20
avr-gcc -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d -c ../main.c
avr-gcc -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT enc28j60.o -MF dep/enc28j60.o.d -c ../enc28j60.c
avr-gcc -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT ip_arp_udp_tcp.o -MF dep/ip_arp_udp_tcp.o.d -c ../ip_arp_udp_tcp.c
avr-gcc -mmcu=atmega328p -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT websrv_help_functions.o -MF dep/websrv_help_functions.o.d -c ../websrv_hel
p_functions.c

avr-gcc -mmcu=atmega328p -Wl,--defsym=__stack=0x800 -Wl,-Map=eth-bootloader.map -Wl,-section-start=.text=0x7000 main.o enc28j60.o ip_arp_udp_tcp.o websrv_help_functions.o -o eth-bootloader.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature eth-bootloader.elf eth-bootloader.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex eth-bootloader.elf eth-bootloader.eep || exit 0
avr-objdump -h -S eth-bootloader.elf > eth-bootloader.lss
ђҐ¦Ё¬ ўлў®¤  Є®¬ ­¤ ­  нЄа ­ (ECHO) ®вЄ«о祭.
AVR Memory Usage
----------------
Device: atmega328p

Program: 8016 bytes (24.5% Full)
(.text + .data + .bootloader)

Data: 1100 bytes (53.7% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...


Ключевая тема: Program: 8016 bytes (24.5% Full)
В 2К boot-секцию никак не войдет! В опции компилятора стоит оптимизация -Os. Где еще мог накосячить?

alexsis_76

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение alexsis_76 » 31 окт 2014, 19:46

В 2К boot-секцию никак не войдет! В опции компилятора стоит оптимизация -Os. Где еще мог накосячить?
А кто тебе сказал что там 2 кило нет брат твой размер бута 4 кило ;)

select
Сообщения: 55
Зарегистрирован: 15 дек 2012, 20:06

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение select » 31 окт 2014, 19:51

2килоСЛОВ. А скомпилированный образ - 8016 bytes.
Дудка потому и ругается - что хвост не влазит. Что я неправильно делаю?
Я уж от отчаяния скомпилил с 0 и отключил бут вообще. Надеялся, что хоть так заработает - даже линк не горит.

Ответить