步骤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之间构建硬件锁定
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代码调用示例。
-
Web
+关注
关注
2文章
1263浏览量
69460 -
电子门锁
+关注
关注
1文章
15浏览量
9472
发布评论请先 登录
相关推荐
评论