Одноплатные ARM-компьютеры
2011-08-26 12:56 pmЕсли вам надо автоматизировать что-нибудь в доме или в теплице — например, сделать автоматическое открывание окон или включение обогревателя или ламп, где решения о включении/выключении принимаются автоматически на основе температуры/влажности/освещённости — то Arduino [1] и его клоны — это отличное решение.
Однако крошечный контроллер (8-разрядный AVR, 32 килобайта программной памяти, пара килобайт ОЗУ и постоянной памяти) не подходит, если задача усложняется: например, если надо добавить удалённое управление через браузер, или ведение журнала на флешке/SD-карте, или рассылку email/SMS по каким-то "аварийным" событиям. Или автоматическое создание записей в twitter'е.
Здесь начинается совсем другая история: микроархитектура реального времени, которая хороша при считывании данных с сенсоров, особенно тахометров, при подавлении дребезга кнопок и т.п., не подходит для многозадачной среды (например Linux'а); а многозадачная среда не подходит для считывания данных с тахометров и для подавления дребезга переключателей.
Решение заключается в том, чтобы объединить оба подхода — т.е. взять обе платы, контроллер и компьютер, обе архитектуры — реального времени и многозадачную, — и как-то их аппаратно соединить. Например, по шине USB. Или по последовательному порту. Или по шине SPI. Или по шине I2C. Или или или. Контроллер Arduino становится просто "конвертером" USB в связку аналоговых и цифровых линий, а компьютер принимает решения, ведёт журналы и взаимодействует с сетью.
Переходим к примерам. Тут всё сложнее, чем с Arduino. Хотя одноплатные компьютеры на базе ARM-архитектуры, на которых теоретически работает Linux — это не дефицит[2], однако надо различать два состояния: "Linux на плате, в принципе, запустить можно" и "настроенный и работающий Linux с приложениями входит в поставку платы". Потому что вряд-ли средний do-it-yourselfer захочет провести пару месяцев, играя в игру Cross Linux from Scratch — т.е. собирая и настраивая ядро и кросс-компилятор и приложения под этот чудо-компьютер. (C неопределённым конечным исходом.)
Так вот, одноплатных ARM-компьютеров с предустановленным Линуксом, которые могут работать совместно с Arduino, не так уж и много. Вот что я нашёл:
http://www.embeddedarm.com/products/arm-sbc.php
в т.ч. http://www.embeddedarm.com/products/board-detail.php?product=TS-7553 (около $170 с софтом и всем прочим)
http://beagleboard.org/hardware-xM (аналогично)
http://pandaboard.org/content/resources/references (чуть круче и чуть дороже)
http://www.adafruit.com/products/278 (вдвое дешевле, но без Ethernet)
ещё можно купить вот такой серийно выпускаемый (выпускавшийся) девайс и повыбрасывать из него всё лишнее
http://www.ebay.com/itm/400238049812
moar http://www.pogoplug.com/
ещё теоретически должна появиться к концу года
http://www.raspberrypi.org/?p=78 ($35 — почти даром, у них некоммерческая организация по созданию дешёвого компьютера для голодающих негров Африки, соответственно они не платят налоги, broadcom даёт им процессоры почти бесплатно и у них должна быть крупносерийность, теоретически)
А вот что нашло меня само. Вот уж действительно in Soviet Russia, board finds you.
http://rascalmicro.com/
http://pingswept.org/
Пообщались с автором по email, вполне вменяемый человек. Хочет примерно ~$150. Учитывая мелкосерийность производства, это на грани себестоимости.
Какие ещё будут идеи у уважаемого сообщества?
Сноски:
[1] http://ru.wikipedia.org/wiki/Arduino
http://arduino.cc/
[2] http://microcontrollershop.com/default.php?cPath=154_170_272&page=1&sort=4a
Однако крошечный контроллер (8-разрядный AVR, 32 килобайта программной памяти, пара килобайт ОЗУ и постоянной памяти) не подходит, если задача усложняется: например, если надо добавить удалённое управление через браузер, или ведение журнала на флешке/SD-карте, или рассылку email/SMS по каким-то "аварийным" событиям. Или автоматическое создание записей в twitter'е.
Здесь начинается совсем другая история: микроархитектура реального времени, которая хороша при считывании данных с сенсоров, особенно тахометров, при подавлении дребезга кнопок и т.п., не подходит для многозадачной среды (например Linux'а); а многозадачная среда не подходит для считывания данных с тахометров и для подавления дребезга переключателей.
Решение заключается в том, чтобы объединить оба подхода — т.е. взять обе платы, контроллер и компьютер, обе архитектуры — реального времени и многозадачную, — и как-то их аппаратно соединить. Например, по шине USB. Или по последовательному порту. Или по шине SPI. Или по шине I2C. Или или или. Контроллер Arduino становится просто "конвертером" USB в связку аналоговых и цифровых линий, а компьютер принимает решения, ведёт журналы и взаимодействует с сетью.
Переходим к примерам. Тут всё сложнее, чем с Arduino. Хотя одноплатные компьютеры на базе ARM-архитектуры, на которых теоретически работает Linux — это не дефицит[2], однако надо различать два состояния: "Linux на плате, в принципе, запустить можно" и "настроенный и работающий Linux с приложениями входит в поставку платы". Потому что вряд-ли средний do-it-yourselfer захочет провести пару месяцев, играя в игру Cross Linux from Scratch — т.е. собирая и настраивая ядро и кросс-компилятор и приложения под этот чудо-компьютер. (C неопределённым конечным исходом.)
Так вот, одноплатных ARM-компьютеров с предустановленным Линуксом, которые могут работать совместно с Arduino, не так уж и много. Вот что я нашёл:
http://www.embeddedarm.com/products/arm-sbc.php
в т.ч. http://www.embeddedarm.com/products/board-detail.php?product=TS-7553 (около $170 с софтом и всем прочим)
http://beagleboard.org/hardware-xM (аналогично)
http://pandaboard.org/content/resources/references (чуть круче и чуть дороже)
http://www.adafruit.com/products/278 (вдвое дешевле, но без Ethernet)
ещё можно купить вот такой серийно выпускаемый (выпускавшийся) девайс и повыбрасывать из него всё лишнее
http://www.ebay.com/itm/400238049812
moar http://www.pogoplug.com/
ещё теоретически должна появиться к концу года
http://www.raspberrypi.org/?p=78 ($35 — почти даром, у них некоммерческая организация по созданию дешёвого компьютера для голодающих негров Африки, соответственно они не платят налоги, broadcom даёт им процессоры почти бесплатно и у них должна быть крупносерийность, теоретически)
А вот что нашло меня само. Вот уж действительно in Soviet Russia, board finds you.
http://rascalmicro.com/
http://pingswept.org/
Пообщались с автором по email, вполне вменяемый человек. Хочет примерно ~$150. Учитывая мелкосерийность производства, это на грани себестоимости.
Какие ещё будут идеи у уважаемого сообщества?
Сноски:
[1] http://ru.wikipedia.org/wiki/Arduino
http://arduino.cc/
[2] http://microcontrollershop.com/default.php?cPath=154_170_272&page=1&sort=4a
no subject
Date: 2011-08-26 12:37 pm (UTC)no subject
Date: 2011-08-26 12:40 pm (UTC)no subject
Date: 2011-08-26 12:41 pm (UTC)no subject
Date: 2011-08-26 12:42 pm (UTC)получить нормально работающий готовый кернел под свою платформу -- большое дело. мы ща как с самсунгом трахаемся -- в печени уже сидит!
no subject
Date: 2011-08-26 03:11 pm (UTC)А кстати, где вы ардуино покупаете, в Киеве? И на чем там сделан USB интерфейс?
no subject
Date: 2011-08-26 05:04 pm (UTC)http://www.dfrobot.com/index.php?route=product/product&path=52&product_id=49
У них хороший выбор периферии - датчиков, щитков и всего такого.
Например, вот этот щиток в собранном виде есть только у них:
http://www.dfrobot.com/index.php?route=product/product&product_id=468
USB интерфейс на чипах FTDI (FT232RL). Вроде, именно их драйвера под Linux хвалят больше всего?
RS232 у меня будет в случае покупки Rascal Micro. Продавец её конечно так хвалил, так хвалил, но я пока ещё думаю. Ну и попутно собираю другие мнения.
no subject
Date: 2011-08-26 05:34 pm (UTC)в RS232 нет такой роскоши
no subject
Date: 2011-08-26 07:24 pm (UTC)С RS-232 на самом деле намного лучше. У меня в устройствах сделано так: на контакт RTS повешен сброс устройства. При открывании порта можно дать сброс (вобщем на линухе без этого никак, на винде можно открыть порт не дергая RTS), и в процессе работы тоже можно дать сброс. Очень удобно.
no subject
Date: 2011-08-26 06:12 pm (UTC)в этом смысле единообразия нет, каждый производитель одноплатных ARM-компьютеров ставит что-то своё
no subject
Date: 2011-08-31 03:12 pm (UTC)Игрался со следующей девайсинкой: http://www.evodbg.com/index.php?option=com_content&task=view&id=70&Itemid=1
Остался доволен, штатный линукс весьма трезв.
no subject
Date: 2011-08-31 03:37 pm (UTC)спасибо