可启用Web的电子门锁的制作教程

电子说

1.2w人已加入

描述

步骤1:安装和配置Raspberry PI

首先,您需要安装并配置RESTFUL服务器以接受通过Internet和用于访问Raspberry PI-GPIO引脚的框架,以通过这些引脚读取和写入数据。

配置Raspberry PI来访问无线网络网络(您可以购买无线加密狗并通过Raspberry PI USB接口进行连接。 (如何链接)

在Raspberry PI上安装Node JS。 (操作链接)

在Node.JS上安装pi-gpio,以通过nodeJS访问Raspberry PI引脚(安装PI-GPIO)

在Node.JS上安装express以创建RESTFUL服务器(安装Express)

在 GPIOcontroller.js 文件(功能 )中创建两个文件(负责控制硬件引脚和锁定)和 myService.js (控制台中的节点将调用该服务来运行服务器,它将调用GPIOcontroller.js函数)。 。这将在稍后的-步骤3中进行演示–

现在是硬件!

步骤2:在Raspberry PI和Raspberry PI之间构建硬件锁定

Web

1 Raspberry PI

在Raspberry PI中,我们将使用GPIO引脚7,GRD和5V输出,因为GPIO引脚产生3.3V,由于汲取的高电流导致电压降低于3V,因此无法激活继电器的螺线管。因此,我们不能依靠GPIO电压输出来打开继电器开关。

2放大

使用NPN晶体管,二极管和电阻器,我们使用晶体管进行通道Raspberry PI到接触式继电器的5V输出,使用GPIO输出的输入作为信号来打开和关闭晶体管以激活继电器开关。 (检查面包板)

3继电器

(链接到继电器的教学视频)

12V继电器有5条支脚,两条支脚在螺线管中产生电流,从而打开开关,其他三个支路通常

中间支路为公共端。

一个支路为常闭(继电器时)

一只脚正常断开(当继电器被激活时,开关闭合电路)。

4电子开关

电子锁的一个引脚连接到12V电源适配器的GRD,另一引脚连接到继电器公共端(中脚),而继电器常开引脚连接到12V电源适配器VCC

步骤3:服务器应用程序代码(RESTFUL API和PI-GPIO)

再次返回软件代码,请记住两个文件(步骤2中的 GPIOController.js 和 myService.js )

GPIOcontroller.js

var gpio = require(“pi-gpio”); var gpioPin = 7;

var isOpened=false;

var unlockRelay = function(){

if(!isOpened){

/* Open the door lock */

gpio.write(gpioPin, 1, function() {

isOpened = true;

});

/*setTimeOut will be activated in 2 seconds, closing the lock as we set gpioPin value to 0*/

setTimeout(function () {

gpio.write(gpioPin, 0, function() {

isOpened = false;

});

}, 2000);

}

}

myService.js

var http = require(‘http’); var express = require(‘express’);

var app = express();

var GPIOCtrl = require(‘。/GPIOcontroller.js’);

app.get(‘/unlock/’, function(req, res){

GPIOCtrl.unlockRelay();

});

app.listen(3000);

console.log(‘App Server running at port 3000’);

然后在终端中,在您的应用程序代码文件级别

node myService.js &

控制台将显示“在端口3000上运行的App Server”

要使此脚本在Raspberry PI Startup上运行(请检查此链接)

步骤4:创建REST客户端

现在,您可以使用服务了运行在分配给Raspberry PI Wireless接口的IP和端口3000上。

要将Raspberry PI连接到云,您必须检查无线路由器设置(超出范围)

现在我们可以假设客户端与Raspberry PI位于同一网络中。

因此,这只是一个调用,您可以在几秒钟内将其添加到应用程序中:

// Create the URL to make the rest call.

NSURL *restURL = [NSURL URLWithString:@“http://raspberrypi-address:port/unlock/”];

NSURLRequest *restRequest = [NSURLRequest requestWithURL:restURL];

currentConnection = [[NSURLConnection alloc] initWithRequest:restRequest delegate:self];

这是一个iOS代码调用示例。

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

全部0条评论

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

×
20
完善资料,
赚取积分