Этот проект направлен на аутентификацию/авторизацию пользователей из тегов RFID с использованием простой интеграции с базой данных.
Проект направлен на то, чтобы удовлетворить ожидание, которое я уже имел с рассматриваемой темой, а также для удовлетворения спроса от пользователей сообщества, которые ищут такие темы. - За 1 день, я думаю, я видел около 3 человек, которые что -то ищут.
Итак, давайте начнутся игры - надеюсь, вам понравится :)
На приведенной выше диаграмме можно наблюдать поток разработанного применения. Это звучит сложно, но когда вы начинаете понимать, как будто вы даете сетевую связь, вы принимаете такую архитектуру.
В основном у нас есть 2 потока в этом проекте - Ping и The Pong . Оба будут рассмотрены ниже.
Поток для пинга является начальным потоком связи. Именно из этого все общение началось. Смотрите изображение, ссылаясь ниже:
В основном будут сделаны шаги ниже:
... следует в следующей теме
Понг будет нести ответственность за возврат, то есть, если тег чтения активен/заблокирован или просто не существует. Результатом будет простой логический возврат - 0 или 1 . Посмотрите, как был поток на изображении ниже:
Следовательно, продолжение потока применения, преемственность будет дана в соответствии с 5 -м шагом, адресованным в теме выше.
Репозиторий организован из -за обязанностей, которые он предлагает.
Прошивка, как указано, находится в папке ESP8266 , поэтому откройте ее с помощью Arduino IDE.
Примечание. Помните, что вам нужно было установлено 2 библиотеки, обе были приведены в тему использованных технологий
Уже открытая прошивка, вам придется изменить некоторые переменные на вашу область. Как сеть Wi -Fi, брокер, темы.
Так что имейте в виду следующие переменные:
SSID - nome de sua rede wifi
PASSWORD - senha de sua rede wifi
BROKER_MQTT - url do broker mqtt
BROKER_PORT - porta do broker mqtt
TOPIC_PING - topico utilizado para publicar o valor tag rfid
TOPIC_PONG - topico responsavel por receber o status da autenticação rfid
Обратите внимание на добавление к использованному брокеру. Этот брокер, который я реализовал на своем PS для личного использования. Вы можете использовать его, но я не гарантирую стабильность на 100%, так как все время тестирую что -то новое: с. Совет состоит в том, чтобы иметь собственное брокерское комарки дома или в некоторых VPS.
С помощью каждой схемы платы готовы, теперь просто загрузите тарелку и следите за серийным монитором. Посмотрите, все ли в порядке. Если вы есть, вы можете проверить свои RFID -теги, чтобы увидеть, действительно ли все в отношении отправки. Теперь давайте перейдем к следующей теме.
Веб -приложение - расположенное в клиентской папке, составляет 100% HTML, поэтому вам не нужно ничего необычного для вас. Вы даже можете открыть напрямую с браузером.
Ниже приведены некоторые советы по более приятной среде тестирования/разработки.
В части веб -приложения мы должны внести только 2 изменения. Это в основном URL, а также URL -брокер.
Все URL -адреса находятся в файле app.js , расположенного в Assets/js/app.js .
const apiPath = 'http://127.0.0.1:3000/api'; // caso esteja em localhost, pode deixar assim mesmo.
const mqttConfig = {
broker: 'broker.iot-br.com', // url do broker
topic: '/empresas/douglaszuqueto/catraca/entrada/ping', // topico ouvinte
port: 8083 // porta referente ao WebSockets do Broker
};
База данных будет MySQL (я решил выбрать ее, так как она является одним из самых известных, поэтому большинство людей прошли через это: P).
Имя, которое вы назначаете в базу данных, - RFID , если вы хотите выбрать другое имя без проблем. Структура банка находится в файле Database/Database.sql .
По сути, загадки нет, просто создайте структуру в соответствии с файлом :).
Вступив в заднюю часть, как вы, возможно, поняли, у вас будет 2 альтернативы. В Python или Nodejs.
До сих пор (05/06/2017) он был разработан только в Nodejs, как только я дам, я создам один, используя Python с колбой.
Для начала, вы согласны с установкой Nodejs, вы согласны? Для этого введите официальный веб -сайт и установите в соответствии с вашей операционной системой.
Во -вторых, перейдите к папке Nodejs: Server/Nodejs .
Находясь в папке, вы должны выполнить некоторые начальные процедуры, такие как установка средств проекта, а также настройка доступа к базе данных, среди других настроек.
Как менеджер зависимостей, я использовал пряжу, если у вас ее еще нет, ссылка цитаты будет иметь необходимые шаги.
После установки просто запустите команду пряжи .
Чтобы прохладно централизовать переменные нашей среды, я использовал Dotenv для этой цели.
Вы поймете, что в корне проекта он имеет файл .env.example , создайте копию с именем .env . Вы увидите эту структуру:
APP_URL=http://127.0.0.1:3000/ // url base do webservice
DB_HOST=127.0.0.1 // ip/host do Mysql
DB_DATABASE=rfid // nome dado ao banco de dados
DB_USER=rfid // usuário do banco de dados
DB_PASS=rfid // senha do banco de dados
BROKER_HOST=broker.iot-br.com // ip/host do broker
BROKER_PORT=1883 // porta do broker mqtt
После настройки все готово для подъема нашего веб -сервиса.
Для этого просто запустите команду пряжи (один псевдоним из команды Node Index )
Если все прошло хорошо, у вас будет доступ к веб -сервису, работающему по адресу URL 127.0.0.1:3000/API . В теме конечных точек доступна доступная апелляция.
Для каждой таблицы нашего приложения - пользователи, теги, access_log - у нас будет API для изготовления CRUD (создавать, читать, обновить, удалить) каждой доступной функции.
Поэтому для каждой функции вы можете сделать запрос в следующем формате:
MÉTODO - URL - RECURSO
GET http://127.0.0.1:3000/api/tags
Neste simples caso, irá retornar todas tags cadastradas no sistema :)
С каждой готовой средой вы можете начать тесты. Для этого есть идентификатор ваших тегов вручную.
Вскоре после этого вы должны зарегистрироваться в системе, и если, как и я, у меня есть только два, я оставил активный тег и один отключен. Таким образом, моделируя среду, в которой будет аутентифицирована тег, а другой будет отказано.
Ребята Bueno, пока, я думаю, я смог достичь своей цели, когда это было просто продемонстрировать, какой будет аутентификация Tag Tag с базой данных. Я вышел немного за пределы создания Webrservice и т. Д., Но это была очень крутая экосистема.
Как видите, этот проект является основами оснований. Он не имеет уровня аутентификации пользователя, шифрования, т.е. - безопасность в целом.
Еще один момент, который уже спросил меня, о автоматической регистрации тега через встроенные, светодиоды, ЖК -дисплей и т. Д. - Вскоре фактически сосредоточилась на реальной цели.
Я хочу сделать более полный проект, если у сообщества есть определенный интерес, я признаюсь, что это был очень хороший проект для разработки, даже со всей «простотой».
Я остаюсь здесь, любой отзыв, сомневающийся - уже знаю, где меня найти. Так что, если вам действительно понравился проект, обязательно оставьте эту звезду в репозитории :). Очень важно оценить, какова была степень вклада, которую он вызвал.
Не забудьте следить за блогом :): https://douglaszuqueto.com
Если вам понравились эти и другие проекты, которые я поддерживаю, 18.06.2017 я открыл повторяющуюся кампанию по финансированию для сбора средств для выполнения преданности проектам с открытым исходным кодом.
Так что, если вы хотите мне помочь, вот ссылка моей поддержки. Заранее спасибо: D.