Сеть умного дома 1-wire и FreeBSD

Статей про «умный дом» и технологию 1-wire написано великое множество. Я же хочу написать как это делается «с нуля» и не на ОС Linux (как в большинстве инструкций и статей в сети), а на FreeBSD.

Почему именно эта ОС? Потому что есть люди, у которых дома развёрнуты собственные маршрутизаторы на FreeBSD, у которой есть некоторые отличия от Linux в настройке тех или иных служб и сервисов. Саму статью я пишу как новичек, т.е это, в своём роде, попытка поделиться собственным опытом.

Про построение сети 1-wire на FreeBSD материала написано не много, и, как правило, нигде нет исчерпывающей информации по «азам» начинающего домовода. Обычно на форумах встречают фразами «читай man», «учи матчасть», «всё элементарно» и т.п., по существу никто никакой подсказки или помощи не даёт.

Будем делать всё сами. Для начала попробуем развернуть что-то простое, например сеть с датчиком температуры. Что нам понадобится.

1. Инструменты
— Паяльник. Нужно будет припаять два проводка, поэтому особых навыков владения паяльником не нужно. Пока не нужно.
— Нож или что-то, чем можно снять изоляцию.

2. Аппаратная часть
— Наш роутер/шлюз/сервер с FreeBSD (у меня 9 RELEASE)
— Контроллер DS9490R для сети 1-wire
image
— Датчик температуры DS1820+PAR. «PAR» говорит нам о том, что датчику для работы достаточно «паразитного» тока. Нам это очень пригодится, если мы строим небольшую автономную сеть. В масштабах квартиры этого хватает. Спецификацию на датчик можно почитать ТУТ (PDF).
image
— Кабель, например витая пара категории 5. Для теста я использовал обрезок обычного телефонного кабеля, но дома всё лучше делать как следует.

3. Программное обеспечение
— owfs. Комплект утилит для работы с контроллером 1-wire сети.

Приступим.
Сначала установим вспомогательное ПО.
Устанавливаем fuse-kmod. Я всё ПО ставлю через утилиту portmaster, которая ставится из:
/usr/ports/ports-mgmt/portmaster
кому религия не позволяет, могут ставить из портов вручную.
Выполняем команду:
portmaster sysutils/fusefs-kmod
Если появится вопрос «Сделать ли автоматическую конфигурацию», то ставим галочку. В противном случае нам придётся вручную добавлять в файл /etc/rc.conf следующую строку:
fusefs_enable="YES"
и командой
/usr/local/etc/rc.d/fusefs start
запускать Fuse.

Далее ставим:
portmaster devel/swig13
и выполняем команды:
echo 'vfs.usermount=1' >> /etc/sysctl.conf
/etc/rc.d/sysctl restart


Теперь пакет owfs. Тут были некоторые сложности. С официального сайта owfs.org текущая версия (на момент написания этой статьи) 2.8p14 отказывалась ставиться. Точнее отказывалась компилироваться. Порывшись в багтраке я нашёл официальный патч, который устранил возникшую ошибку компиляции, но породил другую. На форуме сайта www.lissyara.su кто-то отписал, что у него была такая же проблема ещё в версии 8.2 и один товарищ выложил в сеть свою сборку, которая успешно ставилась на FreeBSD. Заглянув на его ftp, я нашёл сборку и для текущей версии.

Взять её можно отсюда: ftp://hi.dp.ua/unix/owfs/owfs-2.8p14.tar.gz
На всякий случай, если по какой-то причине сервер ляжет, я выложил архив в альтернативное хранилище:
http://ifolder.ru/29766619

Качаем архив и распаковываем:
fetch ftp:// hi.dp.ua/unix/owfs/owfs-2.8p14.tar.gz
tar -zxvf owfs-2.8p14.tar.gz
cd owfs-2.8p14

Командой:
chmod +x insta.sh
делаем скрипт исполняемым и запускаем:
./insta.sh
Кстати, insta.sh — это не моя опечатка, это опечатка автора сборки. Переименовывать файл и перепаковывать архив я не стал, чтобы контрольная сумма с оригинального сервера совпадала с тем, что я выложил на iFolder.

Когда скрипт отработает по адресу /usr/local появится директория «owfs» — это то, с чем мы будем работать.

Теперь с железками.

Берём наш телефонный кабель и одним концом втыкаем в контроллер, а со второго конца срезаем коннектор и снимаем с двух проводков изоляцию.
В телефонном (RJ-11) коннекторе 6 контактов, а проводки стоят в 3 и 4 контактах. У меня в 3-контакте был зелёный, а в 4-м красный проводки.
Берём нашего «треножника», только не такой:
image
а тот, который датчик температуры.
Ноги №1 и №3 объединяем вместе (спаиваем) и припаиваем к ним красный проводок, к оставшейся ноге №2 припаиваем зелёный. Я на работе, за неимением паяльника, делал всё на коленке скрутками:
image
в домашних условиях, понятное дело, всё должно паяться как следует, чтоб ничего лишнего нигде не торчало и выглядело красиво.
Втыкаем контроллер в USB-разъём нашего сервера. Создаём директорию "/mnt/1wire":
mkdir /mnt/1wire
и выполняем команду:
/usr/local/owfs/bin/owfs -C -u /mnt/1wire
Должно высветиться сообщение, содержащее что-то типа:
Opened USB DS9490 bus master at
Отлично, контроллер заработал. Теперь проверим, работает ли датчик температуры.

Проверим содержимое директории /mnt/1wire:
image
Появились файлы и директории. У меня директория, начинающаяся с «81.» — это сам контроллер, а вот начинающаяся с «10.» — это уже температурный датчик. Посмотрим что она в себе содержит:
image
Ага! Есть файл с названием «temperature». Скорей всего это то что нам надо. Выведем содержимое этого файла:
image
Ну вот, мы увидели текущую температуру. Дальше можно эти данные использовать где угодно, хоть в PERL, хоть в PHP, хоть в BASH — кому что нравится.

Ну вот, это самые основы. Осилили это — остальное само приложится, если делать по аналогии.
Теперь эти «сопли» можно разобрать, проложить по дому общую шину из нормального кабеля и навешать последовательно столько датчиков, сколько нужно. Все датчики можно будет опросить каким-нибудь самописным скриптом — всё зависит от поставленных задач.

Надеюсь этот материал поможет тем, кто только начинает осваивать 1-wire с сервером на ОС FreeBSD.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 47
  • +1
    Не очень «умный» дом, с одними лишь температурными сенсорами, к тому же на проводах — на мой взгляд, лучше взять какие-нибудь из современных мелких трансиверов, и избавить себя от необходимости тащить провода по квартире.
    • 0
      Например какие? Подешевше и попроще…
      • +4
        Очень рекомендую вот этот модуль.
        2.4 ГГц, управляется по SPI. *Очень* мелких размеров, когда я их в руки взял, понял насколько они реально мелкие)

        Есть более крупный вариант, но с более удобным разъемом: вот он.

        И дешевый, кстати.
        • 0
          Старый знакомый nRF24L01+. Его единственный минус — проприетарный on-air протокол, что не позволит в случае, например, скоропостижной смерти родительской компании из-за какого-нибудь патента мигрировать сеть по частям на что-нибудь еще.

          Свою сетку буду собирать на 802.15.4/6lowpan, когда руки до этого дойдут.
          • 0
            Какой же он проприетарный, если тот «протокол» примитивный донельзя и расписан до битика? И пользоваться им соответственно можно только в примитивных случаях, для нормального использования его все равно отключать надо, в итоге получится MAC, от 802.15.4 отличающийся только размером фрейма и отсутствием CSMA, зато уже вчера и по два с половиной бакса. 6lowpan на нем можно сделать, только зачем этот bloat? ;-).
            • 0
              Хм, возможно здесь я и неправ. В любом случае, его несовместимость с открытыми (или хотя бы распространенными) стандартами меня печалит.
              • 0
                Меня тоже печалило, я тоже хотел совместимости с распространенными стандартами. Я вообще хотел использовать Bluetooth, как реально распространенный стандарт и весьма в нем подразочаровался. Во-первых, хоть в стандарте и прописан Park mode, позволяющий получить 255 устройств в сети, большинство вендоров его просто не реализуют (вот мое исследование на тему), а уж interoperatibility testing для него точно никто не делает ;-). Во-вторых, потребление тоже не соответствует заявленным в datasheet.

                Zigbee уже с трудом назовешь «распространенным», его маркетят-маркетят, а он все неуловимый всадник. А знаете ли, что для него vendor interoperatability — optional. Т.е. если вы накупите модулей по 50 баксов, а потом найдете по 40, то никто не гарантирует, что они будут работать вместе, иными словами, это Zigbee — пропраетарная дойная корова. Ну и «голый» 802.15.4 они неплохо маркетинго-запакостили — как же ж, на нем Zigbee можно сделать, надцать баксов штука!
                • 0
                  Кстати, Zigbee таки тужится в последнее время — понимает, что если не начнет скидывать цены, то задавят его новомодные стандарты. Вон, Dash7 звучит гордо (пока не посмотришь внутрь; вон, сейчас активно пеарят mode 2 с измененным PHY/MAC — это ж как надо было с mode 1 напортачить, чтоб столько вкусного в 2 обещать ;-) ).

                  Так или иначе, zigbee-лед тронулся: вот модуль, стоящий менее $10 в розницу. Правда, ни мне ни вма это не поможет — Microchip шлет в Уганду и Турцию, но не в центры мировых цивилизаций. Знаете дешевле? Делитесь ;-).
            • 0
              Добавлю, что кроме мелкого размера и стоимости они отличаются еще высокой скоростью обмена и чрезвычайно адекватной организацией регистров, не как у некоторых крупных вендоров (да, TI, я на тебя смотрю.)
              • +1
                >да, TI, я на тебя смотрю

                Оооо не напоминайте, мне хочется TIшные трансиверы разбить молотком. Купил, на свою голову, по работе — вместе с nRF24L01+. Теперь вот сношаюсь с их регистрами)

                Насчет смерти родительской компании не очень понял — вы имеете в виду, что прекратятся вообще как таковые поставки модулей с этим протоколом? Мне кажется, не стоит этот вариант так серьезно рассматривать, прекращение поставок любого из аналогичных модулей все равно вызовет трудности, по-моему, даже если там не встроен протокол достаточно высокого уровня.
                • 0
                  Ха-ха, такой вариант серьезно не рассматривается ровно до тех пор, пока Нордик не умрет. Мало ли, их какой-нибудь Apple купит ради патентного портфолио, случалось ведь уже, или они проведут реструктуризацию и nRF24L01+ внезапно отправится в EOL, а цены возрастут на порядок.

                  Для личного «умного дома», может, и не так важно, а вот для чего-то долгоживущего я бы точно брать не стал, особенно если подразумевается расширение.
                  • 0
                    Слава богу, Нордик рубает мелко-пропраетарные чипы, Apple таким не проберешь, им бы первым в мире вставить в трубку Bluetooth4, туда им и дорожка. Нордик тоже не первый год на рынке, и nRF24 — целое семейство их чипов, и L01+ — не первое поколение. И они понимают, что либо они жужжат по-zigbee-шьи, либо продают чипы миллионами, чтоб их потом всякие логитеки и мелкософты в свои клавиатуры и мыши ставили.

                    Ну а если вдруг кто и положит глаз на Nordic, то как бы не вышла та же история, что с ipad(tm): Beken, чей BK2421 относится к nRF24L01 так же, как КР580ВМ80 к 8080 — ведь они могут сказать, что это они первыми такой дизайн придумали :-D. (Ой, Beken'ы — те не миллионами продаются, ходят слухами, что большая часть китайской 2.4Ghz периферии на них сделана).
            • +1
              Это первый шаг в создании «Умного дома».
              Без проводов не обойтись, если строишь «автономную сеть», которая будет работать даже когда отключат электричество и интернет в квартире.

              Без электричества корпус Morex с FreeBSD на UPS протянет долго, а по сети 1-wire ещё и с датчиков данные будет получать.
              • +3
                Скажите, а зачем вам точные значения температуры дома, если отключено электричество?) Если у вас даже не будет компьютера, чтобы эти значения просмотреть?)
                Надуманная проблема, на мой взгляд. К тому же решается аккумулятором в модуле.

                Когда я обдумывал что именно нужно (реально нужно, а не для того чтобы сказать «смотрите, у меня умный дом!!), то пришел к выводу что нужны в основном модули, через которые можно удаленно зажечь-погасить свет, открыть/закрыть дверь/окно. В них же элементарно встраиваются необходимые датчики (из необходимых разве что температура, да и то, больше для проформы).
                Модуль выполняется на базе трансивера, с питанием от сети (соответственно, если питания в сети нет, то он и не нужен, но если свербит, можно добавить аккумы). Все — никаких проводов, все управляется централизовано.
                • 0
                  У меня температуру смотрит сервер с FreeBSD и отдельный компьютер не нужен, т.к. работает удалённое оповещение.

                  Температуру в доме мне нужно знать, потому что в доме остаются животные, температуру на улице мне нужно знать, чтобы знать как одеться. Вот и всё. У меня не стояла задача ввода систем управления в дом, у меня стояла задача получения статистики/информации. Я считаю, что дешёвая «1-wire» в этом случае подходит идеально.
                • 0
                  Вообще-то знаете, «беспроводными» модули называют не случайно — им провода даже для питания не нужны, нормальные работают год на батарейке, хорошие — два, замечательные — 10. А ведь провода еще нужно провести (стук перфоратора)…
                  • 0
                    1. Провода не всегда тянутся со стуком перфоратора (привет, полые плинтусА)
                    2. Какова цена на «Хорошие» и «Замечательные» беспроводные модули? Я, видите ли, немного стеснён в денежках.

                    Вообще, если честно, я немного не доверяю «беспроводным» технологиям. Провод — это 100% доступная информация, а беспроводной технологии может помешать что угодно: слишком толстые бетонные стены, маньяк-радиолюбитель, живущий по соседству и пускающий помехи на моей частоте и пр.
                    • 0
                      > (привет, полые плинтусА)

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

                      Но вы правы, что умный дом начинается не с электроники, а с инженерно-конструкционных решений, надо на эту тему почитать, или написать свои мысли как-нибудь ;-)

                      > Вообще, если честно, я немного не доверяю «беспроводным» технологиям. Провод — это 100% доступная информация, а беспроводной технологии может помешать что угодно

                      Согласен, это своего рода срыв шаблона. Но идея взялась не с бухты барахты, а на основе многолетнего общественного опыта использования таких технологий как GSM и WiFi, которыми нынче пользуется уверенное большинство, а некоторые и отказались от проводных вариантов вообще. Да, для «систем жизнеобеспечения» (вроде охранки) провода лучше, но маньяк может обрубить и провода, звонить охранка все равно будет по GSM, который можно заглушить, а если по landline, то опять же, можно обрубить. Более того, провода рождают false sense of security, и по ним очень удобно собирать незащищенную информацию ;-).

                      > 2. Какова цена на «Хорошие» и «Замечательные» беспроводные модули? Я, видите ли, немного стеснён в денежках.

                      Сообразно духу блога — «Хорошие» и «Замечательные» делать только самим ;-). Это точно более увлекательно, чем штробить стены или тянуть провода по плинтусам ;-). Базовое железо, на котором можно делать, согласно другим каментам — от $2.5 за радиомодуль (плюс еще столько же за управляющий МК). Коммерчески доступный Z-Wave более-менее удовлетворяющий требованиям, стоит от $30 за точку, при отсутствии гарантии security (протокол пропраетарный) и малом выборе выборе модулей (по сравнению с потенциально бесконечным, которое можно сделать самому).
                • 0
                  У них и датчики влажности есть, и давления, и драйверы реле на 8 каналов.
                • 0
                  А дальше?
                  Получили температуру. При наличии множества датчиков, получили поля температур.
                  Как форточку то открыть, кондей включить, батарею отрегулировать?
                  • 0
                    Функции управления именно в этой конфигурации, конечно же, работать не будут. Но согласитесь, без света в доме я кондиционер всё равно не включу.
                    Система останется работоспособной в режиме мониторинга, и, в случае задымлённости например, сможет мне отправить тревожную СМС.

                    Я повторюсь, всё зависит от конкретно Вашей конфигурации. По данной статье построится простая 1-wire, о чём и говорилось в самом начале.
                  • 0
                    К сожалению, умный дом надо закладывать на этапе полного ремонта/строительства дома/квартиры.
                    Предварительно решив, что же будет умного (датчик температуры ну не тянет на это звание).
                    • 0
                      А много ли надо? Если говорить о том, что реально бы как-то было полезно, а не просто ради названия?
                      Я вот только одну вещь назову — мне всегда *очень* не хочется вставать, когда уже почти заснул, и идти гасить свет, поэтому я эту штуку автоматизировал, ну точнее, сделал удаленное управление.

                      А все остальное… Хз. Никогда не было желания узнать точную температуру в комнате, да и кондиционер ее показывает обычно. Влажность и подавно (может, садоводам будет полезно?) Что еще туда входит?

                      Вот что я бы рад бы в конструкцию дома внести — водонепроницаемые колонки в ванной, иногда охота музыку послушать там)
                      • 0
                        Ну, мне надо:
                        1. управление светом (всеми розетками и желательно знать расход)
                        2. проверка включена ли вода/газ
                        3. температура внутри и снаружи
                        4. возможность удаленно включать/выключать бытовые приборы (кофеварка, обогреватель, бойлер)

                        Это из того, что необходимо и реализуемо.

                        Хотя самое нужное — автозалив воды в чайник и подогрев :)
                        • 0
                          Управление светом у всех обычно на первом месте, видимо всех бесит вставать и переться к выключателю перед сном)

                          Пункт два тоже разумно, да…

                          А пункт 4, если не секрет, какой подразумевает вариант использования? Ну обогреватель объединим с кондиционером, это климат-контроль, тут без вопросов — но кофеварка?
                          • 0
                            ну как же, лежишь себе в кровати, вспомнил про кофе, зашел с ноутбука/планшета на кофеварку, нажал кнопочку или поставил таймер и лежишь дальше, а через 15 минут пошел и забрал уже чашечку :)
                            • 0
                              А, видимо путаю с кофемашиной — там-то ждать почти не надо)
                        • 0
                          А по-моему, начинать нужно не с этого. В первую очередь меня, к примеру, интересует возможность установить датчики открытия на все двери и окна и запись видео с некоторого количества веб-камер. Причем, чтобы все это «шарилось» как-нибудь слайдами через дропбокс или какой-нибудь подконтрольный веб-сервер.
                          Если «до кучи» можно будет мониторить розетки, расход воды, включенные электроприборы — то это «плюс».
                          Желательно, чтобы internet канал при этом дублировался — проводной и 3G сразу, чтобы его нельзя было просто перерубить «на подходе».

                          А вот включить/выключить свет я могу и руками (вернуться, если alarm сработал, или позвонить соседям/пожарным/в милицию)

                          Кого хоть раз обокрали — тот меня прекрасно поймет, почему именно с этого надо начинать.
                          • +1
                            Вы говорите об охранной системе, по моему лучше купить готовые датчики и контроллеры автономные, которые стоят копейки и можно подключить к неведомственной охране.

                            Умный дом это это система жизнеобеспечения в доме. Датчик протечки воды и электронные запорные краны, датчик температуры и блок управления кондиционером, датчик влажности и увлажнитель, детекторы газа и запорные механизмы на газ + запуск системы вентиляции. Это централизованное управление звуком, светом, домашним кинотеатром. Домофоны и прочее.
                            • 0
                              Согласен с Вами, и в то же время — нет.
                              Давайте не будем придумывать определения, а обратимся к видению создателей этого термина — заглянем в Умный дом Билла Гейтса.

                              Именно там мы сразу увидим, что без «глаз и ушей» умный дом просто невозможно себе представить. И жизнеобеспечение — только часть этого понятия. «Умный дом» в первую очередь тот, который знает о себе всё. Где, что, кто и когда находится, а уже затем начинает принимать решения.

                              В противном случае, мы не можем говорить об интеллекте (синоним «умный») здания, а только об автоматически регулирующимся (теория автоматического управления).

                              Течет вода — закрываем, горячая — добавляем холодной… И неважно, что симпатичная соседка попросилась помыться — погреться зимой (мол у нее душ не работает, ага) — компьютеру то «по-барабану», что она не знает об отключении системы автоконтроля.
                        • 0
                          А датчик температуры в компании с устройством управлениея сервоприводом (DS2413) вентиля, регулирующего подачу воды в отопительную батарею?
                          Или датчик влажности, управляющий открытием форточки?
                          • 0
                            К сожалению, умный дом надо закладывать на этапе полного ремонта/строительства дома/квартиры.
                            Предварительно решив, что же будет умного (датчик температуры ну не тянет на это звание).


                            К сожалению, это невозможно (все продумать заранее). К счастью, это и не нужно — умный дом таким образом не построишь все равно. Умный дом — это дом, который адаптируемся к меняющимся требованиям своих хозяев. Поэтому, либо модульная строительная технология (подвесные потолки — хороший пример, идущий в разрез со стереотипами (реально насажденными маркетингом)), либо беспроводные технологии (идеал конечно комбинация).
                          • +1
                            «делать будем всё сами» и тут же, нужно купить дорогущий DS9490R который есть в одном двух магазинах.

                            Если уж всё сами то и контроллер паять нужно самому :) Вот публикация была сто лет назад.
                            • 0
                              при всём уважении com порт… уже старьё
                              • 0
                                «старье» это субъективная оценка, а объективно COM-портом укомплектовано очень много современных материнских плат. Могу ошибаться, но я не видел еще не одной без COM-порта.
                                • 0
                                  то что он ещё будет жить — не спорю, но свой ресурс он уже отработал, с ЮСБ более интересно работать, да, объём работ больше (написать драйвера, ПО) но и создать можно более интересные вещи.
                                  • 0
                                    >> да, объём работ больше (написать драйвера, ПО) но и создать можно более интересные вещи.

                                    ну а если потратить часик на написание простого сетевого протокола для COM порта? Что бы можно «не заморачиваясь» обмениваться с устройством командами, и т.д. Я уже молчу про дальность работы USB, которая просто ничтожна, особенно в сравнении с RS485.
                                • 0
                                  Он жив и еще лет 20 будет жить. Т.к. он простой как валенок. На любой самой крутой брендовой железке есть сервисный rs232 либо снаружи корпуса, либо внутри. Те кто перешел для отладки на usb на самом деле имеют внутри конвертер usb-rs232.
                                  Так что рано хороните.
                                  • 0
                                    Это вы уж очень зря, COM-порт используется к примеру для устройств где необходима обработка данных в режиме реального времени, более того у него есть ножка, дёрнув которую будет создано аппаратное прерывание. Точная синхронизация времени по GPS приёмнику к примеру не может корректно работать по USB потому что невозможно точно определить когда реально пришли данные, сколько времени процессор потратил на обработку событий USB стека и т.д., а COM «железный», про то что задержки на USB ещё и сильно непостоянные я вообще молчу.
                                • 0
                                  а вообще, первый шаг сделан, продолжать будете?
                                  • 0
                                    Продолжать буду.
                                    Пока что мой умный дом будет только мониторить и извещать, никакого управления.
                                    Я постараюсь по ходу дела описывать что именно я внедряю.
                                    • 0
                                      связь на 1-wire? или ещё какието технологии применяться будут?
                                      • 0
                                        Связь 1-wire, страница с фреймворком «bootstrap», парсинг погоды и списка телепередач из xml и вывод всего этого на страницу дома.

                                        Сейчас думаю как прикрутить два аналоговые камеры наблюдения, размещённые на лестничной площадке. Про ZoneMinder я знаю, но пока не могу найти способ ввода изображения с камер в ОС.
                                  • +1
                                    Делал такой мониторинг температуры на Freebsd, только на COM-порт, без DS9490R. Сейчас температуру мониторю на роутере DIR-620 через DS9490R.

                                    А, относительно, что COM-порт старье — не соглашусь.
                                    • 0
                                      Помню, был ещё замечательный адаптер для RS-232, DS2480, который ещё и честные 5В давал, на него можно было целую грядку DS1820 навесить, стоил около $5. Странно, почему такого же чуда за 10 лет так и не сделали для USB (за исключением сторонних производителей, предлагающих подобное за запредельные $50)?
                                      Спасибо, потешили мою ностальгию топиком.
                                      • 0
                                        я, считаю ком устаревшим, так, как это аналог, да, простота управления им это силушка богатырская, но под юсб драйвера не так и сложно писать, да и софт с минимальным знанием с++ уже можно делать.

                                        ПС цифровой век нынче)

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