|CHAPTER 01| 工業4.0
1.1 本章提要
1.2 工業4.0演進
1.3 為何會有工業4.0
1.4 工業4.0九大科技
1.5 產品全生命週期管理
1.6 工業4.0核心精神
1.7 工業4.0成熟度
|CHAPTER 02| 智慧工廠
2.1 本章提要
2.2 工業程序
2.3 工業程序自動化
2.4 生產支援系統
2.5 CIM模型
2.6 CIM金字塔架構
2.7 智慧工廠
2.8 智慧工廠關鍵技術
2.9 智慧工廠特徵
|CHAPTER 03| 工業物聯網
3.1 本章提要
3.2 何謂IIoT
3.3 IoT與IIoT的比較
3.4 IIoT資料流
3.5 工廠資料流
3.6 ISO/OSI模型
3.7 現場總線
3.8 現場總線類型
3.9 常見現場總線簡介
3.10 乙太網路
3.11 工業乙太網路
|CHAPTER 04| Arduino基本操作
4.1 本章提要
4.2 Arduino開發板
4.3 Arduino IDE
4.4 開啟範例程式
4.5 實習1:控制LED閃爍速度
4.6 實習2:按鈕開關控制LED亮滅
4.7 實習3:PWM控制LED亮度變化
4.8 實習4:人眼感受LED亮度非線性校正
4.9 實習5:小夜燈
|CHAPTER 05| RS-232與RS-485
5.1 本章提要
5.2 通訊原理
5.3 RS-232C
5.4 RS-232C資料傳輸
5.5 RS-232C與UART序列埠
5.6 實習6:序列埠讀取電位計值
5.7 RS-485
5.8 實習7:Arduino RS-485序列通訊
|CHAPTER 06| Modbus通訊協定
6.1 本章提要
6.2 Modbus通訊堆疊
6.3 Modbus序列通訊
6.4 Modbus差錯校驗
6.5 實習8:LRC校驗
6.6 實習9:CRC校驗
6.7 Modbus常用功能碼
6.8 Modbus記憶體區
6.9 Arduino Modbus RTU函式庫
6.10 實習10:Arduino Modbus RTU序列通訊
6.11 Modbus TCP通訊協定
6.12 Modbus TCP客戶端/伺服器模型
6.13 實習11:Arduino Modbus TCP伺服器
6.14 實習12:Arduino Modbus TCP客戶端
|CHAPTER 07| CAN Bus通訊協定
7.1 本章提要
7.2 CAN Bus發展歷程
7.3 CAN Bus通訊
7.4 CAN Bus資料通訊格式
7.5 特定應用領域CAN通訊協定
7.6 CAN FD簡介
7.7 實習13:Arduino CAN Bus通訊
7.8 實習14:CAN Bus LED PWM調光
|CHAPTER 08| Node-RED
8.1 本章提要
8.2 Windows安裝Node-RED
8.3 Node-RED基本操作
8.4 Node-RED核心節點
8.5 實習15:使用Node-RED核心節點
8.6 實習16:建立Hello World網頁
8.7 實習17:加入Bootstrap美化網頁
8.8 實習18:Node-Red讀取Opendata
|CHAPTER 09| Node-RED儀表板
9.1 本章提要
9.2 安裝dashboard模組
9.3 新增Tab節點及Group節點
9.4 實習19:亂數折線圖
9.5 實習20:Sin與Cos圖形
9.6 實習21:slider與gauge節點
9.7 實習22:長條圖及圓餅圖
9.8 實習23:自建UI元件
|CHAPTER 10| OPC UA
10.1 本章提要
10.2 OPC的演進
10.3 傳統OPC
10.4 傳統OPC運作方式
10.5 OPC UA
10.6 OPC UA客戶端
10.7 OPC UA伺服器
10.8 OPC UA伺服器的互相存取
10.9 UPC UA資訊模型
10.10 OPC UA安全模型
10.11 Python opcua-asyncio套件
10.12 建立簡易OPC UA伺服器
10.13 建立OPC UA客戶端
10.14 實習25:OPC UA伺服器與客戶端
|CHAPTER 11| MQTT協定
11.1 本章提要
11.2 發布-訂閱機制
11.3 MQTT主題
11.4 服務品質
11.5 安裝MQTT伺服器
11.6 使用Mosquitto MQTT伺服器
11.7 實習25:Node-RED測試MQTT
|CHAPTER 12| Arduino MQTT應用
12.1 本章提要
12.2 掃描無線網路
12.3 PubSubClient函式庫
12.4 PubSubClient常用函式
12.5 DHT11簡介
12.6 實習26:Arduino發布溫濕度值
12.7 實習27:Node-RED顯示溫濕度值
12.8 實習28:Arduino發布及接收MQTT訊息
12.9 實習29:Node-RED顯示光照值及控制LED
|CHAPTER 13| REST API
13.1 本章提要
13.2 何謂API
13.3 REST架構風格
13.4 統一介面的主要群組
13.5 以HTTP協定實現REST
13.6 使用Postman測試API
13.7 使用Curl測試API
13.8 實習30:建立REST API訊息回應
13.9 路由路徑
13.10 資料傳輸
13.11 實習31:前端與後端資料傳輸
|CHAPTER 14| Node-RED與MySQL
14.1 本章提要
14.2 建立MySQL資料庫
14.3 安裝mysql套件
14.4 實習32:新增紀錄
14.5 實習33:紀錄查詢API
14.6 實習34:萬用字元查詢API
14.7 實習35:時間區間查詢API
14.8 實習36:紀錄更新API
14.9 實習37:移除紀錄API
|CHAPTER 15| WebSocket上的MQTT
15.1 本章提要
15.2 Mosquitto伺服器致能WebSocket
15.3 測試WebSocket
15.4 Paho MQTT客戶端套件
15.5 paho-mqtt.js套件說明
15.6 實習38:JavaScript MQTT客戶端
15.7 網頁監控IoT設備
15.8 實習39:網頁訂閱及發布訊息
15.9 實習40:Python訂閱及發布訊息
|CHAPTER 16| InfluxDB時序型資料庫
16.1 本章提要
16.2 下載InfluxDB
16.3 InfluxDB使用者介面
16.4 InfluxDB的資料模型
16.5 line協定
16.6 實習41:產生line協定資料
16.7 Flux腳本語言
16.8 執行Flux查詢
16.9 Python influxdb-client函式庫
16.10 實習42:Python寫入InfluxDB
16.11 實習43:Python查詢influxDB
|CHAPTER 17| Prometheus監控系統
17.1 本章提要
17.2 PromQL查詢語言
17.3 安裝Prometheus伺服器
17.4 啟動Prometheus
17.5 實習44:使用PromQL表達式
17.6 執行Windows Exporter
17.7 Prometheus監控Windows Exporter
17.8 警報
17.9 使用Alertmanager
|CHAPTER 18| Grafana資料分析與視覺化平台
18.1 本章提要
18.2 安裝Grafana
18.3 連接Grafana伺服器
18.4 加入TestData資料來源
18.5 建立儀表板及面板
18.6 Grafana連接至Prometheus伺服器
18.7 加入統計面板
18.8 加入表格面板
18.9 加入狀態時間軸面板
18.10 Grafana連接至InfluxDB