# 物聯網案例 10: 節能街燈 程度: ![level](images/level4.png) ![auto_fit](images/Case10/case-10.png)

## 目標


製作一個能以指令開關的街燈

## 背景


甚麼是節能街燈?

節能街燈是可以在指定時間自動開關的街燈,能夠同時兼顧節省能源及照明需求。

運作原理

當從 WAN 收到指令,micro:bit 會根據指令控制街燈。所以只需要在不同時間及場合發送指令即可。

![auto_fit](images/Case10/Concept-diagram-Case10.png)

## 所用部件


![auto_fit](images/Case10/Case10_parts.png)

## 組裝步驟


步驟一

用 M4 螺絲及螺母把 LED 組裝到 I2 模型上。組裝 I1 至 I3 模型。

![auto_fit](images/Case10/Case10_ass1.png)

步驟二

組裝完成

![pic_40](images/Case10/Case10_ass2.png)

## 線路連接


* 連接 LED 和 IoT:bit 的 P0 端口

![auto_fit](images/Case10/Case10_hardware.png)

*注意:* >1. 根據顏色連接接線和端口
>2. P0 內建線路予蜂鳴器。在使用 P0 端口予其他外接設備時遇上問題,建 議查看位於 IoT:bit 右上的蜂鳴器開關狀態 ## 編程 (MakeCode)


步驟一. 啟動 OLED,Iot:bit 和連接至 Wi-Fi

![auto_fit](images/Case10/Case10_p1.png)

步驟二 1. 在連接至 Wi-Fi 後顯示剔號及ID

![pic_60](images/Case10/Case10_p2.png)

步驟三. 接收 WAN 指令

* 把接收到的指令顯示出來 ![pic_80](images/Case10/Case10_p3.png)

步驟四. 控制 LED 開關

* 加入”如果...那麼” * ”WAN_Command = lighton”設為第一個條件 * 在 "如果" 裏加入`turn white LED to 1023 at P0` * 點擊加號,在那添加第二個條件”WAN_Command = lightoff” * 在第二個 "如果" 裏加入`turn white LED to 0 at P0` ![auto_fit](images/Case10/Case10_p4.png)

完整答案

MakeCode: [https://makecode.microbit.org/_Ami5MkUsEDso](https://makecode.microbit.org/_Ami5MkUsEDso)

你可以在以下網頁下載HEX檔案:
## IoT (IFTTT)


* 詳情參考 "附錄:IFTTT"
本案例一共需要兩個專案 *

步驟一. 在 IFTTT 開立新專案

步驟二. 選擇”Date & Time” 為 IF THIS

步驟三。 選擇時間間隔,時區,時間為上午6時

步驟四。 選擇 Smarthon IoT:bit 為 Then That

步驟五。 選擇指令

步驟六。 輸入指令和 Device ID後儲存

步驟七。 重複以上動作,時間設為下午6時

![auto_fit](images/Case10/Case10_ifttt1.png)

## 結果


在IFTTT平台上會在每天早晚6時發送訊號,因此LED會在每天早晚6時開關。

![auto_fit](images/Case10/Case10_result.gif)

## 思考


Q1. 除了時間之外,IFTTT能否用其他條件觸發?