ZiChip–Введение (автор статьи GetChiper)

28 Июля 2013 К комментариям

Пришло время рассказать о новом направление в развитии блога –интерфейсе взаимодействия и настройки ZiChip. Этот интерфейс был задуман и не спеша разрабатывался уже довольно давно, и вот теперь он на такой стадии, когда можно про него говорить какие-то определенные вещи без оглядки на то, что они поменяются.


Для начала, что значит «ZiChip»?

Разработка этой системы ведется двумя людьми – автором ресурса ZiBlog.RU – Денисом Железняковым (Россия) и мною GetChip.net (Украина). Своего рода международный проект :) . Части названий ресурсов и составляют слово ZiChip (ЗиЧип). Денисом разработка ведется со стороны микроконтроллеров STM, я занимаюсь AVRами (разделение условное, так как проект изначально не привязывался к какому либо железу).

Что из себя представляет ZiChip? Зачем создавался?

Вот, навскидку, несколько главных положений, от которых мы отталкивались, разрабатывая протокол:

1 Тонкая подстройка устройств под нужды конечного пользователя.
Создаваемые устройства блога, хотя и разрабатываются специально для встраивания в Ваши проекты и предусматривают различные варианты использования, но, по сути, являются готовыми устройствами, которые конечный пользователь не может настроить под себя. Выходом из данной ситуации является создание (как мной, так и другими энтузиастами) различных модификаций устройств блога под определенные нужды, но невозможно сделать модификаций на все случаи, кроме того не всегда есть время (или желание) ковырять старый проект, дабы добавить в него какой-то функционал. Вот если-бы дать пользователю определенный инструмент, при помощи которого он бы смог сам настроить устройство как ему нужно. При этом инструмент не должен требовать от пользователя знания языков программирования – все должно происходить на уровне установки галочек – просто и понятно.

2 Взаимодействие устройств между собой.
Давно хотел реализовать для устройств, создаваемых в блоге, некий протокол общения между собой. Вот, например, есть клавиатура, есть датчики, есть исполнительный механизм – все это отдельные устройства и чтобы заставить их заработать вместе нужно сделать изменения в программах каждого из устройств. А если эти устройства можно будет соединять в сеть для совместной работы не меняя прошивки? Это было-бы здорово! Из готовых устройств-модулей, как из кубиков, создаешь то, что тебе необходимо в данный момент и, если тебе нужно что-то другое, можно использовать эти же модули, ничего не перепрограммируя.

3 Управление устройствами и перенастройка в сети.
Раз уж устройства соединены в сеть, почему бы ими не управлять централизованно? Более того, кроме управления, можно их и настраивать прямо в сети, менять логику поведения. Для изменения функциональности устройства нет необходимости его отключать, доставать, отпаивать – все должно происходить прямо «на ходу» – не ломая нормальной работы остальных устройств в сети.

4 Независимость от «железа».
Если нет необходимости знать языки программирования и не нужно прошивать микроконтроллер для настройки устройства, то для пользователя абсолютно безразлично какой микроконтроллер стоит в устройстве, так как он (пользователь) «видит» лишь функционал устройства, а не его реализацию. Поэтому в сети должны уживаться МК разных производителей – настраиваться и работать они должны одинаково!

Обобщая все выше написанное, устройство ZiChip должно:

  • иметь возможность гибкой (и главное простой) настройки своего функционала и логики работы, без перепрошивки кристалла;
    – уметь работать в сети подобных устройств, в том числе взаимодействовать между собой, централизованно управляться и настраиваться;
    – работать в сети устройств вне зависимости от реализации «железа».

На данный момент протокол реализован процентов на 90, созданы программа-настройщик, различные вспомогательные программы для отладки и ведутся работы по созданию устройств как на AVR, так и STM.

Следите за развитием ZiChip, следующая статья будет о способе реализации сети ZiChip.


Источник: 097-ZiChip. Введение.


Categories: Проекты Tags: ZiChip

comments powered by Disqus