精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Wio LTE的寵物物流安全衛士設計案例

柴火創客空間 ? 來源:柴火創客空間 ? 2024-11-12 09:46 ? 次閱讀

今天小編給大家帶來的是來自墨西哥的Maker Victor Altamirano為了解決寵物寄送過程中可能遇到的安全問題,而制作的“Follow My Paws”項目,該項目可以在遠程實時向用戶發送寵物航空倉的各種信息

材料清單

硬件

SeeedStudioWioLTE

物聯網SIM

適用于英特爾 Edison 的 Seeed Studio Grove 入門套件 plus

DHT11溫濕度傳感器

軟件:

arduinoIDE

SORACOM Funnel

Amazon Web Services AWS IoT

Amazon Web Services AWS Lambda

Amazon Web Services AWS SNS

Amazon Web Services AWS S3

背景

Follow My Paws:

有時我們需要通過包裹服務發送寵物。我們怎么能確保他們出現意外時即使處理呢?。因此,主要問題是:寵物在物流寄送服務中運輸時會出現意外情況。但是通常又不得不使用該服務,我們怎么能確保他們在任何時候都沒事呢?

解決方案

我將制作一個完整的物聯網解決方案來監控寵物的環境,以確保它們在整個旅程中的健康。所有這些都與云平臺集成,該平臺除了實時顯示包裹的狀態外,還以固定的頻率發送通知。

目前的監控解決方案僅限于無生命的包裝,這使得對寵物的連續監控成為一種新奇事物。它很有用,因為多虧了這個系統,寵物主人可以 100% 確定他們的寵物會很好,并且可以在整個旅程中監控和跟蹤它們。

硬件介紹

要將傳感器連接到 WIO,傳感器必須具有 Grove 型輸入,如以下鏈接中所示的輸入。

https://www.seeedstudio.com/catalogsearch/result/index/?cat=890&q=Grove

對于這個項目,我已經有了“Grove Starter Kit Plus”包,如下圖所示。

內容:

41d7bdde-905a-11ef-a511-92fbcf53809c.jpg

建立的連接如下:

41f9e058-905a-11ef-a511-92fbcf53809c.png

Grove 軟件包中包含的加速度計在連接到 WIO 時沒有問題,因為它已經有了它的 Grove 適配器,我不得不破解它是 DHT,因為我們沒有 Grove 的 DHT。

加速度計 Grove 版本:

422195b2-905a-11ef-a511-92fbcf53809c.jpg

DHT No-Grove 版本:

42540632-905a-11ef-a511-92fbcf53809c.jpg

以下是將模塊連接到 grove 電纜的方法:

429d1f52-905a-11ef-a511-92fbcf53809c.jpg

Wio設置

我們將通過將SIM卡連接到適當的插槽中來準備WIO LTE。

42d1da58-905a-11ef-a511-92fbcf53809c.jpg

找到SIM卡的插槽后,將SIM卡插入插槽(是的,保護您的IMEI和其他數據)。

42faf640-905a-11ef-a511-92fbcf53809c.jpg

一旦卡完全插入,就會看到這一點。

4333c0ba-905a-11ef-a511-92fbcf53809c.jpg

由于我們在WIO LTE中安裝了SIM卡,因此我們將天線連接到下圖所示的插槽。

435b5cb0-905a-11ef-a511-92fbcf53809c.jpg

完成此操作后,我們將準備好將模塊與Arduino IDE一起使用。

Wio Arduino設置:

這是在Arduino IDE上安裝WIO LTE的官方指南。非常清晰簡潔,強烈建議試用它。

https://github.com/Seeed-Studio/Wio_LTE_Arduino_Library

Arduino軟件在Github上。

Soracom平臺設置:

檢查您的SIM卡是否已經連接到一個組非常重要,就我而言,我稱之為Harvest Group。

438716a2-905a-11ef-a511-92fbcf53809c.jpg

如果我們沒有創建組,我們將創建一個組,如下圖所示,如果我們不這樣做,我們將無法執行 AWS IoT 配置。

43b2ac7c-905a-11ef-a511-92fbcf53809c.jpg

自從創建了小組以來,就我而言,我們通過按“Harvest Group”進入小組菜單,一旦進入,我們將看到以下內容。

43d4aafc-905a-11ef-a511-92fbcf53809c.jpg

在組菜單中,我們將輸入選項“SORACOM Funnel”,此選項將允許我們訪問與AWS服務的連接,所有憑證將在稍后的AWS配置中獲得,因此請勿關閉此選項卡(請遵循)。

43f69ae0-905a-11ef-a511-92fbcf53809c.jpg

AWS IoT 設置

要與 AWS IoT 通信,我們需要在 IAM 控制臺中創建一個角色,以便授權 Soracom 訪問我們的控制臺。

第一步是創建一個允許我們與 AWS 通信的角色。

4426d340-905a-11ef-a511-92fbcf53809c.jpg

在角色配置中,我們需要授予對 AWS IoT 的訪問權限。

444462a2-905a-11ef-a511-92fbcf53809c.jpg

在這里,我們可以看到可以與此角色一起使用的服務,在本例中,此策略只是一個示例。注意:如果您不確定要獲取角色的策略,請選擇策略 (AWSIoTFullAccess)。

446f8162-905a-11ef-a511-92fbcf53809c.jpg

我們給新角色起了個名字。

44967dc6-905a-11ef-a511-92fbcf53809c.jpg

我們進入 AWS IoT 控制臺并轉到“設置”部分。

44bf788e-905a-11ef-a511-92fbcf53809c.jpg

進入“設置”部分后,我們將復制“端點”,這將在 Soracom 控制臺選項卡中使用。

下一步是在 AWS IoT 和其他 AWS 服務(如 Lambda、SNS 和 DynamoDB)之間創建連接。因此,為此,我們必須創建一個“規則”,該規則將用于在此服務和上述服務之間建立橋梁。

44eab490-905a-11ef-a511-92fbcf53809c.jpg

一旦我們有了規則,我們將如圖所示對其進行配置。

450949c8-905a-11ef-a511-92fbcf53809c.jpg

在此選項卡中,我們將配置數據到達后要激活的 lambda(在完成配置其他服務之前不要關閉)

452fa3de-905a-11ef-a511-92fbcf53809c.jpg

AWS Lambda 設置

我們創建一個 Lambda,如屏幕上所示(它非常直觀,應該沒有問題)。

45589a0a-905a-11ef-a511-92fbcf53809c.jpg

lambda 應該以這種方式看待,使用 lambda 的原因是因為我們需要處理從模塊獲取的數據,以通過消息和我們的 Web 平臺給出響應(執行此過程 2 次,因為我們將配置 2 個 lambda 以連接到 SNS 和 DynamoDB 的服務)

458ab648-905a-11ef-a511-92fbcf53809c.jpg

第一個 Lambda SNS 服務:

這是向 SNS 發送通知的代碼,稍后將在 SNS 配置中獲取 TopicARN。

console.log('Loading function'); // Load the AWS SDK var AWS = require("aws-sdk"); // Set up the code to call when the Lambda function is invoked exports.handler = (event, context, callback) => { // Load the message passed into the Lambda function into a JSON object var eventText = JSON.parse(JSON.stringify(event, null, 2)); // Log a message to the console; you can view this text in the Monitoring tab in the Lambda console or in the CloudWatch Logs console // Create a string, extracting the click type and serial number from the message sent by the AWS IoT button // Write the string to the console var temp=parseInt(eventText.temperature) var acc=parseInt(eventText.accelerometer) var moi=parseInt(eventText.moisture) var air=parseInt(eventText.air) var id=eventText.ID var myarray=[0,0,0,0] if(temp<15) { myarray[0]=4 } else if(temp >= 15 && temp < 18) { myarray[0]=3 } else if(temp >= 18 && temp < 19) { myarray[0]=2 } else if(temp >= 21 && temp < 24) { myarray[0]=1 } else if(temp >= 24 && temp < 26) { myarray[0]=2 } else if(temp >= 26 && temp < 28) { myarray[0]=3 } else if(temp >= 28) { myarray[0]=4 } temp=temp*1.8+32 if(acc<3) { myarray[1]=1 } else if(acc >= 3 && acc < 6) { myarray[1]=2 } else if(acc >= 6 && acc < 10) { myarray[1]=3 } else if(acc >= 10) { myarray[1]=4 } if(moi<20) { myarray[3]=4 } else if(moi >= 20 && moi < 30) { myarray[3]=3 } else if(moi >= 30 && moi < 40) { myarray[3]=2 } else if(moi >= 40 && moi < 50) { myarray[3]=1 } else if(moi >= 50 && moi < 65) { myarray[3]=2 } else if(moi >= 65 && moi < 80) { myarray[3]=3 } else if(moi >= 80) { myarray[3]=4 } air=0.5 * (temp + 61.0 + ((temp-68.0)*1.2) + (moi*0.094)) if(air<90) { myarray[2]=1 } else if(air >= 90 && air < 102) { myarray[2]=2 } else if(air >= 102 && air < 122) { myarray[2]=3 } else if(air >= 122) { myarray[2]=4 } var mess=""; if(myarray[3]==1 || myarray[2]==1 || myarray[1]==1 || myarray[0]==1) { mess="Your dog goes in perfect travel conditions" } if(myarray[3]==2 || myarray[2]==2 || myarray[1]==2 || myarray[0]==2) { mess="Your dog is in good condition" } if(myarray[3]==3 || myarray[2]==3 || myarray[1]==3 || myarray[0]==3) { mess="Your dog is fine but the travel conditions are not the best." } if(myarray[3]==4 || myarray[2]==4 || myarray[1]==4 || myarray[0]==4) { mess="Your dog is fine but travel conditions should improve" } // Create an SNS object var sns = new AWS.SNS(); console.log("Received event:",JSON.stringify(myarray, null, 2),air); var params = { Message: mess, TopicArn: "YOURSNSENDPOINT" }; sns.publish(params, context.done); };

第二個 Lambda DynamoDB 服務:

這是將數據發送到 DynamoDB 的代碼。

console.log('Loading function'); var AWS = require("aws-sdk"); exports.handler = (event, context, callback) => { var eventText = JSON.parse(JSON.stringify(event, null, 2)); var temp=parseInt(eventText.temperature) var acc=parseInt(eventText.accelerometer) var moi=parseInt(eventText.moisture) var air=0 var id=eventText.ID var myarray=[0,0,0,0] if(temp<15) { myarray[0]=4 } else if(temp >= 15 && temp < 18) { myarray[0]=3 } else if(temp >= 18 && temp < 19) { myarray[0]=2 } else if(temp >= 21 && temp < 24) { myarray[0]=1 } else if(temp >= 24 && temp < 26) { myarray[0]=2 } else if(temp >= 26 && temp < 28) { myarray[0]=3 } else if(temp >= 28) { myarray[0]=4 } temp=temp*1.8+32 if(acc<3) { myarray[1]=1 } else if(acc >= 3 && acc < 6) { myarray[1]=2 } else if(acc >= 6 && acc < 10) { myarray[1]=3 } else if(acc >= 10) { myarray[1]=4 } if(moi<20) { myarray[3]=4 } else if(moi >= 20 && moi < 30) { myarray[3]=3 } else if(moi >= 30 && moi < 40) { myarray[3]=2 } else if(moi >= 40 && moi < 50) { myarray[3]=1 } else if(moi >= 50 && moi < 65) { myarray[3]=2 } else if(moi >= 65 && moi < 80) { myarray[3]=3 } else if(moi >= 80) { myarray[3]=4 } air=0.5 * (temp + 61.0 + ((temp-68.0)*1.2) + (moi*0.094)) if(air<90) { myarray[2]=1 } else if(air >= 90 && air < 102) { myarray[2]=2 } else if(air >= 102 && air < 122) { myarray[2]=3 } else if(air >= 122) { myarray[2]=4 } // Set the region AWS.config.update({region: 'ap-northeast-1'}); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'}); var params = { TableName: 'FMPtemp', Item: { 'ID' : {S: id}, 'Array' : {S: JSON.stringify(myarray, null, 2)} } }; // Call DynamoDB to add the item to the table ddb.putItem(params, function(err, data) {if (err) {} else {}}); };

AWSSNS設置

在SNS服務中,我們創建了一個主題

45a94752-905a-11ef-a511-92fbcf53809c.jpg

在 SNS 服務中,我們創建了一個主題。

45c554f6-905a-11ef-a511-92fbcf53809c.jpg

由于我們創建了主題,因此我們可以在希望通知到達的位置創建訂閱。

45ecefac-905a-11ef-a511-92fbcf53809c.jpg

這是我們可以發送通知的所有方面的一個示例。

460b8cbe-905a-11ef-a511-92fbcf53809c.jpg

為您的第一個 Lambda 保存此 ARN:

462c2122-905a-11ef-a511-92fbcf53809c.jpg

AWS DynamoDB 設置:

對于這個項目和我們的 WEB 實現,我們需要在 DynamoDB 中創建 2 個表,因為一個表將用作數據存儲,另一個表將用于可以在 WEB 平臺中使用的臨時變量。

對于此步驟,僅創建了兩個表,如圖所示:

46556c08-905a-11ef-a511-92fbcf53809c.jpg

WEB界面設置

Web 平臺可能看起來很簡單,但它在與 AWS 交互的方式上有一個非常有趣的實現。

使用網頁時最大的問題之一是具有臨時變量,因為每次更新頁面時,我們都會丟失變量存儲的所有信息,但是在我的實現中,我直接從 DynamoDB 中提取數據,這要歸功于提供 AWS 的 javascript 開發工具包,因此我可以將信息存儲在數據庫中, 如上圖所示,在名為“FMP”的數據庫中,并保存臨時變量和快速訪問,以便部署和更新網頁“FMPtemp”。

在顯示網頁時,調用FMPtemp數據庫實時獲取寵物的狀態,并根據我們的算法確定寵物的一般狀態,將通過顏色通知,如下圖所示。

467c9bfc-905a-11ef-a511-92fbcf53809c.jpg

每圖標代表以下內容:

溫度:環境溫度

加速度:最大加速度

空氣Q:空氣質量

濕潤:空氣濕氣

顏色范圍:

46ab553c-905a-11ef-a511-92fbcf53809c.jpg

空氣質量是使用以下公式計算的,使用簡化版本來計算空氣的露點,根據書籍,它必須小于 90:

空氣 Q=0.5 * (溫度 + 61.0 + ((溫度-68.0)1.2) + (濕潤0.094))

最終產品

我們將溫度傳感器組裝在外殼中。

42540632-905a-11ef-a511-92fbcf53809c.jpg

422195b2-905a-11ef-a511-92fbcf53809c.jpg

471dc6a8-905a-11ef-a511-92fbcf53809c.jpg

47493d7e-905a-11ef-a511-92fbcf53809c.jpg

476c6646-905a-11ef-a511-92fbcf53809c.jpg

47975b58-905a-11ef-a511-92fbcf53809c.jpg

---end---

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LTE
    LTE
    +關注

    關注

    15

    文章

    1356

    瀏覽量

    177726
  • SIM卡
    +關注

    關注

    6

    文章

    284

    瀏覽量

    28589
  • DHT11
    +關注

    關注

    19

    文章

    277

    瀏覽量

    57542

原文標題:創客項目秀|基于 Wio LTE的寵物物流安全衛士

文章出處:【微信號:ChaiHuoMakerSpace,微信公眾號:柴火創客空間】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [原創]求高級騙子當師傅!共同對抗貸款安全衛士的攻擊!

    一直以來我就靠騙人衛生,最近卻被易貸中國貸款安全衛士給曝光了,靠,氣死我了!易貸中國拿現金獎勵那些舉報貸款騙子,和推薦朋友舉報貸款騙子的人,真實吃飽了沒事干!這不是跟我們這些靠這行為生的人做對么?特在此,開此帖,求高級騙術專家,收我做徒弟,我要騙光別人的錢財!拜師!
    發表于 05-18 17:16

    【云智易申請】家庭安全衛士

    申請理由:作為整個項目的主控制板!項目描述:便 攜式安全衛士是一套便捷的安防系統。本套系統主要有五大子系統構成,分別為主控制系統、安防便貼系統、GSM遠程控制與報警系統、WiFi圖像采集系統以
    發表于 07-31 15:23

    近電防觸碰報警器,給工作人員安排了一位“安全衛士

    發生。近電防觸碰報警器的使用,無非是給工作人員安排了一位“安全衛士”。解決了觸電方面的顧慮,在施工的過程中,工程人員不用再承擔太多的壓力,工作效率也將有所提升。 -END-
    發表于 10-27 14:30

    360安全衛士5.0綠色版免費下載

    360安全衛士是由奇虎公司推出的完全免費的安全類上網輔助工具軟件,它擁有查殺流行木馬、清理惡評及系統插件,管理應用軟件,卡巴斯基殺毒,系統實時保護,修復
    發表于 12-10 16:24 ?0次下載
    360<b class='flag-5'>安全衛士</b>5.0綠色版免費下載

    360安全衛士7.7下載_官網最新

    360安全衛士是當前功能最強、效果最好、最受用戶歡迎的上網必備安全軟件。由于使用方便,用戶口碑好,目前4.2億中國網民中,首選安裝360的
    發表于 03-12 21:11 ?39次下載
    360<b class='flag-5'>安全衛士</b>7.7下載_官網最新

    360安全衛士v7.5 Beta版

    親愛的廣大360用戶,360安全衛士7.5beta版發布功能及改進說明如下: 【網盾】 1、新增下載云安全保護功能,全面支持360安全瀏覽器、IE瀏覽器、迅雷、QQ旋風、網際
    發表于 09-02 09:32 ?0次下載

    AVR單片機居家安全衛士系統軟硬件架構分析

    1.設計方案目標: 智能居家安全衛士系統是利用先進的計算機技術、綜合布線技術、依照人體工程學原理,融合個性需求,將與家居生活有關的各個子系統有機地結合在一起,實現以人為本的全新家居生活體驗。高性能
    發表于 10-16 15:48 ?0次下載
    AVR單片機居家<b class='flag-5'>安全衛士</b>系統軟硬件架構分析

    汽車安全衛士,包括酒精檢測,疲勞檢測,空氣質量檢測

    1.1 引言 本方案基于Atmel Studio 5及AVR平臺,設計一個融合酒精檢測、疲勞檢測和車內空氣質量檢測為一體的汽車安全衛士系統,通過對駕駛員呼出氣體的酒精濃度檢測判斷是否允許啟動汽車
    發表于 11-20 15:53 ?4次下載
    汽車<b class='flag-5'>安全衛士</b>,包括酒精檢測,疲勞檢測,空氣質量檢測

    360安全衛士宣布,區塊鏈平臺EOS的一系列存在高危安全漏洞

    360安全衛士發文宣布公司Vulcan(伏爾甘)團隊發現了區塊鏈平臺EOS的一系列高危安全漏洞。
    發表于 06-25 17:30 ?833次閱讀

    使用Wio終端擴展Arduboy

    電子發燒友網站提供《使用Wio終端擴展Arduboy.zip》資料免費下載
    發表于 11-03 09:24 ?0次下載
    使用<b class='flag-5'>Wio</b>終端擴展Arduboy

    WAYON維安保險絲-便攜式電子設備的“安全衛士”!

    便攜式電子設備的“安全衛士”!WAYON維安保險絲:貼著用,很放心
    的頭像 發表于 01-06 13:01 ?1327次閱讀
    WAYON維安保險絲-便攜式電子設備的“<b class='flag-5'>安全衛士</b>”!

    電腦中毒了怎么辦?殺毒軟件推薦安心快捷的360管家

    電腦安全軟件哪個好用?電腦中毒了怎么辦?選擇360安全衛士極速版,輕松快捷就能消滅各類病毒,該軟件首創即掃即清功能,操作簡單方便,同時優化了底層掃描邏輯,讓掃描速度可以更加迅速,能夠更快捷地搜索病毒
    的頭像 發表于 04-07 09:27 ?642次閱讀

    千方鯤巢·安全衛士守護每一個“三無”路口、路段的交通安全

    為了你的安全 守護“三無”路口、路段的安全怎能少了我 千方鯤巢·安全衛士 ? 來看看“鬼探頭”最害怕的我有哪些絕招 絕招1:聲光字預警 道路安全守護神 擁有黃閃警示燈/紅藍閃燈、語音
    的頭像 發表于 08-15 09:08 ?1008次閱讀

    電梯智能安全衛士,為安全出行保駕護航

    電梯智能安全衛士應運而生。它不僅解決了傳統電梯管理存在的問題,還為電梯的安全運行提供了強有力的保障。
    的頭像 發表于 10-17 10:29 ?483次閱讀

    辦公樓園區雙屏電梯安全衛士:守護高效與安全的智慧新篇章

    在現代化的辦公樓園區中,電梯不僅是連接不同樓層的交通工具,更是衡量樓宇智能化水平的重要標尺。隨著科技的飛速發展,雙屏電梯安全衛士作為一種創新的安全管理系統,正逐步成為辦公樓園區的新標配,為日常辦公生活帶來前所未有的便捷與安全
    的頭像 發表于 10-09 10:30 ?194次閱讀