Skip to content

install

Pavel Serikov edited this page Aug 27, 2016 · 7 revisions
  1. Склонировать этот репозиторий
  2. Выяснить device file Arduino платы. Например /dev/ttyUSB0
  3. cd perl && ./installeps.sh. На Raspberry Pi этот процесс установки зависимостей может занять до часа времени, дольше всех устанавливается DBI.
  4. Создать новую базу данных (perl deploy_db.pl, создаёт пустую базу данных skud.db) или перенести старую. Для добавления новых записей в базу - perl manage_users.pl. ID карточки рекомендую смотреть в отдельном окне через picocom.
  5. Создать нового Telegram бота с помощью @BotFather и прописать API Key в начале daemon.pl. Также прописать в массив @ids тех пользователей, которым вы хотите отправлять уведомления. Проверить что Telegram-часть работает корректно можно с помощью скрипта check_telegram.pl. Получить id новой карты можно при помощи tail -f log.txt
  6. Проверить работоспособность скрипта демонта вручную: perl daemon.pl
  7. Настроить автоматический запуск демона (полезно в случае отключения питания, при перезагрузке и т.п.). Добавляем эти строчки в /etc/rc.local
cd /home/pi/FabKey/perl
touch log.txt
chmod 777 log.txt
perl daemon.pl 2> log.txt &

Есть один интересный нюанс. Perl буферизирует вывод в STDOUT, но не буферизирует STDERR. Поэтому нужно либо перенаправлять вывод com-порта в STDERR, либо отключить буферизацию скрипта. Чтобы выключить буферизацию, можно использовать волшебную палочку $|, например:

$| = 1;

Для чего нужна буферизация можно прочитать здесь

Clone this wiki locally