---
# System prepended metadata

title: 嘉科實中社團講義(113第2學期)

---

# 嘉科實中社團講義(113第2學期)
| 周次 | 日期       | 課程大綱|
| ---- | ---------- |-------|
1|2025/02/21|選定題目安排進度|
2|2025/03/14||
3|2025/03/28||
4|2025/04/11||
5|2025/05/02||
6|2025/05/09||
7|2025/05/23||
8|2025/06/13||


## 2025/02/21
### 今日目標
- 選定題目並安排進度
- 學習工具介紹
- 複習??????
---

### 選定題目
可以從生活上遇到的**問題**發想，並且可以利用程式來**解決問題**。
[表格填寫網址](https://docs.google.com/spreadsheets/d/1gs4jVwC1XibdNe44pFVIRVhtw-muPNlQHU6v66BBIBI/edit?usp=sharing)
#### 範例1
問題: 每次校網有新資訊我都不知道。
解決方法: 當校網有更新就會發送訊息通知我。
#### 範例2
問題: 嘉大附近的UBike都借不到?
解決方法: 寫程式蒐集資料，統計哪個時段和哪個點比較容易借到腳踏車。
#### 範例3
問題: 躺在床上懶得起身關燈，有沒有辦法躺在床上就可以關燈?
解決方法: 關燈神器。參考影片: [How to Control Light Switch with Servo BLYNK #iot](https://www.youtube.com/watch?v=BuUgd0TNlqI)
#### 範例4
問題: 每次點名都浪費很多時間。
解決方法: 可以用刷學生證、人臉辨識來點名。參考影片: [人臉辨識點名系統](https://www.youtube.com/watch?v=pF4dJuI6600)
#### 範例5
問題: Youtube上不想看到特定創作者的影片或使用者的留言。
解決方法: 寫程式過濾掉。
### 進度安排與學習工具介紹
生程式AI工具使用: [Google Gemini](https://gemini.google.com/)
#### 進度安排
我是一名高中生，我的程度是 **[程度]**，我現在有一個 **[問題]**，我目前的想法 **[大概的想法]**，請幫我安排八周的學習計畫。

---
## 2025/04/11

### YouBike分析

#### 實作流程
1. 透過站點名稱查到`station_no`和`updated_at`   (用站點資訊API)
2. 透過`station_no`查到站點停車資訊 (用停車資訊API)
3. 將查到的停車資訊寫到`Google Sheet`裡面
4. 設定時間觸發條件(每30分鐘執行)，但是只有6:00~18:00內的時間需要紀錄


#### Google Sheet 最後的存法
| 日期       | 時間  | 地點             | YouBike2可用數量 | 電動YouBike可用數量 | 可停空位 |
|------------|-------|------------------|-------------------|---------------------|----------|
| 2025-04-06 | 13:00 | 嘉義大學(新民路) | 3  | 0  | 46|
| 2025-04-06 | 13:00 | 興業新民路口| 10| 0 | 15       |
| 2025-04-06 | 13:05 | 民生公園(杭州五街口) | 6| 1  | 8|
| 2025-04-06 | 13:04 | 新民重慶路口 | 6| 0 | 9|



#### 站點基本資訊 API

* **API 網址:** `https://apis.youbike.com.tw/json/station-min-yb2.json`
* **請求方法:** GET
* **輸入:** 無
* **功能:**
    * 提供所有 YouBike 站點的基本資訊。
    * 包含站點名稱（`name_tw`）。
    * 包含站點編號（`station_no`）。
    * 包含站點資訊最後更新時間（`updated_at`）。
* **範例回傳:**
    ```json
    [
        {
            "country_code": "00",
            "area_code": "00",
            "area_code_2": "01",
            "type": 2,
            "status": 1,
            "station_no": "500101001",
            "name_tw": "捷運科技大樓站",
            "district_tw": "大安區",
            "address_tw": "復興南路二段235號前",
            "name_en": "MRT Technology Bldg. Sta.",
            "district_en": "Daan Dist.",
            "address_en": "No.235, Sec. 2, Fuxing S. Rd.",
            "lat": "25.02605",
            "lng": "121.5436",
            "updated_at": "2025-04-06 13:03:18",
            "time": "2025-04-06 13:03:14"
        },
        {
            "country_code": "00",
            "area_code": "00",
            "area_code_2": "01",
            "type": 2,
            "status": 1,
            "station_no": "500101002",
            "name_tw": "復興南路二段273號前",
            "district_tw": "大安區",
            "address_tw": "復興南路二段273號西側",
            "name_en": "No.273, Sec. 2, Fuxing S. Rd.",
            "district_en": "Daan Dist.",
            "address_en": "No.273, Sec. 2, Fuxing S. Rd. (West)",
            "lat": "25.02565",
            "lng": "121.54357",
            "updated_at": "2025-04-06 12:58:18",
            "time": "2025-04-06 12:58:14"
        }
    ]
    ```

#### 停車資訊 API

* **API 網址:** `https://apis.youbike.com.tw/tw2/parkingInfo`
* **請求方法:** POST
* **輸入:**
    * 請求內容為 JSON 格式。
    * 必須包含一個名為 `station_no` 的陣列，陣列中是您想要查詢停車資訊的站點編號。
    * 例如：`{"station_no": ["501001001", "501001002"]}`
* **功能:**
    * 根據提供的站點編號陣列，回傳這些站點的即時停車資訊。
    * 包含總停車格位 (`parking_spaces`).
    * 包含可借車位數量 (`available_spaces`).
    * 包含 YouBike 2.0 可用數量 (`available_spaces_detail.yb2`).
    * 包含 電動 YouBike 可用數量 (`available_spaces_detail.eyb`).
    * 包含剩餘空位數量 (`empty_spaces`).
* **範例回傳:**
    ```json
    {
        "retCode": 1,
        "retMsg": "查詢場站資料成功",
        "retVal": {
            "data": [
                {
                    "station_no": "501001001",
                    "parking_spaces": 45,
                    "available_spaces": 2,
                    "available_spaces_detail": {
                        "yb2": 2,
                        "eyb": 0
                    },
                    "empty_spaces": 43,
                    "forbidden_spaces": 0,
                    "available_spaces_level": 20
                },
                {
                    "station_no": "501001002",
                    "parking_spaces": 22,
                    "available_spaces": 8,
                    "available_spaces_detail": {
                        "yb2": 7,
                        "eyb": 1
                    },
                    "empty_spaces": 14,
                    "forbidden_spaces": 0,
                    "available_spaces_level": 60
                }
            ]
        }
    }
    ```
---
## 2025/06/12
## 設定Task Scheduler讓電腦自動執行程式
#### 1.按下 Win健 搜尋Task Scheduler(工作排程器)
* **打Task應該就會看到了**
#### 2.建立任務:
* **點選右側的「建立工作..」**
* **命名這個工作**
* **勾選「使用最高權限執行」**
#### 3.設定觸發條件:
* **選想要的條件(舉例:30分鐘執行一次)**
* **3.1 點選上排 tab「觸發程序」->new**
* **3.2 設定開始時間(隨意)**
* **3.3 在進階設定中「重複工作每隔」選30分鐘 「持續時間」隨意選
#### 4.設定動作:
* **「動作」->new**
* **「動作」選啟動程式**
* **「程式或指令碼」->輸入 cmd **
* **「新增引數」->輸入 /c "C:\完整路徑\run_script.bat" **
#### 5.確認->儲存 就完成了!











