<!-- .slide: data-background="https://i.imgur.com/gJLfldF.jpg" data-background-color="#111111" data-background-opacity="0.2" --> ###### tags: `iot-greenhouse` `lab` 返回[物聯網自動化溫室監控系統](/s/PJIS24sFR76axKI0xOrnjQ) ## <span style="color:#F9BF45;">裝置互聯設定與遠程控制</span> ###### [點我開啟簡報模式](/@BEExANT-ta/BJye1WcOY#) ###### <kbd>ESC</kbd> 鍵進入總覽模式 ###### <kbd>&#8592;</kbd> <kbd>&#8593;</kbd> <kbd>&#8595;</kbd> <kbd>&#8594;</kbd> 切換頁面 --- ## 目標 **設定幫浦與溫室端的網路互聯,並在與幫浦端連線的設定下,開啟兩個溫室端網頁,使用程式遠程控制幫浦端的電磁閥。** --- ## 設計原理 - 參考 [遠程控制網路設定](/s/UrpBFetqTfagugoaksoDCg) 中的進階設定進行網路設定。 - 同時開啟三台裝置的網頁,在兩個溫室端網頁分別使用 ==控制命令== 與 ==控制請求== 對幫浦端進行控制。 - 在幫浦端接受來自溫室端的請求並執行。 --- ## 範例程式碼 新增程式檔並命名 ==裝置互聯設定與遠程控制==,將以下程式碼複製貼上程式編輯區執行。 ### 溫室1 ```javascript= valveOn.set(5); delay(3000); valveOn.set(6); delay(3000); valveOff_req.set(5); delay(3000); valveOff_req.set(6); return; ``` ### 溫室2 ```javascript= valveOn.set(7); delay(3000); valveOn.set(8); delay(3000); valveOff_req.set(7); delay(3000); valveOff_req.set(8); return; ``` ### 幫浦端 ```javascript= if(request_queue.length > 0) { request_accept.set(1); } delay(1000); ``` --- ## 程式解說 逐行講解程式意義。 ---- ```javascript= valveOn.set(5); delay(3000); valveOn.set(6); delay(3000); valveOff_req.set(5); delay(3000); valveOff_req.set(6); return; ``` - 從溫室端發送==控制命令==開啟幫浦端的電磁閥,再發送==控制請求==請求幫浦端關閉電磁閥。 ---- ```javascript= if(request_queue.length > 0) { request_accept.set(0); } delay(1000); ``` - 每秒不斷檢查請求清單內有無請求,若有則馬上接受處理,==request_accept.set(1);== 表示接受清單中的==第一個請求==,而處理完後會清除掉,此時第二個請求就會變第一個,所以只須從1開始處理即可。 --- ## 參數修改 為方便實作,以下會將範例程式中可修改的參數標示出來,進行實作時只需修改對應參數,並觀察結果即可。 :::warning :zap: 詳細內建JS參數參考 - [內建Js參數及功能總覽](/s/1TmPhQPFRyKsDRf5d3xyzg) ::: ---- :::success **request_accept.set(1);** ::: - 可替換為 ==request_cancel.set(1);== ,取消接受的請求。 --- ## 範例影片 {%youtube 3ouqO4zrExQ %} <a class="btn btn-warning" style="width:100%;color:#333333;" href="/s/nSEz4RewSzC2CPuY6tYfDw" role="button"> 進階排程自動控制 **&#8680;** </a> <a class="btn btn-primary" style="width:100%;" href="/s/J5myhWWZRviz1FPdEeWYpA" role="button"> **&#8678;** 控制幫浦與電磁閥 </a>
{"metaMigratedAt":"2023-06-16T15:03:47.885Z","metaMigratedFrom":"YAML","title":"裝置互聯設定與遠程控制","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"transitionSpeed\":\"fast\",\"theme\":\"league\"}","contributors":"[{\"id\":\"a1db0c29-d848-4070-be84-9191a2398ca8\",\"add\":3490,\"del\":1327}]"}
    816 views
   Owned this note