智能考勤系统的制作图解

电子说

1.3w人已加入

描述

步骤1:所需的组件和工具

硬件

具有Arduino Breakout(sparkfun)的Intel Edison

12V -2A直流电源适配器(ebay)

Grove-125KHz RFID阅读器(见工作室)

125KHz RFID标签(见工作室)

一些跳线

软件工具

Yocto完整映像(Intel)

SSH客户端(PuTTY)

FTP客户端(WinSCP)

英特尔®XDK IoT Edition(英特尔)

您准备好了吗?用你的工具?让我们开始工作。..

步骤2:基本设置

将Edison与Arduino扩展板组装在一起(英特尔指南)。

安装所需的驱动程序(详细信息在这里)

设置串行连接(详细信息在这里)

用最新的Flash刷新您的Edison Yocto图像(在此处详细信息)

将您的Edison与WiFi连接(在此处详细信息)

升级Edison图像

设置本地到Edison的时间(详细的论坛帖子)

使用此命令(在串行终端中)设置设备名称: configure_edison --name

使用此命令(在串行终端中)设置设备密码: configure_edison --password

设备名称将使您能够从浏览器访问设备(在连接到本地网络的计算机上),无需输入IP,只需输入“ http://device_name.local/”(例如“ http://edison.local/”)即可。设备密码将使您能够将设备与STP客户端(例如WinSCP)连接。

对于上述步骤,您还可以遵循

Sparkfun:edison-入门指南

Instructables:Intel Edison绝对入门指南

Sparkfun视频指南:

组装

更新Linux

WIFI设置

软件包管理器

步骤3:软件包更新

默认文件系统包含各种软件包,应使用以下命令进行更新(此处有更多详细信息)。从串行终端执行以下命令:

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

不要运行“ opkg upgrade “

第4步:安装Express Generator

我们将与爱迪生一起开发数据库应用程序。为此需要几种工具。 Node.js是其中的关键工具之一,并已与Edison预装,但仅Node.js不足以构建美观的Web应用程序。我们需要手动安装Express Generator和mongoDB。

Express JS是一个轻量级的Web框架,可以在Node JS平台中非常轻松,快速地开发Web应用程序。 Express JS Framework的最新版本是:4.x。

MongoDB是最适合与Node.js配合使用的流行开源文档NoSQL数据库。

Node.js,Express和MongoDB是好朋友。

要在Edison中安装express和emailjs节点软件包,请在串行终端中键入以下内容:

npm install -g express@4.12.4 express-generator mongoskin emailjs mraa opkg install git

下一步。..

步骤5:安装MongoDB

opkg无法安装MongoDB软件包。因此,您需要在Edison板上执行以下操作以进行手动安装:

首先,通过以下命令从终端上下载Edison工作目录中的mongo linux软件包:

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.8.tgz

然后,将tgz文件解压缩到这样的目录名称数据库中:

mkdir database cd database tar -xv*** 。./mongodb-linux-i686-2.6.8.tgz

最后,通过以下方法检查安装命令

ls ~/database/mongodb-linux-i686-2.6.8/

您应该看到以下输出:

GNU-AGPL-3.0 README THIRD-PARTY-NOTICES

Step 6:在您的PC中开发应用程序

考勤系统

考勤系统

考勤系统

考勤系统

考勤系统

考勤系统

考勤系统

考勤系统

首先,我们将在PC中开发该应用,然后将其传输到Edison。我将使用Windows PC,但可以根据需要使用Mac或Linux。因此,让我们开始工作。

从此处在PC中安装Node.js。

启动控制台窗口,然后导航到存储这些Web项目的位置。我正在使用C: node如果您将工作放在其他地方(例如/home或/Users),请进行相应的调整。

3.在C驱动器中创建一个目录,然后重命名它作为节点。

。4.打开命令提示符并浏览节点目录。

5.这样安装Express生成器:

命令C: NODE

npm install -g express-generator

考勤系统

6。通过以下命令创建一个名为出勤的快递项目

命令C: NODE

express attendance

如果成功,您将看到类似以下内容:

考勤系统

通过此命令,仅表示在新的名为“出勤”的目录中自动生成网站框架。因此,我们必须对此做更多的工作。您会注意到,express-generator例程在您的出勤目录中创建了一个名为package.json的文件。在文本编辑器中将其打开,它将如下所示:

考勤系统

这是一个基本的JSON文件,描述了我们的应用及其依赖项。我们需要添加一些内容。具体来说,为我们的数据库应用程序调用MongoDB和Monk。让我们使依赖对象看起来像这样:

考勤系统

请注意,在serv-favicon行的末尾添加了一个逗号,最后一行和尚没有

。7.切换回命令提示符,浏览考勤目录,然后键入:

npm install

考勤系统

等待一会儿,如果您看到如下所示的最终输出,那么恭喜您!您现在已经拥有一个功能齐全的应用程序,可以等待运行。

考勤系统

让我们测试一下我们的Web服务器!键入以下内容:

npm start

如果一切正常,您将看到以下结果:

考勤系统

一切正常吗?真棒!打开浏览器,前往http://localhost:3000,您将在其中看到欢迎使用Express页面,如下所示。

下一个

步骤7:项目修改

考勤系统

我们的项目文件夹仅包含基本框架。我们必须修改一些文件,还必须创建更多文件。

我们需要更改:

style.css 用于/public/stylesheets/style.css文件夹中的可视界面

index.jade 在用于创建表的views文件夹中。

app.js 项目的核心

用于数据库连接的路由文件夹中的》 users.js

我们应该在以下位置创建:

global.js public javascripts文件夹,用于从数据库读取数据并显示在html表中

main.js ,用于读取RFID卡并将数据插入数据库

步骤8:使用Intel XDK IoT Edition

考勤系统

我们现在将为RFID阅读器编写一些代码,以读取RFID标签并将数据插入数据库。我正在使用Grove串行RFID阅读器,为此,我将使用节点串行端口模块。让我们开始。..

在您的PC中安装Intel XDK IoT Edition,然后使用UART读/写模板创建一个新项目。有关英特尔®XDK IoT Edition入门的详细信息,请遵循英特尔指南。

相应地修改 main.js 文件,或将其替换为下面所附的main.js文件。

打开 package.json 文件,然后从依赖项中复制文本,并将其添加到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”:“latest”

}

}

main.js 文件应该看起来像这样:

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);

});

});

此处附带的代码只是基本代码,并不那么优雅。您可以用更优雅的方式写东西。我试图展示这种思想是如何工作的。

第9步:将已开发的应用程序上传到您的设备

考勤系统

我们已经完成了大部分工作。现在,您应该将开发的应用程序从PC上载到设备中。对于上载,我使用了最受欢迎的FTP客户端之一WinSCP。使用WinSCP非常容易:

运行程序并将文件协议设置为SCP

主机名是Edison的IP地址。将端口号保留为22。

用户名是root,密码是您之前选择的密码。

然后单击登录。

它将再次询问您的密码,输入密码,然后单击“确定”。

完成。现在,您进入了Edison。

您可以按照此处附带的视频了解详细信息。完整程序附在下面。

步骤10:从Edison运行应用程序

考勤系统

考勤系统

考勤系统

考勤系统

我们的应用程序在Edison中。现在我们应该运行它。为此,将您的Edison连接到PuTTY并按照以下步骤操作:

1。通过键入转到项目目录。

cd node cd attedance

2。通过键入

npm install

3来安装依赖项。通过键入

npm start

运行应用程序。如果一切正常,您应该会看到类似

考勤系统

OK?然后在浏览器地址栏中输入 http://edison-ip:3000 ,您应该看到如图2所示的页面。

4。通过在另一个终端窗口中键入将数据库连接到您的应用程序(注意:以前创建的目录名为data)

rm -rf /home/root/node/attendance/data/*

mongod --dbpath /home/root/node/attendance/data &

如果可行,您应该找到结果如图3。

5。再打开一个终端窗口,转到项目目录,然后键入以下内容以运行main.js文件

node main.js

如果一切正确,则应该看到以下消息。

考勤系统

恭喜!!!我们的申请已经准备就绪。现在,我们应该将RFID阅读器和Buzzer与Edison连接起来。拉特做到这一点并进行身体测试。

步骤11:最终的事情

连接格罗夫RFID阅读器给Edison。 RFID阅读器的RX引脚必须连接到Edison的TX引脚,RFID阅读器的TX引脚必须连接到Edison的RX引脚。将蜂鸣器连接到Edison,当RFID阅读器成功读取标签时,蜂鸣器会发出蜂鸣声。

现在,运行程序并将RFID卡扫到阅读器上,即可享受智能考勤系统的强大功能。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分