博客 / 詳情

返回

基於 STM32 的無人停車場項目系統【開源項目】

基於 STM32 的無人停車場項目系統【開源項目、免費】

隨着智慧城市、物聯網的快速發展,無人化、智能化的停車場系統已經逐漸成為趨勢。傳統停車場依賴人工值守,效率低、易出錯,而基於 STM32 控制器結合 ESP8266 無線通信模塊的無人停車解決方案,則能夠實現自動識別、遠程控制、在線支付、車輛管理等功能,大幅降低人力成本。

本文將從系統架構、核心模塊、通信協議、軟件設計以及實現細節等方面,深入解析“基於 STM32 + ESP8266 的無人停車場項目”的完整技術方案。


源碼分享

直接放到之前寫的文章裏了,免費開源,下載學習即可。

https://blog.csdn.net/weixin_52908342/article/details/155577063

在這裏插入圖片描述

一、項目概述

本項目構建一個低成本、可擴展、適合中小型停車場使用的 無人停車系統。系統以 STM32 為主控,負責傳感器採集、控制閘機、計費邏輯等本地動作;通過 ESP8266 實現與雲端服務器的 Wi-Fi 通信,使停車場具備遠程監控與管理能力。整體設計目標包括:

  • 自動識別車輛進出(紅外/超聲波檢測)
  • 通過 ESP8266 與服務器交互,實現車位狀態上報
  • 自動計費與雲端賬單同步
  • APP/網頁端查看車位與賬單信息
  • 閘機自動抬杆 / 落杆控制
  • 數據上雲,實現多端同步管理

適合用於:小區、寫字樓、校園、企業園區的無人化停車管理。


二、系統總體架構

在這裏插入圖片描述

系統主要由以下幾個部分構成:

1. 現場端(Edge)

  • STM32F103(主控)
  • 紅外車檢傳感器 / 地磁模塊 / 超聲波測距
  • 道閘電機驅動(PWM/繼電器)
  • 車牌識別模塊(可選)
  • OLED/TFT 屏顯示車位信息
  • 按鍵輸入(管理員調試)

2. 通信模塊

  • ESP8266(通過 UART 與 STM32 通信)

    • 負責 Wi-Fi 配網
    • 上報數據到服務器
    • 接收服務器下發指令(如遠程開閘)

3. 雲服務端

  • 支持 REST API 或 MQTT
  • 保存停車記錄與車位狀態
  • Web/APP 端查看界面

4. 用户端

  • 微信小程序 / 網頁控制枱

    • 查看車位狀態
    • 在線繳費
    • 查詢停車歷史記錄

這樣,整個系統構成了一個 邊緣計算 + 雲端協同 的完整無人停車系統。


三、硬件設計詳解

在這裏插入圖片描述

1. 主控 STM32F103

為什麼選擇它?

  • 高性價比
  • SPI、UART、GPIO 資源豐富
  • 能輕鬆驅動傳感器、OLED、繼電器、電機

STM32 負責:

  • 讀取車位狀態(傳感器)
  • 計算車輛在場時間
  • 控制閘機開合
  • 與 ESP8266 通信(命令/數據同步)

2. 車檢傳感器

常見方案:

方案 優點 缺點
紅外對射 成本低 户外穩定性差
超聲波 室內可靠 環境噪聲影響
地磁傳感器 最專業 成本高

本項目使用 超聲波 SR04 來檢測車輛是否駛入/駛出。


3. ESP8266 通信模塊

ESP8266 通過 UART 與 STM32 連接,實現:

  • 連接 Wi-Fi
  • MQTT/HTTP 與服務器交互
  • 上報車位狀態
  • 接收遠程開閘命令

典型指令結構(JSON 格式):

{
  "cmd": "open_gate",
  "parking_id": 1
}

STM32 收到後執行開閘動作。


4. 道閘電機驅動

兩種方案:

  1. 繼電器控制 24V 電機
  2. PWM + H 橋控制 DC 電機

這裏以繼電器方式為例(便宜 + 易用):

STM32 → GPIO → 光耦 → 繼電器 → 電機
實現抬杆 / 落杆動作。


四、軟件架構設計

1. STM32 軟件架構

採用 HAL 庫 + 狀態機設計

init()
while(1)
{
    read_sensor();
    update_parking_state();
    handle_gate_control();
    sync_with_esp8266();
    timer_tick();
}

關鍵模塊包括:

  • 車位檢測模塊
  • 計費模塊(按分鐘計費)
  • 事件狀態機(ENTRY / EXIT)
  • ESP8266 通信模塊
  • 本地顯示(OLED)

2. STM32 與 ESP8266 通信協議設計

採用自定義簡潔協議(JSON 格式):

1)車輛進入報告
{
  "event": "car_in",
  "timestamp": 1733301920,
  "slot_id": 8
}
2)車輛離開報告
{
  "event": "car_out",
  "timestamp": 1733302122,
  "slot_id": 8,
  "duration": 320
}
3)服務器下發開閘指令
{
  "cmd": "open_gate",
  "slot_id": 8
}

STM32根據指令執行動作並反饋。


3. ESP8266 固件流程

若使用 AT 固件:

STM32 發送 AT 指令 → ESP8266 → 連接 Wi-Fi → 發送數據

也可以燒錄 ESP8266(如 NodeMCU),直接處理 MQTT/HTTP。

流程示例:

連接Wi-Fi
↓
連接 MQTT 服務器
↓
訂閲開閘指令
↓
接收 STM32 上傳的數據並轉發雲端
↓
雲端推送指令到 ESP8266
↓
ESP8266 下發給 STM32

五、計費系統設計

停車費用通常採用:

  • 按分鐘計費
  • 階梯收費
  • 月卡用户豁免

示例算法:

int calc_fee(int duration_min)
{
    if (duration_min <= 30)
        return 0;
    return (duration_min - 30) * 0.1;  // 0.1元/分鐘
}

所有計費數據將同步到服務器,並通過前端展示給用户。


六、雲端平台設計

支持以下 API:

API 功能
/car/in 記錄車輛入場
/car/out 記錄車輛離場 + 計費
/slot/status 查詢車位狀態
/gate/open 遠程開閘

開發可以使用:

  • Node.js
  • Python Flask/Django
  • Spring Boot

數據庫:MySQL / PostgreSQL
消息系統:MQTT(推薦)


七、系統功能演示流程

以下是典型停車流程:

1. 車輛駛入

  • 超聲波檢測到車輛
  • STM32 記錄入場時間
  • ESP8266 上報服務器
  • 服務器確認
  • 閘機自動抬杆
  • 車輛進入

2. 停車期間

  • 服務器顯示車位“已佔用”
  • 用户可以查看實時停車時長

3. 車輛離開

  • STM32 檢測車輛離開
  • 計算停車時間
  • 上傳服務器
  • 完成計費
  • 閘機放行

無人化流程完整實現。


八、項目亮點與擴展方向

低成本可落地

STM32 + ESP8266 的組合非常低成本,非常適合小型項目商用。

具備雲端管理能力

支持遠程開閘/實時同步車位狀態。

可擴展車牌識別

搭配攝像頭 + OCR 模塊,可直接識別車牌。

支持支付系統

接入微信/支付寶支付,實現真正無人化收費。

支持多車位擴展

一個主控可管理多個車位節點。


九、總結

基於 STM32 + ESP8266 的無人停車場系統,是一個集成 嵌入式控制、無線通信、雲端計算、物聯網整體架構 的典型工程案例。系統具備成本低、易部署、功能豐富、適合擴展的特點,是智慧停車領域一個非常成熟的實現方案。

如果你正在做畢業設計、企業項目或競賽,這套方案完全可落地,並擁有很強的展示與實用價值。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.