Привет!
То, что Black Swift успешно профинансировался на Kickstarter, уже не новость — в конце концов, мы уже успешно профинансировались на 200+ %, выполнили первую ачивку (все бэкеры КС получат красивые пластиковые корпуса для плат), и заканчиваем сегодня в 17:00 MSK (если на часах пока ещё меньшее время — у вас есть шанс вступить в ряды вышеупомянутых счастливцев).
Но я хочу уже немного начать переворачивать страницу и говорить о другом. В прошлой заметке в нашем блоге я специально упоминал, что, по моему глубокому убеждению, для успешной работы проекта важны не инвесторы, о которых все говорят, а партнёры, о которых говорят куда реже.
Это — демонстрационная плата, которую мы последние две недели готовили для компании Imagination Technologies (владельца MIPS Technologies, разработчика понятно какой процессорной архитектуры) — ImgTec хочет показать её на начинающейся на следующей неделе Embedded World Conference в Германии как пример готового модуля для IoT-устройств. И никто меня не убедит, что инвестор, дающий деньги, мог бы обеспечить наше присутствие там — по крайней мере, за разумную сумму, а разумная сумма на нашей стадии не включает командировку в Германию на пару-тройку дней. Партнёр? Для него это бесплатно, он в любом случае участвует — для нас же стоимость сводится к тому, чтобы бросить всё и срочно сделать какую-то наглядную демонстрацию. При этом долговременные последствия такого участия могут оказаться очень и очень интересными, и мы крайне благодарны ImgTec за такое внимание к нашему проекту.
Из этих двух недель, кстати, 4 дня ушли на ожидание Чип-и-Дипа, который из-за пересортицы на складе один 9-рублёвый диод для 5к-рублёвого заказа вёз из другого магазина. Красивая картина: на выдаче лежат две коробки, одна набита полностью, во второй — теряющийся на дне крохотный SMA-диодик. Мы не в обиде, просто это было забавно. Ну и плюс всякие задержки на то, что платы уже готовы, но встретиться и передать их получается только завтра, не успели до 16:00 пятницы — заказ будет обрабатываться уже в понедельник, и так далее. То есть я бы не сказал, что команда сидела и напряжённо работала — скорее получилась поэтапная работа с мелкими задержками в процессе.
Плата умеет показывать базовые возможности, которые с Black Swift реализуются вот в такой срок — буквально в считанные дни и усилиями пары человек.
- Стандартные GPIO: светодиоды, кнопки, реле. У светодиодов сделана программная ШИМ-регулировка яркости.
- Порты Ethernet и USB — то, что аппаратно поддержано в самом Black Swift, и на большую плату выведены только разъёмы и мелкая пассивная обвязка
- Экран 2x16 символов (WH1602A, HD44780-совместимый) — подключённый к GPIO и управляемый нашей userspace-утилитой (в ней ничего особенно сложного, мы потом выложим все эти потроха)
- Датчик температуры и влажности DHT22, подключённый также к GPIO
- Периферийный микроконтроллер (ATMega1284P), подключённый по SPI — его можно и программировать прямо из консоли Black Swift, и общаться в обе стороны оттуда же
- Датчик потребляемого платой тока, подключённый к АЦП вышеупомянутой атмеги, с которой Black Swift эти цифры собирает
- Веб-интерфейс и смартфонное приложение, которое позволяет управлять светодиодами и реле, а также показывать температуру, влажность и потребляемый платой ток — то есть там внутри есть и jQuery с AJAX-запросами, и PHP, и двухсторонняя коммуникация с работающим на Black Swift софтом через UNIX-сокет
Нам много раз задавали вопрос — а что вообще на Black Swift можно делать? Так вот, мне кажется, такая демоплата — это хороший ответ на него, фактически, на ней есть все вещи, нужные для создания какого-нибудь IoT-артефакта (да хоть холодильник к интернету подключить, если вам это надо), при этом на разработку и первый прототип нужно весьма скромное время. И в итоге получается не Arduino, которая не умеет примерно ничего, не ESP8266, который, при всей его дешевизне, вряд ли позволит создать веб-интерфейс с PHP, сокетами, женщинами и азартными играми — а устройство с функционалом, полностью соответствующим современному пониманию «умных вещей».
Да, у Black Swift есть ограничения — нет работы в жёстком реальном времени, нет аппаратного ШИМ, нет АЦП. Но, как видите, даже они преодолеваются легко и разнообразными способами.
Мне кажется, на вопрос я ответил. :) Или, как минимум, задал русло для конструктивных дискуссий — извините, что получилось мимоходом, но уж больно, на мой взгляд, наглядный пример у нас получился. Дальше обещаем больше конкретики, много документации, исходников и детально описанных примеров того, что для OpenWRT до нас мало кто описывал (вот, например, хоть плачь, хоть смейся, но простого примера работы с SPI в полнодуплексном режиме, который мог бы понять и повторить новичок в программировании, я именно для OpenWRT не нашёл — хотя там всего-то что-то типа десятка строчек кода, плюс-минус).
Да, а плата с фотографии сейчас уже едет в США.
Автор: olartamonov