Счётчик лайков в Facebook из старого электросчётчика

Мы сделали физический счётчик лайков страницы студии в Facebook. Из старого электросчётчика. В основе программируемая плата Iskra Neo от «Амперки» (аналог «Ардуино») и сервомотор постоянного вращения.

Чтобы наблюдать за ростом лайков, мы поставили онлайн-камеру, направленную на счётчик, и вынесли сюда кнопку лайков (мы, конечно, хотим набрать лайков на страницу, но не только). Ещё мне нравится разбираться с электроникой и управлять вещами через интернет.

Это первый опыт.

Как это сделано

Электроника для получения лайков уже была собрана и опробована в проекте «Амперки», её достаточно только собрать. Оказалось, что это не так просто, когда я захотел вместо «Искры» сделать всё на Arduino Uno. Не получилось из-за разных принципов работы с UART(через него получает сигналы WiFi-модуль). Чтобы не писать программный UART, пришлось забить на «Ардуино» и использовать оригинальную Iskra Neo.

Модуль не может запрашивать количество лайков напрямую у страницы в Facebook, так как не работает с HTTPS. Чтобы обойти ограничение на сервер, вешается PHP-скрипт, который узнаёт количество лайков и выдаётся в виде переменной. А модуль уже обращается к адресу этого PHP-скрипта с помощью AT-команд. (Помните, раньше модему можно было сказать ATDP XXX, где XXX — это телефонный номер, и он начинал по нему звонить? Вот это они и есть.)

Электроника была готовая. Оставшиеся задачи я разделил на две части.

  1. Привод для счётчика.
  2. Управляющая программа.

Привод для счётчика

Было бы здорово сделать элегантное решение подключения счётчика с подачей тока на оригинальные катушки. Тогда можно было и оставить вращающийся диск и по минимуму вмешиваться в конструкцию. Но это сложно реализовать, поэтому отложили до следующей версии. Сейчас в счётчике сервомотор постоянного вращения прикреплён напрямую к шестерням, вращающим счётчик.

Управляющая программа

Сначала я посчитал, на сколько миллисекунд нужно включать мотор, чтобы он поворачивал диск на один оборот. Получилось примерно 1650 мс. Тут же выяснилось, что это число меняется от напряжения в сети (а оно почему-то иногда скачет) и от гуляния колёсиков счётчика. Они были разработаны лет 50 назад и плюс-минус полцифры тогда роли не играли.

Вот оригинальное устройство для получения лайков из интернета

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

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

В программе предусмотрена переменная, которая хранит количество лайков на физическом счётчике. При выключении питания она сохраняется в EPROM и при включении оттуда же берётся обратно.

Это нужно, чтобы при отключении от сети знали, на сколько надо поправить счётчик.

В итоге

Получился классный арт-объект. Прежде чем настроить камеру и повесить его на стену у себя в комнате, мы показали его в общей зоне коворкинга. Это добавило нашей странице пару десятков лайков :)

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

Доработаем в следующей версии.

0
58 комментариев
Написать комментарий...
Влад Цыплухин

Мы собирали колокольчик, который звенит при поступлении денег на счет. Но теперь хотим и ваш счетчик тоже!

Ответить
Развернуть ветку
Artyom Petrovich
Автор

Круто! А как узнавать состояние счета? По оповещению через емэйл?

Ответить
Развернуть ветку
Влад Цыплухин

Бот в Slack.

Ответить
Развернуть ветку
Artyom Petrovich
Автор

А бот как от банка узнает? Или у банка фича есть?

Ответить
Развернуть ветку
Влад Цыплухин

Речь пока что не обо всех поступлениях, а о транзакциях на сайте.

Ответить
Развернуть ветку
Artyom Petrovich
Автор

Ага, понял. Хороший мотиватор )
Подумал что обо всех поступлениях можно было через СМС сделать, они же приходят от банка.

Ответить
Развернуть ветку
55 комментариев
Раскрывать всегда