---
# System prepended metadata

title: 儀表板 Shuffleboard/smartdashboard/Elastic
tags: [軟體]

---

# 儀表板 Shuffleboard/smartdashboard/Elastic

##  1. SmartDashboard
![image](https://hackmd.io/_uploads/SJhbUloXgg.png)



####  特點
- 最簡單、直接
- 自動出現在 SmartDashboard 視窗（Driver Station 附帶）
- 適合快速測試數值與按鈕
- 最古早的，不推薦用

####  依賴庫
```java
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
```
#### 範例：顯示與讀取數值
```java
SmartDashboard.putNumber("Encoder", encoder.get());
double speed = SmartDashboard.getNumber("Shooter Speed", 0.5);
```
#### 注意
- 資料會在 Driver Station 的 SmartDashboard 中顯示
- 建議在 robotPeriodic() 或 teleopPeriodic() 中持續更新

---

## 2. Shuffleboard
![image](https://hackmd.io/_uploads/rk-bLlsmle.png)

#### 特點
- 功能強大、可自訂畫面
- 支援圖表、滑桿、選單等小工具（Widget）
- 較適合正式比賽與長期監控
- smartdashboard的視覺化
#### 依賴庫
```java
import edu.wpi.first.wpilibj.shuffleboard.Shuffleboard;
```
#### 範例：自訂 Tab 與欄位
```java
Shuffleboard.getTab("Drive")
  .add("Encoder", encoder)
  .withWidget("Graph");
```  

----
#### 進階用法
可設定 Command, Sendable, 甚至滑桿控制變數。

```java
Shuffleboard.getTab("Shooter")
  .add("Shooter Speed", 0.8)
  .withWidget("Number Slider")
  .withProperties(Map.of("min", 0, "max", 1));
```
---
## 3. Elastic Dashboard!!
![image](https://hackmd.io/_uploads/S15FLesQlx.png)


#### 特點
- 即時顯示
- 跨平台、圖形化強大
- 適合進階開發者/想建立自訂儀表板者
- 近幾年的，整體設計也比較好看
- 較推薦使用

---
#### 使用方式
- 在VSCODE WPILIB你的程式資料專案中`SHIFT+CTRL+P`開啟呼叫欄搜尋`start tool`
![image](https://hackmd.io/_uploads/ByUSIliXgg.png)

- 點擊Elastic
- ![image](https://hackmd.io/_uploads/S1s4Ugo7xg.png)

- 打開新增一些你需要的視覺化資料後就大概會長這樣
![image](https://hackmd.io/_uploads/Skn73GdMel.png)

---
### 如何選擇？


| 工具 | 難易度| 功能強度 |介面自由度	|推薦用途|
 -------- | -------- | -------- | -------- | -------- |
 SmartDashboard     | ★☆☆  | ★★☆     |★☆☆|測試期、快速輸出資訊|
Shuffleboard|★★☆|★★★|★★☆|正式比賽與全隊使用|
Elastic Dashboard|★★★|★★★★|★★★★|自訂進階視覺化需求|			
				
				
---	

### 延伸資源
SmartDashboard 教學：
https://docs.wpilib.org/en/stable/docs/software/dashboards/smartdashboard/index.html

Shuffleboard 教學與範例：
https://docs.wpilib.org/en/stable/docs/software/dashboards/shuffleboard/index.html

Elastic 官方介紹：
https://docs.wpilib.org/en/stable/docs/software/dashboards/elastic.html

---
###  <font color="#f50">   ! 都看完了，我要回家 !  </font>

##  [好](https://hackmd.io/ACI3uWclSO6rAX9mMNIxcQ)