Проект для курса IoT академии Samsung в СПбГУ (2020).
В электропоездах возникает проблема неравномерного распределения пассажиров, так как отсутствует возможность узнать, где в электропоезде есть необходимое количество свободных мест. Данная система позволит пассажирам быстрее находить свободное место в электропоезде, что обеспечит более равномерное распределение пассажиров по поезду, упростит проверку билетов и сделает поездки комфортнее. Более подробная информация в презентации.
- Макетная плата
- Arduino Uno
- GSM GPRS SIM900 Shield
- Кнопки
- Сдвиговые регистры SN74HC165N (количество определяется исходя из того, что к каждому регистру можно подключить не более 8 кнопок)
- Резисторы (по одному на каждую кнопку)
- Соединительные провода
- Регистры подключаются каскадом, если требуется подключить более 8 кнопок. Тогда необходимо подключить последовательный вывод регистра (QH) к последовательному входу (SER) предыдущего регистра.
- Кнопки необходимо подключать к 5V через резисторы.
- GSM GPRS SIM900 Shield подключается к Arduino, в него необходимо вставить SIM-карту и проверить, чтобы был положительный баланс на счёте.
- React
- Node.js + Express
- MongoDB
- API Яндекс.Расписания
- Склонировать репозиторий
- Задать следующие переменные среды:
PORT=[порт, на котором запустить сервер]
YANDEX_API_KEY=[ключ API Яндекс.Расписания]
MONGO_LOCATION=[адрес MongoDB]
MONGO_USERNAME=[имя пользователя MongoDB]
MONGO_PASSWORD=[пароль MongoDB]
ACCESS_KEY=[ключ доступа для Arduino]
- Выбрать желаемые станции и добавить их в MongoDB в соответствии со схемой в
mongo.js
(см. документацию API Яндекс.Расписания) - Запустить сервер:
npm run start
- Запустить React dev-сервер:
cd client
>npm run start