資料介紹
描述
動機(jī)
交通上的信任/安全是一項(xiàng)挑戰(zhàn)新功能,需要通過近年來越來越受歡迎的拼車服務(wù)來解決。Uber、Lyft、Via 和 Juno 是一些由業(yè)主駕駛的私家車的例子,提供從門到門或從特定起點(diǎn)到終點(diǎn)的交通服務(wù)。
公共交通和出租車因其共同的顏色、制造商和設(shè)計(jì)而很容易被發(fā)現(xiàn)。然而,拼車服務(wù)很難被注意到,因?yàn)樗鼈冎辉谇按盎騻?cè)窗上顯示一個小貼紙。每次接老婆,都會在地鐵站看到這種情況。人們在車站上下行走以尋找他們的請求乘車。發(fā)車款,顏色都盡量減輕這個負(fù)擔(dān),但還是有誤乘的可能。
然后,有可能有人假裝是您的乘車人,造成嚴(yán)重的安全問題。
該項(xiàng)目的動機(jī)是 Hackster 中提出的以下項(xiàng)目:
雙重身份驗(yàn)證:Omega NFC 模塊和 WIZ750SR
第一個展示了當(dāng)前流行的使用個人外部設(shè)備(通常是手機(jī))確認(rèn)身份的安全功能。大多數(shù)系統(tǒng)會生成一個隨機(jī)代碼并將其發(fā)送到注冊設(shè)備以輸入到登錄系統(tǒng)中。
第二個展示了用戶成為確認(rèn)身份的密碼短語的想法。用戶選擇密碼并將其發(fā)送到 AID,AID 將其轉(zhuǎn)換為二維碼以便于閱讀。
使用 AID 可以保護(hù)隱私并使其具有防篡改功能,因?yàn)檫B接獨(dú)立于拼車請求系統(tǒng)。
材料
Particle Boron LTE 是身份驗(yàn)證設(shè)備 (AID) 系統(tǒng)的核心板。Boron 板包含一個嵌入式 SIM 卡,可以與本地蜂窩網(wǎng)絡(luò)通信。
Adafruit TFT 2.4" 觸摸屏羽翼被用作主界面。
最后,任何網(wǎng)絡(luò)瀏覽器都可以啟用移動設(shè)備:筆記本電腦、平板電腦或手機(jī)來確認(rèn)密碼。
流水作業(yè)
工藝流程如下:
- 請求乘車(請求者)。
- 驅(qū)動程序接受請求并將 AID id 和名稱發(fā)送給請求者
- 請求者收到 AID id 和名稱;嘗試建立連接。
- 使用 AID 連接成功,將設(shè)備名稱與收到的設(shè)備名稱進(jìn)行比較。
- 請求者寫入密碼并將其發(fā)送給 AID。
- AID 接收請求者密碼并構(gòu)建 QR 碼。
- 請求者掃描駕駛員 AID 屏幕上的二維碼。
- 請求者對掃描的 QR 碼進(jìn)行解碼并比較密碼是否匹配。
- 相同的密碼歡迎請求者并解鎖車門。
安全密碼
密碼短語已被證明比單字密碼更安全。使用的密碼最多可以有 63 個字符。當(dāng)密碼有效時,系統(tǒng)可以有一個時間間隔,超過該時間密碼無效并且需要新的密碼。
粒子函數(shù)
該應(yīng)用程序使用 Particle 函數(shù)通過 Cloud API 函數(shù)與 Web App 進(jìn)行通信。
Boron 程序定義了以下兩個函數(shù)。
void setup() {
display.begin();
.
.
.
Particle.function("safeRyder",setQRcode);
Particle.function("confirmSR",setAccessConfirm);
}
setQRcode 接收客戶發(fā)送的密碼,創(chuàng)建二維碼并顯示在屏幕上。
int setQRcode(String command) {
qrcode.create(command);
return 0;
}
當(dāng)密碼匹配二維碼并驗(yàn)證客戶身份時,調(diào)用 setAccessConfirm 函數(shù)。然后屏幕會顯示一個綠色圓圈和一條歡迎消息。
int setAccessConfirm(String command)
{
int width = display.width();
int height = display.height();
display.fillScreen(ILI9341_BLACK);
display.fillCircle(width/2,height/3,width/3,ILI9341_GREEN);
display.setCursor(width/5, (height/3)*2+30);
display.setTextColor(ILI9341_WHITE);
display.setTextSize(4);
display.println("Welcome");
return 0;
}
云 API
HTML5 代碼使用云 API 和 JSON 調(diào)用注冊函數(shù)。下面的 pingParticle 函數(shù)使用網(wǎng)址打開一個 http 請求。請注意 deviceId: 和 token: 必須替換為您的 deviceId 和 token,您可以在 Particle 儀表板中找到它們。
另外,請注意,為了使用 JSON 格式,您必須定義一個標(biāo)頭來標(biāo)識您請求的內(nèi)容類型。這是您用于傳遞令牌的標(biāo)頭的附加內(nèi)容。ping 命令發(fā)送包以檢查設(shè)備是否在線和連接。
請注意,PUT 用于 ping 命令。
function pingParticle()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
deviceInfo = this.responseText;
}
};
xhttp.open("PUT", "https://api.particle.io/v1/devices/deviceId:/ping", false);
xhttp.setRequestHeader("Authorization", "Bearer token:");
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.send();
}
The
以下函數(shù) getDeviceInfo 請求設(shè)備的一般信息。請注意,回調(diào)函數(shù)將響應(yīng)分配給 deviceInfo 全局變量。然后對該變量進(jìn)行 JSON 解碼以訪問所需信息,例如設(shè)備名稱。
請注意,a GET 用于獲取設(shè)備信息。
function getDeviceInfo()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
deviceInfo = this.responseText;
}
};
xhttp.open("GET", "https://api.particle.io/v1/devices/deviceId:", false);
xhttp.setRequestHeader("Authorization", "Bearer token:");
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.send();
}
callParticle 函數(shù)調(diào)用設(shè)備中定義的 Particle 函數(shù)。它使用 JSON 格式發(fā)送函數(shù)的參數(shù),在本例中為密碼。請注意,它使用 AID 的令牌和 deviceId。
請注意,POST 用于調(diào)用 Particle 函數(shù)。
function callParticle(msg2Send)
{
var xhttp = new XMLHttpRequest();
var txtSCode = document.getElementById('txtSafeCode');
var sendData = txtSCode.value;
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("btnContinue").style = "visibility:visible";
document.getElementById("btnSendCode").style = "visibility:hidden";
}
};
xhttp.open("POST", "https://api.particle.io/v1/devices/"+deviceId+"/safeRyder", false);
xhttp.setRequestHeader("Authorization", "Bearer "+token);
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.send("{"arg": ""+sendData+""}");
}
下面的函數(shù)是庫解碼二維碼后的回調(diào)注冊函數(shù)。請注意,我們使用 sessionStorage 函數(shù)將密碼從一個網(wǎng)頁傳遞到相機(jī)控制網(wǎng)頁。該函數(shù)向 AID 設(shè)備發(fā)送確認(rèn)命令。
qrcode.callback = function(data) {
var output = document.querySelector("output");
output.innerHTML = "QR Code Data 2: " + data;
var sendData = window.sessionStorage["passphrase"];
if (data == sendData)
confimCodeParticle();
}
這是通過調(diào)用confirmSR Particle 函數(shù)將確認(rèn)POST 到AID 設(shè)備的函數(shù)。
請注意,POST 用于調(diào)用 Particle 函數(shù)。
function confimCodeParticle()
{
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "https://api.particle.io/v1/devices/"+deviceId+"/confirmSR", false);
xhttp.setRequestHeader("Authorization", "Bearer "+token);
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.send("{"arg": ""}");
}
網(wǎng)絡(luò)應(yīng)用
Web App 是一個 HTML5/JavaScript 程序,它與 AID 設(shè)備建立通信,發(fā)送密碼,從 AID 設(shè)備讀取二維碼并確認(rèn)密碼匹配。
在三星 Edge S7 手機(jī)中使用 Chrome 來運(yùn)行 Web 應(yīng)用程序。
下面的網(wǎng)頁顯示了主界面。該頁面嘗試使用收到的設(shè)備 ID 和令牌與 AID 設(shè)備建立通信。如果無法通信,界面中會顯示 Ping 按鈕。這使用戶有機(jī)會再次嘗試通信鏈接。
建立通信鏈路后,Ping 按鈕消失,并顯示從通信鏈路讀取的 AID 名稱和狀態(tài)
輸入您的唯一密碼,然后按發(fā)送密碼。該頁面會將密碼發(fā)送到 AID 設(shè)備(生成二維碼的地方)并返回成功狀態(tài)。
Send Passphrase 按鈕??被隱藏并顯示 Continue 按鈕。按繼續(xù)按鈕訪問讀取二維碼掃描頁面。
掃描二維碼頁面如上圖所示。車輛到達(dá)車窗后,AID 附在車窗上,按下啟動攝像頭按鈕激活車載攝像頭,聚焦 AID 設(shè)備上顯示的 QR 碼,然后按下拍攝快照。
然后該頁面處理 QR 碼并比較發(fā)送的密碼。如果兩者都匹配,則它會向 AID 設(shè)備發(fā)送一條確認(rèn)消息,該設(shè)備會通過顯示帶有歡迎消息的綠色圓圈來響應(yīng)。
有時相機(jī)的使用無法按預(yù)期工作,并且無法解釋 QR 碼。圖像格式的設(shè)置可能會出現(xiàn)問題,如果是這種情況,請按選擇文件,在三星 S7 中會顯示通過相機(jī)或?yàn)g覽選擇文件的菜單。選擇相機(jī)并拍照,系統(tǒng)將拍攝該圖像并處理二維碼。
二維碼
用于處理 QR 碼的庫取自 Lazar Laszlo(Web 應(yīng)用程序)和 Anun Panya(AID 應(yīng)用程序)。Anun Panya 的庫經(jīng)過修改以支持粒子板和 Adafruit TFT 2.4 觸摸屏監(jiān)視器。還允許在 QR 碼顯示上使用縮放系數(shù)。
援助應(yīng)用
AID App 非常簡單。它基本上基于幾個粒子函數(shù),這些函數(shù)定義了客戶觸發(fā)的事件。如粒子函數(shù)一節(jié)所示,這兩個函數(shù)定義的一個是顯示客戶發(fā)送的密碼,第二個是確認(rèn)密碼已被驗(yàn)證。
產(chǎn)品、車隊(duì)和客戶
該系統(tǒng)可以很容易地?cái)U(kuò)展到產(chǎn)品。客戶將共享連接到產(chǎn)品的所有設(shè)備,并且只與接受驅(qū)動程序服務(wù)請求的設(shè)備對話。然后可以根據(jù)實(shí)際安裝 AID 設(shè)備的驅(qū)動程序的地理位置和客戶請求服務(wù)的位置對設(shè)備進(jìn)行分組。
粒子儀表板在創(chuàng)建產(chǎn)品時提供這些功能。當(dāng)請求被批準(zhǔn)時,產(chǎn)品服務(wù)將 AID 設(shè)備 ID、名稱和訪問令牌發(fā)送到設(shè)備。客戶接收這些信息并與 AID 建立直接通信鏈接。
客戶未連接到 AID 設(shè)備,但在收到信息時無法篡改 ID。
結(jié)論
該系統(tǒng)在提高騎手的安全性和防止有人冒充您的騎行方面表現(xiàn)出可喜的表現(xiàn)。
該系統(tǒng)還可用于從機(jī)場接人的豪華轎車服務(wù),或與??我們從未接觸過的人或服務(wù)的任何會議,例如雜貨店送貨服務(wù)。
未來的工作預(yù)見了一種為服務(wù)正確收費(fèi)的方法。
- 智能安全帽開源構(gòu)建
- Raven Pi安全攝像頭開源分享
- Lifi安全系統(tǒng)開源設(shè)計(jì)
- 家庭報(bào)警安全系統(tǒng)開源分享
- MiMaMori家庭安全警報(bào)開源分享
- 夜間安全燈控制開源分享
- 物聯(lián)網(wǎng)家庭安全模型開源分享
- 安全工作區(qū)開源分享
- 安全預(yù)警系統(tǒng)開源分享
- 激光安全報(bào)警器開源分享
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 渾源軟件項(xiàng)目中的代碼結(jié)構(gòu)和開源組件綜述 5次下載
- ThinkPHP 6.0完全開發(fā)手冊資源下載 13次下載
- 開源課程行動倡議及科學(xué)導(dǎo)論綜述 6次下載
- 物聯(lián)網(wǎng)應(yīng)用的SoC安全架構(gòu)設(shè)計(jì)方案 21次下載
- 介紹一種基于eBPF的Linux安全防護(hù)系統(tǒng) 708次閱讀
- 利用開源軟件的最佳實(shí)踐 464次閱讀
- 推薦GitHub上與嵌入式相關(guān)的高星開源項(xiàng)目 967次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1005次閱讀
- 谷歌重新定義開源軟件漏洞治理框架 2657次閱讀
- 2020年開源的六大發(fā)展趨勢 4257次閱讀
- 在貼片加工廠中有哪些安全防護(hù)需要了解 1306次閱讀
- 開源過程中的5件注意事項(xiàng) 3548次閱讀
- 開源與云的一些爭論 3200次閱讀
- 選擇開源項(xiàng)目的重要因素 2122次閱讀
- 物聯(lián)網(wǎng)十大經(jīng)典開源操作系統(tǒng) 1w次閱讀
- 全年開源項(xiàng)目的盤點(diǎn)和總結(jié) 3231次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細(xì)分析 7186次閱讀
- 開源存儲的六大優(yōu)勢 3975次閱讀
- 11個機(jī)器學(xué)習(xí)開源項(xiàng)目 2767次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多