<!-- .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>←</kbd> <kbd>↑</kbd> <kbd>↓</kbd> <kbd>→</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"> 進階排程自動控制 **⇨** </a>
<a class="btn btn-primary" style="width:100%;" href="/s/J5myhWWZRviz1FPdEeWYpA" role="button"> **⇦** 控制幫浦與電磁閥
</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}]"}