日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

LoRaWAN智能廁所

本實踐推薦使用阿里云物聯網平臺一站式完成應用開發,物聯網平臺可直接調用Link WAN網管服務。本文將使用物聯網平臺搭建一個基于LoRaWAN連接的智能廁所Demo。

背景信息

  • 應用概述

    為了增加廁所使用效率,減少被味道“熏陶”的等待時間,同時也為了增加廁所的清潔效率,可以做一個非侵入式的智能廁所改造方案。通過紅外熱釋電檢測每個坑位有沒有人,在Web或App上實時顯示,方便如廁人員查詢,并且可以檢測廁所的臭味,達到閾值時通知清潔工進行清掃。

  • 物料清單

    • 慧聯無限G200 LoRaWAN網關

    • 慧聯無限LoRa紅外傳感器

    • 一臺能聯網的電腦

步驟一:配置LoRaWAN網關-自建LoRaWAN網絡

  1. 從阿里云IoT市場購買網關并自己組成網絡。

    以下是本實踐使用的網關:小網關G200小網關G200_1

  2. 插上網線與電源,登錄物聯網絡管理平臺控制臺注冊網關。

    1. 在左側導航欄上,選擇網絡管理 > 網關管理

    2. 網關列表頁簽,單擊添加網關

    3. 配置信息以激活網關。

      參數項

      參數

      說明

      基本信息

      名稱

      填寫添加的網關名稱,支持中文、英文字母、數字和下劃線,長度限制4~30個字符,一個中文算兩個字符。

      PIN Code

      Pin Code為6位數字,通常會貼在網關標簽上。

      通信模式

      通信模式分為全雙工半雙工兩種,此處以選擇半雙工為例。

      GwEUI

      請在網關標簽上查看該參數。

      頻段

      支持以下三種頻段的選擇:

      • CN470 同頻

      • CN470 異頻

      • AS923 同頻

      此處以選擇CN470 異頻為例。

      網關描述

      選填,可以填寫所添加網關的備注信息。網關描述不超過100字符。

      位置信息

      所在區域

      請選擇網關的所在區域。

      說明

      需手動選擇網關位置,因G200不帶GPS模塊,需要手動填寫,之后會顯示在地圖上。帶GPS網關的,上報數據后會自動刷新位置。

      位置詳情

      填寫網關的具體的位置信息,您也可于右側地圖單擊做定位。

    G200回傳網默認是DHCP上網配置,如果您是固定IP或PPPoE,需依照實際環境調整,相關操作請參考G200網關手冊。配置成功后,網關列表下將顯示在線狀態。

  3. 創建自己的網絡憑證,然后把網絡分配給自己賬號使用。分配后通過入網憑證來取得網絡使用權利。

    1. 在左側導航欄上,選擇網絡管理 > 入網開通

    2. 入網開通頁面,單擊添加專用憑證

    3. 在下圖中配置參數,配置完成后單擊確認即可創建一個憑證。

      參數

      說明

      憑證名稱

      填寫添加的憑證的名稱,支持中文、英文字母、數字和下劃線,長度限制4~30個字符,一個中文算兩個字符。

      頻段

      支持以下三種頻段的選擇:

      • CN470 同頻

      • CN470 異頻

      • AS923 同頻

      此處以選擇CN470 異頻為例。

      Class

      支持以下三種類的選擇:

      • A

      • B

      • C

      此處以選擇A為例,按需發送。

      RxDelay

      選擇Class A可配置 RXDelay,用于配置上行后的接收窗口延遲時間,默認1s,可選范圍在1~15s。

    4. 單擊該憑證操作所在列的憑證授權,將添加好的憑證授權給自己,如下圖所示。

      將憑證授權給自己
    授權成功之后,新憑證會在出現在憑證清單里,如果是別人將憑證授權給您,接受后也會在此清單顯示。

步驟二:拆封LoRaWAN硬件

從網上購買來的認證過的LoRa傳感器,拆出來的時候可以看到后面附了一個16位碼的貼紙,這個是節點的DevEUI。同時還會有一個6位的PINCODE字段。

按照說明書,默認是5分鐘模式,即收到一次警報之后,5分鐘之內收到的警報不會再上傳。這跟廁所的使用場景不一致,我們需要調成測試模式,即每次收到的警報都會上傳。

操作方法:把背部的殼子掰開(不需要螺絲刀)后,把跳針的位置調整到ON,然后合上蓋子,先不拔掉塑料片。

步驟三:在物聯網平臺上配置LoRa節點

  1. 登錄物聯網平臺控制臺

  2. 在左側導航欄上選擇設備管理產品,單擊創建產品

  3. 填寫產品信息,然后單擊保存

    參數

    說明

    產品名稱

    測試設備(可自定義)。

    所屬品類

    選擇自定義品類

    節點類型

    選擇直連設備

    連網方式

    選擇LoRaWAN

    入網憑證

    從清單里選擇,或單擊添加專用憑證

    說明

    請確認已經在Link WAN取得入網憑證。

    數據格式

    透傳/自定義。

    產品描述

    非必填,用于描述產品的相關信息。

    如首次使用Link WAN需授權數據權限,請單擊同意授權

  4. 創建完畢后,單擊管理設備前往管理。

    管理設備
  5. 單擊添加設備,即可完成LoRa設備接入。

  6. 輸入16位DevEUI作為DeviceName(需小寫)。

步驟四:查看上下行數據及數據日志

  1. 回到物聯網絡管理平臺控制臺,可以查看LoRaWAN鏈路層數據通信上下行。

    1. 在左側導航欄上選擇節點管理 > 節點分組

      說明

      此節點已授權給物聯網平臺接入使用,這里只提供查看功能。

    2. 單擊該節點對應操作欄下的查看,選擇上行數據頁簽,查看上行數據。

      查看上行數據

  2. 拔掉LoRa傳感器上的塑料片,讓傳感器上電。

  3. 查看物聯網平臺上收到的上行日志。

    物聯網平臺控制臺左側導航欄上選擇監控運維日志服務,在上行消息分析頁簽查看日志。

    此時設備也收到了數據日志,即表示所有通訊鏈路都打通,下圖為原始的上行日志。

    原始上行日志

步驟五:解析設備上傳的信息

從傳感器的說明文件可以得知,傳感器上報的是二進制數據。我們如何把二進制數據轉化為可以理解的屬性名稱呢?具體請看下文的操作步驟。

下圖是廠家提供的傳感器的二進制配置文件。

傳感器二進制配置信息
  1. 定義物模型。

    對于該型號的傳感器,020100中的第一個BYTE02表示協議,01對紅外傳感器表示有人,00表示傳感器狀態正常。我們首先需要在產品里定義室內人體探測開關傳感器屬性兩個功能,用于記錄這兩個屬性。

    1. 物聯網平臺控制臺左側導航欄上選擇設備管理產品,單擊產品對應的查看,進入產品詳情頁。

    2. 選擇功能定義頁簽,單擊編輯草稿 > 添加自定義功能

    3. 添加自定義功能彈框中,功能類型選擇屬性,添加以下兩個屬性。

      • 添加傳感器屬性傳感器屬性

      • 添加室內人體探測開關室內人體探測開關

      屬性添加完成后,如下圖所示。

      兩個屬性參數配置
      說明

      讀寫類型都選擇讀寫

  2. 使用產品定義里的數據解析,把二進制數據自動轉化為ALink-JSON格式,以應對定義物模型中的兩個屬性。

    說明
    • 數據解析需要產品為開發中狀態。如果已經發布請單擊右上角撤回發布

    • 數據轉化規則,詳情請參見:數據解析,這里只提供最后的代碼。

    1. 產品詳情頁,單擊數據解析頁簽。

      數據解析頁簽
    2. 編輯腳本下方,輸入如下的解析腳本,然后單擊頁面下方的保存

      var COMMAND_REPORT = 02;
      var COMMAND_SET = 01;
      var ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'; //標準ALink JSON格式topic, 設備上傳屬性數據到云端
      var ALINK_PROP_SET_METHOD = 'thing.service.property.set';
      function rawDataToProtocol(bytes) {
          var uint8Array = new Uint8Array(bytes.length);
          for (var i = 0; i < bytes.length; i++) {
              uint8Array[i] = bytes[i] & 0xff;
          }
          var dataView = new DataView(uint8Array.buffer, 0);
          var jsonMap = new Object();
          var fHead = uint8Array[0]; // 第0個BYTE為上報協議
          if (fHead == COMMAND_REPORT) {
              jsonMap['method'] = ALINK_PROP_REPORT_METHOD; //ALink JSON格式 - 屬性上報topic
              jsonMap['version'] = '1.0'; //ALink JSON格式 - 協議版本號固定字段
              jsonMap['id'] = '' + 12345; //ALink JSON格式 - 標示該次請求id值
              var params = {};
              params['IndoorHumanDetectionSwitch'] = uint8Array[1]; //第1個BYTE為傳感器讀數判斷有沒有人
              params['SensorProperty'] = uint8Array[2]; //第2個BYTE為傳感器本身的狀態,對應產品屬性中 prop_float
              jsonMap['params'] = params; //ALink JSON格式 - params標準字段
          }
          return jsonMap;
    3. 輸入原始數據020100進行調試,可以看到右邊解析成功,然后單擊頁面下方的執行即可讓腳本生效。

      腳本生效
      在日志里可以看到二進制的020100已經轉為{"SensorProperty":0,"IndoorHumanDetectionSwitch":1},表示已完成設備接入。日志服務_二進制轉化成功

步驟六:在IoT Studio上配置智能廁所看板

IoT Studio(是阿里云針對物聯網場景提供的生產力工具,可覆蓋各個物聯網行業核心應用場景,解決物聯網開發領域開發鏈路長、技術棧復雜、協同成本高、方案移植困難的問題。

  1. 登錄物聯網應用開發控制臺

  2. 在IoT Studio上新建一個項目,以項目維度管理LoRaWAN智能廁所應用。

  3. 創建項目之后可以看到右邊欄多了一項SmartToilet,單擊查看進入項目詳情。然后在項目概覽頁單擊右上角導入產品,把剛才創建的產品導入到項目內。

  4. 在左側欄上選擇推薦Web可視化開發,單擊新建應用進入Web可視化開發工作臺,然后選擇空白模板進行新建。

  5. 進入編輯中,可以改變背景色,添加標題文字等。對最重要的廁所占位狀態,通過“有人”、“沒人”的指示燈來表示,因此把指示燈組件放入畫布中,并配置數據源。

  6. 配置數據源時,請選擇產品、關聯的設備以及關聯的布爾型屬性。單擊驗證數據格式獲得通過,之后單擊確定完成配置。配置之后可以通過上傳圖片等修改指示燈開關狀態的樣式。

  7. 單擊預覽,完成整個Web應用的鏈路調試。

  8. 假設有7個坑位,只需要重復上述步驟即可(可以使用Excel批量添加設備)。另外GUI配置的部分與之前的版本操作一致,在此不再贅述。最終效果如下圖所示。

(可選)在IoT Studio上配置智能廁所狀態推送與轉儲

服務開發(原服務編排)可以通過可視化拖拽的方式快速完成所需業務邏輯的設計,例如,設備聯動、可視化搭建數據聯動、云服務連接、API 生成、數據處理與轉儲、生成App的后端服務。在本文中,我們要使用服務開發完成智能廁所坑位狀態的推送,以及把廁所使用狀況轉儲到表格存儲Table Store上。

  1. 在IoT Studio上新建一個服務。

    從項目概覽頁選擇推薦服務開發,單擊新建服務即可進入服務開發工作臺的新建頁面,選擇空白模板進行新建。

  2. 把廁所的占用時間推送到釘釘機器人上。

    首先配置一個設備觸發節點作為輸入,選擇之前創建好的產品,設備選擇選擇所有設備,以監聽所有設備上報的信息。上報類型選擇屬性上報,最后配置一個釘釘機器人節點作為消息推送節點。

  3. 在要推送的釘釘群內添加機器人,獲得webhook,如下圖所示。

  4. 配置webhook以后可以配置推送的信息。釘釘機器人節點目前支持多種消息推送類型,并且支持動態調用設備數據。

    框內配置項如下:

    {
      "msgtype": "text", 
      "text": {
        "content":"在{{query.props.IndoorHumanDetectionSwitch.time}}時候有{{query.props.IndoorHumanDetectionSwitch.value}}人進坑!"
     }, 
      "at": {
          "isAtAll": true
      }
    }
                            
  5. 配置完成之后,單擊部署對服務進行部署。然后單擊啟動讓服務生效。

    如果設備已經上線,則可以直接看到機器人的消息推送,實現廁所使用狀態的實時推送了,如下圖所示。
  6. 如果需要把廁所的使用狀況使用TableStore,云數據庫MySQL等云產品存儲起來,可以使用存儲節點。

    最終結果如圖: