該項目旨在使用與數據庫的簡單集成使用RFID標籤來驗證/授權用戶。
該項目旨在滿足我已經對所討論的主題進行的待處理,並滿足尋求此類主題的社區用戶的需求。 - 在1天內,我想我看到了大約3個人正在尋找東西。
因此,讓遊戲開始 - 希望您喜歡:)
在上圖中,可以觀察開發的應用程序的流動。這聽起來很複雜,但是當您開始理解網絡通信時,您就會進行這種體系結構。
基本上,我們在這個項目中有2個流 - Ping和Pong 。兩者都將在下面解決。
ping的流量是通信的初始流。所有溝通都開始。請參閱下面的圖像:
基本上將採取以下步驟:
...關注下一個主題
乒乓球將負責返回,即如果讀取標籤處於活動狀態/阻止或根本不存在。結果將是簡單的布爾返回-0或1 。查看下圖中的流程:
因此,繼續使用應用流,將根據上述主題所述的第五步給出連續性。
由於其提供的責任,存儲庫是組織的。
所述的固件位於ESP8266文件夾中,因此請使用Arduino IDE打開它。
注意:請記住,您需要安裝2個圖書館,這兩個庫都在主題中引用
已經打開固件,您將必須將一些變量更改為範圍。像WiFi網絡,經紀人,主題。
因此請注意以下變量:
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%的穩定性,因為我一直在測試新事物:p。提示是在家中或在某些VPS中擁有自己的經紀人蚊子。
準備好板的每個電路,現在只需上傳盤子,並關注串行顯示器。看看一切都還好。如果是,則可以測試您的RFID標籤,以查看有關運輸的一切是否真的很好。現在讓我們轉到下一個主題。
Web應用程序 - 位於客戶端文件夾中,為100%HTML,因此您不需要任何非凡的人才能運行。您甚至可以直接使用瀏覽器打開。
以下是一些更愉快的測試/開發環境的技巧。
在Web應用程序部分中,我們只需進行2個更改。基本上是API 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 。銀行結構在數據庫/數據庫中。 sql文件。
基本上沒有神秘,只需根據文件創建結構:)。
進入後端,正如您可能已經意識到的那樣,您將有2個替代方案。在python或nodejs中。
到目前為止(05/06/2017),它僅在nodejs中開發,一旦我提供,我將使用帶有燒瓶的python創建一個。
對於初學者來說,沒有什麼比安裝了NodeJ更公平的了,您同意嗎?為此,請輸入官方網站並根據您的操作系統進行安裝。
其次,導航到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
配置後,一切都準備好攀登我們的網站服務。
為此,只需運行Yarn Prod命令(來自節點索引命令的一個別名)
如果一切順利,您將可以訪問在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 :)
準備好每個環境,您都可以開始測試。為此,用手將標籤的ID ID。
此後不久,您應該在系統中註冊,如果像我一樣,我只有兩個,我留下了一個活躍的標籤和一個禁用的標籤。因此,模擬將對標籤進行身份驗證並將拒絕標籤的環境。
Bueno Guys,現在,我認為我能夠實現自己的目標,僅僅證明了使用數據庫的RFID標籤身份驗證是什麼。除了創建Webrservice等之外,我還沒有一些東西,但這是一個非常酷的生態系統。
如您所見,該項目是基礎知識的基礎知識。它沒有用戶身份驗證,加密,即一般安全。
已經問我的另一點是關於標籤通過嵌入式,LED,LCD等自動註冊 - 很快就集中在真正的目標上。
如果社區有一定的興趣,我想做一個更完整的項目,我承認,即使涉及所有“簡單性”,這是一個非常好的項目。
我呆在這裡,任何反饋,懷疑 - 已經知道在哪裡可以找到我。因此,如果您真的很喜歡這個項目,請確保將那顆星星留在存儲庫中:)。評估其造成的貢獻程度非常重要。
不要忘記關注博客:):https://douglaszuqueto.com
如果您喜歡我保留的此項目和其他項目,在2017年6月18日,我開了一項經常出現的資金運動,以籌集資金,以實現開源項目的奉獻精神。
因此,如果您想幫助我,這是我支持的鏈接。預先感謝:d。