waqur: (Default)
[personal profile] waqur
Если вам надо автоматизировать что-нибудь в доме или в теплице — например, сделать автоматическое открывание окон или включение обогревателя или ламп, где решения о включении/выключении принимаются автоматически на основе температуры/влажности/освещённости — то 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

Date: 2011-08-26 12:37 pm (UTC)
From: [identity profile] cd-riper.livejournal.com
не нужен тебе второй камень, задача антидребезга вполне себе решаема на одном камне под linux :)

Date: 2011-08-26 12:40 pm (UTC)
From: [identity profile] waqur.livejournal.com
да у меня там не только антидребезг, там ещё и аналоговые входы, и встроенные pullup-резисторы нужны (хочется без паяльника обойтись), и +5..+6в на ножках схемы нужны, и ток 20-30 mA

Date: 2011-08-26 12:41 pm (UTC)
From: [identity profile] waqur.livejournal.com
а то и все 50mA

Date: 2011-08-26 12:42 pm (UTC)
From: [identity profile] cd-riper.livejournal.com
о! ну так это ж другой разговор, ты не вводи народ в заблуждение... :)

получить нормально работающий готовый кернел под свою платформу -- большое дело. мы ща как с самсунгом трахаемся -- в печени уже сидит!

Date: 2011-08-26 03:11 pm (UTC)
From: [identity profile] bialix [launchpad.net] (from livejournal.com)
если хочется надежности, то я бы резко отказался от USB и использовал старый добрый RS-232. иначе можете поймать грабли, а может и повезти. но USB-дрова в линуксах оставляют желать лучшего.

А кстати, где вы ардуино покупаете, в Киеве? И на чем там сделан USB интерфейс?

Date: 2011-08-26 05:04 pm (UTC)
From: [identity profile] waqur.livejournal.com
В Киеве я вряд-ли найду, скорее всего придётся брать здесь:
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. Продавец её конечно так хвалил, так хвалил, но я пока ещё думаю. Ну и попутно собираю другие мнения.

Date: 2011-08-26 05:34 pm (UTC)
From: [identity profile] waqur.livejournal.com
на USB-разъёме кстати можно программно передёрнуть питание, если устройство "застряло"

в RS232 нет такой роскоши

Date: 2011-08-26 07:24 pm (UTC)
From: [identity profile] alexander belchenko (from livejournal.com)
насчет передернуть питание не уверен, меня уверяли, что есть ситуации при которых только физическая расстыковка разъема USB помогает.

С RS-232 на самом деле намного лучше. У меня в устройствах сделано так: на контакт RTS повешен сброс устройства. При открывании порта можно дать сброс (вобщем на линухе без этого никак, на винде можно открыть порт не дергая RTS), и в процессе работы тоже можно дать сброс. Очень удобно.

Date: 2011-08-26 06:12 pm (UTC)
From: [identity profile] waqur.livejournal.com
а, кстати - наверное с т.з. стабильности линуксовых драйверов важен не USB-serial интерфейс на контроллере, а USB host controller на компьютере?

в этом смысле единообразия нет, каждый производитель одноплатных ARM-компьютеров ставит что-то своё

Date: 2011-08-31 03:12 pm (UTC)
From: [identity profile] http://users.livejournal.com/_farin_/
Не уверен, насколько подходит под твою задачу, но 5 копеек вставлю.

Игрался со следующей девайсинкой: http://www.evodbg.com/index.php?option=com_content&task=view&id=70&Itemid=1

Остался доволен, штатный линукс весьма трезв.

Date: 2011-08-31 03:37 pm (UTC)
From: [identity profile] waqur.livejournal.com
да, вполне нормальный вариант

спасибо

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Автор стиля

Развернуть

No cut tags
Page generated 2026-03-01 05:57 pm
Powered by Dreamwidth Studios