Хабрахабр

[Перевод] 96-ядерный суперкомпьютер на одноплатниках NanoPi Fire3

Создание высокопроизводительного кластера с 12 узлами NanoPi-Fire3 менее чем за £100 (£550, включая двенадцать Fire3)

FriendlyARM из Китая очень щедро отправила мне 12 своих последних 64-битных ARM плат NanoPi-Fire3, на каждой из которых восьмиядерный ARM A53 SoC, работающий на частоте 1,4 ГГц, с гигабитным Ethernet. Мой прошлый кластер на Raspberry Pi 3 в прошлом году немало заинтересовал публику, так что я попробовать сделать аналогичные проекты на других отличных одноплатных компьютерах, которые есть на рынке.

Размер кластера 146,4 (ш) × 151 (в) × 216 мм (д), а вес 1,67 кг.

или… Для чего он нужен??

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

Я планирую написать несколько статей, чтобы оценить этот кластер для майнинга и глубокого обучения.

Docker Swarm или Kubernetes кажутся отличными вариантами для управления кластером, хотя я их ещё не пробовал.

Плата NanoPi-Fire3 значительно более продвинутая по сравнению с Raspberry Pi 3 как с точки зрения производительности, так и с точки зрения функций, в меньшем форм-факторе, при этом примерно по той же цене:

NanoPi-Fire3

Raspberry Pi 3 model B

SoC

8-ядерный ARM A53
S5P6818 @ 1,4 ГГц

4-ядерный ARM A53
BCM2837 @ 1,2 ГГц

Память

1 ГБ DDR3

1 ГБ DDR2

GPU

Mali-400 MP4
500 МГц?

Broadcom VideoCore IV
400 МГц?

Сеть

1000 Мбит/с

100 Мбит/с

WiFi

нет

802.11bgn

Bluetooth

нет

4.1 + BLE

Хранение

Карта microSD

Карта microSD

USB

1 разъём
1 microUSB

4 разъёма

Видео

Micro HDMI 1.4a, RGB-LCD

HDMI, DSI

Интерфейс для камеры

DVP

CSI

Аудио

нет

3,5 мм

Размер

75×40 мм

85×56 мм

Питание

1,2 → 3,6 Вт
2A макс., microUSB

1,2 → 2,1 Вт
2,5A макс., microUSB

Выпуск

Q4 2017

Q1 2016

Цена (UK)

£34,301

£33,59

1 $35 за Fire3 + $5 доставка + 20% VAT + 0% импортная пошлина = £34,30


Процессор

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

4.
Linpack TPP v1. Количество MFLOPS (миллионов операций с плавающей запятой в секунду) 1 (решатель линейных уравнений).

На плате Fire3 вдвое больше ядер, более высокая тактовая частота и более быстрая память: в итоге результат в 6,6 раз выше, чем на Pi 3.

Кластер из пяти Fire3 работает в 8,2 раза быстрее, чем кластер Pi 3 того же размера, что объясняется дополнительными ядрами CPU, более быстрой памятью и гораздо более быстрой сетью для обмена данными между узлами. 60 000 MFLOPS — не слишком много по текущим стандартам производительности, но ещё в 2000 году этот кластер из 12-ти Fire3 вошёл бы в топ-250 самых быстрых суперкомпьютеров в мире (!).

16-ядерный суперкомпьютер Cray C90, выпущенный в 1992 году, выдавал 10 780 MFLOPS, но стоил $30,5 млн, весил 10,9 тонн и нуждался в питании на 495 кВт!

Но мы взяли оценки из стандартного пакета hpcc в Ubuntu 16. Настройка кластера для получения максимального результата — это целое искусство: оптимизация компилятора, настройка математических библиотек и т.д. 4, используя конфигурацию по умолчанию. 04.

Команды оболочки для бенчмарка

# Setup on each node
apt install hpcc
swapoff -a
adduser mpiuser # Controller node setup
su - mpiuser
cp /usr/share/doc/hpcc/examples/_hpccinf.txt hpccinf.txt
# Edit default hpccinf.txt so that NB=80, N=18560, P=8 and Q=12 (P x Q = 96 cores)
sed -i "8s/.*/80\tNBs/; 6s/.*/18560\tNs/; 11s/.*/8\tPs/; 12s/.*/12\tQs/" hpccinf.txt
# Generate & copy SSH keys across cluster, so controller can run benchmark on all nodes
# (use the hostnames or IP addresses for your nodes)
ssh-keygen -t rsa
nodes=('controller' 'b1' 'b2' 'b3' 'b4' 'b5' 't1' 't2' 't3' 't4' 't5' 't6')
for i in $
do ssh-copy-id "fire3-$i" echo "fire3-$i slots=8" >> mycluster
done
mpirun -hostfile mycluster --mca plm_rsh_no_tree_spawn 1 hpcc
grep -F -e HPL_Tflops -e PTRANS_GBs -e MPIRandomAccess_GUPs -e MPIFFT_Gflops -e StarSTREAM_Triad -e StarDGEMM_Gflops -e CommWorldProcs -e RandomlyOrderedRingBandwidth_GBytes -e RandomlyOrderedRingLatency_usec hpccoutf.txt

Графика

И в Fire3, и в Pi 3 используются четырёхъядерные GPU для параллельной обработки больших объёмов данных в компьютерной графике. В последнее время их применяют также для специализированных вычислений, таких как майнинг криптовалют.

03 (OpenGL ES 2.
glmark2-es2 2014. Оценка чем больше, тем лучше 0).

Результаты кластеров просто масштабируются по количеству узлов. Плата Fire3 в этом тесте оказалась в 7,5 раз быстрее, чем Pi 3.

В данном тесте мы просто запустили стандартный бинарник glmark2-es2 в Ubuntu 16. Как и в случае с CPU, есть много вариантов настройки графики путём компиляции с разными драйверами и т.д. 4, используя конфигурацию по умолчанию. 04. Он запускается такой командой:

sudo apt install glmark2-es2
glmark2-es2 --off-screen

Устаревший рендер OpenGL для Pi 3 довольно слаб, но если переключиться на экспериментальный рендер Mesa VC4 через rpi-config, то получите производительность как у Fire3.

GPU Mali-400 MP4 в Fire3 датируется 2008 годом, а Broadcom VideoCore-IV в Pi 3 — 2010 годом. В большинстве одноплатников ARM установлены относительно старые GPU, которые показывают очень скромную производительность по сравнению с последними флагманскими смартфонами, не говоря уже о настольных ПК с дорогими графическими картами высокого класса и огромными блоками питания. Есть несколько более свежих одноплатников, такие как RockPro64 от PINE64, с более мощными и новыми графическими процессорами (Mali-T860 MP4), в то время как в телефоне Samsung Galaxy S9 установлен Mali-G72 MP18 последнего поколения.

Сеть

В этих тестах проверяется реальная скорость передачи данных в iPerf между двумя платами, подключёнными к коммутатору Ethernet 100/1000Mpbs.

iPerf v2.0.5 (TCP, 1000Mbps Ethernet, между платами), Мбит/с

С настройками по умолчанию интерфейс 1000 Мбит/с на Fire3 показывает огромную разницу скорости в 8,5 раз по сравнению с интерфейсом 100 Мбит/с на Pi 3.

Команды оболочки для бенчмарка

sudo apt install iperf
# On node1
iperf -s -V # On node2
iperf -c node1 -i 1 -t 20 -V

Если хотите увеличить сетевую производительность на Raspberry Pi (старше Pi 3 model B+), можно установить гигабитный USB-адаптер Ethernet вместо стандартного встроенного интерфейса. Он увеличит скорость в 2,8 раза, но из-за ограничений USB2 по-прежнему будет гораздо медленнее настоящего интерфейса 1000 Мбит/с. Этот сетевой интерфейс интегрирован в самой новой модели Pi 3 B+.

Производительность кластера на ватт

Чтобы оценить производительность на ватт, я взял результаты теста Linpack выше в MFLOPS и поделил на потребляемую мощность. Этот показатель обычно используется для ранжирования компьютерных систем.


MFLOPS на ватт

Кластер Fire3 с пятью узлами в 5,8 раз более энергоэффективен, чем кластер Pi 3 того же размера, хотя и потребляет больше мощности при 100% нагрузке.

WiFi, Bluetooth, HDMI и прочее оставлено в настройках по умолчанию. Ватты измерялись при нагрузке 100% для всего кластера, включая сетевые коммутаторы, вентиляторы и блоки питания.

Суперкомпьютер Cray C90, упомянутый выше, выдавал всего лишь 0,02 MFLOPS на ватт в 1992 году.

Я изменил оригинальный дизайн кластера Raspberry Pi в бесплатной версии SketchUp, набросав грубые 3D-шаблоны NanoPi-Fire3, сетевых коммутаторов, разъёмов и т.д. Я решил не включить в модель вентиляционные щели/решётки. Корпус точно такого же размера, как и кластеры из пяти узлов: задача была вместить в него 12 плат, вдвое больше вентиляторов и коммутаторов Ethernet, а также все кабели!

Скачать SKP-файл для SketchUp 2013

Я пользуюсь бесплатной программой Inkscape: она подготавливает 2D-модели для загрузки в лазерный резак. Разные цвета соответствуют различным уровням мощности/скорости лазера. Сначала вырезаются контуры по зелёным линиям с отверстиями для портов, болтов и вентиляции. Розовым обозначены дополнительные вырезы, чтобы легче извлекать хрупкие части. Затем вытравливаются оранжевые текст и линии, а в самом конце панели вырезаются по синим контурам.

Можно скачать файлы для резки на одном листе 600×400×3 мм, хотя я сам для разных панелей брал или прозрачные, или чёрные листы:

Необязательная маленькая деталь — диффузор для (очень яркой!) панели светодиодов, которую можно вырезать из матового акрила или просто купить официальный диффузор Pimoroni за три фунта.

в моей первой статье. Подробнее о лазерной резке и безвинтовой системе сборки корпуса см.

Хотя корпус остался точно такого же размера но я сделал много изменений и улучшений:

  • Конструкция горизонтальной монтажной рейки сохранилась, но в Fire3 отверстия M3, для которых проще найти детали, чем для M2.5 в Pi. И отверстия ближе друг к другу, потому что общий размер платы немного меньше, чем Pi. Привинчивать пластиковые гайки к горизонтальным рейкам немного утомительно, и я бы хотел напечатать на 3D-принтере какие-нибудь пластиковые зажимы, чтобы удерживать платы вдоль каждой рейки, или сделать плотные эластичные шайбы?
  • Внешний блок питания вместо внутреннего USB-концентратора: я заменил внутренний USB-блок питания на безвентиляторный блок питания переменного тока снаружи корпуса. Это освобождает место внутри (для большего количества плат Fire3 и двух вентиляторов) и должно помочь с отводом тепла. Каждый Fire3 может потянуть максимум 2A, но в реальности кластер потянет гораздо меньше, без учёта дополнительной периферии, которая висит на USB и GPIO.
  • Две цепочки microUSB вместо 12 отдельных кабелей: подходящих в продаже не нашлось, так что я сделал собственные кабели в «цепочку» (daisy-chain), используя более короткие и толстые провода (рейтинг 11A) и припаяв 12 коннекторов microUSB: в итоге кабели заняли очень мало места внутри корпуса… подробнее
  • Два вентилятора вместо одного: я был уверен что более мощным платам Fire3 понадобится значительно более активное охлаждение, поэтому сделал на корпусе место для двух сверхтихих вентиляторов 92 мм: задний вентилятор всасывает холодный воздух внутрь корпуса, а передний выдувает горячий воздух наружу.
  • Вентилятор Gelid Solutions Silent 9 вместо Nanoxia Deep Silence: я очень доволен производительностью вентилятора Nanoxia (и их отличной техподдержкой), но хотел попробовать более дешёвый вариант. Резиновые прокладки Gelid толще, чем у Nanoxia, поэтому я увеличил диаметр крепёжных отверстий в корпусе на 0,5 мм.
  • Прямое питание 5V для вентиляторов вместо 5V от GPIO: в предыдущих кластерах вентиляторы запитывались от вывода GPIO одной из плат. Но с учётом установки двух вентиляторов на 12V я подключил повышающий преобразователь с прямой линией от основного питания корпуса.
  • Несколько вентиляционных отверстий вместо большого количества: вместо вырезания десятков вентиляционных отверстий по всему корпусу (что занимает время) я вырезал отверстия только на передней и задней панелях, напротив вентиляторов. Может быть, это оптимизирует воздушный поток через корпус?
  • USB-разъёмы на корпусе: эти два объединённых USB-разъёма отлично работали в моём исходном кластере, но они мне никогда не нравились из-за длинных кабелей, которые нормально не сгибаются. Так что теперь я взял два отдельных USB-порта с короткими кабелями и разъёмами под углом, что оставляет больше места внутри корпуса.
  • Нет полки для крепления USB-концентратора: перенос блока питания наружу упростил конструкцию корпуса, который теперь можно вырезать из одного листа акрила 600×400 мм. Снятие полки уменьшает жёсткость корпуса, но если привинтить горизонтальные монтажные рейки к боковым панелям, то жёсткость нормальная.
  • Плоские кабели LAN вместо круглых: мне понравились разноцветные сетевые кабели из проекта RPi3, но их очень непросто уложить внутри корпуса. Плоские кабели изгибаются гораздо легче, что ещё важнее с такой плотной упаковкой плат. Сначала я попробовал кабели 25 см, но они оказались слишком длинными, а вот кабели 15 см оставили больше свободного пространства внутри корпуса.
  • Синие сетевые кабели вместо скучно-серых: синий действительно расцвечивает серую конструкцию… плюс логотип FriendlyARM синий с зелёным.
  • Гигабитный свич вместо 10-гигабитного: у Fire3 сетевые порты на 1000 Мбит/с (вдесятеро быстрее, чем Pi), поэтому очевидно, что коммутатор должен быть минимум 1000 Мбит/с. Десятигигабитный коммутатор полностью устранит бутылочное горлышко в этом месте: так десять или более Fire3s смогут на полной скорости обмениваться данными с внешней сетью. Однако такие свичи по-прежнему дороги (от £200) и слишком громоздки. Коммутатор NETGEAR GS110MX выглядит многообещающе.
  • Держатели платы 4 мм вместо 6 мм: понизив плату коммутатора, мы получили немного больше места для прокладки кабелей и воздухообмена.
  • Micro HDMI вместо HDMI: в платах Fire3 разъёмы Micro HDMI, поэтому я использовал самый короткий кабель Micro HDMI → HDMI, который смог найти (50 см). Другим вариантом был более короткий кабель с отдельным адаптером HDMI → Micro HDMI, но он громоздкий и может заслонить один из портов LAN.
  • Чёрные панели из плексигласа вместо прозрачных: чтобы «спрятать» два вентилятора, но оставить всю электронику на виду сбоку и сверху. Чёрная передняя панель также привлекает взгляд к светодиодной панели Unicorn.
  • Светодиодная панель Unicorn pHAT вместо простых светодиодов на платах: в кластере так много узлов, что есть смысл вынести на переднюю панель корпуса визуальный мониторинг статуса, который показывает скорость CPU, температуру, дисковую и сетевую активность для каждого узла… подробнее

Можете почитать ещё о некоторых конструкторских решениях в исходном кластере Pi.
Я выбрал отличную панель Unicorn pHAT 32x RGB LEDs от Pimoroni, чтобы создать красочный «дисплей состояния» кластера. Он показывает нагрузку на процессор, температуру, дисковую и сетевую активность для каждого узла. Эти недорогие платы обычно подключаются прямо к пинам Raspberry Pi, но надо немного повозиться, чтобы подключить их к другой плате. В библиотеке rpi_ws281x от Джереми Гарффа используется очень умный низкоуровневый код PWM/DMA, специфичный для Raspberry Pi, поэтому я изменил библиотеку на использование одного пина SPI для управления светодиодами, что должно работать практически на любом оборудовании.

В следующей статье я подробно опишу, как это всё работает. Unicorn pHAT соединяется с платой всего тремя проводами: +5V, GND и SPI0 MOSI (пин 19). 5. Светодиоды очень яркие, поэтому гораздо лучше смотрятся за диффузором, который крепится к внешней стороне корпуса двумя-четырьмя винтами M2. Можете вырезать собственный диффузор из матового акрила или купить модель Pimoroni с винтами за £3.

Каждый узел раз в секунду сообщает брокеру текущую скорость процессора, температуру, сетевую активность и т.д. Состояние кластера на узле контроллера контролирует легковесный брокер (сервер) Mosquitto MQTT (Message Queue Telemetry Transport).

Без нагрузки вся система из двенадцати Fire3s, двух сетевых коммутаторов и двух вентиляторов 7V потребляет всего 24 Вт, а при полной нагрузке — 55 Вт.

К счастью, FriendlyARM поставляет большой радиатор с термопастой, который надёжно крепится на плату Fire3. Нужны ли радиаторы? С удвоенным количеством ядер Fire3 SoC генерирует гораздо больше тепла, чем Pi3, поэтому очень важно наличие радиатора. Он гораздо больше, чем радиаторы для других одноплатников, которые я видел на рынке, и отлично снижает температуру камня, но вентиляторы всё равно не помешают.

Измеряем температуру: Адаптер питания выдаёт максимум 75 Вт (1,1 А на Fire3), поэтому внешним USB-устройствам (например, жёстким дискам), скорее всего, потребуется отдельный источник питания.

cat /sys/devices/virtual/thermal/thermal_zone0/temp

Видим, что процессор без нагрузки нагревается до 39°C с охлаждением от обоих вентиляторов 12V.

На нагрузке 100% с вентиляторами температура достигает стабильных 58°C:

sysbench --test=cpu --cpu-max-prime=20000000 --num-threads=8 run &

Без вентиляторов температура быстро достигнет 80°C с автоматическим понижением тактовой частоты во избежание дальнейшего перегрева. Процессоры могут долго работать на этой температуре без всяких проблем, но вы не получаете максимальную производительность.

Для охлаждения одного Fire3 подойдёт гораздо меньший вентилятор, возможно, 40-60 мм. Точно такой же дизайн корпуса должен подойти для моделей NanoPi Fire2s и Fire2As, которые не так нагреваются, как Fire3, так что им будет достаточно одного вентилятора.

К сожалению, здесь нет поддержки Ethernet Wake-on-LAN, а только негибкая настройка "wake after X minutes". Что нетипично для одноплатников, Fire3 умеет уходить в сон со сверхнизким энегопотреблением (около 5 мкA), что наталкивает на мысль усыплять и выводить из сна отдельные узлы по необходимости. Возможно, его можно подключить для удалённого пробуждения с пина GPIO на контроллере? Однако на платах есть хедер PWR.

Бесшумное охлаждение

Для охлаждения кластера я установил в корпус два вентилятора 92 мм. Я искал по возможности самые тихие кулеры по рейтингу Quietpc.com, и выбор пал на Gelid Silent 9 по £5,40.

Однако на 12V вентиляторы довольно хорошо слышны (20dBA) в тихой комнате. Чтобы услышать хотя бы малейший шум вентилятора на 5V, нужно приблизить к нему ухо на расстояние 5−7 см, а резиновые прокладки из комплекта отлично изолируют корпус от любых вибраций. С помощью повышающего преобразователя я изменял скорость вентиляторов, пробуя варианты напряжения между 5V и 12V. Поэтому я искал напряжение, которое бы обеспечило достаточное охлаждение, но сохранило тишину.

Вентиляторы

Радиаторы?

Без нагрузки

100% нагрузка

  Производительность   

Задний 12V, 1500 rpm

да

42°C

66°C

OK

Задний 9V,? rpm

да

44°C

71°C

OK

Задний 7V,? rpm

да

46°C

75°C

снижение частоты

Оба 12V, 1500 rpm

да

39°C

58°C

OK

Оба 7V,? rpm

да

40°C

65°C

OK

Оба 5V,? rpm

да

46°C

77°C

снижение частоты

(тут приведены средние температуры для разных узлов, то есть на среднем 71°C в реальности две платы близки к аварийному снижению частоты).

Предполагаю, что второй вентилятор важнее на большем корпусе и/или более сложном пути воздушного потока внутри корпуса? Меня удивило, что второй вентилятор особо не влияет на результат, и в конце концов осталось сделать выбор между одним вентилятором на 9V или двумя на 7V, при этом второй вариант немного прохладнее и тише.

Кабели питания: сага в пяти частях

Сложнее всего оказалось найти хорошее решение для питания 12 узлов, двух коммутаторов Ethernet и двух вентиляторов. Я пытался избежать большого количества пайки и самостоятельного изготовления кабелей…

  1. Fire3s питаются через microUSB, как Pi, но я не нашёл 12-портовый USB-концентратор на 15A. Я рассматривал 6-портовый концентратор с шестью двухсторонними сплиттерами microUSB или даже два отдельных 6-портовых USB-концентратора. Но первый вариант не обеспечивал достаточно мощности для 12 узлов, а второй занимал слишком много места внутри корпуса.
  2. С внешним «кирпичом» в качестве источника переменного тока я попробовал некоторые стандартные 8х и 6х сплиттеры. Кабели предназначены для камер видеонаблюдения с угловыми разъёмами microUSB → DC, но они занимают много места (плохо для воздушного потока) и не рассчитаны по току, что приводит к падению напряжения на каждую плату Fire3.
  3. А если использовать стальные рейки шасси в качестве проводника для 5V+GND?! Это не так безумно, как кажется: у каждой рейки низкое сопротивление всего 0,5 Ом и должна быть электрическая изоляция от плат. Но я не смог придумать, как сделать надёжное соединение от каждой платы к рейке, чтобы легко отключать их в случае замены узла и т.д.
  4. Новая надежда? Существует ли какой-то способ питания плат кроме пайки 12 самодельных кабелей microUSB? У плат Fire3 есть незанятые точки 5V+GND, такие как хедер UART. Было бы проще и дешевле припаять двухконтактный хедер к каждому узлу и обеспечить питание с помощью готовых двухконтактных разъемов DuPont вместо microUSB. Однако от этого смелого плана пришлось отказаться, когда я понял, что после сборки кластера между платами недостаточно места для подключения или отключения двухконтактных разъёмов… да и в идеале я бы не хотел паять каждую плату.
  5. В итоге я смастерил самодельную цепочку из силовых кабелей (daisy-chain), взяв двужильный кабель толщиной 0,5 мм (11A, 6 узлов по длине) и припаяв к нему угловые разъёмы microUSB. Получилось очень аккуратно, и кабель занял очень мало места внутри корпуса, обеспечив отличный воздушный поток. Две цепочки питания выходят из корпуса через отдельные через отдельные сокеты, чтобы ограничивать максимальный ток через один разъём DC. Это также означает, что вы можете включить только верхнюю или нижнюю половину кластера, если хотите.

Оба Ethernet-коммутаторов тоже запитаны от 5V, припаяны круглые разъёмы постоянного тока.
Процесс сборки аналогичен 40-ядерному кластеру ARM на NanoPC-T3, только с бóльшим количеством узлов, дополнительным сетевым коммутатором и вентилятором. Платы Fire3 размещаются на расстоянии 20 мм вдоль реек с резьбой M3, каждая закрепляется восемью гайками.

Некоторые кабели проложены и закреплены с помощью небольших кабельных стяжек. Для красоты я приклеил плату повышающего преобразователя 5V-to-12V к задней панели корпуса и добавил пины, чтобы легко включать и отключать вентиляторы.

Дисплей Pimoroni LED подключен к плате контролера через три пина GPIO… подробнее.

Большинство деталей получены от разных продавцов на AliExpress или eBay, что сильно повышает почтовые расходы. Если на кластеры будет достаточный спрос, дешевле закупить детали оптом.

Коммутатор Edimax ES-5800G V3 Gigabit Ethernet (2 шт.)

£19,96

Плоские кабели 15 см Cat6 LAN (12 шт.)

£6,79

Стальные винты M3 12 мм (8 из 10 шт)

£1,45

Латунная стойка M3 4 мм (8 из 50 шт.)

£0,99

5,5/2,1 мм DC коннектор (2 из 5 шт.)

£1,49

1 м провод джампера красный+чёрный

n/a

1 м 2-жильный 0,5 мм кабель питания (11A) DC

£0,99

Угловой разъём microUSB под пайку (12 из 20 шт.)

£1,63

5,5/2,1mm разъём DC для крепления на шасси (2 из 10 шт.)

£0,65

Клеммный блок 10A (4 из 12)

£1,29

БП 100 Вт (5 В @ 20 А) без вентилятора, 5,5/2,1 мм + розетка UK

£13,51

Крепление RJ45 с резьбой «папа-мама» (2 шт.)

£1,74

Стальные винты M3 8 мм (4 из 5)

£1,25

Стальная штанга с резьбой M3 150 мм с шайбами и гайками (8 шт.)

£9,20

Нейлоновые шестигранные гайки M3 (120 из 150)

£1,73

Micro HDMI «папа» к HDMI «мама» панельное крепление 50 мм

£2,19

USB «мама» к угловому «папа» панельное крепление 25 см (2 шт.)

£2.38

3 мм прозрачное оргстекло 600×400 мм

£5,32

5V-to-12V повышающий преобразователь

£2,04

Заряд для лазерного резака

n/a

92 мм вентилятор Gelid Silent 9 (2 шт.)

£11,65

Полиуретановые резиновые ножки (4 из 10)

£1,75

Панель Unicorn pHAT 32x RGB LED

£10,00

Чёрные винты M2.5 10 мм (2−4 из 20)

£1,02

Маленькие кабельные стяжки (10 шт.)

n/a

Итого материалы

£97,73

NanoPi-Fire3 по $35 (12 шт.)1

£383,38

microSDHC-карта SanDisk Industrial class 10 8 ГБ (12 шт.)

£62,16

Всего

£543,27

1 NanoPi-Fire3 можно беспошлинно импортировать в Великобританию, а доставка 12 плат из Китая стоит всего $29, но с учётом британского НДС в размере 20% получается £383,38.
К настоящему времени я также построил:

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть