第1章 Arduino 是什麼?從零開始認識 Arduino 與微控制器
本章從零開始介紹 Arduino 的基本概念,說明 Arduino 開源電子開發平台、微控制器、Arduino Uno R3、一般電腦與 Raspberry Pi 之間的差異,並整理 Arduino 在感測器、顯示器、馬達控制、物聯網與自動化專案中的常見應用,適合沒有電子與程式基礎的初學者閱讀。
閱讀文章Linux、Arduino、Raspberry Pi、Web 開發與資訊安全實作教學
整理 Raspberry Pi 標籤相關文章與教學,協助你快速找到主題內容。
本章從零開始介紹 Arduino 的基本概念,說明 Arduino 開源電子開發平台、微控制器、Arduino Uno R3、一般電腦與 Raspberry Pi 之間的差異,並整理 Arduino 在感測器、顯示器、馬達控制、物聯網與自動化專案中的常見應用,適合沒有電子與程式基礎的初學者閱讀。
閱讀文章
Raspberry Pi 是什麼?本章完整介紹 Raspberry Pi 5、Pi 4、Zero 2 W、Pico 等樹莓派型號與常見用途,並比較 Raspberry Pi 與 Arduino 在 Linux、GPIO、效能、即時控制與 IoT 應用上的差異。
閱讀文章
Raspberry Pi 5 是目前 Raspberry Pi 主流高效能單板電腦,本章完整認識 Raspberry Pi 5 主機板上的 BCM2712 處理器、RP1 I/O 控制器、40-pin GPIO、USB 3.0、USB 2.0、雙 micro HDMI、Gigabit Ethernet、Wi-Fi、Bluetooth、microSD、PCIe、MIPI Camera/Display、RTC、風扇接頭與 USB-C 電源,並說明 5V/5A 供電、散熱及初學者接線時必須注意的硬體觀念。
閱讀文章
本章從 Raspberry Pi OS Desktop 開始,完整介紹 Terminal、Linux 檔案系統、絕對路徑與相對路徑,以及 pwd、ls、cd、mkdir、touch、cp、mv、rm、cat、less、nano、grep、find、sudo、chmod、chown、df、free、hostname 等常用 Linux 指令。並實際建立資料夾、檔案、複製與移動資料,學習 Linux 使用者、root、檔案權限與 APT 套件管理,建立後續 Raspberry Pi Python、GPIO、SSH、Flask、MQTT 與 IoT 實作所需的 Linux 基礎。
閱讀文章
本章完整介紹 Raspberry Pi 5 的 Ethernet、Wi-Fi、IPv4、DHCP、Gateway、DNS、Hostname、mDNS 與 NetworkManager 網路設定,並實際使用 hostname、ip、ping、nmcli 等 Linux 指令查看 Raspberry Pi 網路狀態。接著設定 SSH Server,從 Windows 10/11、macOS 或 Linux 遠端登入 Raspberry Pi,建立 SSH Key、Public Key Authentication 與 Headless Raspberry Pi 管理環境,並說明 DHCP Reservation、固定 IP 以及 SSH Connection Refused、Timeout、Permission Denied 等常見問題。
閱讀文章
本章從零開始學習 Raspberry Pi Python 程式設計,介紹 Python 3、Interactive Mode、.py 程式檔、print、變數、int、float、str、bool、input、型別轉換、運算子、if、elif、else、for、while、range、List、Function、Module、import 與 Exception。並實際在 Raspberry Pi OS 建立 Python 專案目錄、使用 nano 編寫第一支 Python 程式、從 Terminal 執行程式,以及建立 Python virtual environment,說明 Raspberry Pi OS 新版為什麼不建議直接使用 pip 修改系統 Python。完成本章後,即可進入 GPIO、感測器與 IoT 程式開發。
閱讀文章
本章完整介紹 Raspberry Pi 5 的 40-pin GPIO,包括 Physical Pin 與 BCM GPIO 編號差異、3.3V、5V、GND、Digital Input、Digital Output,以及 I²C、SPI、UART、PWM 等 Alternate Function。並說明 Raspberry Pi 5 GPIO 由 RP1 I/O Controller 管理、GPIO 採 3.3V 邏輯、為什麼不能將 5V 訊號直接送入 GPIO,以及 LED 限流電阻、按鍵 Pull-up/Pull-down、Relay、Motor、Servo、Level Shifter、Voltage Divider、共地與外部電源等接線安全原則。完成本章後即可進入 Python GPIO Zero LED 控制實作。
閱讀文章
本章正式進入 Raspberry Pi 5 GPIO Output 實作,使用 Python 3 與 GPIO Zero 控制 LED。從 GPIO17、Physical Pin 11、GND、330Ω 限流電阻與 LED 極性開始,實際完成 LED ON/OFF、toggle、Blink、不同閃爍速度、多顆 LED 控制、4 顆 LED 流水燈、8 顆 LED 跑馬燈與往返流水燈,並說明 Raspberry Pi 5 的 lgpio Pin Factory、BCM GPIO 編號、Ctrl+C、KeyboardInterrupt、GPIO 資源釋放與 LED 不亮時的完整故障排除流程。
閱讀文章
本章完整介紹 Raspberry Pi 5 GPIO Input 與按鍵實作,從 Push Button、Normally Open、Floating Input、Internal Pull-up、Pull-down 開始,使用 Python GPIO Zero 的 Button 類別讀取按鍵狀態,實作 is_pressed、wait_for_press、when_pressed、when_released、事件驅動控制與 LED toggle。並深入說明機械按鍵 Contact Bounce、Debounce 與 bounce_time,最後使用兩顆按鍵控制上一章 8 顆 LED 跑馬燈的加速與減速,建立 Raspberry Pi 第一個同時包含 GPIO Input、GPIO Output 與人機互動的完整專案。
閱讀文章
本章完整介紹 Raspberry Pi 5 PWM(Pulse Width Modulation)控制原理,從 Frequency、Period、Duty Cycle 開始,使用 Python GPIO Zero 的 PWMLED 控制 LED 亮度,實作 25%、50%、75%、100% Duty Cycle、漸亮漸暗與呼吸燈 pulse()。接著比較 Software PWM 與 Hardware PWM,說明 Raspberry Pi 5 GPIO12、GPIO13、GPIO18、GPIO19 的 Hardware PWM 能力,以及 GPIO Zero PWMLED 與 Hardware PWM 的差異。最後實作 Active Buzzer、Passive Buzzer、TonalBuzzer、不同頻率與音階警報,並加入按鍵調整 LED 亮度,建立 Raspberry Pi Input、Digital Output 與 PWM Output 的完整互動控制系統。
閱讀文章
本章完整介紹 Raspberry Pi 連接 DHT11 與 DHT22 溫溼度感測器的方法,包含兩款感測器規格比較、3.3V GPIO 電壓安全、DATA Pull-up 電阻、GPIO4 接線,以及 Raspberry Pi OS Bookworm 虛擬環境設定。讀者將使用 Adafruit Blinka 與 adafruit-circuitpython-dht 撰寫 Python 程式,完成即時溫溼度顯示、讀取失敗重試、狀態判斷,以及 LED、蜂鳴器警報控制。
閱讀文章
本章完整介紹 Raspberry Pi 5 I²C 通訊,從 SDA、SCL、Open-drain、Pull-up、Controller、Target、7-bit I²C Address 與多裝置共用 Bus 開始,實際在 Raspberry Pi OS 啟用 I²C、安裝 i2c-tools、使用 i2cdetect 掃描裝置 Address。接著介紹 LCD1602、HD44780 相容顯示器與 PCF8574 I²C Backpack,說明常見 0x20~0x27、0x38~0x3F 位址與 0x27/0x3F 的由來,並特別分析 Raspberry Pi 3.3V I²C 與 5V LCD Backpack 的電壓安全及雙向 Level Shifter。最後使用 Python、RPLCD 與 smbus2 顯示文字,以及整合上一章 DHT22 溫溼度資料,完成 Raspberry Pi Sensor + LCD 即時環境監測器。
閱讀文章
本章完整介紹 Raspberry Pi 5 SPI 通訊與 MCP3008 ADC 類比輸入實作,從 MOSI、MISO、SCLK、CE0、CE1、Controller、Peripheral、Chip Select 與 Full-duplex 概念開始,實際在 Raspberry Pi OS 啟用 SPI,確認 /dev/spidev0.0 與 /dev/spidev0.1。接著介紹 MCP3008 10-bit、8-channel ADC、VDD、VREF、AGND、DGND、CH0~CH7 與 SPI 接線,使用 10kΩ 可變電阻產生 0~3.3V 類比訊號,並透過 GPIO Zero MCP3008 與 Python spidev 取得 0~1023 Raw ADC、0.0~1.0 Normalized Value 與電壓值。最後加入 Moving Average 與 PWMLED,完成可變電阻直接控制 LED 亮度的 Raspberry Pi 類比輸入專案。
閱讀文章
本章介紹 Raspberry Pi UART Serial 通訊,從 TX、RX、GND、Baud Rate、8N1、/dev/serial0 與 raspi-config 開始,使用 Python pySerial 與 Arduino UNO R3 建立單向及雙向資料交換。並實作 LED 控制、感測器資料傳輸與文字命令協定,同時說明 Raspberry Pi 3.3V 與 Arduino 5V 邏輯電位差異,以及 Level Shifter 與安全接線。
閱讀文章
本章介紹 Raspberry Pi GPIO 控制外部負載的基本原理,從 GPIO 3.3V 邏輯、電流限制、外部電源與 Common Ground 開始,說明為何 GPIO 不應直接驅動繼電器、DC 馬達與伺服馬達。接著介紹 Relay 的 COM、NO、NC、MOSFET、Flyback Diode、PWM、H-Bridge Motor Driver,以及 SG90 Servo 的外部供電、角度控制與 Pulse Width 校正,延伸至自動風扇、自動門、澆水、機器人車與 IoT 控制應用。
閱讀文章
本章介紹 Raspberry Pi Camera 的硬體安裝、拍照、錄影與 Python 控制方式,從 Camera Module、CSI / MIPI CSI-2 介面、Camera 排線與 Raspberry Pi 4、Raspberry Pi 5 接頭差異開始,使用新版 Raspberry Pi OS 的 rpicam-apps 進行相機測試、JPEG 拍照與影片錄製。接著介紹 Picamera2 Python API,設定解析度、拍攝照片與日期時間檔名,最後完成自動定時拍照與 Time Lapse 縮時攝影,並延伸至智慧監控、OpenCV、AI Camera、Flask、MQTT 與 SQLite 應用。
閱讀文章
本章介紹 Raspberry Pi Flask Web Server 與網頁遠端 GPIO 控制實作,從 Client、Server、HTTP、IP Address、Port 與 LAN 等網路基礎開始,使用 Python Flask 建立 Web Server。接著介紹 Flask Route、HTML、GET / POST Request 與 GPIO Zero,將 Web Route 與 GPIO17 LED 控制整合,讓手機、平板或電腦透過瀏覽器執行 LED ON、OFF 並查看 GPIO 狀態,最後延伸至 Relay、Sensor、Camera、SQLite、MQTT 與 IoT Web Control 應用。
閱讀文章
本章介紹 Raspberry Pi MQTT 與 IoT 通訊實作,從 Broker、Client、Publisher、Subscriber、Topic、Payload 與 Publish / Subscribe 架構開始,說明 MQTT 如何讓 Raspberry Pi、ESP32、感測器與控制設備交換資料。接著安裝 Eclipse Mosquitto MQTT Broker,使用 mosquitto_pub 與 mosquitto_sub 測試訊息發布與訂閱,再利用 Python Paho MQTT 建立 Publisher、Subscriber 與 Callback。最後整合 DHT11 / DHT22 與 GPIO17 LED,完成溫溼度資料發布、LED 遠端控制與設備狀態回報。
閱讀文章
本章介紹 Raspberry Pi SQLite Database 與環境感測器歷史資料記錄,從 Database、SQLite、Table、Row、Column、Primary Key 與 SQL 基礎開始,學習 CREATE TABLE、INSERT、SELECT、WHERE、ORDER BY、LIMIT 與 Timestamp。接著使用 Python sqlite3 建立 environment.db,整合 DHT11 / DHT22 溫溼度感測器並定期儲存資料。最後進行歷史查詢、MAX、MIN、AVG、COUNT 統計、CSV 匯出、Index 與 Database Backup,完成 Raspberry Pi Sensor Data Logger。
閱讀文章
本章整合 Linux、Python、GPIO、DHT11 / DHT22、LCD1602 I²C、LED、蜂鳴器、Relay、Camera、Flask、MQTT、SQLite、SSH 與 systemd,完成 Raspberry Pi 智慧環境監控與遠端控制系統。系統可即時讀取溫溼度、透過 LCD1602 顯示環境狀態,並在溫度超過設定值時自動啟動 LED、蜂鳴器與 Relay 風扇。SQLite 保存歷史資料,Flask 提供 Web Dashboard,MQTT 負責 Sensor Data 與遠端控制,Picamera2 提供相機拍照,並透過 systemd 實現開機自動啟動。
閱讀文章