Аркадный автомат – сборка

Итак, идея в голове оформилась, стало понятно, что надо браться за работу. Часть деталей у меня валялась уже больше года – raspbery pi & джойстики с кнопками.

Составил список закупок, дождался необходимого с алиэкспресса, остальное докупал позже.
Ключевым моментом стала покупка б/у монитора, после которого все и закрутилось.

Первый прототип. Самый лучший

Первый прототип. Самый лучший


Continue reading

Тиньков vs рокетбанк

Сегодня одновременно получил карту рокетбанка и тинькова.
Соответственно теперь могу сравнить приложения и работу обоих банков

Упаковочка рокета без сомнения симпатичнее тинькова. Но у тинькова тоже неплохая. В любом случае упаковка летит в помойку в первые пять минут.

Дизайн обеих карт никакой. Рокет не умеет делать кастомный дизайн, тинькова я что-то забыл спросить.

Приложения у обоих банков хорошие. Тиньковым я пользовался больше. В нем бесит там только одно – отсылаешь с телефона отзыв или багу, в ответ спрашивают какой у меня телефон. Сами определить платформу и модель не умеют.
У тинькова при переводе между картами карту можно сфотографировать, чтобы не вводить цифры. Это удобно. И этого нет в рокете. С другой стороны, в приложении рокета я могу логиниться отпечатком пальца (андроид), что очень радует. В тинькове этого нет. Еще тиньков умеет зашивать карту в телефон через NFC, но я не решился пока пробовать.

Рокетбанк как-то сразу присылает пуш нотификации об операциях. В тинькове я такой возможности не увидел.

Ну и самое главное. Рокетбанк не осилил забрать деньги с моей белорусской карты. А с карты тинькова выходит комиссия (на стороне тинькова). Удалось из приложения тинькова кинуть денег на рокет без комиссии. Буду еще пробовать кидать деньги переводом, но это занимает существенное время.

Поддержка в обоих банках работает хорошо. У рокета более неформальное общение. У тинькова более официальное. Но в обоих случаях вопросы решают.

В качестве итогов – тиньков пока побеждает благодаря удобству переводов.

Grafana & influxdb на banana pi

Дома крутится медиа сервер, к которому я и решил прикрутить немножко мониторинга.
Пока это датчик температуры и давления на шине I2C

Сервер – это Banana PI. У него есть SATA разъем для жесткого диска, и, что самое главное, GPIO ноги, на которые можно вешать разные устройства.

В качестве фронтэнда для мониторинга я решил взять Grafana. Это ограничило варианты хранилища данных.
Графана поддерживает Graphite, CloudWatch, ElasticSearch, InfluxDB, KairosDB, OpenTSDB, Prometheus.
Graphite – Не осилил документацию :(
CloudWatch – Облако от Amazon. Я не хотел полагаться на внешние сервисы
ElasticSearch – Java
InfluxDB – Написана на golang
KairosDB – Java поверх Cassandra
OpenTSDB – Java поверх HBase
Prometheus – Работает по pull модели. Он сам собирает данные. Мне это не понравилось

Java – не вариант. Мне не нравится экосистема Java, от нее пахнет корпоративным душком. Плюс, JVM сожрет больше ресурсов, чем я хочу.

В итоге остановился на InfluxDB – то, что все собирается в бинарный код мне показалось весьма уместным для слабого сервера. Более того, возможности писать в базу разнообразны и удобны. Простой HTTP интерфейс, просто UDP и т.п.

Сначала все показалось простым – забрать код, собрать и запустить.
На деле это конечно не так.

Начнем с golang. Его ставить совсем не очевидно. Самый свежий go1.5.x для установки хочет go1.4.x :)
После нескольких попыток поставил gvm, это сильно помогло. gvm, как и его братья из других языков rvm & nvm умеет ставить и переключать версии golang

Нельзя просто взять и сбилдить проект на golang, как я понял. ARM пока вызывает проблемы в golang. Дело еще и в том, что я не сильно знаком с этим стеком. Собирал grafana & influxdb долго и муторно. В установке сильно помогли следующие странички:
http://gridengine.eu/index.php/other-stories/229-installing-influx-db-on-raspberry-pi-2-2015-10-18
http://docs.grafana.org/project/building_from_source/

С этого момента уже легче. Есть БД и фронтэнд к ней.

Совсем бесплатно дался мониторинг состояния системы сервера. InfluxDB отлично интегрируется с кучей систем, в том числе и с collectd. Пришлось поменять всего пару конфигов.

Осталось прочитать данные с датчика. У меня был заранее закуплен датчик bmp180. Забегая заранее – датчик – это чрезвычайно просто.

bmp180

bmp180

Если кратко
– ставим библиотеку python для работы с i2c шиной
– скачиваем готовый скрипт для своего датчика :)
– пришлось адаптировать скрипт для записи непосредственно в InfluxDB через UDP
– пришлось адаптировать скрипт, чтобы он писал не миллибары, а миллиметры ртутного столба

На сервере у меня стоит OpenMediaVault, поэтому регулярно запускать скрипт чтения с датчика я настроил прямо мышкой из браузера.

Готовенький скрипт для работы
Как подключить датчик и поставить пакеты

А вот и пример датчика, висящего на i2c шине –

root@bananas:~# ls -l /dev/i2c*
crw-rw---T 1 root i2c 89, 0 Jan 1 2010 /dev/i2c-0
crw-rw---T 1 root i2c 89, 1 Jan 1 2010 /dev/i2c-1
crw-rw---T 1 root i2c 89, 2 Jan 1 2010 /dev/i2c-2
crw-rw---T 1 root i2c 89, 3 Jan 1 2010 /dev/i2c-3
crw-rw---T 1 root i2c 89, 4 Jan 1 2010 /dev/i2c-4
root@bananas:~# i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

Адаптированный скрипт лежит на гитхабе – https://github.com/Gromina/home_monitoring

Lootbox – секрет “успеха”

Стала ясна схема, по которой лутбокс.ру идет к успеху.

Предыстория такая – Заказал ребенку лутбоксы на 3 месяца.

Первый пришел где-то с опозданием в месяц. Ну, можно понять – послали в конце месяца подписки, злая почта динамила.
Второй задерживался еще дольше, я даже начал писать в саппорт и ВК. Получил отписку, но спустя немного бокс пришел, и я успокоился.

История третьего бокса – бокс декабрьский, в начале февраля ни слуху ни духу. Начинаю писать в саппорт, нет даже отписок. На сайте всплывающее говно с якобы онлайн консультантом динамит. В таком режиме проходит неделя-другая, и вот вчера получаю посылку.
Внимание, смотрим дату отправления. 3 февраля! Ясно, почта не такая уж и злая.

В голове складывается картина успеха. Собираем деньги с подписчиков, отправляем 10% боксов, остальных покупателей динамим, пока не напишут в саппорт. Профит! Кстати, недавно была распродажа лутбоксов прошлых месяцев. Нормально, второй раз можно и дешевле продать.

4246707

План корпуса для аркадного автомата

Давно уже подступаюсь к проекту Arcade bartop cabinet, уже почти закупил все, что необходимо.

Для чертежей корпуса перебрал все бесплатные программы для мака, позволяющие сделать 2Д/3Д чертеж. Это были всякие FreeCAD, QCAD, Google Sketchup

Все, что попробовал – либо унылое говно, либо пакет для космических исследований с перделками. Без бутылки разобраться совсем невозможно, хотя всего-то надо нарисовать несколько линий.

В итоге остановился на старом добром OpenSCAD. Оказалось, что теперь есть еще и онлайн варианты в браузере – раз, два

Получается вот такая штуковина –

arcade bartop cabinet

arcade bartop cabinet

Continue reading

Spotify на Kodi

Правильная инструкция по установке spotlight для kodi@rpi2.
spotlight позволяет слушать музыку со Spotify на своем kodi.
Нужно иметь Premium Spotify аккаунт. В противном случае Spotify не позволяет подключаться сторонним клиентам.