步驟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文章
1276瀏覽量
70513 -
電子門鎖
+關注
關注
1文章
15瀏覽量
9595
發布評論請先 登錄
相關推薦

項目分享 | 小熊派DIY一款指紋門鎖
智能門鎖觸摸芯片_門鎖感應芯片_指紋密碼鎖芯片

合科泰產品在智能門鎖中的應用

智能門鎖ESD靜電浪涌保護方案


評論