99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>一種會(huì)議集成可再填充物聯(lián)網(wǎng)設(shè)備的解決方案

一種會(huì)議集成可再填充物聯(lián)網(wǎng)設(shè)備的解決方案

2022-11-04 | zip | 0.03 MB | 次下載 | 2積分

資料介紹

描述

公司開始公布他們的遠(yuǎn)程員工重返工作崗位的政策。重返辦公室必然會(huì)增加新的 COVID-19 病例數(shù)。但是,可能有一種方法可以減少辦公室內(nèi) COVID-19 病毒的傳播。一般來(lái)說,辦公室都有隔間,有助于隔離直接的人際傳播,但仍然存在傳播熱點(diǎn),尤其是在共享空間。會(huì)議室是最糟糕的罪魁禍?zhǔn)字?,因?yàn)闀?huì)議室不僅受到限制并在不同群體之間快速共享,而且僅在一天結(jié)束時(shí)才進(jìn)行清潔。將責(zé)任留給任何共同行動(dòng),例如給辦公室植物澆水,讓會(huì)議室里的任何人承擔(dān)責(zé)任,即使曾經(jīng)得到維護(hù),也很少得到支持。甚至白板的標(biāo)記也很少被替換。此外,每天/每周消耗多個(gè)消毒濕巾/罐是非常浪費(fèi)的,并且不會(huì)隨著會(huì)議次數(shù)而增加。因此,我提出了一種會(huì)議集成可再填充物聯(lián)網(wǎng)設(shè)備的解決方案,該設(shè)備對(duì)已發(fā)生會(huì)議的會(huì)議室進(jìn)行消毒。

它是如何工作的?

我的解決方案包括一個(gè)全棧應(yīng)用程序以及一個(gè)嵌入式設(shè)備。有幾個(gè)工作部分,所以我將首先對(duì)系統(tǒng)流程進(jìn)行高級(jí)概述,然后詳細(xì)解釋。這樣,那些關(guān)注下一節(jié)標(biāo)題為“我是如何構(gòu)建它的?可以理解為什么我做了我所做的。

以下是該系統(tǒng)的高級(jí)概述:

poYBAGNkgx2AGG0CAAA_P1PG6M8587.png
系統(tǒng)架構(gòu)
?

我的解決方案從一個(gè)全棧應(yīng)用開始。我有一個(gè)顯示 GUI 的前端:

poYBAGNkgyCAG6P2AABafr-5fJg065.png
前端界面
?

設(shè)置參數(shù)并切換“檢查可用性”按鈕后,后端會(huì)查看所選會(huì)議間隔的 AWS DynamoDB 表,并返回可用會(huì)議列表以及會(huì)議間隔可用的房間. 下面是表格的示例:

pYYBAGNkgyOAWwtXAABtog9hy3c482.png
分配的是日期(5 位數(shù)字用于唯一性),EndingTime 和 StartingTime 以分鐘為單位,從上午 12:00 開始
?

為了簡(jiǎn)化開發(fā)過程,設(shè)置了一些注意事項(xiàng)。會(huì)議僅每一刻鐘開始,持續(xù)時(shí)間是一刻鐘的倍數(shù),并且 Room 1 被硬編碼以對(duì)應(yīng)于我的 Core2ForAWS 設(shè)備。選擇房間 1 的會(huì)議后,Core2ForAWS 元素的設(shè)備影子將更新為所選會(huì)議間隔。設(shè)備影子(稍后解釋)將如下所示:

poYBAGNkgyWAMiQwAAAS1_i8D6g152.png
設(shè)備陰影部分
?

設(shè)備邏輯

core2ForAWS 元素將解析來(lái)自設(shè)備影子的會(huì)議間隔信息,并填充大小為 96 的會(huì)議間隔數(shù)組。數(shù)組中的每個(gè)索引對(duì)應(yīng)于該索引對(duì)應(yīng)的 15 分鐘間隔的會(huì)議狀態(tài)。由于 1 天是 24 小時(shí),因此有 96 個(gè)間隔,每個(gè)間隔為 15 分鐘。15 分鐘間隔參考從上午 12:00 開始。12:00 AM 被認(rèn)為相當(dāng)于 0000 分鐘,第 0 個(gè) 15 分鐘間隔。因此,15 分鐘間隔數(shù)組的索引 0 對(duì)應(yīng)于從 12:00 AM 到 12:15 AM 的會(huì)議間隔的會(huì)議狀態(tài)。如果安排了從上午 12:00 到上午 12:15 的會(huì)議,則數(shù)組的索引 0 將標(biāo)記為“1”以表示會(huì)議間隔,如果沒有安排在上午 12:00 的會(huì)議,則將標(biāo)記為“0”到上午 12:15 會(huì)議間隔。

現(xiàn)在,我創(chuàng)造了“先生”的嵌入式設(shè)備(它是整個(gè)設(shè)備,包括 core2ForAWS 元素)接管了。Mister 會(huì)檢查每個(gè) 15 分鐘間隔邊緣,并且僅當(dāng)邊緣出現(xiàn)在剛剛結(jié)束的會(huì)議和沒有會(huì)議的 15 分鐘間隔之間時(shí)才會(huì)激活。會(huì)議間隔邊緣是兩個(gè)會(huì)議間隔之間的邊界。例如上午 12:00->12:15 會(huì)議間隔和 12:15->12:30 會(huì)議間隔之間的邊界。因此,例如,如果先生在 12:15 檢查并注意到從 12:00 AM -> 12:15 AM 有一個(gè)會(huì)議,并且從 12:15 AM -> 12:30 AM 會(huì)議沒有即將召開的會(huì)議,則會(huì)出現(xiàn)激活條件間隔。就索引而言,我們可以將其表示為從任何 array[j] = 1 到 array[j+1] = 0 的任何轉(zhuǎn)換,對(duì)于所有 j >= 0 &

一旦找到這樣的 1->0 邊緣,先生的 PIR 傳感器就會(huì)被激活,并每 2 分鐘檢查一次移動(dòng),以防剛剛發(fā)生的會(huì)議進(jìn)入另一個(gè)會(huì)議間隔。如果在下一個(gè)會(huì)議間隔之前檢測(cè)到活動(dòng),則在檢查即將到來(lái)的會(huì)議間隔邊緣之前將當(dāng)前會(huì)議間隔標(biāo)記為“1”,因?yàn)榇嬖跁?huì)議間隔的活動(dòng)價(jià)值。這張圖可以闡明這個(gè)想法:

poYBAGNkgyiAXbOJAAATfIqsscw534.png
15 分鐘會(huì)議區(qū)間邊緣,上午 8:00 區(qū)塊代表區(qū)間 8->8:15,上午 8:15 區(qū)塊代表區(qū)間 8:15->8:30。
?

假設(shè)目前,某個(gè)時(shí)間 > 8:00 am 和 < 8:15 am,由 1 表示。沒有安排在上午 8:00 舉行的實(shí)際會(huì)議,所以先生對(duì)會(huì)議間隔的內(nèi)部表示是數(shù)組索引:32(上午 8:00 是從上午 12:00 開始的 8 小時(shí),8 * 4 = 32 = 上午 8:00 的數(shù)組索引)是“0”。如果 PIR 一直持續(xù)到上午 8:15(由 2 表示),則索引 32 處的間隔被標(biāo)記為“1”。索引 32 被標(biāo)記為“1”,因?yàn)?15 分鐘的會(huì)議間隔(上午 8:00)不打算主持會(huì)議,但仍然主持了 15 分鐘的活動(dòng)。

如果 PIR 傳感器在 2 分鐘內(nèi)未檢測(cè)到活動(dòng),則會(huì)啟動(dòng)輔助檢查。首先,會(huì)出現(xiàn)提示音,以提醒房間內(nèi)的任何人即將噴水,然后顯示一個(gè)設(shè)備屏幕,顯示從 30 秒開始的倒計(jì)時(shí),并帶有確認(rèn)按鈕(視頻演示將顯示這一點(diǎn))。如果確認(rèn)屏幕在整個(gè)持續(xù)時(shí)間內(nèi)都被忽略,則先生啟動(dòng)伺服系統(tǒng)并噴灑房間,并等待下一個(gè) 15 分鐘間隔。如果確實(shí)確認(rèn)了活動(dòng),則先生將返回以返回 PIR 邏輯。

我是如何建造它的?

我開始花一些時(shí)間學(xué)習(xí) JS,reactJS:https ://reactjs.org/docs/getting-started.html和 nodeJS:https ://nodejs.org/en/docs/ 。我將在下面解釋 AWS DynamoDB 和 AWS IoT Core 集成并鏈接我的全棧應(yīng)用程序存儲(chǔ)庫(kù)。

我首先在這里設(shè)置我的 Core2ForAWS:https ://edukit.workshop.aws/en/getting-started.html ,只需完成這些步驟。然后,我按照以下說明設(shè)置 AWS IoT Core:https ://edukit.workshop.aws/en/blinky-hello-world/prerequisites.html 到此階段,您應(yīng)該能夠獲取 AWS IoT 終端節(jié)點(diǎn),并且您創(chuàng)建的 IAM 用戶應(yīng)該具有以下策略:

poYBAGNkgyqAbsh9AAAOyHYswXA419.png
IAM 用戶政策
?

如果您找不到添加此策略的位置,請(qǐng)使用您的根電子郵件登錄 AWS 控制臺(tái),然后單擊“IAM”。你應(yīng)該在左邊看到這個(gè):

poYBAGNkgy2AYp7uAAA2OQDEeLA987.png
我是
?

單擊“用戶”,然后單擊您創(chuàng)建的用戶。你會(huì)看到這樣的東西:

pYYBAGNkgzCAOwgNAAAmo47E66Q078.png
用戶權(quán)限
?

添加 AWSIoTFullAccess 策略。

這是我對(duì)正在發(fā)生的事情的解釋。您創(chuàng)建的 AWS 賬戶包含所有資源,例如 AWS IoT Core、DynamoDB、IAM 等。您創(chuàng)建的 IAM 用戶是經(jīng)過身份驗(yàn)證的實(shí)體,可以根據(jù) IAM 用戶的策略訪問 AWS 賬戶的資源。當(dāng)使用 IAM 用戶密鑰在 CLI 上運(yùn)行命令“ aws configure”時(shí),會(huì)創(chuàng)建一個(gè)配置文件并將其與用戶密鑰一起存儲(chǔ)在您的筆記本電腦上。調(diào)用 AWS 開發(fā)工具包 API 時(shí),會(huì)找到配置文件。然后會(huì)發(fā)生一些調(diào)解,以便被調(diào)用的 API 具有與使用“ aws configure”命令配置密鑰的 IAM 用戶的策略相同的權(quán)限

現(xiàn)在,將 AmazonDynamoDBFullAccess 策略也添加到您的 IAM 用戶。它應(yīng)該如下所示:

poYBAGNkgzKAXtcsAABd5fC60rI080.png
完整的 IAM 用戶權(quán)限
?

以下是與 AWS 交互并帶有注釋的相關(guān)代碼片段:

AWS.config.dynamodb = {
    region: "us-west-2",
    //replace endpoint with own endpoint
    endpoint: "https://dynamodb.us-west-2.amazonaws.com",
};
AWS.config.iotdata = {
    region: "us-west-2",
    //replace endpoint with own endpoint
    endpoint: "a36ozlrpzvmdr4-ats.iot.us-west-2.amazonaws.com",
};

// setting up the necessary AWS SDK objects

let dynamodb = new AWS.DynamoDB();
let docClient = new AWS.DynamoDB.DocumentClient();
let iotdata = new AWS.IotData();

// parameters for the DynamoDB table to be created
// replace TABLE_NAME with own table name
// replace PRIMARY_KEY with own primary key name
// replace SECONDARY_KEY with own secondary key name

let params = {
    TableName: TABLE_NAME, 
    KeySchema: [
        { AttributeName: PRIMARY_KEY, KeyType: "HASH" },
        { AttributeName: SECONDARY_KEY, KeyType: "RANGE" },
    ],
    AttributeDefinitions: [
        { AttributeName: PRIMARY_KEY, AttributeType: "S" },
        { AttributeName: SECONDARY_KEY, AttributeType: "S" },
    ],
    ProvisionedThroughput: {
        ReadCapacityUnits: 10,
        WriteCapacityUnits: 10,
    },
};

// the API that creates the DynamoDB table

dynamodb.createTable(params, function (err, data) {
    if (err) {
        console.error(
            "Unable to create table. Error JSON:",
            JSON.stringify(err, null, 2)
        );
    } else {
        console.log(
            "Created table. Table description JSON:",
            JSON.stringify(data, null, 2)
        );
    }
});

// parameters for shadow
// payload is what to update the shadow with
// thingName is the name of the thing that you registered with AWS IoT Core

let shadowParams = {
    // core2IoTPayload should be a JSON of your own choice
    payload: JSON.stringify(core2IoTPayload),
    // replace thingName with the thing name of own device
    thingName: "01231bd1cbac971101" 
};


// API to update shadow

iotdata.updateThingShadow(shadowParams, function (err, data) {
    if (err) {
        console.error("Unable to send to core2", JSON.stringify(err, null, 2));
    } else {
        console.log("send to core2 succeeded:");
    }
});

// API to update DynamoDB table

docClient.put(putParams, function (err, data) {
    if (err) {
        res.send(JSON.stringify("error"));
    } else {
        res.send(JSON.stringify("success"));
    }
});

下一步是創(chuàng)建先生設(shè)備。我想要一個(gè)可以用晶體管激活的電動(dòng)水泵,所以我買了其中一個(gè):

?
電氣控制器先生 -> 因此“先生”項(xiàng)目名稱
?

我把它拆開,它看起來(lái)像這樣:

pYYBAGNkgziACWhbAABVSdG4U7s78.jpeg
電動(dòng)泵機(jī)構(gòu)
?

事實(shí)證明,只需用開關(guān)短接兩個(gè)端子即可打開(您可以在原理圖部分看到這一點(diǎn))。我將電子設(shè)備與伺服器和 PIR 傳感器一起粘在一些紙板上,然后向前跳了幾步(我忘了拍中間照片),我最終得到了這個(gè):

pYYBAGNkgz2AYUoYAAmr7BNhFoA934.jpg
有點(diǎn)牛
?
poYBAGNkg0eAaeLwAAw0Q1XG_40135.png
電動(dòng)泵機(jī)構(gòu)集成(左)
?
poYBAGNkg1OAJufvAAyIBvzCh8k079.png
電動(dòng)泵機(jī)構(gòu)集成(右)
?
poYBAGNkg3SAc4yxAA4U28ymZVY614.png
內(nèi)部結(jié)構(gòu)
?
poYBAGNkg36Adkm8AA3dqhiY1OE726.png
伺服霧偏轉(zhuǎn)機(jī)構(gòu)又名彎曲的“向后 r”段
?
pYYBAGNkg4mAZTRqABD7vRvyBrQ050.png
側(cè)面圖
?
poYBAGNkg5OAdYtUABFPjtGEGh0167.png
core2forAWS 設(shè)備的頂視圖
?

電動(dòng)泵機(jī)構(gòu)位于中間部分,就在空透明罐的正上方。四根柱子中心的彎曲“向后 r”部分使霧氣輸出偏轉(zhuǎn)。最重要的是,我有 PIR 傳感器、控制泵機(jī)制的晶體管和 Core2ForAWS 設(shè)備。一旦霧氣打開,電動(dòng)泵機(jī)構(gòu)就會(huì)從罐中直接向上噴射霧狀消毒劑。伺服器開始動(dòng)作,彎曲的“向后 r”段以 360 度的方式偏轉(zhuǎn)薄霧。如果我有一臺(tái) 3D 打印機(jī),這個(gè)設(shè)備的設(shè)計(jì)會(huì)大不相同,而且效率更高(霧偏轉(zhuǎn)應(yīng)該旋轉(zhuǎn)霧輸出的噴嘴,而不是霧本身)。對(duì)于 PIR,我將其設(shè)置為像這樣的非重新觸發(fā)模式,因此每次移動(dòng)都會(huì)導(dǎo)致邊緣觸發(fā)中斷:

poYBAGNkg5WAVkOdAACN7hu1iho763.png

!?。?!筆記 ?。。。?/font>原理圖中的電路圖需要澄清一下,舵機(jī)的5VGND線應(yīng)該連接到外部電池或輸入電纜到 core2ForAWS !如果您連接到外部電池,請(qǐng)確保電池的接地連接到 core2ForAWS 的接地。從 core2ForAWS 連接到晶體管基極的導(dǎo)線是 core2ForAWS 上的 PIN26。在進(jìn)行更改之前,我用完了 CircuitLab 免費(fèi)試用版。

下面的代碼部分列出了啟動(dòng)和運(yùn)行 core2ForAWS 組件以及全棧應(yīng)用程序的確切步驟。

之前,我提到了一個(gè)設(shè)備影子,我想首先邀請(qǐng)您在這里查看此鏈接:解釋什么是設(shè)備影子。您可以將設(shè)備影子視為 AWS IoT“事物”與外部影響(即全棧應(yīng)用程序)之間的通信媒介。實(shí)際上,它更復(fù)雜,但它超出了本文的范圍。從本質(zhì)上講,發(fā)生的事情是全棧應(yīng)用程序?qū)懭氪嗽O(shè)備影子,并且預(yù)置并連接到 AWS IoT Core 的 core2ForAWS 收到剛剛寫入設(shè)備影子的更改的通知。

要開始使用全棧應(yīng)用程序,請(qǐng)遵循此處的 README:https ://github.com/daxlar/mister-frontend和此處:https : //github.com/daxlar/mister-backend上面的解釋可能比在整個(gè)文章中插入代碼塊更好地解釋了代碼。
?

設(shè)備的接線將在“原理圖”部分列出,所有代碼將在“代碼”部分。進(jìn)入演示!

?
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)