Після того, як я проапгрейдився новим комп'ютеризованим монтуванням, (а точніше, комп'ютеризував існуюче HEQ-5 Upgrade Kit-ом), постало питання, як бути з астровилазками, коли телескоп треба виносити значно далі балкона. Крім проблеми живлення монтування, яка вирішується відносно просто, постало зразу ж питання ноутбука. В принципі, мій старенький
Thinkpad X60 може протягнути годин 6-7 при економному використанні, якщо йому докупити нову батарею, тому, чисто для мене, вона вирішувалась відносно просто. Проте, якщо подивитися на це все ширше, то такої розкоші, як заряд ноутбучної батареї на 6-8 годин у більшості любителів астрономії, скоріш за все не буде. А буде 2-4 години від сили. Інша проблеми - це проблема з USB портами. Якщо живиться тільки монтування - то все ок. Але, якщо астроном бере з собою гід, астрокамеру і кільце фільтрів - з USB портами може початися "напряжонка" (особливо, якщо ще хочеться туди й мишку приєднати). Також, в силу специфіки USB протоколу, кабелі не можна робити достатньо довгими. В принципі, всі ці проблеми вирішуються, але всі разом приводять до суттєвих незручностей, як у випадку виїзду на природу з достатньо серйозним обладнанням, так і для стаціонарних обсерваторій. Тому, мені прийшла в голову думка вирішити їх "одним махом", зробивши такий-собі астрокомп'ютер, до якого можна було б з одного боку підключасти різні астродевайси, і який би міг працювати як самостійно, та і в парі з іншими комп'ютерами.
Отже
Задачі
Зробити девайс, який би:
- живився від будь-якого підходящого джерела постійного струму - автомобільного акумулятора, різних літій-полімерних, літій-кадмієвих і т.п. батарей для електромоделей, блоків батарейок R20 (D), мережевих блоків живлення тощо
- мав "на борту" активний USB хаб з максимальною кількістю портів
- мав можливість виступати у вигляді точки, до якої можна було б під'єднуватись віддалено для керування телескопом
- міг працювати в широкому діапазоні температур
- був енергоекономним
- був би максимально компактним
- мав відносно невисоку собівартість
Рішення
Як швидко виявилось, кожна з цих задач сама по собі давно вирішена. Непритензійними до живлення, економічними та дешевими, як відомо, зараз є одноплатні комп'ютери, типу
Raspberry Pi. В той же час, вони являються повноцінними універсальними комп'ютерами, на які можна поставити достатньо звичну операційку - Linux. У свою чергу, Linux може запропонувати для астрономів-любителів інфраструктуру, схожу на ASCOM для Windows -
INDI (
wikipedia), який - у свою чергу - реалізований у вигляді INDI-сервера, з одного боку до якого під'єднуються астродевайси, а з іншого - клієнти. Клієнти можуть знаходитись як на одній машині з сервером, так і з'єднуватися з ним по мережі.
Клієнти для INDI-сервера існують для всіх популярних операційних систем (включаючи Android та IOS) і, часто, вбудовані у віртуальні планетарії. Наприклад, потужні INDI клієнти ідуть в комплекті з планетаріями
KStars та
SkyChart.
Також, для віддаленого керування цілком можна використовувати
VNC клієнти, якими можна під'єднуватись до астрокомп'ютера для віддаленого керування (клієнти теж існують для всіх популярних операційних систем).
Такий підхід робить можливим використовувати такий астрокомп'ютер не тільки в парі з ноутбуками, а й планшетами чи телефонами.
Апаратно віддалене з'єднання можна реалізувати по ethernet, або wifi, зробивши з астрокомп'ютера wifi-точку доступу (теоретично, при підключенні до такого комп'ютера 2G/3G модема, можна було б використовувати його ще й як інтернет-шлюз. Правда, не знаю, для чого це потрібно в любительській астрономії :) ). Так як у багатьох одноплатних комп'ютерах уже є вбудована wifi картка, з більшості з яких можна зробити точку доступу - така задача вирішується достатньо просто.
Підходящий недорогий активний USB хаб на 4-5-7 портів теж можна підібрати
І останнє - розводка живлення, яке можна реалізувати з використанням понижувачів постійного струму з підстройкою.
Для самостійної роботи також може знадобитися дисплей. На ринку можна знайти 5-7'' дисплеї з тачскріном, які можна було б використати для підключення до комп'ютера. Правда, така штука "з'їсть" один USB, бо тач треба підключати саме на USB роз'єм
Реалізація
За основу я взяв
LinkSprite PCDuino з кількох причин. По-перше, вона в мене вже була (хехе). По-друге - ця штуковина, являє собою щось типу гібриу Raspberry Pi та Arduino, а це значить, що плата, як мінімум, буде сумісною з Arduino Nano і "шити" Arduino-вську частину можна шити просто з одноплатного комп'ютера. Перша експериментальна реалізація астрокомп'ютера базується на першій версії PCDuino. Робочий варіант, можливо, переїде на третю (якщо мене не задушить жаба її купувати). WIFI у першій версії немає, на відміну від другої та третьої версій, але я підібрав USB WIFI, з якої теж можна зробити точку доступу. В якості USB хаба - 7 портовий USB адаптер Viewcon. Цікавою особливістю цього девайсу являється вимикач на кожен порт, що дуже практично - можна вимикати USB не виймаючи звідти девайса. Ще туди входить понижувач напруги з підстроєчним резистором, який дозволяє вмикати на вхід 8-40 вольт постійного струму (підлаштувавши вихідну напругу до 5 вольт, перед тим як вмикати девайси на виході). Ще сюди прикручена кнопка живлення (з фіксацією) і дуже цікавий перемикач, який переводить девайс в режим сервера (вмикається точка доступу, стартує DNS/DHCP сервер для роздачі IP-адрес, власне, INDI сервер тощо) чи клієнта (можна вмикати у звичайну мережу для технічних робіт, апгрейду, скачування/закачування даних тощо).
Базовий варіант не призначений для самостійного використання, тому буде комплектуватися 4-стрічковим дисплеєм, де будуть показані параметри підключення до WIFI та INDI сервера. Підключатися можна буде INDI клієнтом або через VNC з допомогою будь-якого девайсу з дисплеєм, для якого є VNC та/або INDI клієнт. За результатами польових випробувань, можливо, що туди зразу ж буде встановлено 5 чи 7 дюймовий дисплей з тачскріном
Реалізовано
Все вищесказане було запхнуте в пластиковий корпус, живлення, вимикачі й кнопки були розпаяні таким чином, щоб вивести їх на корпус. Основний функціонал виведений у вигляді механічних елементів (дуже зручно в умовах обмеженої видимості) і тепер я благополучно буду займатися дописуванням та конфігуруванням софта під цією коробкою. PCDuino крім стандартних Arduino-вських pin-ів має ще 4 GPIO роз'єми і пара I2C 6-пінових роз'ємів. Якщо вийде вивести на ці "додаткові" піни вимірювання температури та керування дисплеєм, перемикання режимами роботи тощо - ця штука буде повністю сумісна з Arduino-вськими шілдами, які можна програмувати й заливати зі StarBrain-а на його ж arduino-вський шматок. Якщо ж ні, доведеться вивести тільки частину arduino-вських pin-ів для різних DIY астродевайсів
To be continued |
StarBrain живиться від блоку з 8 батарейок R20 (D) |
|
Зовнішній вигляд |
|
"Під капотом" |
|
USB порти |
|
Днище з ніжками, кнопкою Reset і вимикачем вентилятора (згодом керування вентилятором буде автоматичним за результатами вимірів температури всередині корпусу) |
|
"Вхід" повітря біля знижувача напруги |
|
Бокова панель з HDMI виходом, Ethernet-ом і 12V та 5V виходами живлення |
|
З екранчиком |
|
Внизу - попіново сумісний з arduino роз'єм |
PS як(що) закінчу остаточний варіант девайса - можна буде випускати такі невеликими партіями, тож, можна не соромитись і писати, якщо він вас зацікавив у контексті покупки
Клієнти INDI http://indilib.org/about/clients.html
ВідповістиВидалитиЧитаю на форумі: "Тепер лишилася програмна частина, за яку й сяду найближчим часом. Графічку планую зробити на базі Enlightenment E17 +треба написати кілька софтин. Думаю, python+pyQT має підійти".
ВідповістиВидалитиПро які власне софтини йде мова?
Raspberry Pi 3 is out now! Specs, benchmarks & more
ВідповістиВидалитиhttps://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/
>> Про які власне софтини йде мова?
ВідповістиВидалитиНу, по-перше, зробити, щоб з комп'ютер міг нормально керувати екранчиком і можна було перемикати режими хардварними кнопками (це SPI виходи будуть застосовуватись, скоріш за все. Щоб не чіпати ардуіновської частини). +треба якийсь конфігуратор з GUI. Це як мінімум.
Raspberry PI не дуже хочеться, бо хочеться мати вільні arduino-вські роз'єми прямо на борту. В pcduino можна запустити ардуіновську IDEшку і прямо звідти шити arduino-вську частину pcduin-и. Це дуже зручно. RPI, звичайно, дає свої переваги (там уже он 40 пінів натикали), але, хотілося б таки мати ардуінку на борту, бо під неї реально багато різних бібліотек і всього такого :)
Є INDI драйвери для Arduino.
ВідповістиВидалитиhttp://indilib.org/develop/arduino/110-welcome-to-indiduino.html