Black Swift: зачем мы его сделали

    Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

    Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



    Если коротко: хотя изначально проект начинался как «а не сделать ли нам нанокомпьютер как у китайцев, но для себя и подешевле?», мотивация довольно быстро сместилась — мы поняли, что можем сделать его если не дешевле, то лучше и удобнее, и не только для себя.

    Вообще если посмотреть на существующие микро- и нанокомпьютеры («нано» я условно определяю как всё, сравнимое со спичечным коробком, а если оно сравнимо с сигаретной пачкой — то уже «микро», наверное; надо же как-то градацию размеров вводить, чтобы BlackSwift перестали сравнивать с RPi?), то они довольно чётко делятся на две категории:

    • Для любителей, ярчайший пример — RPi в своём классическом исполнении, да и Arduino, хотя это уже не наша весовая категория. Очень простые в подключении, ничего для первого включения паять не надо.
    • Для профессионалов — VoCore, Carambola, Intel Edison и масса других. Очень маленькие, легко встраиваемые в вашу собственную разработку, но со сравнительно высоким порогом входа: из этих трёх без паяльника запустить можно разве что VoCore, да и то этот запуск ограничится подключением питания, для USB уже нужна дочерняя плата.


    Так вот, мы поняли, что мы можем и хотим совместить две вещи: сделать нанокомпьютер с низким порогом входа и одновременно не только пригодный, но и удобный для профессионалов (в конце концов, мы его сами хотим в своих разработках использовать).

    Что надо для любителей? Простота базового подключения (в идеале, питание и какая-нибудь периферия должны подключаться вообще без паяльника — чтобы можно было сразу начать экспериментировать), простота настройки, простота написания и отладки своего софта.

    Что надо для профессионалов? Минимальные габариты, много I/O, много разных интерфейсов, удобство запайки в свою конструкцию. Простота написания и отладки софта тоже не помешает: всё-таки человек может быть профессионалом от электроники, а с OpenWRT опыт иметь только в рамках настройки домашнего роутера.



    Собственно, из совмещения этих требований и родился Black Swift (я сразу оговорюсь, что это work-in-progress — с софтом пока возимся, а уже готовые прототипы платы не имеют, например, стабилизатора 2,75 В — он появится в финальной версии):

    • Два стандартных micro-USB на плате, через один подаётся питание, в другой через переходник USB-OTG можно подключить какую-либо USB-периферию, например, веб-камеру. То есть, для старта достаточно обычной зарядки от смартфона.
    • Wi-Fi на плате, включая печатную антенну.
    • Стабилизатор питания на плате. Плата живёт от 3,4 до 6 В, то есть может работать от одной литиевой банки (хотя если нужен USB — тут, конечно, 5 В ±5%).
    • У встроенного стабилизатора большой запас мощности: он выдаёт до 1 А, сама плата потребляет не больше 300 мА. Соответственно, можно остаток использовать в своей конструкции: подаёте на BSB 5 В, снимаете с него 3,3 В до 700 мА.
    • Дополнительный стабилизатор на 2,75 В 300 мА. Фокус в том, что рекомендуемое максимальное напряжение для GPIO в AR9331 — 2,75 В (хотя с 3,3 В они тоже работают), поэтому BSB обеспечивает простой и удобный способ следовать этой рекомендации.
    • I/O в виде обычных площадок под гребёнки, хоть и с мелким шагом (PLLD 1,27 мм). Для любителей это возможность запаяться проводами прямо в плату, если захочется подцепить какую-то несложную периферию, для профи — удобная установка в свои проекты (намного удобнее, чем при контактах по краю платы, как у Карамболы, не говоря уж о том, что можно сделать модуль съёмным или поставить его вертикально на угловой гребёнке).
    • Питание и USB продублированы на гребёнках, конечно.
    • Предустановленная OpenWRT, сразу настроенная на работу точкой доступа. То есть после первого включения — просто коннектимся к плате по Wi-Fi.
    • Виртуальная машина для ПК, в которой уже всё настроено для написания и отладки софта под OpenWRT — мы в курсе, что далеко не все хотят ручками устанавливать себе OpenWRT toolchain.
    • Набор библиотек для работы с основной периферией — начиная с GPIO.
    • Юзерспейс-утилиты для работы с основной периферией. Не все любят программирование на C, а возможность подёргать ножкой из юзерспейса означает, что какой-то свой фронтенд можно написать на bash-скриптах, PHP (заодно с веб-мордой) или на чём ещё конкретному человеку будет удобнее писать, выбор тут становится немаленьким.
    • Всё это с открытыми исходниками и примерами использования.



    (подключение периферии — да хоть просто проводами)

    При этом на плате достаточно вычислительной мощи и памяти практически для всего, что душа может пожелать от компьютера такого размера. Для примера — на том же чипе Atheros AR9331 делают дешёвые роутеры, самый известный пример — TP-Link TL-MR3020 и производные от него. Там 4 МБ (прописью: четыре мегабайта) флэша, при этом в него влезает OpenWRT с веб-интерфейсом, и ещё где-то полмегабайта места остаётся. На Black Swift стоят 16 МБ флэша и 64 МБ оперативки — то есть, чтобы исчерпать его ресурсы, с OpenWRT надо делать что-то весьма серьёзное (да и в этом случае можно подключить к USB обычную флэшку — OpenWRT умеет их использовать для расширения корневой файловой системы). Из периферии — 26 GPIO, USB-хост, UART, I2S, I2C, SPI, Ethernet…

    Более того, если в MR3020 стоит DDR-память, в системах на Ralink RT5350 (тот же VoCore) — и вовсе SDR, то у нас — честный DDR2, с соответствующей прибавкой к производительности.


    (Я мигаю светодиодиком!)

    Как мы видим применение?

    Во-первых, сверхмодная сейчас тема «умного дома» и чайников с Wi-Fi. Если вы хотите с этим направлением поиграться — то на Black Swift можно легко сделать автоматизацию и вывод в интернет практически любого устройства, от розетки (сделать Wi-Fi-розетку на Black Swift — это как помигать светодиодиком на Ардуине, это должен пройти каждый!) до хоть стиральной машинки. Размеры позволяют встроить Black Swift практически во что угодно, обилие GPIO — подключить кнопки и индикаторы либо параллельно с родными потрохами устройства, либо просто вместо них. В простейшем случае, когда нужны несколько GPIO (чайник!), обвязку можно сделать хоть навесным монтажом, если надо чуть сложнее или чуть красивее — нарисовать и сделать хоть ЛУТом, хоть китайцами «материнку» под Black Swift.

    Можно сделать старый, но любимый принтер беспроводным, можно колонки превратить в Wi-Fi-радио, можно — в mp3-плеер, который будет играть музыку с файлопомойки на домашнем NAS'е, а управляться с любого смартфона (кстати, в колонках очень удобно заюзать один GPIO под включение-отключение питания их усилителя в зависимости от того, играет ли музыка). Во всех случаях всё это будет несложно, аккуратно и спрятано внутри самого устройства.

    Raspberry Pi в этом качестве, как вы понимаете, как-то не очень — она банально не влезет внутрь большинства устройств. Так что прекратите нас с ней сравнивать.

    При желании можно и весь контроллер «умного дома» сделать на Black Swift, повесив на него нужные вам приёмопередатчики. Получится просто, недорого и очень компактно.

    Во-вторых, хотя это узкая ниша, радиоуправляемые модели. Габариты, для летающего — вес (плата весит 3 грамма), наличие USB под веб-камеру, если камера не нужна — возможность питания от одной банки Li… В общем, желающим развлечься тут есть где развернуться.

    В-третьих, конечно, вообще свои собственные разработки. Спроектировать вычислительный модуль такой производительности могут немногие, произвести — тем более (можно, конечно, и AR9331 вручную паять, но это уж очень для эстетов), а вот сделать под готовый модуль материнскую плату — уже задача более чем посильная, тем более — под гребёнки, а не напайку прямо на поверхность «материнки». Модуль можно даже не впаивать, а ставить на разъёме — в него запаять гребёнку PLLD (двухрядная 1,27 мм), а в плату — гнездо PBD.

    Для профессионалов это будет просто удобная в применении готовая плата (которую, к тому же, можно официально купить в России, со всеми счетами-фактурами и без ВЭД), для начинающих — не только простой в применении встраиваемый компьютер, но и своеобразная лесенка к более сложным разработкам. Дело в том, что с Black Swift можно развивать свою работу постепенно: начать со стандартной USB-периферии, потом — подключаться к GPIO через переходник или просто подпаиваясь проводами, потом сделать свою плату с помощью ЛУТ, потом с помощью китайцев или «Резонита»… преимущество BSB в том, что центральная часть на всех этих этапах будет оставаться одной и той же.



    Кстати, если говорить о материнках — будет переходник на гребёнки 2,54 мм, и думаем ещё о devboard, на которой будет сразу максимум всякой периферии (непрактично для практического применения, но удобно для отладки), небольшой плате с несколькими силовыми ключами и логическими входами, и плате с AVR, на котором можно сделать АЦП на несколько каналов и ШИМ.

    Кстати, про AVR. Так как на Black Swift есть UART — то можно в качестве периферии к нему использовать Arduino (с согласованием уровней, конечно: у Black Swift питание 3,3 В, а у ардуины — 5 В). На Arduino можно сделать вышеупомянутые АЦП и ШИМ, можно что-нибудь жёстко риалтаймовое, а на Black Swift — основную логику, Wi-Fi, веб-интерфейс.

    Кстати, про Web-интерфейс. Возможность без проблем поднять на плате HTTP-сервер с PHP (и даже HTTPS, если хотите) — это не только интерфейс в браузере, но и простое смартфонное приложение. На андроиде берёте компонент WebView, который будет показывать ваш интерфейс, добавляете к нему щепотку Network Service Discovery, на плате запускаете веб-сервер и демон avahi (он штатно есть для OpenWRT). Avahi вещает в сеть «позывные» платы, NSD по ним находит IP устройства, WebView показывает интерфейс с него — получили простейшее смартфонное приложение для вашего проекта, которое выглядит как настоящее и даже радует. Дёргать же из PHP ножки Black Swift или, наоборот, читать внешнюю АЦПшку и показывать температуру воды в чайнике — задача, которая у нас будет решаться легко.

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

    P.S.
    1) Русскоязычный сайт проекта, в процессе наполнения.
    2) На Kickstarter — 20 января.
    3) Пробная партия с финальным дизайном платы — к 10 января. Сейчас сэмплы есть, но их немного и они не финальные по функционалу и разводке разъёмов.
    4) Номинальная стоимость планируется $25, для России рассматриваем номинальную стоимость $20.
    Black Swift 29,88
    Компания
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 228
    • +2
      Поставил себе напоминание наведаться на Kickstarter 20 января и немного раскошелиться :)

      Мне самому очень нравятся ПК такого размера, в августе писал в KeyAsic с просьбой предоставить SDK для их платформы Wi-Fi SD. Обещали даже демо-плату и круглосуточную поддержку. Но в один прекрасный момент просто перестали отвечать.

      А можно как-то получить 1 экземпляр Black Swift раньше выхода на Kickstarter, а то хочется к нему попробовать Bluetooth прикрутить.
      А сколько плата кушает без Wi-Fi?
      • 0
        Bluetooth — если обычный брелок в USB, то это в рамках OpenWRT спокойно решается: wiki.openwrt.org/doc/howto/usb.bluetooth

        Без Wi-Fi потреблять будет где-то миллиампер 100, плюс-минус. Вообще 300 мА — это верхний предел, в типичной работе с активным Wi-Fi потребление ближе к 200 мА.
        • 0
          Нет, не брелок.
          Я все грежу мыслями сделать плату с контроллером и bluetooth-модулем типа nrf51822.
          • 0
            SPI, UART — есть аппаратные, большинство прочих интерфейсов можно без особых проблем эмулировать программно на GPIO. Так что принципиальных проблем возникнуть не должно никаких, только софт для общения с BT-модулем придётся свой написать (но опять же, под OpenWRT тут ничего особо сложного нет).
            • +1
              C этим не спорю, но под «голый» nrf51822 все равно нужна плата. А контроллер + BT 4.0 потребляет горадо меньше 100 мА. Поэтому такая плата может служить чем-то вроде watchdog для Black Swift, погружая его в режим глубокого сна (там есть же такой?) и пробуждая его оттуда. Своеобразный Wake-On-Bluetooth.
              • –1
                хм, а сценарий со включением при появления рядом ≥1 обнаружимого устройства в таком виде с последующей отдачей данных об этом девайсе — реален?
                • 0
                  Покажу на примере то, что я хочу сделать.
                  Пусть у нас есть Black Swift с камерой. И надо, например, раз в час или по запросу забирать с камеры кадр, накладывать пару фильтров или OSD и сохранять на карту памяти. Держать постоянно включенный B.S. с потреблением в 0,1А — не совсем выгодно. Например, контроллер STM32L100RB потребляет 185 мкА/МГц, передатчик Bluetooth — до 10 мА во время передачи. Контроллер с помощью своих часов реального времени по графику будит B.S., а тот делает снимок и сообщает контроллеру о том, что его можно отключить.

                  А когда и при каких условиях контроллер будет будить B.S. — задача прошивки МК, где все ограничено фантазией и возможностями приемника BLE.
                  • 0
                    В крайнем случае можно через MOSFET управлять питанием BSB c контроллера (включили питание модуля, подождали пока он загрузиться, сделает кадр, после чего выключить его)
        • 0
          Я игрался с SD WiFi от Transcend. Игрался, игрался, да спалил, так ничего путного и не сделав :-(.
          Поэтому, тоже бы приобрел бы такую платку.
          • 0
            Я в своей убил прошивку при обновлении.

            Лог загрузки
            KA Boot 04240806
            
            scu: 11c33303,00000000,00040404,00009f00,1
            Status 20100805
            
            Hit to stop :  2.. 1.. 0
            Wait m1 timeout - Status 20100805 RCA0 68, RCA1 b3
            (5)m1 not readyStatus 20100805
            InitCard failed
            ** Can't read from device 1 **
            ** Can't read from device 1 **
            reading program.bin
            Error: reading boot sector
            <mmc1>go 208000
            

            • 0
              Очень похоже на то, что у меня было. Только я ничего не перешивал. Она стала через раз загружаться с похожими сообщениями, а потом совсем перестала. Плюс ко всему, последовательный порт начинал глючить после длительного использования (более 15 минут) и приходил в норму после отдыха. Иногда. Короче, я ее разломал на две половинки и выкинул.
              • 0
                Вообще если кто скучает, я могу свою подарить, она пыль на полке собирает.
                • 0
                  Передайте ее Жеребкову, пожалуйста. Я заберу у него при встрече.
                  Хоть какая-то от него польза будет :)
                  • 0
                    Ok, при следующей встрече попробую не забыть :)
                    • 0
                      Вот ведь ты жадный.
                      • 0
                        Я не жадный, я домовитый (с)
            • +4
              «задача, которая у нас будет решаться легко» — чем больше у вас на сайте будет примеров подключения переферии к Black Swift с исходными кодами и схемами, тем легче будет с ним работать, тем больше у вас будет клиентов и желающих купить Black Swift. Ардуино тем и привлекательна, что есть примеры для огромного числа подключаемых устройств. Еще бы такую же простую IDE для него :)
              • +4
                Примеры будут добавляться и добавляться. И отдельные про работу с конкретными вещами, и образцы готовых проектов.

                А вот насчёт IDE я не уверен — родная ардуиновская довольно страшна лицом. Здесь я возможность писать хоть в блокноте, хоть в IDEA рассматриваю как большой плюс, тем более, что и писать можно на весьма разных языках, в зависимости от потребностей и текущих знаний.
                • +2
                  Страшна, согласен, но для старта, очень удобна.
                  Вы главное не забрасывайте проект, может стоит задуматься о комбайне в виде Atheros AR9331 и какой-нибудь Атмеги или что-то подобного, а может найти еще более производительный чип взамен: Atheros AR9331. Стандартизируйте свою платформу и будет очень не плохая альтернатива существующим микрокомпьютерам.
                  • 0
                    Для старта мы хотим и вовсе сделать веб-интерфейс, в котором можно будет быстро сделать простые вещи типа привязки GPIO к событиям или друг к другу (пришла «1» на один — выдали «1» на другой и т.п.). Даже на такой простой базе уже можно делать многие забавные вещи.

                    Про комбайн с AVR думаем. На атмеге удобно сделать многоканальный АЦП и ШИМ, как минимум.

                    Более производительный чип — будет дороже (мы ж не Raspberry, нам Broadcom деньги не носит), а вот нужна ли эта производительность в реальных встраиваемых применениях — большой вопрос.
                    • 0
                      Насчет производительности возможно вы правы, но это как говорится: «на будущее». Кстати, было бы не плохо, вместе Black Swift, купить еще и готовые шилды (wifi-антену, реле, светодиоды и т.д.). Чтобы воткнул и заработало.
                      • 0
                        В будущем и на смену AR9331 придёт что-то новое за те же деньги — тогда и.

                        Антенна на плате уже есть (более того, разъём для внешней будет только в конфигурациях под заказ, в штатной на его месте кнопка сброса настроек), насчёт платы с базовым набором «пара реле, пяток светодиодов, несколько кнопок» — думаем, да. Может, ещё и AVR сразу на неё же воткнём.
                        • +2
                          А может не AVR, а stm32? Заодно уровни согласовывать не надо будет, да и камень поинтереснее.
                          • 0
                            Здесь, к сожалению, любое решение окажется «неправильным». Надо две ревизии плат делать, типа как для фанатов Спартака и ЦСКА.
                            • 0
                              Можно, но сложнее, а больших плюсов я не вижу. Вычислительной мощности у AR9331 по-любому больше, а базовую периферию в виде АЦП и ШИМ и AVR нормально обеспечит — при куда большей простоте разработки под него.
                              • 0
                                Не просто AVR, а ATtiny какая-нибудь за 50 центов, думаю, вполне подойдет.
                                • 0
                                  Ну да. Она ещё и маленькая.

                                  ЦАП только в этих AVR нет в принципе (есть в XMega, но это уже перебор), ну да часто ли он нужен.
                                • 0
                                  ШИМ можно и программно реализовать на самом модуле (правда не особо точный, но для серв вполне хватает).
                                  По поводу AVR/STM32 могу сказать что второе более интересное (это сугубо личное мнение каждого).
                                  Но в пользу STM могу добавить что их можно шить на прямую по UART или USB (можно сделать плату расширения с STM в который можно будет через модуль заливать прошивки по необходимости)
                                  • 0
                                    Программный ШИМ реализован и работает вполне неплохо (для программного ШИМа на ОС не РВ). Но до аппаратного ему — как до Луны, увы.
                                    STM, конечно же, помощнее заметно. Но, с другой стороны, форм-фактор все-таки ограничивает.
                                    • 0
                                      STM32 — это интересно как решение для разработчиков по возможностям и цене. Но под AVR зверски просто писать, так что если мы ориентируемся на широкую аудиторию, которая будет что-то там внутри ковырять — AVR выглядит лучше.
                                      • 0
                                        под STM тоже не особо сложно писать (многие примеры с AVR при небольшом допиливании работают и на STM, а с помощью проекта mbed.org можно сразу набросать простенькую прошивку.
                                        • 0
                                          У меня обратный опыт: под stm очень просто писать, всегда можно подключиться gdb и посмотреть, что твое творение делает. А на avr надо запаять светодиодик, подключить осциллограф и расставить дебаговые дерганья ножкой.
                                          • 0
                                            Согласен, не все AVR поддерживают аппаратную отладку в отличии от stm32
                              • 0
                                А Scratch не смотрели? Под него легко плагин написать
                                • 0
                                  Как-то оно очень игровым по презентации выглядит. Не говорю, что оно не умеет и обычных задач решать, но выглядит неправильно. :)
                                  • 0
                                    А вы потратьте полчаса и поглядите. Это опенсорсный проект поддерживаемый гуглом и MIT, у него масса более прилично выглядящих реализаций.
                                    • 0
                                      Спасибо, посмотрю.
                                      • +1
                                        День добрый.
                                        Лучше Дракон.
                                        Почти в каждой статье кто-то отписывается про Scratch или подобное.
                                        Это не работает за пределами «помигать лампочкой».
                                        И ориентировано на школьников/дошкольников.

                                        Взрослым дядькам, далеким от программирования лучше подойдет Дракон.
                                        • 0
                                          Во, вот это уже сразу правильно выглядит!

                                          Я просто, как человек от маркетинга, придерживаюсь концепции the medium is the message, она обычно не подводит.
                                          • +3
                                            Стоит обратить отдельное внимание на то что он умеет генерировать код для разных языков. С, Java, C#, Javascript, да их там дофига. И недавно сделали подсветку синтаксиса. И это советско-российская разработка. Так что есть шанс запилить еще и среду разработки отечественную. С открытым исходным кодом =)
                            • +2
                              Вот нуб вам говорю: IDE для новичка и примеры — это почти что единственный способ пройти этап обучения.
                              Если что то подобное будет в веб-интерфейсе (не просто чекбоксы или селекты, а редактор кода причем достаточно высокоуровневого ЯП) — это будет замечательно!
                              • 0
                                В виртуальной машине полностью настроенный Eclipse с примерами. Помигать светодиодом (да еще и в режиме удаленной отладки по WiFi) — дело одной минуты.
                                • 0
                                  Какой ЯП используется?
                                  • 0
                                    Я традиционно C/C++. Но для скриптовиков там вполне раздолье — тот же python, например.
                          • 0
                            Есть ли в планах выпуск аналога eye.fi?
                            • +1
                              Нет. Очень специфическое изделие и маленький рынок (более того — сокращающийся).
                              • 0
                                А почему рынок сокращается? Из-за выхода устройств с встроенной вафлей?
                                • +3
                                  а) выход устройств со встроенным Wi-Fi
                                  б) общее падение рынка фотоаппаратов в пользу смартфонов
                                  в) переезд консьюмерских моделей на microSD
                          • +2
                            С нетерпением жду заказанных машинок :)
                            Как вы пережили скачок валют?
                            • +6
                              Плакали, били кулаком правой руки в ладонь левой, доедали последние кактусы в офисе. Но пока живы.
                              • 0
                                Наверное, вопрос подразумевал то как это сказалось на ценах закупки компонентов, да и вообще на повышение себестоимости :)
                                • 0
                                  С этим как раз всё понятно — все закупки и оплата производства в долларах, так что рублёвая цена в дальнейшем будет меняться соответственно курсу.
                            • +3
                              классная вещь получилась. жду когда можно будет заказать
                              • +1
                                Заказать уже можно (и даже еще пока по старым ценам) на www.smartlx.ru. Завтра-послезавтра перекинем предзаказ на www.black-swift.ru, и заодно цены проапгрейдим.
                                • 0
                                  Если выбираю «доставку по миру», то данные на английском лучше заполнять?
                                  • 0
                                    Не принципиально. Все равно перед доставкой все будем по десять раз проверять.
                                    • 0
                                      Заказал на smartlx, подтверждение регистрации на сайте и оплаты письменно пришло, а письмо-подтверждение осуществленного заказа — не приходило. Is it bug or feature? :) Номер счета 241214308495599
                                      • 0
                                        Сейчас все заказы пока имеют статус «Pending».
                                  • 0
                                    Не смог оформить доставку… Не хочет меня регистрировать.
                                    И еще толи антиспам сломался, толи не верную причину отказа пишет.
                                    Потому что я точно уверен что 13 плюс 13 равно 26.
                                    раз 10 попробовал. «Ответ неправильный. Попробуйте еще раз!»
                                    • 0
                                      Все. Разобрался. Оформил предзаказ, правда не знаю зачем. :)
                                      А форма логина у вас говорит что антиспам не верный в любой непонятной ситуации. Например, если не найден пользователь.
                                • 0
                                  Раз уж речь идет о компактности и мобильности — как можно такую штуку компактно запитать от батарейки/аккумулятора без длинных USB проводов и розетки? Тогда было бы очень круто использовать эту платку для создания мобильных гаджетов.
                                  • 0
                                    От любого мобильного powerbank'а — напрямую.

                                    От литиевой банки — тоже напрямую (на вход +5 В), но высасываться будет где-то 75 % ёмкости, потому что ниже 3,6 В плата работать не умеет (к счастью, у лития пологая разрядная кривая, так что до 3,6 В он успеет большую часть запасов отдать). USB при этом корректно работать не будет, конечно, ему нужны строго +5 В.

                                    От литиевой банки красиво и до упора — надо внешний контроллер делать, с выходом на 5 В или 3,3 В.

                                    От батареек или Ni-MH — либо от 3-4 штук на вход +5 В напрямую (опять без работающего USB), либо, как и с литием, делать внешний контроллер, который будет уметь высаживать батарейки в ноль (до 0,7 В).
                                    • 0
                                      PowerBank'и большие. Все технические подробности которые вы написали далее мне, увы, не сильно понятны. И честно говоря не сильно интересны. Просто как программеру мне интересно написать например какую-нибудь следилку, которую я смогу легко прицепить на одежду, или в чемодан положить, или на велосипед навесить и т.п. Тут чем компактнее тем легче. И пусть при этом заряда хватит на несколько часов или день например — часто больше и не надо. Поэтому как прикладной программист я бы хотел решение из серии «просто воткни вот это вот так» или «вставь батарейку и готово»))) То что я понял из комментария — что 3-4 батарейки равны примерно банке. Ну допустим ОК. Что непонятно — на какое время работы (порядок цифр) при этом можно рассчитывать допустим в режиме простоя. Я понимаю что это высчитывается по вашим цифрам, но реально — не настолько люблю физику и электронику, увы)))
                                      • 0
                                        От 5-6 часов до суток-двух, смотря чего и какой ёмкости вы будете использовать для питания.

                                        Но вообще для некоей автономной следилки здесь решение изначально не очень подходящее по набору функций (хотя бы потому, что Wi-Fi ей вряд ли нужен).
                                        • 0
                                          wi-fi пригодится в других случаях. очень здорово, что одну платку можно приспособить для множества разных экспериментов и идей.
                                          • 0
                                            Ну тогда, если говорить простыми словами, можно взять любой заряженный литиевый аккумулятор, подключить его к входу +5 В платы — и она будет работать в течение скольких-то часов. При таком варианте нельзя только использовать USB-устройства, потому что им надо строго +5 В, а аккумулятор выдаёт от 3,6 до 4,1 В, в зависимости от его текущего заряда.

                                            Если нужно, чтобы было USB, или чтобы из аккума выжать все соки (при прямом подключении плата отрубится, когда в аккуме останется ещё около четверти заряда) — надо делать преобразователь напряжения. Это в принципе не очень сложно, но требует навыков в электронике.
                                            • 0
                                              С навыками туго, так что видимо компактная банка все равно пригодится для таких целей. Спасибо за разъяснения!
                                              • 0
                                                У меня сдохла одна банка в павербанке, так я разобрал банк, и приделал платку от него (размером она где-то с рублёвую монету) к маленькому (как раньше в телефонах были) LiPol аккумулятору, который у меня валялся. Можете сделать так же — будет и зарядка от USB, и выход 5В.
                                          • 0
                                            По времени — неплохо, спасибо. Батарейки все-таки на порядок дешевле банок для редкого использования. И всегда и везде их можно прикупить дешево.
                                            • 0
                                              Батарейки громоздкие немного, тут уже конкуренция с плоскими павербанками по размеру конструкции будет (а по геморрою павербанк на порядок удобнее, так как вся электроника контроля заряда-разряда уже внутри).
                                          • 0
                                            смотрите, 18650 — типичная ёмкость 3 ампер-часа. Железка жрёт в среднем 100 мА, не более 300, значит, время работы — от 10 до 30 часов.

                                            если считаем, что мы высосем не весь элемент, получится от 7 до 22 часов

                                            можно взять 22650, их ёмкость больше (но и сами они большего диаметра)
                                            • 0
                                              Спасибо за доходчивое объяснение.
                                          • 0
                                            Олег, от 3.4В таки работает. :-)
                                            • 0
                                              Так, считаем.

                                              Индуктивность — 0,0876 Ом (макс.). Открытый канал регулятора — 0,48 Ом. Итого 0,57 Ом, если округлить.

                                              На этом при 300 мА падает 0,17 В. AR9331 работает от 2,97 В — то есть да, без внешней нагрузки должно работать при входном вплоть до 3,14 В (sic!) без проблем.

                                              Под полной нагрузкой падает уже 0,57 В — тогда должно работать от 3,54 В.

                                              Но это предельный случай, в типовом сопротивления на ~30 % меньше.
                                              • 0
                                                Короче, я в спеках оставлю 3,6 В — это гарантированная работа при максимальной нагрузке на регулятор :)

                                                Надо потом в бложик на сайте пост написать о том, как нижний предел напряжения определяется. Или в вики.
                                                • 0
                                                  Ну, я проще поступил — уменьшал напряжение на лабораторнике и ждал, когда отрубится. :-)
                                                  • 0
                                                    Экспериментаторы против теоретиков!
                                          • +13
                                            Эта картинка обязана быть в комментариях
                                            • 0
                                              Я так и не нашёл нигде кнопки «Оформить заказ»
                                              Может, не там искал?
                                              • 0
                                                Это потому что он не кнопкой, а ссылкой!

                                                Шутка. Предзаказы до сих пор живут на www.smartlx.ru/shop, ну и 27 января (перенесли на неделю) стартует Кикстартер.
                                            • 0
                                              О! Уже хочю! Кстати а node.js на нем получиться запустить? И так же интересно а можно ви-фи отключать програмно? я понимаю что это как серпом по этому самому — но интересно чисто технически — поставил сеанс связи на 12 часов и она «молчит» и не светится в эфире…
                                              • +1
                                                Я сам удивлён ответом, но ДА: github.com/giorrrgio/nodejs-linino
                                                • +1
                                                  Интересно, позволит ли объем флэш и имеющиеся ресурсы запихнуть туда Cloud9 IDE, как в Beagle Bone Black? Пусть и отрезав что-нибудь не сильно нужное :) Или хотя бы подобную браузерную IDE. Я человек, не чурающийся кросс-компиляции, но, имхо, вот он, эталон низкого порога вхождения: подключаем плату по USB, открываем браузер, творим. Я осознаю, что нельзя сравнивать BBB и BS (неудачная, однако, аббревиатура вышла) — по тому же объему флэша разница на порядки, и мне лично подойдет и тулчейн (даже без VM). Но для хобби-применений это была бы просто бомба…
                                                  • 0
                                                    Официальная аббревиатура — BSB, Black Swift Board ;)
                                                  • 0
                                                    Вот только вопрос: хватит ли памяти и не будет ли сильных тормозов с нодой? Возможно, проведете тестирование. У меня проект на Малине с node.js, но большая часть компонентов в ней просто не нужна. Ваша плата меня заинтересовала и возник вопрос миграции.
                                                    А второй вопрос, как бы это тривиально не прозвучало, про рубли: в первой статье были указаны 750руб., но $25 сейчас это уже на порядок больше(в связи с известными событиями). По телеку говорили что-то о том, что с китайцами можно будет вести расчет в рублях или типа того. Есть ли какие-нибудь планы по снижению цен для российский потребителей за счет отказа в расчетах от иностранной валюты?
                                                    • 0
                                                      C node.js — пробовать надо, конечно. Есть такая штука, как Linino — тоже AR9331, своё ответвление OpenWRT и готовый пакет node.js, но я что-то нигде не могу найти реальных впечатлений людей о производительности связки.

                                                      Сейчас по предзаказу цена 950 рублей. Расчёты все ведутся, увы, в долларах, так что цена ещё подрастёт.
                                                      • 0
                                                        Спасибо. Думаю, мы переживем это. Я с оптимизмом смотрю в будущее и верю, что у китайцев можно будет заказать электронику по цене, независящей от колебаний курса валюты, прямо с зарплатной карточки Сбербанка или счета ЯД :)
                                                        • +3
                                                          По-любому еще верите в Деда Мороза и Зубную фею :)
                                                          • 0
                                                            Я тут на протяжении последнего времени три раза с человеком из одной и той же компании общался. Выглядело так:
                                                            1) (за неделю до 16 декабря) Ну, мы сейчас будем развиваться на российском рынке…
                                                            2) (16 декабря) К чёрту российский рынок!
                                                            3) (через неделю после 16 декабря) Ну, мы всё-таки будем развиваться на российском рынке…

                                                            Так что всё нормально, ну кризис, но не кризис-кризис-кризис же:)
                                                          • +3
                                                            Вполне реалистичный вариант, если юани/доллары станут валютой в РФ
                                                        • 0
                                                          По телеку говорили что-то о том, что с китайцами можно будет вести расчет в рублях или типа того.

                                                          Вряд ли.
                                                      • 0
                                                        Пардон, был так впечатлён Node.js на роутерном чипсете, что не заметил второй вопрос.

                                                        Wi-Fi — да, конечно, он выключается. Там же изначально OpenWRT, операционка для роутеров, всё, имеющее отношение к работе в сети, она умеет изначально и хорошо.
                                                        • 0
                                                          Спасибо, побежал предзаказывать :)
                                                        • 0
                                                          Команды «wifi down» и «wifi up» есть, если что. Забавно смотреть, как они влияют на энергопотребление… :-)
                                                        • +1
                                                          Заказать уже можно?
                                                          • 0
                                                            Можно. Я чуть выше написал комментарий.
                                                            • 0
                                                              Возможность перепрошивать на низком уровне (по шине SPI) микросхему NOR flash памяти без ее извлечения с другой платы Black Swift.


                                                              А обычная как перешивается?
                                                              • 0
                                                                Обычная прошивается программатором перед ее запайкой на плату.
                                                                Если микросхема NOR flash уже установлена на плате, и на нее подать питание от программатора, то от этого питания заводится и процессор, который с этой микросхемой пытается по той же шине SPI взаимодействовать. Так что задача программирования флэш-памяти без выпаивания сводится к задаче «отрубить от нее на время программирования процессор нафиг».
                                                                • 0
                                                                  Объясните мне понятней. Что я смогу и чего я не смогу на обычной версии платы? Есть ли какие либо вещи, которые в принципе возможны только ( с учетом всех возможных лайвхаков) на девелоперской версии?

                                                                  Почему плата расширения с разьемами такая дорогая у Вас?

                                                                  Вы всерьез предлагаете владельцам обычной версии выпаивать флешку для перепрошивки?
                                                                  • 0
                                                                    Не-не-не.

                                                                    Девелоперская версия — это расширенные возможности восстановления после фатального сбоя (прошивка по USB-UART, прямая работа с флэшем). Она нужна для тех, кто серьёзно собирается ковыряться в прошивке с большим шансом быстро и регулярно доводить плату до состояния кирпича. Отладка ядра, отладка критичных драйверов, установка отличных от OpenWRT ОС, ковыряние в бутлоадере.

                                                                    Всё остальное в одинаковой степени возможно на любой версии платы.

                                                                    Всем остальным для прошивки есть штатные возможности OpenWRT, если OpenWRT будет случайно убита так, что даже сброс настроек не помогает — то прошивка с помощью внешнего адаптера USB-UART.
                                                                    • 0
                                                                      А сколько по времени занимает прошивка по USART?
                                                                      • 0
                                                                        Минут десять, UART — это не особо быстро.
                                                                        • 0
                                                                          Вот интересно, возможно ли в U-BOOT бутлоадере поднять WIFI чтоб можно было обновить чип с помощью TFTP?
                                                                          • 0
                                                                            Не нашли мы пока ни одного примера, как в ю-буте поднять WiFi. Сами очень хотим сделать…
                                                                      • 0
                                                                        Почему плата расширения с разьемами такая дорогая у Вас? — осталось без ответа.
                                                                        • 0
                                                                          Которая 200 рублей или 800? Впрочем, я в обоих случаях не вижу ничего особенно дорогого.
                                                                          • 0
                                                                            Если цена и того и другого не включает в себя доставку, то она завышенная в обоих случаях. Ибо тогда совокупная стоимость устройства (особенно в случае версии разработчика и модуля за 800) приближается к цене Raspbery Pi, которая явно значительно (предположительно на порядки) превосходит по вычислительной мощности.
                                                                            • 0
                                                                              У нас нет задачи быть дешевле RPi. Если он для ваших задач подходит лучше — возьмите его и не мучайтесь.
                                                                              • 0
                                                                                Странно. Плата расширения за 800 получается ненужной за такие деньги. Иначе все не захотят мучатся и возьмут RPi B+ или A+ и все.
                                                                                • 0
                                                                                  Я сейчас для себя делаю устройство, у которого внутренний объём под электронику, включая блок питания, примерно 30×50×35 мм основной и ещё 30x38x13 мм выступ сверху. И там нужен Wi-Fi, да. Вы можете, не мучаясь, сделать эту электронику на RPi B+, A+ или любой другой RPi на ваш выбор? Я был бы признателен.

                                                                                  P.S. Вообще удивительно читать такие комментарии под статьёй, в которой отдельно написано, почему Black Swift — не Raspberry Pi, и стоит ссылка на сайт, в котором единственный пока пост в блоге посвящён разжёвыванию того же.
                                                                                  • 0
                                                                                    Вы понимаете, о чем я говорю? Я не говорю Black Swift ненужен, очень даже нужен. Но вместе с платой расширения за 800, он попадает в другую размерную (габариты платы 94 на 42 миллиметра) и ценовую категорию. И в этом случае его конкурентоспособность оказывается под вопросом.

                                                                                    Плата расширения должна быть или более дешевой, или более функциональной, чем есть. Для текущего варианта я считаю приемлемой цену в районе 500-600 рублей, но это предел.

                                                                                    Зачем делать заранее неудачный аксессуар или аксессуар для узкой категории?
                                                                                    • +4
                                                                                      Платы расширения не делаются для использования в готовых конструкциях. Любой devboard — это просто средство предварительной отладки проекта, и стоят они зачастую по несколько тысяч рублей — это не играет никакой особой роли.
                                                                          • +2
                                                                            Все спецификации на все платы будут выложены в открытый доступ. Кто захочет — тот сделает сам. Может быть, даже получится сделать дешевле.
                                                                            Вопросы ценообразования — довольно сложные, но по себестоимости могу сказать следующее:
                                                                            1. Если на основную плату планируется тираж не менее 1000 шт, и делаться они будут в Китае, то вспомогательные платы будут изготавливаться куда меньшим тиражом (очевидно — мы смотрим по уже состоявшимся заказам), и в России (т.к. потребуют ручной пайки, а в Китае мы категорически ничего их руками не паяем).
                                                                            2. Если взять примитивную плату-переходник с 1.27 на 2.54, то там на разъемах получается 100 точек пайки. Ручной. По 80 копеек за штуку — сходу 80 рублей на одну плату. Возможно, у кого-то есть варианты дешевле, но у нас — пока нет.
                                                                            3. Основную плату мы собираемся распространять в России по себестоимости (на самом деле сейчас получается даже чуть ниже себестоимости, из-за роста курса доллара). Мы идем на это сознательно, чтобы наше решение получило максимальное распространение среди инженеров-разработчиков, как технологическая платформа. Поэтому, очевидно, мы пытаемся хоть немного заработать на необязательных аксессуарах.
                                                                    • 0
                                                                      В смысле, на уже работающей плате?

                                                                      1) Штатными средствами OpenWRT по Wi-Fi
                                                                      2) Штатными средствами бутлоадера по мостику USB → TTL UART
                                                                • 0
                                                                  А не могли бы вы пояснить мне, как чайнику в электронике — что именно делаете вы в данном проекте? Я так понял, что конечное производство за рубежом, производство компонентов — тоже. Вы делаете чертежи-схемы-спецификации? Какой он, современный процесс создания устройств?
                                                                  • +2
                                                                    Определение вида конечного устройства (что оно делать, как оно это делает), разработка схемотехники и платы, заказ производства, отладка образцов — это всё делается из России. То есть да, чертежи-схемы-спецификации. Производство просто получает готовые чертежи, берёт под козырёк и паяет, спаянное молча выдаёт на руки.

                                                                    Технически ничто не мешает заказать производство и в России, но это будет попросту дороже.

                                                                    Российских компонентов для таких устройств по понятным причинам не бывает.
                                                                    • 0
                                                                      Спасибо. Я из любопытства спрашивал, как оно вообще делается. А патриотичный вопрос «А че не в России делаете?» у меня не стоял. BarsMonster неоднократно на эту тему писал.
                                                                    • 0
                                                                      Насколько я, как такой же чайник, вижу — ребята занимаются проектированием, тестированием платы, заточкой software и hardware под неё.
                                                                      Мне лично очень симпатичен этот проект потому, что в электронике я чайник он слова «совсем» и мне хочется втыкнуть проводок, увидеть интерфейс, открыть мануалы и начать разбираться.
                                                                      И я хочу избежать танцев с программаторами и прочими хитрыми устройствами по крайней мере на начальном этапе.
                                                                      ИМХО все мои хотелки данный проект удовлетворяет в полной мере.
                                                                    • 0
                                                                      Получилось отличное устройство.
                                                                      Если вы в него воткнете новомодный BLE, то ему вообще цены не будет (биконы пилить, техникой с мобилки управлять, ...) и у ардуины не будет шансов.
                                                                      Удачи на kickstarter.
                                                                      • 0
                                                                        Для Bluetooth все упирается в антенну, по большому счету. В этом форм-факторе две антенны на 2.4ГГц — увы, никак.

                                                                        P.S. Совершенно непонятно, если честно, зачем в таком устройстве BLE? Сама железка жрет весьма заметно, т.е. от батарейки годами жить не сможет. А для «нескромного» питания WiFi всяко лучше, чем Bluetooth.
                                                                        • 0
                                                                          BLE актуален не из-за батарейки, а из-за поддержки iOS/Android.
                                                                          Например законнектился к девайсу с айфона и конфигурируешь его, моделькой управляешь,…
                                                                          В общем, задумайтесь о BLE. Его наличие может сильно повлиять на востребованность устройства.
                                                                          • +3
                                                                            Прошу прощения, но разве WiFi не поддерживается iOS/Android?
                                                                            Вот в этой фразе «законнектился к девайсу с айфона и конфигурируешь его, моделькой управляешь» — точно про BLE, а не про WiFi?
                                                                            • 0
                                                                              Для BLE в отличие от WiFi есть API.

                                                                            • 0
                                                                              wifi сейчас тоже во всех смартфонах, можно сделать нормальный web интерфейс (совместимый с мобильными устройствами) через который производить настройку
                                                                              • 0
                                                                                А как предполагается коннектить два девайса?
                                                                                Кто будет выступать в роли точки доступа?
                                                                                • 0
                                                                                  модуль, на нем будет поднят web server (ip модуля в базовой конфигурации можно задать постоянным, например 192.168.0.1)
                                                                                  Вбив этот адрес в браузер — откроется страница настройки (так же как и в роутерах)
                                                                                  • 0
                                                                                    Так в этом и проблема, что нужно куда-то коннектиться. Плюс если устройство выступает в роли точки доступа, то оно не сможет быть подключено к сети.

                                                                                    А с BLE вообще красота. Запустил приложение и оно само все сделало. Не надо лезть в настройки Wi-Fi,…
                                                                                    • 0
                                                                                      Таки приложение само все сделало? Без настроек предварительных?
                                                                                      • 0
                                                                                        Если приложение сразу заточено под конкретные устройства — почему нет?
                                                                                        Ну там машинкой какой-нибудь управлять по BLE вполне удобно, это правда.
                                                                                        • 0
                                                                                          тогда такое приложение уже должно быть кем-то написано и его нужно будет установить, а тут всего лишь подключится по wifi и открыть в браузере.
                                                                                          Да и можно будет в дальнейшем и для этого модуля сделать приложения для автоматического подключения и настройки ;)
                                                                                          • 0
                                                                                            Да и можно будет в дальнейшем и для этого модуля сделать приложения для автоматического подключения и настройки ;)


                                                                                            В посте выше даже написано, как ;)
                                                                              • 0
                                                                                Обычный Bluetooth (2.0) поддерживается в Android (а вот BT Smart есть пока далеко не во всех девайсах, к сожалению). С абсолютной уверенностью могу сказать про профиль SPP, есть завершенный проект на эту тему. Bluetooth dongle (и даже Bluetooth Smart dongle) можно воткнуть в USB, если сильно необходим именно BT.
                                                                                • 0
                                                                                  iOS позволяет работать только с BLE устройствами.
                                                                                  • 0
                                                                                    Давайте оставим это проблемой iOS. Через пару версий добавят, не впервой.
                                                                                • 0
                                                                                  Ага, начиная с версии 4.3.
                                                                                  И толку от его обратной совместимости со стандартами до 2.1 никакого.

                                                                                  Не нужен он тут. А кому надо — тот подключит свистульку по USB.
                                                                            • 0
                                                                              А Ethernet как подключается?
                                                                              • +1
                                                                                На гребёнку выведены два комплекта RX/TX и «средняя точка» 2,0 В, остаётся добавить несколько резисторов-конденсаторов и розетку с трансформатором (типа такой).

                                                                                Схему можно посмотреть на примере TL-WR703N, например.
                                                                              • +1
                                                                                Вот тут IDE симпатишная фигурирует www.we-io.net/features.html, проц такой же, так что может и к вам подойдёт. Вроде как ACE ace.c9.io/#nav=about
                                                                                • 0
                                                                                  Мы с этими ребятами переписывались. У них, похоже, поддержка AR9331 умирает (они хотят более производительный чип).
                                                                                • 0
                                                                                  Может всю плату, кроме GPIO, плотным компаундом залить? Для промышленного применения самое то, влагозащита и устойчивость к сколам деталей.
                                                                                  • 0
                                                                                    Как нам тут на днях сказали на эту тему в одной очень серьезной организации — «отгниет вместе с компаундом». Люди знают, о чем говорят. :-)
                                                                                    • 0
                                                                                      Для дома этого много.
                                                                                      Для промышленности этого мало.
                                                                                      Но если надо — под заказ можно всё :)
                                                                                      • 0
                                                                                        Для промышленного применения не придумано ничего лучше боксов IP67/IP68. Компаунд это гарантия проблем в агрессивной среде.
                                                                                        • 0
                                                                                          Компаунд то может и перебор, а вот лаком надо бы.
                                                                                        • 0
                                                                                          Можно ли туда запихнуть обычный полноценный дистрибутив?
                                                                                          Планируется ли на плате сделать микросд разьём для втыкания туда карточки с ос?
                                                                                          Насчёт обвязки — меня интересует вариант прицепить туда 1wire контроллер и шину для разных цацок.
                                                                                          Идея коробочки очень интересная, но в силу моей адовой близорукости я и паяльник несовместимы — есть ли вариант ножек как для подключения усб портов или кнопки питания на мат. плате пк?
                                                                                          если там есть php — можно ли воткнуть туда допустим perl (php я не знаю) с предсобранными модулями Mojolicious?
                                                                                          • 0
                                                                                            Полноценный — это десктопный? В принципе можно собрать, конечно, хоть убунту под MIPS, но практического смысла это не несёт.

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

                                                                                            Будет вариант платы уже с припаянными разъёмами 1,27 мм, и будет плата расширения с переходником на более крупные 2,54 мм.

                                                                                            1wire можно реализовать и вовсе программно.

                                                                                            Perl под OpenWRT есть готовый.
                                                                                            • 0
                                                                                              ну про полноценный я имел в виду безгуевый вариант, вроде debian-minimal/Ubuntu-alternate. OpenWRT почти во всех вариантах роутеров что я видел был, мягко говоря, урезан по самое.
                                                                                              А модули для Perl?

                                                                                              Спасибо, идя про программный 1wire мне в голову как-то не пришла.
                                                                                              • 0
                                                                                                Урезание традиционно делается одним способом: есть busybox, в которых входят обкорнанные версии популярных пакетов, а есть те же пакеты отдельно. Busybox используют для экономии места, у нас же места навалом, так что ничто не мешает все нужные пакеты поставить в нормальном виде.

                                                                                                Модули — то, что ставится через CPAN, по идее должно работать, стандартных модулей в репозитории гора. Но я не проверял — я и в perl не очень, и OpenWRT свежей (14.07) под рукой сейчас нет.
                                                                                          • 0
                                                                                            Подскажите, есть ли какой-нибудь доступный how-to по работе с GPIO? Есть ли на них прерывания? Какая максимальная частота меандра на выходе получается?
                                                                                            • 0
                                                                                              Статья у меня написана на 75%. Допишу — опубликую. Там все просто.
                                                                                              Прерывания есть.
                                                                                              Время изменения состояния GPIO — порядка 100 наносекунд. Но ОС — не РВ, так что с точными временными интервалами между изменениями есть очевидные проблемы.
                                                                                              • 0
                                                                                                На часть ваших вопросов отвечает: http://habrahabr.ru/post/236251/
                                                                                                • 0
                                                                                                  Через sysfs c GPIO уж больно медленно получается работать. Порядка 3 мс переключение.
                                                                                                  • 0
                                                                                                    Ну да, так и есть. Если нужна более быстрая скорость — нужно писать ядерный модуль, но для большинства случаев sysfs прекрасно подойдет. Вы имейте в виду, что эмуляция быстрых интерфейсов на GPIO да еще и под Linux — не самая хорошая идея. Во первых: сам драйвер будет впустую сжирать ресурсы, так как маленькие задержки не получится делать на таймерах с переключением контекста, а придется их делать на пустых циклах. А во вторых: стабильной временной диаграммы вы все-равно не получите. Увы, но лучше иметь аппаратную реализацию.
                                                                                                    • 0
                                                                                                      Не нужно писать ядерный модуль. Обычное наше юзерспейсное приложение умеет переключать GPIO за 100 наносекунд.
                                                                                                      А для стабильной временной диаграммы у нас в голове сидит забавный хак. Но пока не реализовали, да.
                                                                                                      • 0
                                                                                                        Ok, тогда было бы интересно посмотреть, как у вас это получилось. Буду с нетерпением ждать статью.
                                                                                              • +6
                                                                                                У меня один вопрос: За что? Ну почему все и всё называют swift?

                                                                                                Приехал программист на swift'е, чтобы на swift залить программу на swift'е, которая через SWIFT деньги отправляет на покупку black swift'а.
                                                                                                • +1
                                                                                                  По этому поводу я могу только рассказать старый анекдот:

                                                                                                  Командировочный в Одессе хочет починить часы. Долго ищет часовую мастерскую.
                                                                                                  Наконец, замечает висящие над входом большие часы. Заходит и обращается со своей
                                                                                                  просьбой. Ему отвечают:
                                                                                                  — Мы часы не ремонтируем.
                                                                                                  — А что же вы делаете?
                                                                                                  — Обрезание.
                                                                                                  — Почему же у вас над входом часы висят?
                                                                                                  — А что бы вы хотели, чтобы там висело?

                                                                                                  Уверен, что у вас нейминг получился бы лучше, но у нас — вот как-то так…
                                                                                                  • +3
                                                                                                    С этим к