步驟1:所需的組件和工具
硬件
具有Arduino Breakout(sparkfun)的Intel Edison
12V -2A直流電源適配器(ebay)
Grove-125KHz RFID閱讀器(見(jiàn)工作室)
125KHz RFID標(biāo)簽(見(jiàn)工作室)
一些跳線
軟件工具
Yocto完整映像(Intel)
SSH客戶端(PuTTY)
FTP客戶端(WinSCP)
您準(zhǔn)備好了嗎?用你的工具?讓我們開(kāi)始工作。..
步驟2:基本設(shè)置
將Edison與Arduino擴(kuò)展板組裝在一起(英特爾指南)。
安裝所需的驅(qū)動(dòng)程序(詳細(xì)信息在這里)
設(shè)置串行連接(詳細(xì)信息在這里)
用最新的Flash刷新您的Edison Yocto圖像(在此處詳細(xì)信息)
將您的Edison與WiFi連接(在此處詳細(xì)信息)
升級(jí)Edison圖像
設(shè)置本地到Edison的時(shí)間(詳細(xì)的論壇帖子)
使用此命令(在串行終端中)設(shè)置設(shè)備名稱: configure_edison --name
使用此命令(在串行終端中)設(shè)置設(shè)備密碼: configure_edison --password
設(shè)備名稱將使您能夠從瀏覽器訪問(wèn)設(shè)備(在連接到本地網(wǎng)絡(luò)的計(jì)算機(jī)上),無(wú)需輸入IP,只需輸入“ http://device_name.local/”(例如“ http://edison.local/”)即可。設(shè)備密碼將使您能夠?qū)⒃O(shè)備與STP客戶端(例如WinSCP)連接。
對(duì)于上述步驟,您還可以遵循
Sparkfun:edison-入門指南
Instructables:Intel Edison絕對(duì)入門指南
Sparkfun視頻指南:
組裝
更新Linux
WIFI設(shè)置
軟件包管理器
步驟3:軟件包更新
默認(rèn)文件系統(tǒng)包含各種軟件包,應(yīng)使用以下命令進(jìn)行更新(此處有更多詳細(xì)信息)。從串行終端執(zhí)行以下命令:
echo “src/gz all http://repo.opkg.net/edison/repo/all” 》》 /etc/opkg/base-feeds.conf echo “src/gz edison http://repo.opkg.net/edison/repo/edison” 》》 /etc/opkg/base-feeds.conf echo “src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32” 》》 /etc/opkg/base-feeds.conf opkg update
不要運(yùn)行“ opkg upgrade “
第4步:安裝Express Generator
我們將與愛(ài)迪生一起開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序。為此需要幾種工具。 Node.js是其中的關(guān)鍵工具之一,并已與Edison預(yù)裝,但僅Node.js不足以構(gòu)建美觀的Web應(yīng)用程序。我們需要手動(dòng)安裝Express Generator和mongoDB。
Express JS是一個(gè)輕量級(jí)的Web框架,可以在Node JS平臺(tái)中非常輕松,快速地開(kāi)發(fā)Web應(yīng)用程序。 Express JS Framework的最新版本是:4.x。
MongoDB是最適合與Node.js配合使用的流行開(kāi)源文檔NoSQL數(shù)據(jù)庫(kù)。
Node.js,Express和MongoDB是好朋友。
要在Edison中安裝express和emailjs節(jié)點(diǎn)軟件包,請(qǐng)?jiān)诖薪K端中鍵入以下內(nèi)容:
npm install -g express@4.12.4 express-generator mongoskin emailjs mraa opkg install git
下一步。..
步驟5:安裝MongoDB
opkg無(wú)法安裝MongoDB軟件包。因此,您需要在Edison板上執(zhí)行以下操作以進(jìn)行手動(dòng)安裝:
首先,通過(guò)以下命令從終端上下載Edison工作目錄中的mongo linux軟件包:
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.8.tgz
然后,將tgz文件解壓縮到這樣的目錄名稱數(shù)據(jù)庫(kù)中:
mkdir database cd database tar -xv*** 。./mongodb-linux-i686-2.6.8.tgz
最后,通過(guò)以下方法檢查安裝命令
ls ~/database/mongodb-linux-i686-2.6.8/
您應(yīng)該看到以下輸出:
GNU-AGPL-3.0 README THIRD-PARTY-NOTICES
Step 6:在您的PC中開(kāi)發(fā)應(yīng)用程序
首先,我們將在PC中開(kāi)發(fā)該應(yīng)用,然后將其傳輸?shù)紼dison。我將使用Windows PC,但可以根據(jù)需要使用Mac或Linux。因此,讓我們開(kāi)始工作。
從此處在PC中安裝Node.js。
啟動(dòng)控制臺(tái)窗口,然后導(dǎo)航到存儲(chǔ)這些Web項(xiàng)目的位置。我正在使用C: node如果您將工作放在其他地方(例如/home或/Users),請(qǐng)進(jìn)行相應(yīng)的調(diào)整。
3.在C驅(qū)動(dòng)器中創(chuàng)建一個(gè)目錄,然后重命名它作為節(jié)點(diǎn)。
。4.打開(kāi)命令提示符并瀏覽節(jié)點(diǎn)目錄。
5.這樣安裝Express生成器:
命令C: NODE
npm install -g express-generator
6。通過(guò)以下命令創(chuàng)建一個(gè)名為出勤的快遞項(xiàng)目
命令C: NODE
express attendance
如果成功,您將看到類似以下內(nèi)容:
通過(guò)此命令,僅表示在新的名為“出勤”的目錄中自動(dòng)生成網(wǎng)站框架。因此,我們必須對(duì)此做更多的工作。您會(huì)注意到,express-generator例程在您的出勤目錄中創(chuàng)建了一個(gè)名為package.json的文件。在文本編輯器中將其打開(kāi),它將如下所示:
這是一個(gè)基本的JSON文件,描述了我們的應(yīng)用及其依賴項(xiàng)。我們需要添加一些內(nèi)容。具體來(lái)說(shuō),為我們的數(shù)據(jù)庫(kù)應(yīng)用程序調(diào)用MongoDB和Monk。讓我們使依賴對(duì)象看起來(lái)像這樣:
請(qǐng)注意,在serv-favicon行的末尾添加了一個(gè)逗號(hào),最后一行和尚沒(méi)有
。7.切換回命令提示符,瀏覽考勤目錄,然后鍵入:
npm install
等待一會(huì)兒,如果您看到如下所示的最終輸出,那么恭喜您!您現(xiàn)在已經(jīng)擁有一個(gè)功能齊全的應(yīng)用程序,可以等待運(yùn)行。
讓我們測(cè)試一下我們的Web服務(wù)器!鍵入以下內(nèi)容:
npm start
如果一切正常,您將看到以下結(jié)果:
一切正常嗎?真棒!打開(kāi)瀏覽器,前往http://localhost:3000,您將在其中看到歡迎使用Express頁(yè)面,如下所示。
下一個(gè)
步驟7:項(xiàng)目修改
我們的項(xiàng)目文件夾僅包含基本框架。我們必須修改一些文件,還必須創(chuàng)建更多文件。
我們需要更改:
style.css 用于/public/stylesheets/style.css文件夾中的可視界面
index.jade 在用于創(chuàng)建表的views文件夾中。
app.js 項(xiàng)目的核心
用于數(shù)據(jù)庫(kù)連接的路由文件夾中的》 users.js
我們應(yīng)該在以下位置創(chuàng)建:
global.js public javascripts文件夾,用于從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)并顯示在html表中
main.js ,用于讀取RFID卡并將數(shù)據(jù)插入數(shù)據(jù)庫(kù)
步驟8:使用Intel XDK IoT Edition
我們現(xiàn)在將為RFID閱讀器編寫一些代碼,以讀取RFID標(biāo)簽并將數(shù)據(jù)插入數(shù)據(jù)庫(kù)。我正在使用Grove串行RFID閱讀器,為此,我將使用節(jié)點(diǎn)串行端口模塊。讓我們開(kāi)始。..
在您的PC中安裝Intel XDK IoT Edition,然后使用UART讀/寫模板創(chuàng)建一個(gè)新項(xiàng)目。有關(guān)英特爾?XDK IoT Edition入門的詳細(xì)信息,請(qǐng)遵循英特爾指南。
相應(yīng)地修改 main.js 文件,或?qū)⑵涮鎿Q為下面所附的main.js文件。
打開(kāi) package.json 文件,然后從依賴項(xiàng)中復(fù)制文本,并將其添加到C: node attendance文件夾中的先前的 package.json 文件中。
您的 package.json 文件如下所示:
{
“name”: “nodetest”,
“version”: “0.0.0”,
“private”: true,
“scripts”: {
“start”: “node 。/bin/www”
},
“dependencies”: {
“body-parser”: “~1.13.2”,
“cookie-parser”: “~1.3.5”,
“debug”: “~2.2.0”,
“express”: “~4.13.1”,
“jade”: “~1.11.0”,
“morgan”: “~1.6.1”,
“serve-favicon”: “~2.3.0”,
“mongodb” : “~2.0.33”,
“monk” : “~1.0.1”,
“serialport”:“l(fā)atest”
}
}
main.js 文件應(yīng)該看起來(lái)像這樣:
var mraa = require(‘mraa’); //require mraa
console.log(‘MRAA Version: ’ + mraa.getVersion()); //print out the mraa version in IoT XDK console
u = new mraa.Uart(0); //Default
var MongoClient = require(‘mongodb’).MongoClient
, format = require(‘util’).format;
var serialPath = u.getDevicePath(); //Default general purpose port “/dev/ttyMFD1” - Intel(R) Edison; “/dev/ttyS0” - Intel(R) Galileo
var document;
//Serialport NodeJS module declared in package.json
var SerialPort = require(“serialport”).SerialPort;
var serialPort = new SerialPort(serialPath, {
baudrate: 9600
});
serialPort.on(“open”,function() {
console.log(“open”);
console.log(“Connected to ”+serialPath);
serialPort.on(“data”, function(data) { //Read available data from serial port
console.log(“data received: ” + data);
switch(data){
case “123456ABCD” : // your RFID Tag number
document = {“username” : “test”,
“regno” : “12345678”,
“email” : “test@test.com”,
“datetime” : new Date().toUTCString()};
break;
case “325456ABCD”:
document = {“username” : “test1”,
“regno” : “12345678”,
“email” : “test1@test.com”,
“datetime” : new Date().toUTCString()};
break;
case “223456A23D”:
document = {“username” : “test2”,
“regno” : “12345687”,
“email” : “test2@test.com”,
“datetime” : new Date().toUTCString()};
break;
}
MongoClient.connect(‘mongodb://localhost:27017/nodetest’, function(err, db) {
if (err) throw err;
console.log(“Connected to Database”);
//insert record
db.collection(‘userlist’).insert(document, function(err, records) {
if (err) throw err;
console.log(“Record added as ”);
});
});
});
serialPort.write(“This is a test. ”, function(err, results) { //Write data
console.log(“err ” + err);
console.log(“results ” + results);
});
});
此處附帶的代碼只是基本代碼,并不那么優(yōu)雅。您可以用更優(yōu)雅的方式寫東西。我試圖展示這種思想是如何工作的。
第9步:將已開(kāi)發(fā)的應(yīng)用程序上傳到您的設(shè)備
我們已經(jīng)完成了大部分工作。現(xiàn)在,您應(yīng)該將開(kāi)發(fā)的應(yīng)用程序從PC上載到設(shè)備中。對(duì)于上載,我使用了最受歡迎的FTP客戶端之一WinSCP。使用WinSCP非常容易:
運(yùn)行程序并將文件協(xié)議設(shè)置為SCP
主機(jī)名是Edison的IP地址。將端口號(hào)保留為22。
用戶名是root,密碼是您之前選擇的密碼。
然后單擊登錄。
它將再次詢問(wèn)您的密碼,輸入密碼,然后單擊“確定”。
完成。現(xiàn)在,您進(jìn)入了Edison。
您可以按照此處附帶的視頻了解詳細(xì)信息。完整程序附在下面。
步驟10:從Edison運(yùn)行應(yīng)用程序
我們的應(yīng)用程序在Edison中。現(xiàn)在我們應(yīng)該運(yùn)行它。為此,將您的Edison連接到PuTTY并按照以下步驟操作:
1。通過(guò)鍵入轉(zhuǎn)到項(xiàng)目目錄。
cd node cd attedance
2。通過(guò)鍵入
npm install
3來(lái)安裝依賴項(xiàng)。通過(guò)鍵入
npm start
運(yùn)行應(yīng)用程序。如果一切正常,您應(yīng)該會(huì)看到類似
OK?然后在瀏覽器地址欄中輸入 http://edison-ip:3000 ,您應(yīng)該看到如圖2所示的頁(yè)面。
4。通過(guò)在另一個(gè)終端窗口中鍵入將數(shù)據(jù)庫(kù)連接到您的應(yīng)用程序(注意:以前創(chuàng)建的目錄名為data)
rm -rf /home/root/node/attendance/data/*
mongod --dbpath /home/root/node/attendance/data &
如果可行,您應(yīng)該找到結(jié)果如圖3。
5。再打開(kāi)一個(gè)終端窗口,轉(zhuǎn)到項(xiàng)目目錄,然后鍵入以下內(nèi)容以運(yùn)行main.js文件
node main.js
如果一切正確,則應(yīng)該看到以下消息。
恭喜!!!我們的申請(qǐng)已經(jīng)準(zhǔn)備就緒。現(xiàn)在,我們應(yīng)該將RFID閱讀器和Buzzer與Edison連接起來(lái)。拉特做到這一點(diǎn)并進(jìn)行身體測(cè)試。
步驟11:最終的事情
連接格羅夫RFID閱讀器給Edison。 RFID閱讀器的RX引腳必須連接到Edison的TX引腳,RFID閱讀器的TX引腳必須連接到Edison的RX引腳。將蜂鳴器連接到Edison,當(dāng)RFID閱讀器成功讀取標(biāo)簽時(shí),蜂鳴器會(huì)發(fā)出蜂鳴聲。
現(xiàn)在,運(yùn)行程序并將RFID卡掃到閱讀器上,即可享受智能考勤系統(tǒng)的強(qiáng)大功能。
-
考勤系統(tǒng)
+關(guān)注
關(guān)注
0文章
41瀏覽量
11359
發(fā)布評(píng)論請(qǐng)先 登錄
漫畫圖解 電感器 抗干擾元器件指南(全彩PDF版)
有源RFID SI24R2-------校園學(xué)生考勤
Linux文件系統(tǒng)打包及鏡像制作,觸覺(jué)智能RK3562開(kāi)發(fā)板演示

PCB封裝圖解
無(wú)刷電機(jī)的繞制和接線方法及實(shí)物圖解
如何制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)?
EPSON實(shí)時(shí)時(shí)鐘模塊RX8010SJ輸出頻率誤差僅為5±23ppm可用于考勤機(jī)

無(wú)感人臉識(shí)別考勤解決方案:如何用科技實(shí)現(xiàn)考勤的無(wú)感化、智能化

電腦制作私有云盤,電腦制作私有云盤的教程,個(gè)人云電腦是什么以及怎么連接

ShiMeta鴻蒙門禁考勤解決方案

綠展科技指紋模組落地新應(yīng)用,助力企業(yè)高效考勤

NNG宣布為Dacia汽車提供基于OpenStreetMap的地圖解決方案
煤礦人員定位系統(tǒng)——基于UWB技術(shù)帶電子圍欄功能
智慧校園如何實(shí)現(xiàn)管理智能化
如何挑選理想的人臉識(shí)別考勤系統(tǒng)產(chǎn)品?人臉識(shí)別設(shè)備的選型

評(píng)論