色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>一種會議集成可再填充物聯網設備的解決方案

一種會議集成可再填充物聯網設備的解決方案

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

資料介紹

描述

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

它是如何工作的?

我的解決方案包括一個全棧應用程序以及一個嵌入式設備。有幾個工作部分,所以我將首先對系統流程進行高級概述,然后詳細解釋。這樣,那些關注下一節標題為“我是如何構建它的?可以理解為什么我做了我所做的。

以下是該系統的高級概述:

poYBAGNkgx2AGG0CAAA_P1PG6M8587.png
系統架構
?

我的解決方案從一個全棧應用開始。我有一個顯示 GUI 的前端:

poYBAGNkgyCAG6P2AABafr-5fJg065.png
前端界面
?

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

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

為了簡化開發過程,設置了一些注意事項。會議僅每一刻鐘開始,持續時間是一刻鐘的倍數,并且 Room 1 被硬編碼以對應于我的 Core2ForAWS 設備。選擇房間 1 的會議后,Core2ForAWS 元素的設備影子將更新為所選會議間隔。設備影子(稍后解釋)將如下所示:

poYBAGNkgyWAMiQwAAAS1_i8D6g152.png
設備陰影部分
?

設備邏輯

core2ForAWS 元素將解析來自設備影子的會議間隔信息,并填充大小為 96 的會議間隔數組。數組中的每個索引對應于該索引對應的 15 分鐘間隔的會議狀態。由于 1 天是 24 小時,因此有 96 個間隔,每個間隔為 15 分鐘。15 分鐘間隔參考從上午 12:00 開始。12:00 AM 被認為相當于 0000 分鐘,第 0 個 15 分鐘間隔。因此,15 分鐘間隔數組的索引 0 對應于從 12:00 AM 到 12:15 AM 的會議間隔的會議狀態。如果安排了從上午 12:00 到上午 12:15 的會議,則數組的索引 0 將標記為“1”以表示會議間隔,如果沒有安排在上午 12:00 的會議,則將標記為“0”到上午 12:15 會議間隔。

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

一旦找到這樣的 1->0 邊緣,先生的 PIR 傳感器就會被激活,并每 2 分鐘檢查一次移動,以防剛剛發生的會議進入另一個會議間隔。如果在下一個會議間隔之前檢測到活動,則在檢查即將到來的會議間隔邊緣之前將當前會議間隔標記為“1”,因為存在會議間隔的活動價值。這張圖可以闡明這個想法:

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

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

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

我是如何建造它的?

我開始花一些時間學習 JS,reactJS:https ://reactjs.org/docs/getting-started.html和 nodeJS:https ://nodejs.org/en/docs/ 我將在下面解釋 AWS DynamoDB 和 AWS IoT Core 集成并鏈接我的全棧應用程序存儲庫。

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

poYBAGNkgyqAbsh9AAAOyHYswXA419.png
IAM 用戶政策
?

如果您找不到添加此策略的位置,請使用您的根電子郵件登錄 AWS 控制臺,然后單擊“IAM”。你應該在左邊看到這個:

poYBAGNkgy2AYp7uAAA2OQDEeLA987.png
我是
?

單擊“用戶”,然后單擊您創建的用戶。你會看到這樣的東西:

pYYBAGNkgzCAOwgNAAAmo47E66Q078.png
用戶權限
?

添加 AWSIoTFullAccess 策略。

這是我對正在發生的事情的解釋。您創建的 AWS 賬戶包含所有資源,例如 AWS IoT Core、DynamoDB、IAM 等。您創建的 IAM 用戶是經過身份驗證的實體,可以根據 IAM 用戶的策略訪問 AWS 賬戶的資源。當使用 IAM 用戶密鑰在 CLI 上運行命令“ aws configure”時,會創建一個配置文件并將其與用戶密鑰一起存儲在您的筆記本電腦上。調用 AWS 開發工具包 API 時,會找到配置文件。然后會發生一些調解,以便被調用的 API 具有與使用“ aws configure”命令配置密鑰的 IAM 用戶的策略相同的權限

現在,將 AmazonDynamoDBFullAccess 策略也添加到您的 IAM 用戶。它應該如下所示:

poYBAGNkgzKAXtcsAABd5fC60rI080.png
完整的 IAM 用戶權限
?

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

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"));
    }
});

下一步是創建先生設備。我想要一個可以用晶體管激活的電動水泵,所以我買了其中一個:

?
電氣控制器先生 -> 因此“先生”項目名稱
?

我把它拆開,它看起來像這樣:

pYYBAGNkgziACWhbAABVSdG4U7s78.jpeg
電動泵機構
?

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

pYYBAGNkgz2AYUoYAAmr7BNhFoA934.jpg
有點牛
?
poYBAGNkg0eAaeLwAAw0Q1XG_40135.png
電動泵機構集成(左)
?
poYBAGNkg1OAJufvAAyIBvzCh8k079.png
電動泵機構集成(右)
?
poYBAGNkg3SAc4yxAA4U28ymZVY614.png
內部結構
?
poYBAGNkg36Adkm8AA3dqhiY1OE726.png
伺服霧偏轉機構又名彎曲的“向后 r”段
?
pYYBAGNkg4mAZTRqABD7vRvyBrQ050.png
側面圖
?
poYBAGNkg5OAdYtUABFPjtGEGh0167.png
core2forAWS 設備的頂視圖
?

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

poYBAGNkg5WAVkOdAACN7hu1iho763.png

!!!!筆記 !!!!原理圖中的電路圖需要澄清一下,舵機的5VGND線應該連接到外部電池或輸入電纜到 core2ForAWS !如果您連接到外部電池,請確保電池的接地連接到 core2ForAWS 的接地。從 core2ForAWS 連接到晶體管基極的導線是 core2ForAWS 上的 PIN26。在進行更改之前,我用完了 CircuitLab 免費試用版。

下面的代碼部分列出了啟動和運行 core2ForAWS 組件以及全棧應用程序的確切步驟。

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

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

設備的接線將在“原理圖”部分列出,所有代碼將在“代碼”部分。進入演示!

?
?

?


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 一边亲着一面膜下奶韩剧免费| 99国产在线精品视频| 多男同时插一个女人8p| 日韩中文亚洲欧美视频二| 欧美一级成人影院免费的| aa级毛片毛片免费观看久| 日韩欧美国产免费看清风阁| 国产午夜精品理论片久久影视| 亚洲一区在线播放| 欧美 亚洲 另类 综合网| 国产精品久久久久久久久久久| 一本之道高清在线观看一区| 欧美激情一区二区三区四区| 国产伦子沙发午休系列资源曝光 | 国产亚洲福利在线视频| 一本道手机无码在线看| 青青草国产精品| 97在线精品视频| 台湾果冻传媒在线观看| 久久re这里精品23| 成年免费大片黄在线观看岛国| 亚洲精品国产高清嫩草影院| 欧美videos人牛交| 国产亚洲精品线观看不卡| 99这里有精品视频视频| 亚洲精品第一页中文字幕| 欧美一级久久久久久久大| 九九国产精品成人AV麻豆| 成人在免费观看视频国产| 印度性hd18| 午夜福利32集云播| 欧美日韩北条麻妃一区二区| 接吻吃胸摸下面啪啪教程| 超碰在线视频 免费| 永久精品视频无码一区| 午夜DV内射一区区| 亲伦在线观看| 免费黄色网址在线观看| 精品亚洲欧美中文字幕在线看| 亚洲色大成网站WWW永久麻豆| 秋霞在线看片无码免费|