11 апреля 2013 в 18:06

Wiren Board — встраиваемый компьютер с Wi-Fi, GPRS, GPS, NFC и Ethernet из коробки



update: Мы ещё живы и наконец-то открыли продажи!готовим первую партию к продаже конце сентября.
Новая версия стала куда лучше и выглядит теперь вот так:


Подробности в нашем блоге.
/update

TL;DR (Abstract)


Мы сделали маленький «одноплатный» встраиваемый компьютер с хорошим набором периферии, в основном беспроводной (GSM/GPRS, NFC, Wi-Fi, GPS, Ethernet, etc). Рабочее название — Wiren Board (от Wireless Enabled)

Предполагается, что использоваться он будет для всяческой автоматизации — то есть в качестве «мозга» для оборудования. Если вы хотите сделать умное устройство, не разрабатывая целиком собственное сложное железо, то это для вас. Впрочем, для DIY наш компьютер тоже весьма полезен, и об этом направлении мы не забыли при разработке. Если понадобится дополнить чем-то специфическим — функциональность можно расширять готовыми модулями. Что ещё приятно, стоимость компьютера мы планируем сделать всего около $100.

Первая версия уже готова, открыт предзаказ.

Что привело нас к разработке встраиваемого компьютера, через какие этапы мы прошли, и что в итоге получилось — читайте дальше.


Зачем?


История весьма банальна: прошлой осенью мы начали думать, как сделать некое устройство.
В процессе мы придумали, что писать софт и подключать всякую периферию к устройству с Linux несравненно проще, чем к устройству с микроконтроллерами, при почти одинаковой стоимости железа. Устройство мы планировали массовое и дешёвое, поэтому ставить raspberry pi с примотанным синей изолентой usb-хабом мы за решение не считали. Разработка своей платы с нуля казалась сложнее, чем всё остальное вместе взятое, а ничего готового за приемлемую цену на рынке не было.

Мы думали, как было бы здорово иметь плату, которая бы удовлетворяла нашим задачам, стоила бы как raspberry pi, а не как боинг с пассажирами и, главное, была бы доступна для покупки в любом количестве. Купить одну, повертеть в руках и купить тысячу, если понадобится. В таких мечтах и родилась концепция нашего будущего продукта: платы, которая объединяет в себе комплект разработчика, массогабаритный макет и готовый продукт. Короче говоря, чтобы разрабатывать, как будто это raspberry pi, но чтобы никакой изоленты.

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

Ниша, казалось, была почти свободна: несмотря на бум ардуино, а потом и одноплатных компьютеров всех видов, ничего подобного для индустрии или для более или менее серьёзных DIY применений так и не появилось. Совсем печально обстояли дела с беспроводными коммуникациями всех видов.

Как?


Если вы хотите сделать устройство с нормальным процессором и Linux на борту, то у вас есть несколько вариантов. Вы можете разработать плату-расширение к вашему любимому одноплатному компьютеру (r-pi), вы можете использовать готовый процессорный модуль, либо разработать всё с нуля.

Каждый из этих вариантов имеет свои плюсы и минусы.
Плата-расширение — самое простое решение, однако цена, размеры и вообще гибкость такого решения оставляют желать лучшего. Кроме этого, почти все одноплатные компьютеры ориентированы на “настольное” применение: довольно сложно поставить, к примеру, raspberry pi на квадрокоптер или автомобиль. С другой стороны, сделать такую плату можно ЛУТом дома на коленке.

Использование System on Module (например Carambola, Aria) стало весьма популярно в последнее время. Суть заключается в том, что вы используете на своей плате готовый модуль, содержащий процессор (точнее SoC) и память. Модуль может вставляться в сокет либо припаиваться к плате. В этом случае вы избавлены от головной боли, связанной с разводкой процессора и памяти, и можете спроектировать гораздо более компактное устройство и дешёвое устройство. Недостатки такого подхода вытекают из его достоинств: на своей “материнской” плате вы теперь должны реализовать схему питания, вывести наружу разъёмы интерфейсов и т.д. Кроме этого, вы всё ещё ограничены возможностями конкретного модуля. Другая проблема — цена таких решений. Если производство вашей платы вы можете значительно удешевлять при росте объёмов производства, то цена готового SoM остаётся почти постоянной.

Последний вариант — разработка платы с нуля. Вы сами разводите на своей плате процессор, память и всё необходимую конкретно вам периферию. Отличный пример такого подхода к разработке — наши конкуренты. Разрабатывая плату, вы столкнётесь со всеми прелестями разводки высокочастотных компонентов, проектирования многослойных плат, со сложностями в поставке чипов и в организации производства. Достигнутый результат может быть прекрасным, но и время уже не вернуть.

Нас очень беспокоило всё написанное выше, и мы мучительно думали, что нам делать.


В итоге, мы наткнулись на замечательную компанию Olimex и их не менее замечательный одноплатный компьютер. Использвание Olinuxino Micro в качестве SoM в нашей плате имеет множество преимуществ.



Во-первых Olinuxino Micro — это не совсем SoM, а скорее полноценный одноплатный компьютер, который легко интегрировать в своё железо. Он уже имеет слот micro-SD карт, разъём питания и т.д. При этом используемый процессор Freescale i.mx233 хоть и не очень свежий, но полностью удовлетворяет нашим потребностям: он industrial-grade, поддерживается производителем, будет производится до 2017 г., на него открыта вся документация, он полностью поддерживается ядром Linux, его без проблем можно купить, и стоит он смешные $5.5 в больших партиях.

Во-вторых, Olinuxino Micro дешёв и легко доступен для покупки. Но главное — это Open Hardware проект, а значит производитель предоставляет полные схемы, и мы всегда можем модифицировать Olinuxino под наши нужды и наладить самостоятельный выпуск. Более того, в этой модели не используются BGA-чипы, и плата разведена на двух сторонах. Это значительно снижает стоимость производства по сравнению многослойными платами с BGA и позволяет нам производить платы даже в России без затруднений.

Итак, чтобы разработка нашей платы не продлилась годы, мы приняли следующий поэтапный план развития:

  1. Используем готовый Olinuxino Micro на нашей плате
  2. Налаживаем самостоятельное производство Olinuxino Micro для оптимизации цены
  3. Модифицируем его под свои нужды.


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



Процесс работы


Наверняка многим интересно, какие этапы мы прошли от идеи до готовой платы. И действительно, наш путь не был прямым. Ниже опишу самые интересные ситуации из процесса разработки.

Как делать платы


Чтобы сделать плату с кучей модулей, сначала мы делали по отдельной отладочной плате для каждого чипа. Заказывать производство такие простых плат — пустая трата времени и денег, так что первые варианты мы делали сами дома. Выбирали между двумя технологиями — ЛУТом и листовым фоторезистом. Выбор пал на фоторезист как на более технологичный метод, не зависящий от мастерства владения утюгом.

В процессе мы узнали много интересных вещей:

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

Фотографии наших (ужасных) отладочных плат, сделанных на коленке с листовым фоторезистом:



NFC


Из всех современных RFID-чипов, поддерживающих NFC и peer-to-peer соединения, мы выбрали чип NXP PN532. Семейство RFID-чипов NXP/Philips проверено временем и аппаратно поддерживает наиболее распространённые проприетарные карточки стандарта Mifare. Кроме того, чип поддерживается активно развивающейся библиотекой libnfc .

Чипы PN53x поддерживают подключение по шинам USB, UART, I2C и SPI. Порты UART и USB весьма дефицитны, поэтому мы подключили чип по шине SPI. Все SPI устройства используют общую шину для передачи данных, и только по одному GPIO-выводу тратится на то, чтобы выбирать, с каким устройством обмениваться данными в данный момент.

“Железная часть” подключения прошла без сюрпризов, а вот софт заставил поднапрячься — вышеупомянутая библиотека libnfc не поддерживала работу по SPI.

В процессе реализации поддержки SPI выяснилось, что реализация SPI в чипе от товарищей из NXP не очень совместима со стандартом и принципами работы с SPI в Linux. Пришлось применять, так сказать, нестандартные технические решения, использующие недокументированные особенности работы чипа.

WiFi


Цена — основное, что определило выбор Wi-Fi модуля. Но здесь и была хитрость. Cамый дешёвый Wi-Fi-модуль на Digikey стоит $17. Но такая цена вступает в лёгкое противоречие с существованием дешёвых китайских донглов за $3. Нет, всё понятно: китайская сборка, большие объёмы — но не в 5 же раз! И это даже без учёта того, что во втором случае предлагают готовое устройство. Тогда мы обратились к опыту уже знакомых товарищей из Olimex: www.olimex.com/Products/Modules/Ethernet/MOD-WIFI-RTL8188. В описании к модулю есть интересное название: RTL8188. Оказалось, китайцы выпускают множество готовых модулей на этом чипсете Realtek, которые в основном используются в китайских же планшетах и, например, внутри широко известного китайского медиа-центра MK802. Модули бывают разных размеров, с встроенной антенной и без, для разного крепления на плату. Мы использовали самые компактные модули — без встроенной антенны, с контактами под пайку на плату — как раз такие, как используются в MK802 (на фотографии справа внизу).

Все модули поставляются исключительно на китайский рынок, найти нам удалось их только на taobao. К сожалению, говорить по-английски там не принято, но можно понять, что стоит модуль (в рознице!) 12,5 юаней, или 63 рубля 60 копеек по текущему курсу.

Купить эти модули в Китае было не очень просто, но в итоге мы их всё-таки получили.

Антенны


Есть беспроводные модули — нужны антенны. Первое, что пришло в голову — рисовать антенны дорожками прямо на плате. Но здесь есть свои подводные камни: во-первых, необходимо контролировать импеданс дорожек-антенн, а во-вторых, вокруг них возникает “зона отчуждения”, куда нельзя помещать другие компоненты и дорожки — иначе коэффициент усиления значительно падает. В итоге получаем значительное увеличение размеров платы при неопределённом коэффициенте усиления.

Второй вариант — чип-антенны, устанавливающиеся на плату. Они заметно компактнее, но всё ещё занимают драгоценное место на плате, а коэффициент усиления невелик.

Поэтому мы решили использовать простое решение — установку рядом с беспроводными модулями u.FL-разъёмов. Вот таких:



В них подключаются или сами антенны (на рисунке сверху — простейшая антенна для диапазона 2.4 ГГц), или тонкие коаксильные кабели, которые идут к антеннам. Саму антенну тогда можно установить в любом месте внутри или вне корпуса устройства.

Причём при помощи переходника u.FL — SMA для монтажа на корпус можно подключить большую антенну с полноразмерным SMA разъёмом, например, такую:



Установка u.FL рядом с соответствующими модулями заметно удобнее, чем установка разъёмов SMA непосредственно на плате, так как к последним требуется проводить по плате линию с контролируемым волновым сопротивлением, что очень сложно и занимает много места на плате.

А в конце нами было открыто забавное и приятное свойство — Wi-Fi внутри квартиры и GSM в городе ловятся и без какой-либо антенны, просто на u.FL-разъём и подходящую к нему дорожку =)

UEXT



По сути, UEXT-разъём — главный козырь компании olimex. Придумав совместить три популярных последовательных интерфейса — SPI, I2C и UART, а также питание в одном разъёме, olimex создала удобный способ добавить практически любой проводной или беспроводной интерфейс или датчик к своим отладочным платам для разных микроконтроллеров и микропроцессоров. Чем и воспользовалась, наплодив несколько десятков устройств расширения — www.olimex.com/Products/Modules

Мы же, хоть и создаём “устройство без изоленты”, понимаем, что некоторые специфические модули иногда всё таки проще подключить снаружи — особенно если они невелики, или для них необходимо специальное положение в готовом устройстве — как, например, www.olimex.com/Products/Modules/Interface/MOD-IRDA. Поэтому на нашей плате мы сделали целых два UEXT разъёма.

Разные фотографии готовой платы и прототипов можно посмотреть в галерее .

Технические характеристики Wiren Board


Вот что у нас получилось на сегодняшний день:
  • Двухэтажный компьютер, размеры 50мм x 100мм x 23мм.
  • Первый этаж: плата нашей разработки с периферией, беспроводными и проводными интерфейсами:
    • GSM/GPRS модуль SIMCOM SIM900R. Разъём для micro-SIM (или embedded-SIM модуль). Модуль может выступать в качестве модема, отправлять СМС, а также поддерживает кучу расширений, вроде определения местоположения по вышкам, встроенной памяти или удалённого управления через СМС. Гнездо u.FL для антенны.
    • Wi-Fi на чипе RTL8188SU 802.11b/g/n. Гнездо u.FL для антенны.
    • Ethernet 10/100 на чипе ENC424J600, 8P8C-сокет HanRun с встроенными трансформаторами и светодиодами состояния
    • GPS/GLONASS модуль SIM68V на новом чипсете MediaTek MT3333: TTFF 28 с., поддержка скачанных эфемерид, выбор режима работы GPS/GPS+GLONASS/GLONASS. Гнездо u.FL для антенны.
    • NFC на чипе PN532 — чтение/запись карт ISO/IEC 14443A/MIFARE, поддержка эмуляции Mifare, поддержка NFC Peer-to-Peer, NFCIP-1. Встроенная антенна на плате.
    • 2 разъёма UEXT для подключения плат расширения — uart, spi, i2c или 7 gpio
  • Второй этаж — Olinuxino Micro
    • iMX233 ARM926J processor at 454Mhz
    • 64 MB RAM
    • Слот micro-SD
    • 19 свободных GPIO, разведённых под стандартную 2.54мм гребёнку
    • JTAG и SJTAG
    • Linux 3.7.1, Debian 6.0, все необходимые драйверы и примеры приложений


Первый этаж Wiren Board с двух сторон:



Мы не собираемся зарабатывать на розничных продажах для DIY, по крайней мере сейчас, и хотели бы установить на первую партию минимально возможную при производстве в России цену. Цена производства даже в России значительно зависит от объёмов, поэтому мы открываем предзаказ, чтобы представлять в каких количествах нам надо производить плату.

Цена также значительно зависит от комплектации; мы отдаём себе отчёт в том, что далеко не всем нужны все модули сразу. Мы проанализируем ваши заказы и сделаем несколько вариантов платы.

На странице предзаказа также есть модули, про которые в статье не говорилось (DC-DC 7-40V, USB-host, RS232/RS485/RS422, реле, etc...) — их мы тестировали отдельно и ещё можем добавить в первую версию платы, если они будут востребованы.

На этом пока всё. Будем рады услышать ваши советы и предложения и ответить на вопросы в комментариях!
Автор: @evgeny_boger
Бесконтактные устройства
рейтинг 38,43
Компания прекратила активность на сайте
Похожие публикации

Комментарии (75)

  • +8
    Устройство получилось отличное!
    А синюю изоленту все равно не обижайте.
  • 0
    А картосчитывали УЭК с NFC не планируются для простых юзверей?
    На страничку сходил, смотрю, инфа про УЭК написала как то вскользь.
    • 0
      Физически УЭК — это обычные карточки JCOP с беспроводным интерфейсом ISO14443, так что работать с ними устройство может. Другое дело, что чтобы как-то взаимодействовать с конкретным приложением нужна документация. Если нужен просто один настольный считыватель для компьютера, то лучше наверное купить готовый, все считыватели на чипах PN53x поддерживают эти карты.
  • +3
    64 MB RAM как-то суровым кажется…
    • +3
      После 8 мегабайт на роутере — это вагон!
      • +1
        А там тоже debian, а не busybox (или vxWorks вообще)?
        • 0
          Вопрос не ко мне, а к авторам платы. Но никто не мешает поставить busybox на debian
          • 0
            Debian — это когда ты говоришь «apt-get install» и клиенты выстраиваются в очередь :)
          • +1
            Ну да, можно на плату и busybox и дистрибутив на uClibc поставить. Но при 64M памяти это уже большого смысла не несёт.
            Дебиан конечно памяти ест много по сравнению с вышеперечисленным, но вполне хватает. Если совсем в этом месте жмёт, то можно заменить sshd, syslog-ng,ntpd и dnsmasq на что-нибудь менее жирное — потребление памяти будет сравнимо с роутером, а полноценный дистрибутив останется.
            • 0
              Так как есть возможность изменять комплектацию, быть может есть возможность заказать платку с 128MB RAM?
              • 0
                К сожалению с этим процессором максимум 64M.
      • +4
        «Билл, давай свою коронную!»…
        • 0
          Шутка года)
  • +2
    Возражу по двум моментам:

    Использование System on Module (например Carambola, Aria) стало весьма популярно в последнее время. Суть заключается в том, что вы используете на своей плате готовый модуль, содержащий процессор (точнее SoC) и память.

    Предложение звучит несерьёзно, без полного списка: современный процессор, память, Ethernet, WiFi, Bluetooth, аудио, видео и тач интерфейсы. Естественно, учитывая год на календарях, сегодня на любом СОМе водятся и все остальные приблуды, типа USB, RSxxx, CAN, SPI, UART и т.п. На экзотических попадаются даже SATA и PCI.

    И это всё «из коробки», за 50-70 долларов и всё уже разведено и оттестировано. При этом наличествует портированная ОС с дровами и готовая к работе.

    Другая проблема — цена таких решений. Если производство вашей платы вы можете значительно удешевлять при росте объёмов производства, то цена готового SoM остаётся почти постоянной.

    Это не правда. Цена любых компонентов в микроэлектронике зависит от размера партии, и SoM's тут не являются исключением.
    • 0
      По первому пункту: да, бывают SoM на современных SoС, с быстрой памятью. От нашего i.mx233 значимое отличие только в интегрированном Ethernet MAC и поддержке быстрой памяти. Интегрированный WiFi есть, по-моему, только в карамболе, но там стоит роутерный SoC со слабым процессором и отсутствующей документацией. USB, UART, SPI и т.д. есть и в используемом нами SoM конечно же.
      В общем, вопрос тут только в цене. Себестоимость SoM, который мы используем — $15 в партиях от тысячи штук — это огромная разница, по сравнению с $50-$70. Если для ваших задач не нужен Cortex-Ax с гигагерцем и HDMI с SATA, то и смысла тратить $70 нет. Как-то изменить ситуацию наверное смогли бы SoM на китайских Allwinner Axx, но пока их никто так и не сделал.

      По второму пункту: да, конечно. Но это касается себестоимости производства для производителя SoM, а не его покупателей. Например у упомянутой Aria цена остоётся постоянной при покупке в любых количествах.
      • 0
        Я не зря год на календарях упомянул, если мы говорим о текущем времени и современных SoM, то они не «бывают», а так и делаются под современные ОС, вот пример, гляньте на ТТХ. И это не единственный производитель с подобными характеристиками.

        Понятно, что всё зависит от задач, и не имеет смысла гвозди заколачивать микроскопами. Но вопрос не только в цене, особенно если мы затронем тему современных коммерческих проектов.

        По второму пункту — это касается всех участников рынка. В случае с упомянутым выше примером, цена скачет чуть ли не в разы.
        • 0
          Да, замечательные ТТХ. Только вот на этой плате один wifi модуль стоит как весь используемый у нас SoM (причём в больших партиях). Это всё-таки немного другая ниша.
          • 0
            WiFi + BT c EDR стоит $17
            Но вы правы, это совершенно разные продукты.

            Кстати, у вас с софтом там как?
            • 0
              Debian, ядро 3.7.1 с нашими и не нашими патчами, отдельный репозиторий с специфичными пакетами и портами (собственно ядро, особый hostapd, libnfc с поддержкой, биндинги, настройки для всего этого под плату). Пока так. Свой abstraction layer делать пока не планируем, разве что очень примитивный. Интерфейсы стандартные, пользовательский код можно писать на Python или других скриптовых языках, биндинги есть. Т.к. там debian + несколько кастомных пакетов, системы сборки никакой не используем, потому что не надо. Готовые образы, инструкции по сборке и патчи выложим к релизу.
      • 0
        Как-то изменить ситуацию наверное смогли бы SoM на китайских Allwinner Axx, но пока их никто так и не сделал.
        pcDuino?
    • +2
      ссылку на 50-70 баксов с PCI и/или SATA подкиньте, пожалуйста.
      • 0
        Когда себе искал игрушку, то нашёл вот такую прелесть CM-FX6, но там если полный фарш заказывать то дорого, а если в единичном экземпляре — вообще космос. Остановился на Куби.
      • 0
        • 0
          варианты с sata дороже обозначенной выше суммы
          • 0
            Да, ошибся, начинается в соло-камне нет.
            С sata получается ближе к $90
  • +8
    Трассировка с прямыми углами в стиле восьмидесятых?

    Нет, всё очень круто, вы сделали железку и хотите её продавать. Это, безусловно, похвально.

    Но человека, который делает у вас трассировку нужно немного подучить это делать. Понятно, что большинству глубоко фиолетово, как у вас там трассы идут. Работает — и ладно. Но я бы такую плату покупать не стал.

    Почему? Да потому что у вас ВЧ-компоненты на плате, пусть и модульные. А судя по трассировке, вы делали плату впервые и не очень хорошо понимаете, что именно делаете.

    Не считайте это за наезд. В каждом деле есть свои эм… каноны. Устои. Когда вы делаете трассы от чипа до кварцевого резонатора разной толщины да с прямыми углами, мне хочется плакать.

    Про недопустимые прямые углы к ВЧ-разъемам и отмывку платы ваткой я вообще молчу.
    Если делаете девайс и выставляете его на всеобщее обозрение, хоть отмойте его нормально!
    • +5
      Да, вы правы, всё так и есть. Человек, который у нас занимается платами и трассировкой в частности, опыта трассировки ВЧ-плат не имел, только силовой электроники, так что приходилось учиться в процессе.

      Но мы об этом конечно знаем и перед производством серийной партии собираемся отдать схему профессионалам, чтобы исправить ошибки трассировки.

      Почему мы не сделали этого сразу? Ну, ресурсы у нас не бесконечные, а кривая трассировка, ручная сборка и остатки флюса на плате на работоспособность прототипа влияют слабо.
      Так как по результатам предзаказа мы ещё будем вносить изменения в конструкцию и что-то добавлять, то делать это сейчас не имело бы большого смысла.

      Кстати, если бы вы посоветовали нам хороших людей, которые бы могли исправить наши ошибки с трассировкой, или которые могут провести согласование антенн ВЧ-частей, я был бы очень благодарен.
      • +2
        Я вот не электронщик по образованию, и платы колхожу для себя, но всегда делаю не прямые углы, а под 45 градусов. Тут нет большой науки. Так же про ВЧ тоже всё можно почитать. Рекомендации по разводке плат ищутся за 5 минут, пару часов на их изучение (ну хорошо, пару дней дотошного) и вот у вас специалист по трассировке. ВЧ так же наука сложная, но вполне постижимая. Вон на изиэлектроникс есть даже пара отличных статей по теме:
        we.easyelectronics.ru/Radio/neochevidnaya-shemotehnika-chast-pervaya-o-kuskah-i-ehe.html
        we.easyelectronics.ru/Radio/neochevidnaya-shemotehnika-chast-vtoraya-soprotivlenie-nebespolezno.html

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


        Вот Вы говорите, что хотите уложиться в сотню баксов. Тогда о какой партии речь? Вы в курсе, сколько стоит нормальная профессиональная трассировка? Или «профессионалы» в вашем понимании — это студенты старших курсов? :)

        Насчет работоспособности из-за флюса могу поспорить. Но не буду. Раз у вас работает — ну и хорошо.

        Поймите одну простую вещь — вы пришли на Хабр с целью привлечь людей и показываете тут свою плату и говорите, что собираетесь её производить и продавать за не очень маленькие деньги (да, я прекрасно понимаю, что если бы партия была миллионной и производство было бы в Китае, то с цены можно было бы срезать порядочно). При этом вы приложили минимум усилий для того, чтобы представить свой продукт как можно лучше. На каких-то фотках у вас виден не то что флюс, но и кривая запайка или непропай контактов. К тому же, использовать обычные однорядные PLS для соединения плат мезонином, когда есть удлинненные PLS как раз для этих целей, не совсем корректно.
        Гораздо проще делать всё правильно с самого начала, чем потом переделывать.

        Людей не могу посоветовать, ибо, боюсь, тогда при партии до 100 штук цена вашей платы вырастет. Но, как сказал товарищ dlinyj, научиться нормальной трассировке не так уж и сложно. Советую заглянуть на форум электроникса и посмотреть, что рекомендуют там. Вот тема, например: electronix.ru/forum/index.php?showtopic=89208
    • –3
      Боитесь что электроны будут ударятся о прямые углы?
      Но вцелом согласен, разводка корявая.
    • 0
      Ну да. Тот же GPS модуль можно так умудриться поставить что чувствительность в несколько раз упадёт!
  • 0
    По первому пункту: да, бывают SoM на современных SoС, с быстрой памятью. От нашего i.mx233 значимое отличие только в интегрированном Ethernet MAC и поддержке быстрой памяти. Интегрированный WiFi есть, по-моему, только в карамболе, но там стоит роутерный SoC со слабым процессором и отсутствующей документацией. USB, UART, SPI и т.д. есть и в используемом нами SoM конечно же.
    В общем, вопрос тут только в цене. Себестоимость SoM, который мы используем — $15 в партиях от тысячи штук — это огромная разница, по сравнению с $50-$70. Если для ваших задач не нужен Cortex-Ax с гигагерцем и HDMI с SATA, то и смысла тратить $70 нет. Как-то изменить ситуацию наверное смогли бы SoM на китайских Allwinner Axx, но пока их никто так и не сделал.

    По второму пункту: да, конечно. Но это касается себестоимости производства для производителя SoM, а не его покупателей. Например у упомянутой Aria цена остоётся постоянной при покупке в любых количествах.
    • 0
      Не попал, это к habrahabr.ru/post/176357/#comment_6126623
    • 0
      У нас тоже интегрированый вайфай. Точнее, опциональный (сменный маааленький модуль), ибо не всегда он нужен.
      • 0
        А почему, если не секрет, вы выбрали эту микросборку HDG104 для wifi? Кажется стоит она дорого, интерфейс только SPI, 802.11n нет, драйвера только для старого ядра — сплошные минусы.
        • 0
          HDG104 отстой полный, но они под рукой были, вот их в первые экземпляры и поставили для пробы. В новой версии уже другой чип.
          • 0
            гм, а почему вы такого мнения о HDG104? И на какой чип хотите перейти?
  • 0
    У меня один вопрос: где же оформить предзаказ?
    (простите, если не увидел — с мобилы читаю)
  • 0
    <удалено>
  • 0
    очень прикольно=)
  • –1
    Подойдет ли такая плата, в качестве мозгов для коптера?
  • 0
    Просто отличная работа!
  • +1
    Приятный девайс вышел, думаю обязательно найдет свой «круг поклонников» (а именно в этом самом «круге» и есть ИМХО сила RPi и Arduino).

    Пользуясь случаем, поинтересуюсь мнением профессионалов: почему ни на этом Olinuxino, ни на RPi, нету RTC (часов)? К создателям RPi не раз обращались с подобным вопросом, но они все отделывались какими-то совсем уж детскими отговорками — мол, на цене сказалось бы сильно (на сколько? на 25-30 центов?), или с батарейкой какие-то там нюансы (ну без батарейки бы продавали, как-то самим воткнуть несложно). А ваше мнение, почему все же?
    • +2
      Спасибо!
      Я думаю, что дело как раз в цене: сам чип RTC стоит $0.5 от 1000 штук, а ещё нужен разъём для батарейки, сама батарейка. Это всё денег стоит, место на плате занимает и т.д. Так как нужно это далеко не всем, на этом значительно экономят.

      С продукцией olimex всё ещё проще: у них есть очень компактный внешний модуль MOD-RTC за 4 евро (совместимый естественно с Wiren Board), который можно подключать ко всем их платам, так что делать часы на плате Olinuxino не было смысла совсем.

      Вообще в процессора i.mx233, который стоит в используемом нами Olinuxino Micro, есть встроенный RTC, который держит время, пока подключена основная li-ion батарейка. Поддержка в ядре тоже есть с недавнего времени. Мы правда этот встроенный RTC не тестировали, и я не знаю какое энергопотребление чипа в таком режиме без выделенного кварца.
  • 0
    У меня вот главный вопрос — куда камеру втыкать? Не поддерживается???
    • 0
      Так в USB-host камеру втыкать, благо модули камер с интегрированным usb-контролером стоят на доллар дороже. Спрос большой, в серии USB-host добавим.
      • 0
        USB-шные камеры обычно не поддерживаются DSP для аппаратного энкода, так что не вариант. Ну и габариты usb-камеры, опять же, намного больше чем у собссно голого модуля камерного. Вот, к примеру, сравните любую вебку (даже со снятым корпусом) и такую камеру.



        Извините за занудство, просто для такие камеры ооочень актуальны, только про них и думаю.
        • 0
          Ну, у нас вообще нет аппаратного энкодера, так что видео в любом случае обрабатывать процессором придётся. USB-модули кажется тоже довольно компактны: такой или такой например.
          • 0
            На OV3640 неплоха, но габариты всё равно не айс. Тут уж смотря под какие задачи, лично мне оочень мелкие нужны (для встраивания в ездящие девайсы без порчи внешнего вида, чтоб камера незаметна была). Но большинству народа, скорее всего, на это глубоко пофиг.

            Кстати, найдите где тут камера стоит :-)
            • +1
              Неужели тут? :o

              • 0
                Не, оттуда обзор очень плохой (дуло на пол-экрана). Вот тут.
      • 0
        Ой, пардон, только сейчас заметил что вы нас в топике упомянули (сначала по ссылке про конкурентов не стал переходить). Минусы да, есть. Но и плюсов более чем :-)
  • –1
    100 баксов?
    А не легче купить китайских андроид смартфонов за такую цену и подключать к ним что угодно по usb.
    Я конечно не сильно разбираюсь, но с андроид версии 4.0 доступно подключение разных устройств.
    За эту цену в добавок к GPS и WIFI вы получите тач экран, батарею и процессор по мощнее.
    Простите если не прав.
    • 0
      Я всё ищу «идеальный» вариант для бортового компьютера в автомобиль. И как один из вариантов (опробованных) был именно китайский планшетник на android, который был тщательно разобран и установлен вместо 2DIN магнитолы. Сейчас вот думаю, как к нему приспособить пару-тройку камер для записи окружающей обстановки и увеличить емкость файловой системы, USB порта для этого уже недостаточно…
      • 0
        Пару — тройку камер для записи можете не думать — не считая проблем с подключением, для этого нужен аппаратный енкодер видео, которого в китайпланшетах я никогда не встречал.
        • 0
          Вообще в allwiner'ах он есть, но с поддержкой софтом очень большие проблемы.
          • 0
            Я во всех описания видел только «Hardware-accelerated video playback» что в данном случае вообще не интересно. Может поделитесь где почитать о встроенном аппаратном енкодере?
    • +1
      android — это весьма своеобразная ОС и он далеко не всем подходит. Да и с USB есть свои особенности. В итоге можно получить этакого осминога из которого торчит куча хабов, флешек и прочей фигни. А учитывая то, что контакты — это всегда проблема, особенно если есть тряска и перегрузки… Осминог — не очень удобная конструкция.
      • +1
        Отсутствие линукса для большинства китайских смартов и помогает продавать подобные встраиваемые платы.
        Посудите сами — за те же 100$ мы можем получить полноценный современный быстрый двухядерный арм с гигабайтом ОЗУ и несколькими гб флеша у которого будет WiFi/Bluetooth/3G+GPS+гироскоп и акселерометр+камера+звук+usb host для подключения доп периферии, например ардуина с кучей ног под что угодно, еще остается экран для индикации. И все это добро уже в корпусе с блоком питания и с аккумулятором в качестве резервного питания.
        Эх, вот если бы выпустила Mediatek свой дистр линукса для MTK657* с поддержкой своих устройств.
        • 0
          Посмотрите в сторону MK802, для Allwinner A1x есть приемлемый linux, правда не от производителя.
          • 0
            Для A1x есть конечно линуксы, но в тех же MK802 нет 3G,GPS, камеры, экрана и аккума, но для тех случаев когда это не надо — вполне себе вариант, хоть и устарел (но лучше конечно чем i.MX233)
  • 0
    Боюсь, господа Вы немного опоздали. Буквально пару дней назад на Кикстартере стартовал аналогичный проект и он стремительно набирает обороты. По моим оценкам за 2 месяца заявленных сборов он наберёт более миллиона долларов. Жалко что Вы не успели воспользоваться этой возможностью финансирования, или у Вас с финансами всё в порядке?
    www.kickstarter.com/projects/435742530/udoo-android-linux-arduino-in-a-tiny-single-board?ref=category
    • 0
      А может ещё и не поздно, набор модулей немного другой. Можно в конце концов попробовать использовать и другие крауфандинговые площадки, в том числе и Российские.
    • 0
      Спасибо за ссылку, но проект всё-таки не аналогичный: Wiren Board — компактный индустриальный компьютер, где уже есть нужные модули, и который можно встраивать в устройства прямо из коробки, а UDOO — плата для разработки, куда, конечно, тоже можно всё воткнуть, но это придётся делать самому, и в готовых устройствах её использовать трудно
  • 0
    К сожалению, 64 МБ и 454 МГц делают линукс практически бесполезным. Разрабатывать прямо на плате или отлаживать особо не получится, инструментарий при всей похожести на большой линукс весьма ограничен, а по быстродействию и удобству работы может даже проиграть STM32F4 например. Особенно в приложениях где нужна ОСРВ. Единственное преимущества — готовые драйверы под периферию в линуксе, это да, приятно.
    Но в целом, я не знаю где бы применил этот компьютер. Для тех задач где нужен линукс у него маловато мощности (работа с видеокамерой), а для работы с железом и STM32 вполне хватает, к тому же его можно отладчиком подключить к большому ПК и с комфортом работать напрямую без танцев с бубнами вокруг кросс-компиляции с последующим перебросом программы не девайс и попыткой отладить удаленно.
    • 0
      Позволю себе с вами не согласиться. Разрабатывать и отлаживать на плате вполне можно, а ещё можно делать это на большом компьютере, подключая образ через qemu+chroot. Кросс-компиляция, опять же, настраивается один раз 10 минут и дальше просто работает. На плате и так стоит по-умолчанию «большой линукс» и инструментарий там вообще точно такой же.

      Использовать плату в приложениях с реальным временем конечно не лучшее решение. Хотя даже задачи, для которых обычно используют ОС РВ, во многих случаях можно реализовать на линуксе с real-time патчами ядра или таймерами высокого разрешения. А ещё можно поставить рядом PIC/AVR за 1$ и почти без обвязки, или даже воткнуть готовый модуль в UEXT и перенести на него realtime задачи, оставив всю логику и связь со внешним миром внутри платы. Понятно, что есть случаи, когда это всё сложнее, чем использовать например упомянутый STM32, но часто использовать linux удобнее.

      Для многих задач, где нужна работа с камерой, наша плата действительно не подходит. Скорее не из-за общего быстродействия, а из-за отсутствия хардварного энкодера видео (что позволяет нам сделать плату на $20+ дешевле). Впрочем, если вам не нужно сжимать видеопоток от мегапиксельной камеры в h264, то даже мощностей нашей платы должно хватить. Если нужно — то лучше подойдёт предложение от наших упомянутых в посте конкурентов.

      Возможно это конечно дело вкуса, но я считаю, что разработка более или менее сложной системы под нормальный линукс выйдет сильно быстрее и дешевле, чем под мк, даже с какой-нибудь FreeRTOS. Именно из-за готовых драйверов для всего, готового инструментария, готовых библиотек, нормальной многозадачности и вообще всей инфраструктуры.
      • 0
        Образ для работы с hardware вообще не годится — к образу не подключишь I2C сенсоры или SPI девайс, или другие устройства.
        Просто софт без общения с аппаратной частью вообще не имеет для меня смысла — он есть на любом большом ПК или КПК или планшете. Прелесть МК именно в том, чтобы работать с аппаратной частью, а для этого нужна удобная среда разработки. Если каждая компиляция и запуск — это целая история, то желание экспериментировать с этим железом отпадает довольно быстро.
        Проблема в том, что лично мне использовать linux крайне неудобно — мне не близок UNIX way никаким образом, из его преимуществ для меня ТОЛЬКО бесплатность. По всем параметрам удобства разработки он уступает Windows средам разработки. По крайней мере так лично для меня.
        А работа напрямую через отладчик с железом и возможностью управлять исполнением кода — это большой плюс для того же STM32.
        Общее быстродействие процессора в 454 МГц под линуксом не кардинально отличается от STM32F4 с его частотой 168-180МГц и 210-225 MIPS и наличием ОСРВ при необходимости и без накладных расходов на линукс.
        Вот вы говорите про готовый инструментарий. А я его не вижу — как мне написать приложение, которое будет автоматически запускаться при старте железки, общаться по SPI или I2C c МК и обмениваться в бинарном режиме по Bluetooth Serial или WiFi с ПК?
        Обработка данных + лог на SD карту, возможно чтение данных с GPS и связь по 3G. И не в виде убогих скриптов под shell- это не программирование. Shell cкрипты — это жалкий огрызок того, что можно писать в native софте. Лично мне извращаться с консольными потоками и кучей параметров для кучи программ, пытаясь от них получить простой результат, который пишется на С или Delphi за 5-10 минут неудобно. Мне нужна нормальная среда разработки пусть на С/С++ с библиотеками доступа к железу напрямую или через API вызовы, с доступом к WiFi, UART, GPIO и прочему. Питон — слабое утешение. На нем конечно можно что-то сделать, но совсем не так удобно и после любого универсального языка он немного условен и ограничен.
        Разумеется, это мое личное мнение, но мы обсуждали именно мои потребности. Многим может и хватить пары простых жестко заданных скриптов с 2-3 ветвлениями. У меня программы обычно посложнее.
        • 0
          Всё-таки дело вкуса.

          Вот если убрать из вашей задачи i2c/spi/gpio, то это вполне себе задача, которая могла бы возникнуть и для настольного PC. И такие задачи вполне себе решаются, и никаких проблем с «нормальной средой разработки» у людей не возникает. А для i2c/spi/gpio есть стандартный ядерный интерфейс, есть какие удобно обёртки под что угодно. О WiFi/3G/UART вам в случае linux вообще задумываться обычно не надо. Хотите на python пишите (и это будет очень быстро), хотите на C, будет вам native код.

          Вообще всё что я пытаюсь сказать, это то, что написать приложение под linux для нашей платки (причём работающее с периферией) не сложнее, чем написать приложение под linux для любимого ноутбука. Возможно вам это непривычно и поэтому сложнее. Но, как мне кажется, специалистов, для которых верно обратное, найти проще и стоят они, как правило, дешевле. А это, согласитесь, важно.

          А для вашей конкретной задачи, вы бы могли например работать с gpsd, писать лог в базу sqlite на флешке, на которой журналируемая фс ext4, отправлять данные через wifi (wpa2 с сертификатом) на ПК через HTTPS. Ну и да, делать всё что угодно через BT (как через последовательный порт) и общаться через i2c/spi с МК тремя строчками. Всю это логику вы, например, реализуете в одном скрипте python, который запускается через inittab. Отлаживаете скрипт удалённо, подключив плату по ethernet к компьютеру через любимый отладчик для python. Wifi и 3G вы настраиваете практически как на настольном компьютере путём изменения конфигурационных файлов. Как это сделать, вы за 5 минут найдёте в гугле, даже если ни разу этого не делали.

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

          По-моему не очень сложно и можно ни одного shell скрипта не писать.
          • 0
            Весь смысл такого устройства во взаимодействии с аппаратным обеспечением. Если нужна просто числодробилка, то с этой функцией отлично справляется любой телефон или старый кпк. У них и Bluetooth есть для связи с какой-нибудь AVR мелкотой. Скрипач не нужен :)
            Что касается написания софта — прелесть работы на ПК в том, что и отладка и разработка ведется на одном девайсе — удобная IDE и отладчики, все делается одной кнопкой, можно сосредоточиться на самой программе. А тут?
            Кстати, линукс на свой ноут я ставить не буду, это уж точно. для моих задач примерно половины софта под линуксом просто нет (я не только программингом занимаюсь).
            Единственное, ради чего я готов связаться с неудобствами изучения программинга под linux — это единая среда для работы с железом и софтом. А если этого нет, то я могу обойтись и STM32 + iPAQ или Qtek G100 или + Raspberry Pi- она помощнее будет.
            С многоуровевыми системами я еще в бытность программистом в Академприборе наработался, сейчас мне нравится унификация. Но пока ни одна железка не удовлетворяет задачам работы с железом и обработкой данных с нужной скоростью и простотой. Без извратов через одно место.
            Дело в том, что задачи, с которыми не справляется МК, 450-МГЦ АРМ тоже осилит с трудом, особенно учитывая накладные расходы на связь с МК.
            Хорошо, если у вас все так просто настраивается. На деле же обычно все получается гораздо хуже — на Raspberry Pi я даже готовый скрипт долго дотачивал и потерял полдня, чтобы просто поднять WiFi — мой USB WiFi модуль никак не хотел заводиться.
            А уж говорить о том, насколько часто в линуксе возникают вещи — «не работает и все тут» даже не приходится — достаточно просмотреть обсуждения здесь на хабре, как обходить минные поля. У меня ни один из примеров не заработал просто из коробки — весь код приходится адаптировать, права менять, что-то настраивать и все равно все работает не так как хочется. :) Но это так, лирика. Я и говорю — готов весь этот зверинец терпеть, если от него существенная польза. Но получается, что ваш девайс для меня почти не отличается от КПК под WinCE, которые на рынке 1000-2000 рублей стоят.
  • 0
    А будет навигационный модуль (акселератор, гироскоп, компас, барометр)? Если да, то когда можно ждать?
    • 0
      Мы думали об этом, скорее всего это будет в форме UEXT-модуля расширения, скорее всего с аппаратным (или на МК) Digital Motion Processing Unit, типа MPU-6050. По срокам пока ничего сказать не могу.

      У нас на плате есть два UEXT-разъёма, так что вы уже сейчас можете использовать существующие модули от Olimex (https://www.olimex.com/Products/Modules/Sensors/). Они почти все работают на i2c, так что к Wiren Board можно подключить и больше двух.
  • 0
    удалено

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

Самое читаемое Разное