Умный дом по радиоканалу

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 02 май 2016, 15:44

AvaloncheG писал(а):Arduino UNO + CC1101 - A1SC10. При подключении светятся "ON" и "L", а "RX" мигает.
Arduino Pro Mini + CC1101 - A1Cn12 (#define F_CPU 16000000UL). При подключении светятся "L" и еще один не подписанный.
попробуйте с этими прошивками, если будет моргать L значит есть проблемы с подключением CC1101.
Вложения
Ard.zip
(32.36 КБ) 221 скачивание

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: Умный дом по радиоканалу

Сообщение AvaloncheG » 02 май 2016, 19:27

comparator писал(а):попробуйте с этими прошивками, если будет моргать L значит есть проблемы с подключением CC1101.
Arduino UNO подключал и на порты и на ISCP, проверял два модуля моргает L.
Arduino Pro Mini L светится не зависимо от того подключено что то или нет.
Фьюзы выставлены 3F/DB/FF/.
В описании моего модуля есть GDO0 и GDO2, CC11_GDO это какой из них?

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 02 май 2016, 22:39

AvaloncheG писал(а):Arduino UNO подключал и на порты и на ISCP, проверял два модуля моргает L.
Arduino Pro Mini L светится не зависимо от того подключено что то или нет.
Фьюзы выставлены 3F/DB/FF/.
В описании моего модуля есть GDO0 и GDO2, CC11_GDO это какой из них?
Подключается только SPI, прерывания(GDO0 и GDO2) не используются.
То есть нужно подключить только:

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

// 10   PB2     D10   * CC11_CSN
// 11   PB3     D11   * CC11_MOSI
// 12   PB4     D12   * CC11_MISO
// 13   PB5     D13   * CC11_SCK/LED
Ещё вопрос, как сделана трансляция уровней и что у вас за модуль ?
CC11xx, работает максимум до 3.6 вольт. И подключать напрямую логику 3.3в на 5в контролер, не рекомендуется.
В простейшем случае для линий CC11_CSN, CC11_MOSI, CC11_SCK необходимо поставить последовательно резистор на 1-5кОм.
Линию CC11_MISO допустимо подсоединить напрямую на контроллер. У TLL уровень 1 - 2.4в. в большинстве случаев срабатывает.
По крайней мере, у меня такой вариант запускался.
Но лучше делитель, например 3,3кR на землю, 2,2кR на вывод контроллера. из точки соединения этих резисторов, на CC11.

Проверьте, что не перепутаны MOSI/MISO.

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: Умный дом по радиоканалу

Сообщение AvaloncheG » 03 май 2016, 00:45

comparator писал(а):Ещё вопрос, как сделана трансляция уровней и что у вас за модуль ?
CC11xx, работает максимум до 3.6 вольт. И подключать напрямую логику 3.3в на 5в контролер, не рекомендуется.
Проверьте, что не перепутаны MOSI/MISO.
Что такое "трансляция уровней" я даже не догадываюсь :oops:
Модуль куплен вот такой CC1101 wireless module Long Distance Transmission Antenna 868MHZ
Питание 3,3 с ардуины.
Правильность подсоединения несколько раз проверял.
Для наглядности.
Вложения
IMG_20160502_234719-20.jpg
IMG_20160502_234719-20.jpg (134.06 КБ) 7884 просмотра

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 03 май 2016, 11:45

AvaloncheG писал(а):Что такое "трансляция уровней" я даже не догадываюсь :oops:
В простейшем случае это просто последовательно резисторы, в данном конкретном случае это 3,3 килоома
UnoCut.jpg
UnoCut.jpg (85.49 КБ) 7861 просмотр
Ну и еще раз проверьте подключение,
На модуле сверху вниз:
3,3 вольта
Земля(GND)
MOSI - D11
SCK - D13
MISO - D12
NC
NC
CSN - D10

Прошивка A1SC10, проверьте, что при старте несколько раз моргает светодиод L, после этого моргнет светодиод TX, как на видео:
https://youtu.be/i33F7bvo59c

Проверьте остальные платы с этой прошивкой, все должны стартовать одинаково и при запуске сервера находиться.
С прошивкой A1Cn10, светодиод L просто горит.

Если иначе, то на плате Arduino Uno обрежте дорожку идущую от 5 вывода LMV358 к контроллеру, как на рисунке ниже
CC11_R.jpg
CC11_R.jpg (94.26 КБ) 7861 просмотр
Это отключит индикатор L от линии SPI SCK

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: Умный дом по радиоканалу

Сообщение AvaloncheG » 12 май 2016, 18:42

comparator писал(а):Прошивка A1SC10, проверьте, что при старте несколько раз моргает светодиод L, после этого моргнет светодиод TX, как на видео:
Проверьте остальные платы с этой прошивкой, все должны стартовать одинаково и при запуске сервера находиться.
При старте несколько раз моргает L и тухнет, потом в момент когда engine находит гейт моргают RX и TX. Гореть остается только ON.
comparator писал(а):С прошивкой A1Cn10, светодиод L просто горит.
На ноде так и есть, горит все время.
Перерезать дорожку?

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 13 май 2016, 11:40

AvaloncheG писал(а):
comparator писал(а):Прошивка A1SC10, проверьте, что при старте несколько раз моргает светодиод L, после этого моргнет светодиод TX, как на видео:
Проверьте остальные платы с этой прошивкой, все должны стартовать одинаково и при запуске сервера находиться.
При старте несколько раз моргает L и тухнет, потом в момент когда engine находит гейт моргают RX и TX. Гореть остается только ON.
comparator писал(а):С прошивкой A1Cn10, светодиод L просто горит.
На ноде так и есть, горит все время.
Перерезать дорожку?
Давайте по порядку:
  • Заливаем прошивку A1Sn10
  • останавливаем/запускаем сервер
  • если устройство не определилось, проверяем фьюзы, правильность подключения, что залита правильная прошивка, после исправления всех найденных косяков возвращаемся к предыдущему пункту
  • устройство найдено сервером, ок на этом этапе у нас есть уверенность, что устройство исправно, фьюзы и подключение в порядке.
  • Заливаем прошивку A1SC10
  • Выключаем питание, подключаем CC1101, включаем питание
  • (пере)запускаем сервер
  • Устройство не обнаружено, проверяем, что CC1101 подключена правильно, обрезаем дорожку идущую от 5 вывода LMV358 к контроллеру, пробуем сменить радиомодуль. Перезапускаем сервер.
  • Обнаружено, подписываем устройство - ГЕЙТ, заклеиваем ему разьем программирования скотчем или втыкаем туда кусочек пенопласта, пока откладываем в сторону.
  • курим/пьем/закусываем/либо просто делаем паузу.
  • Берем следующее устройство
  • Проверяем, что у него не заглушен разьем программирования, и оно не подписано - ГЕЙТ. В противном случае возвращаемся на 2 пункта вверх.
  • Проверяем устройство аналогично гейту, но подписываем их устройство1, устройство2 и т.д., но не заклеиваем разьем программирования.
  • Заливаем в проверенные устройства прошивку A1Cn10
  • Включаем гейт
  • Запускаем сервер
  • Гейт появился
  • Включаем ноду
  • Нода появилась
  • включаем следущую ноду
И да прибудет с тобой Сила .... и терпение ;)

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 10 июн 2016, 23:08

Обновилась прошивка ветки develop
В принципе можно говорить о предрелизной версии.

Исправлено пара мелких багов. Наверняка внесены новые ;) .
Заполнены и проверены все описания устройств.
В АТМеге 2560 ПЛК по умолчаную включена, на ваш страх и риск.

Добил все драйвера для STM'ов, теперь есть полная поддержка серий STM32 L0/F0/F1/F3.
Добавлено вкусностей.
Короче Табличка:
List.png
List.png (69.18 КБ) 7514 просмотров

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 17 июн 2016, 00:18

Дошли руки до RFM69, и вылез небольшой, но очень неприятный косячок.

В оригинальном чипе - SX1231, в регистре 0x37 - RegPacketConfig1, есть недокументированный битик, который переключает режимы подсчета CRC.
По умолчанию, данный битик стоит в 0, и используется алгоритм CCITT, который в свою очередь не совместим с алгоритмом используемым в CC11xx.
Если же этот волшебный бит установить в 1, то используется алгоритм IBM, который родной для CC11xx.
Чем сам Semtech спокойно пользуется в своей демонстрационной программе.

Это прекрасно работало на чипах SX1231 версии 2.3, но у чипов RF69 версия 2.4, и данное волшебство уже не работает :(
Вот спрашивается на Xu@ это было делать, толи китайцы криво передрали, толи сам Semtech обрезал функциональность.

Если отключить проверку CRC, то прием передача в обе стороны работает великолепно, но тогда нет никакой гарантии, что пакет пришел в целости и сохранности.
Либо придется считать CRC самому и каким либо образом дозапихивать в пакет при передаче, и проверять при приеме :( :( :( пичалька.
Что опять-же вылазит в проблемы совместимости с существующими сетями.

Пока же получается, что в одной RF сети возможно использовать только чипы одного производителя.
Хотя не совсем, с RFM12 совместимость можно настроить, правда придется изменить CRC там, и само собой отваливается вся старая сеть.

В общем я в раздумьи и недоумении, правда обзываю это другим словом.


Да, чуть не забыл, обновился софт, актуальная версия engine.exe 0.316.614.100.
Из важного - добавлен дефрагментатор-проверяльщик базы.
  • Обновление как и прежде:
  • Остановить сервер
  • X13Svc.exe /update
  • для успокоения совести заглянуть в лог
  • запустить сервер

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Как мне изменить/откомпилировать проект ?

Сообщение comparator » 25 июн 2016, 15:06

Как мне изменить/откомпилировать проект ?

В основном руководство для пользователей Windows.
Установка под Linux чуть менее тривиальна и очень сильно зависит от конкретной системы.
Поэтому будут даны только основные тезисы без углубления в конкретику.
Продукции Apple в доме не водиться, но в целом я думаю, установка аналогична установке под Linux.

Для AVR под Windows самым простым способом является установка Atmel Studio.
На STM32 необходимо потратить, чуть больше времени, будет описана минимальная установка Эклипса.

В принципе дальнейшие действия это вольный перевод странички http://gnuarmeclipse.github.io/plugins/install/

И так, нам нужны: Eclipse + компилятор GCC ARM/AVR + Build Tools + OpenOCD.
Плюс пара плагинов для эклипса, которые сделают нашу работу более комфортной.

Создаем папку c:\Work1 , некоторые утилиты очень негативно относяться к длинным путям, путям с пробелами или не английским алфавитом, поэтому на этом этапе желательно не усложнять себе жизнь.
  • Скачиваем и устанавливаем:
  • сам eclipse - http://www.eclipse.org/downloads/eclipse-packages/
    Выбираем версию "Eclipse IDE for C/C++ Developers"
    Альтернатива - можно скачать голый установщик + доустановить CDT

    распаковываем в папку - c:\Work1\eclipse

    под Linux можно установить из пакетов, но рекомендуется скачать новую версию.
    дополнительно нужна Java: sudo apt install default-jre default-jdk
  • компилятор для ARM
    Linux - ставим из пакетов, sudo apt install gcc-arm-none-eabi gdb-arm-none-eabi

    Windows - скачиваем Windows zip package - https://launchpad.net/gcc-arm-embedded
    распаковываем в папку c:\Work1\gcc-arm
  • компилятор для AVR
    Linux - ставим из пакетов: sudo apt install gcc-avr avr-libc

    Windows - http://www.atmel.com/tools/ATMELAVRTOOL ... NDOWS.aspx
    распаковываем/устанавливаем в папку c:\Work1\gcc-avr
  • Build Tools, для Windows - https://sourceforge.net/projects/gnuarm ... d%20Tools/
    распаковываем/устанавливаем в папку c:\Work1\Tools

    Для Linux'а не требуется, binutils устанавливаются вместе с компиляторами.
  • OpenOCD - https://github.com/gnuarmeclipse/openocd/releases
    Windows - распаковываем/устанавливаем в папку c:\Work1\OpenOCD
    Для STM32 в качестве программатора/отладчика используется ST-Link, на платах Nucleo установлена версия 2.1, на платах Discovery версия 2.
    скачиваем и устанавливаем STSW-LINK004

    Linux - ставим из пакетов sudo apt install openocd
В следующей серии настройка.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Как мне изменить/откомпилировать проект ?

Сообщение comparator » 25 июн 2016, 17:23

И так, практически весь фарш у нас уже есть. Теперь заставляем это работать.

Запускаем Eclipse, в папке c:\Work1\eclipse\eclipse.exe
При первом запуске он вас спросить где размещать рабочий каталог, кладем его куда нибудь недеалеко, например c:\Work1\WS1
Можем поставить крыжик, что использовать данный путь по умолчанию и не задавать больше вопросов

На появившемся окне смело жмем Play, в смысле Workbench, у нас появилось почти пустое окно с несколькими разделами.

Устанавливаем плагины, жмем по порядку, в меню "Help", "Eclipse Marketplace".
В строке поиска набираем AVR и жмем на "Go". Выбираем "AVR Eclipse Plugin 2.3.4" Install.
Соглашаемся с копирайтом, на предупреждение безопасности, жмем "Ok". Попросит перезагрузку, соглашаемся.

Настройка плагина AVR.
Linux - подхвытывает системные настройки, ничего делать не надо,

Windows - В меню Еклипса Windows->Preferences, раскрываем пункт AVR, выбираем вкладку Path.
Ставим крыжик "Disable search for sysem paths at startup"
Выбираем AVR-GCC->Edit, меняем Path Source с "System" на "Custom", Жмем на Browse.., выбираем путь, куда мы распаковали AVR-GCC, папка bin.
То есть в этой папке должны присутствовать файлы avr-многабукаф.exe, например avr-gcc.exe

Так-же AVR Header Files->Edit, Custom, Browse, ..\gcc-avr\avr\include
есть здесь файлы alloca.h, assert.h, i т.д. ? Да, путь правильный.

Если Build Tools вы установили в c:\Work1\Tools, то в GNU Make->Edit, Custom, Browse, устанавливаем c:\Work1\Tools\bin\
здесь должны находиться make.exe echo.exe rm.exe.

Должно получиться что то типа:
ARM_Set.png
ARM_Set.png (25.87 КБ) 7293 просмотра
Apply, Ok, Ух-ты, AVR'ы уже можно компилировать.

Настройка плагина ARM
Linux - подхвытывает системные настройки, ничего делать не надо,

Windows - Снова в меню Еклипса "Help", "Eclipse Marketplace".
В строке поиска набираем ARM и жмем на "Go". Выбираем "GNU ARM Eclipse 3.1.1" Install.
В выборе компонентов в принципе ничего менять менять не надо, ну или от широкой души, отметить все.
Подтверждаем, соглашаемся с копирайтом, на предупреждение безопасности, жмем "Ok". Попросит перезагрузку, соглашаемся.

аналогично настраиваем пути до Build Tools и GCC ARM

Должно получиться что то типа:
AVR_Set.png
AVR_Set.png (25.48 КБ) 7293 просмотра
Собственно теперь можно импортировать проект, и собрать его.
Скачиваем проект, распаковываем его в папку c:\Work1\WS1\Develop\
Далее в меню, File->Import, открывается новое окошко, Import, выбираем General->Existing Project into Workspace, выбираем путь c:\Work1\WS1\Develop\
В окошке Projects: появляется список проектов:
Projects.png
Projects.png (25.2 КБ) 7293 просмотра
Не мудрствуя лукаво, Жмем Finish

Все, у нас есть относительно настроенный Eclipse, с нашим проектом.
Проекты уже можно откомпилировать.

Ух, продолжение следует.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Как мне изменить/откомпилировать/отладить проект ?

Сообщение comparator » 25 июн 2016, 18:58

Часть третья, отладка.

Для AVR, используйте AVR Studio и например Atmel ICE, все остальное, напрасные траты времени и сил. Мне не попадалось ни одного стабильно работающего рецепта.
Хотя если нужно только программирование можно с Эклипсом использовать atprogram.exe из AVR Studio и например AVRisp MkII ;)
Либо более дешевый вариант avrdude + USBasp, здесь ничего не могу сказать, не пользуюсь.

Для STM32 все не так плохо, OpenOCD и ST-Link работают без проблем.
Собственно настройку данного тандема мы и рассмотрим.
Пожалуйста прочитайте внимательно, данный способ не требует модификации драйверов, либо других хаков.
Не надо устанавливать третьих драйверов, запускать Zadig, и т.д. все работает из коробки.

Сперва проверьте, что драйверы установлены, программатор в порядке и верно подключен,
запускаем STM32 ST-Link Utility, жмем пункт в меню Target->Connect,
Если в окошке лога мы получили что то типа:

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

18:51:03 : ST-LINK SN : 49FF76064983515136241187
18:51:03 : ST-LINK Firmware version : V2J27S0
18:51:03 : Connected via SWD.
18:51:03 : SWD Frequency = 1,8 MHz.
18:51:03 : Connection mode : Normal.
18:51:03 : Debug in Low Power mode enabled.
18:51:03 : Device ID:0x440 
18:51:03 : Device flash Size : 64KBytes
18:51:03 : Device family :STM32F051x4/F051x6/F051x8/F030x8
То все в порядке, ST-Link отвечает, контроллер подключен.
При помощи данной утилиты мы можем уже запрограммировать нашу плату.

Теперь можно закрыть STM32 ST-Link Utility, и приступаем к настройке OpenOCD.

В Linux, настройка путей не требуется.

Windows - В eclipse настраиваем путь к исполняемому файлу OpenOCD.exe
В вкладке меню Windows->Preferences->Run/Debug->OpenOCD->Folder->Browse C:\Work1\OpenOCD\bin
OpenOCD.png
OpenOCD.png (44.65 КБ) 7290 просмотров
Компилируем проект, например нажав на стрелочку рядом с молотком, выбираем S2Sn10d.
После успешной компиляции, жмем F5, либо правой кнопкой мыши на проекте и выбираем в выпадающем меню пункт - Refresh.
Теперь в верхнем меню пункт Run->Debug Configurations.
В появившемся окошке выбираем GDB OpenOCD Debugging, двойной клик создает конфигурацию.

Обзываем её например S2xxxx S2Sn10d,
вкладка Main, Project - выбираем S2xxxx,
далее вкладка C/C++ Application: жмем Search Project, выбираем наш бинарник S2Sn10d.elf
Вот здесь явно проситься, какая-либо переменная, чтобы можно было запускать любой проект, но мои эксперименты ни к чему не привели.
Если кто знает как это делается, отпишитесь пожалуйста в комментариях.

теперь вкладка Debugger, в окне Config Options необходимо указать тип программатора и контроллера.
тип программатора
для Discovery это ST-Link V2, -f interface/stlink-v2.cfg
для Nucleo ST-Link V2.1 и соответственно -f interface/stlink-v2-1.cfg
тип контроллера для Discovery F0 это STM32F051R8T6, -f target/stm32f0x.cfg
OpenOCDpath.png
OpenOCDpath.png (26.31 КБ) 7290 просмотров
остальные настройки работают по умолчанию.

Немного расширенных настроек.

Теперь нам необходимо получить описания периферии,
Рядом с кнопкой Build(Молоток), есть кнопка Packs - такие 2 перечеркнутых квадратика, жмем на неё, соглашаемся, что откроется новая перспектива.
Первоначально перспектива пуста. Жмем кнопку обновить, eclipse скачивает каталог. Это длится несколько(десятков) минут.
Могут выпадать ошибки, просто игнорируем.

После в списке устройств, выбираем STMicroelectronics, STM32F0.
В Закладке Packs, выбираем версию и жмем кнопку, Install a local copy of the ...
После того как пак установится, идем в свойства проекта, вкладки C/C++ Build -> Settings -> Devices.
И выбираем из списка либо board, либо сам контроллер.
Devices.png
Devices.png (29.53 КБ) 7290 просмотров
После этого при отладке, появляется вкладка Peripherals, где мы можем отметить, интересущую нас периферию и посмостреть/изменить её состояние

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Как мне добавить свою конфигурацию ?

Сообщение comparator » 05 авг 2016, 19:56

Довольно часто приходят просьбы следующего вида " А сделайте конфигурацию под мою ардуину, она как обычная, только больше и другая", либо "мне так неудобно, я развел иначе"

Поэтому, Часть следующая. Создание своей конфигурации.

Немного о структуре проекта. Нас интересует папочка "Source" - исходники.
Папки в стиле A1xxxx, S2xxxx и т.д. это файлы проектов для Эклипса, здесь же создаются подпапки с именем проекта и elf/hex файлами для заливки в устройства.
Файлы *.atsln и *.cproj - файлы с проектами для Atmel Studio
Папка "Common" - файлы общие для конфигураций. Здесь нежелательно что либо менять, оставьте это разработчикам.

И наконец папка "Hal" это как раз то - что нам нужно, здесь находятся файлы описания устройств, а так-же специфичные для каждого контроллера файлы.
  • Здесь находятся 3 папки:
  • Arm - CMSIS для АРМ'ов
  • АТМега - как можно понять из названия это файлы специфичные для ATMega контроллеров, в частности драйвера А ТАК-ЖЕ файлы конфигурации устройств.
    • Вид с изнанки
    • A1xxxx - кофигурации для ATMega328P
    • A4xxxx - кофигурации для ATMega2560
    • A5xxxx - кофигурации для ATMega2561
    • HAL - драйвера
    • hal.h - Общие описания интерфейса с контроллерами Atmel, в большинстве случаев изменения не требуются
    • Файлы по контроллерам, HW_ATM2560.h, HW_ATM2561.h, HW_ATM328P.h
      К сожалению обойтись совсем без шаманства не получается и в один из этих файлов необходимо будет добавить ссылку на ваш файл конфигурации
  • Stm32 - опять-же, из названия следует, что здесь у нас файлы специфичные для STM32, и опять-же конфигурации устройств
    Структура аналогична
Это была присказка, а теперь собственно процесс.
Имена конфигураций и контроллера даны только для примера.
Идем на основной сайт проекта, скачиваем Node Configurator, распаковываем, запускаем.

Выбираем либо новый проект, либо открываем уже существующий.
Для нового проекта указываем, какой используется контролер, основной и если нужно - дополнительный интерфейс.
Если открываем существующий проект, то изменить тип контроллера и интерфейсов уже нельзя.

Расставляем выводы, как нас устраивает, и/или как это возможно.
Получаем следующую картинку
NdCfg.png
NdCfg.png (45.61 КБ) 6976 просмотров
жмем кнопки "Save" и "Export", в папке с проектами появляется 3 файла, A1Cn12.xml - файл проекта.
A1Cn12.xst - файл описания для CC. Данный файлик импортируем в CC, либо копируем в папку к серверу data/import и перезапускаем серевер.

И наконец A1Cn12.h - файл конфигурации устройства. С ним то и придется немного пошаманить.
Копируем данный файл в папку ..\Source\HAL\ATMega\A1xxxx\, если вы заменяете существующую конфигурацию, то ничего больше делать не нужно.
Если же была создана новая конфигурация, то её необходимо добавить в проект.

открываем в редакторе файл "..\Source\HAL\ATMega\HW_ATM328P.h", первый абзац это и есть перечисление всех доступных конфигураций.
ищем сочетание "// Unknown \n #else"
и перед ним вставляем ссылку на ваш файл.
было

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

#elif   (defined CFG_A1Cn10)        // Arduino Nano/Uno + CC1101
#include "A1xxxx/A1Cn10.h"
// Unknown
#else
стало

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

#elif   (defined CFG_A1Cn10)        // Arduino Nano/Uno + CC1101
#include "A1xxxx/A1Cn10.h"

#elif   (defined CFG_A1Сn12)        // Моя крутая конфигурация.
#include "A1xxxx/A1Cn12.h"

// Unknown
#else
Уфф, полдела сделано.

Теперь запускаем еклипс, щелчёк правой кнопкой мыши на проекте, во вкладке "Project Explorer", в данном случае A1xxxx, в выпадающем меню - пункт "Properties"
В свойствах выбираем вкладку C/C++ Build, жмем кнопку Manage Configurations..
Далее New.. Даем ей имя и описание. В принципе на этом экране ничего больше не меняем. Жмем Ok
Выбираем теперь уже свою конфигурацию. Идем к вкладке "AVR Compiler/Symbols", двойной клик на CFG_A1чтототтам, и меняем это что то там на CFG_A1Сn12.
Компилируем

Получившийся HEX, заливаем в свое устройство.

По данной методике был создан файл для устройств совместимых с Мегадевайсом на 2561 контроллере, конфигурация A5En10.

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Умный дом по радиоканалу

Сообщение x13dev » 15 ноя 2016, 13:25

Готовимся к новому году!

Радуга:
Изображение
Извиняюсь за качество, видео ускорено и ужато для экономии трафика.

И эффект поконтрастней:
Изображение

Осталось закрыть крышку
Изображение

На плате стоит S4Cn11 нода, используются 9 из 11 доступных 16bit PWM. В качестве драйверов 2xULN2003.
Работает на встроенном в ноду PLC. С сервера только выбирается программа.

mdef
Сообщения: 17
Зарегистрирован: 07 дек 2014, 01:42

Re: Умный дом по радиоканалу

Сообщение mdef » 20 ноя 2016, 15:38

Доброе время суток, подскажите, пожалуйста, планируется ли рассмотреть/ добавить в проект SX1272 / SX1276 т называемый LORA.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 20 ноя 2016, 18:36

mdef писал(а):Доброе время суток, подскажите, пожалуйста, планируется ли рассмотреть/ добавить в проект SX1272 / SX1276 т называемый LORA.
Пока не планируется, LORA довольно медленный протокол с длиной преамбулой.

Я экспериментировал с RFM95W, 50 килобит получились только на расстоянии до 10 метров. Что несколько странно. Возможно китайцы совсем наэкономили.
Использовались рекомендованные значения для SX1272, GFSK, полоса 250 кГц, SF7, 10dBm(10mW) выходной мощности и порог потерь пакетов в 10%

В доме и на расстоянии до 50 метров, устойчивая связь обеспечивалась только при полосе 125 КГц, и скорости 6000 bps.
Что дает нам время передачи пакетов 300мс, то-есть нажали на кнопку, лампочка на другой ноде зажглась только через секунду.
Немного утрирую, но менее чем на порядок ;) .

Километр мне покорился при полосе 125кгц и скорости 300 bps.

Мне непонятен этот ажиотаж, ведь даже согласно AN1200.22 от Semtech страница 12, при скоростях меньше 10KBpS, LoRa по сравнению с обычным FSK дает выигрыш всего 6 дБм. Что дает нам увеличение дальности максимум в 2 раза, но никак не до десятков километров.

Для примера, RFM69HW, на 20 dBm(100mW) выходной мощности и скорости 38400, 300 метров держит.
Реально на расстояниях до 50 метров хватает и 10 dBm(10mW)

Подытожим, LORA создавался для медленной телеметрии, например сбор показаний счетчиков раз в месяц, или включить/выключить освещение улиц - 2 команды в сутки.
И не предназначен для решений, с временем реакции в десятки миллисекунд.

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 29 ноя 2016, 22:02

Чтобы не засорять тему про IoBroker отвечу здесь, заодно слегка "апнем"
OlegJktu84 писал(а):PPS comparator у вас живые пользователи на МегаД есть? Не могу найти тему на ab-log. Вы плиз её апните или создайте...
Напрямую мегадевайс мы не используем, но у нас есть прошивка для совместимого железа, как на 328'ой так и на 2561'ой мегах.

PPS
OlegJktu84 писал(а):Судя по модному правому верхнему уголку "fritz.box" comparator говорит на немецком на уровне Bluefox.
Вроде бы и не скрывал, у меня вон и город в профиле 'München', хотя и немецким языком с Blufox'ом мы не мерялись ;)

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

Re: Умный дом по радиоканалу

Сообщение wanvo » 03 дек 2016, 14:53

Приветствую уважаемых разработчиков.
Респект, что продолжаете свое дело!

Есть несколько вопросов:

- На каком языке программируется встроенный в ноды PLC? Logram или JavaScript?
Хотелось-бы посмотреть примеры кодинга Embedded PLC.

- Если сервер engine установить на такуюю штуку http://www.orangepi.org/orangepipc2/
какую порекомендуете прошивку на нее поставить и какую версию Mono ?

- Возможно-ли управлять сервером на OrangePi посредством планшета на Android?
Если да, то как установить на Android клиентскую часть engine?

- Если я правильно понял концепт, то сейчас возможны три варианта связи нод:
радиоканал, ethernet, rs485. Возможно, что и гибридные сети поддерживаются.
Не хотите добавить WiFi для полноты?

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: Умный дом по радиоканалу

Сообщение comparator » 03 дек 2016, 16:19

wanvo писал(а):Приветствую уважаемых разработчиков.
Респект, что продолжаете свое дело!

Есть несколько вопросов:

- На каком языке программируется встроенный в ноды PLC? Logram или JavaScript?
На хост системе программа пишется на JavaScript, после компилируется в байткод и заливается на устройство.
Нажми на кнопку, получишь результат. (c) Технология.
Встроенная PLC - это виртуальная машина, со своей памятью и аппаратно независимым набором комманд.

В четвертой версии собственно и лограмы будут использовать JavaScript. Ну а пока такой переходный вариант.
wanvo писал(а):Хотелось-бы посмотреть примеры кодинга Embedded PLC.
GitHub PLC_Blocks
wanvo писал(а): - Если сервер engine установить на такуюю штуку http://www.orangepi.org/orangepipc2/
какую порекомендуете прошивку на нее поставить и какую версию Mono ?
В хозяйстве такой железяки нет, поэтому только общие рекомендации.
Она вроде на Allwiner'e, на CubieBoard я ставил Ubuntu/Debian/ArchLinux какой либо разницы не заметил, так, мелочи по запуску сервисом.
Mono из репозитария работает нормально, на Raspberry PI я подключал репозиторий от Xamarin, версия поновее, однако так-же, разницы не заметил.
wanvo писал(а): - Возможно-ли управлять сервером на OrangePi посредством планшета на Android?
Если да, то как установить на Android клиентскую часть engine?
Конфигуратор к сожалению работает только под виндой.
Планы написать клиента под андроид были, но сами не умеем, а помочь никто не хочет :(
Если на планшете есть браузер и Java, то для повседневного использования более ничего и не требуется, только зайти на страничку.
wanvo писал(а): - Если я правильно понял концепт, то сейчас возможны три варианта связи нод:
радиоканал, ethernet, rs485. Возможно, что и гибридные сети поддерживаются.
Гибридные сети поддерживаются, если нода имеет 2 интерфейса, то она автоматом работает гейтом между сетями.
Забыли просто UART, то есть возможно например - USB стик с UART'ом в сторону компьютера и радиоканалом или RS485 вторым интерфейсом.
Но из практики наиболее стабильная связка, это ethernet на первом интерфейсе и RF либо RS485 на втором.
wanvo писал(а): Не хотите добавить WiFi для полноты?
нихатим, из какого-то мультика.
А если серьёзно, то просто нет подходящего железа.
ESP8266 работает крайне нестабильно, например на мобильнике в комнате включаешь WiFi, все тухнет.
Я заказывал несколько вариантов, перепробовал несколько прошивок. Встроенный LUA работает, а с сетью постоянные проблемы. На этом фоне за свою прошивку даже не брался.

LPC800 от NXP так после библиотек с WiFi'ем пользователю остается 2кб рамы и чуть больше 10 флэшки.

Microchip, так исходники можно использовать только с чипами от microchip.

Что там atmel выкатывал, но честно говоря даже не смотрел в эту сторону.

wanvo
Сообщения: 164
Зарегистрирован: 30 сен 2013, 09:45
Откуда: Russia, Rostov-on-Don

Re: Умный дом по радиоканалу

Сообщение wanvo » 03 дек 2016, 20:41

comparator писал(а): Встроенная PLC - это виртуальная машина, со своей памятью и аппаратно независимым набором комманд.

В четвертой версии собственно и лограмы будут использовать JavaScript. Ну а пока такой переходный вариант.
Хорошая новость.Значит можно будет создавать блоки для своих нужд не выпрашивая их у разработчиков?

А пока прийдется выпрашивать. Запустил свежую версию СС с закинутым в /bin файликом ExpStatements.dll
и не увидел любимой иконки Cubic Interpolation. Запустил старую версию - там все есть.
Дяденьки, верните пожалуйста кубик на игровую площадку!!! ))

UPD: закинул dll`ку от старой версии, иконка появилась. Пока не проверял в работе.

И почему-то СС не ставится сервисом. Запускаю от имени Администратора, но вылазит окно о том, что работа программы прекращена.
Операционка Win7 x64

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

 Сигнатура проблемы:
  Имя события проблемы:	CLR20r3
  Сигнатура проблемы 01:	X13Svc.exe
  Сигнатура проблемы 02:	0.316.407.0
  Сигнатура проблемы 03:	57060c5b
  Сигнатура проблемы 04:	mscorlib
  Сигнатура проблемы 05:	4.0.30319.34209
  Сигнатура проблемы 06:	53489fcf
  Сигнатура проблемы 07:	425
  Сигнатура проблемы 08:	10d
  Сигнатура проблемы 09:	System.FormatException
  Версия ОС:	6.1.7601.2.1.0.768.3
  Код языка:	1049
  Дополнительные сведения 1:	e114
  Дополнительные сведения 2:	e114703b31a6a2a29839fc799c6182eb
  Дополнительные сведения 3:	5d87
  Дополнительные сведения 4:	5d87726057abf5f630b3772061de7389

Ответить