返回作品集
嵌入式系統精選專案

LoRaWAN 農業環境監測系統

為智慧農業打造的低功耗 LoRaWAN 環境監測系統,支援土壤濕度、溫度、光照、pH 值監測,太陽能供電可連續運作 3 年以上

使用技術

STM32L4LoRaWANChirpstackGrafanaInfluxDBNode.jsSolar PowerLow Power

專案詳情

客戶智慧農業新創
開發時程8個月

專案概述

為智慧農業新創公司開發的 LoRaWAN 環境監測系統。採用 STM32L4 超低功耗 MCU,搭配太陽能板與鋰電池,實現免換電池運作 3 年以上。系統可監測土壤濕度、溫度、環境光照、土壤 pH 值等關鍵農業參數,資料透過 LoRaWAN 傳輸至雲端平台。

目前已部署 2,000+ 個感測節點,覆蓋 500+ 公頃 農地。

核心技術

1. 超低功耗設計

整體系統平均功耗 < 50μA,實現極長電池壽命:

// STM32L4 低功耗模式切換
void enter_stop_mode_2(uint32_t sleep_seconds) {
    // 設定 RTC 喚醒
    HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, sleep_seconds,
                                 RTC_WAKEUPCLOCK_CK_SPRE_16BITS);

    // 關閉非必要周邊
    disable_peripherals();

    // 進入 STOP2 模式(約 1.5μA)
    HAL_SuspendTick();
    HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);
    HAL_ResumeTick();

    // 喚醒後重新初始化時鐘
    SystemClock_Config();
}

// 感測器僅在量測時供電
void sensor_measure_cycle(void) {
    // 開啟感測器電源
    HAL_GPIO_WritePin(SENSOR_PWR_GPIO, SENSOR_PWR_PIN, GPIO_PIN_SET);
    HAL_Delay(100);  // 等待穩定

    // 讀取資料
    float soil_moisture = read_soil_moisture();
    float temperature = read_temperature();
    float light = read_light_sensor();

    // 關閉感測器電源
    HAL_GPIO_WritePin(SENSOR_PWR_GPIO, SENSOR_PWR_PIN, GPIO_PIN_RESET);

    // 發送 LoRaWAN 封包
    send_lora_packet(soil_moisture, temperature, light);
}

2. LoRaWAN Class A 通訊

採用 LoRaWAN Class A 模式,最大化電池壽命:

  • SF7-SF12 自適應:根據訊號強度自動調整
  • ADR 啟用:自動調整發射功率
  • 確認模式:關鍵資料使用 Confirmed Uplink

3. 太陽能供電系統

  • 太陽能板:2W 單晶矽太陽能板
  • 充電 IC:BQ25895 智慧充電控制
  • 電池:18650 鋰電池 3400mAh x 2
  • MPPT:最大功率點追蹤

系統架構

                    ☀️ 太陽能板
                         │
┌────────────────────────┴────────────────────────┐
│              感測節點 (STM32L4)                  │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌───────┐ │
│  │土壤濕度  │ │ 溫度    │ │ 光照    │ │ pH    │ │
│  └─────────┘ └─────────┘ └─────────┘ └───────┘ │
│                      │                          │
│               ┌──────┴──────┐                  │
│               │  SX1262     │                  │
│               │  LoRa 模組   │                  │
│               └──────┬──────┘                  │
└──────────────────────┼──────────────────────────┘
                       │ LoRaWAN
                       ▼
              ┌─────────────────┐
              │  LoRaWAN 閘道器  │
              │  (RAK7268)      │
              └────────┬────────┘
                       │ 4G/乙太網路
                       ▼
              ┌─────────────────┐
              │   Chirpstack    │
              │   網路伺服器     │
              └────────┬────────┘
                       │
          ┌────────────┼────────────┐
          ▼            ▼            ▼
    ┌──────────┐ ┌──────────┐ ┌──────────┐
    │ InfluxDB │ │  Grafana │ │ 告警系統 │
    └──────────┘ └──────────┘ └──────────┘

專案成果

  • 覆蓋範圍:單一閘道器覆蓋 3 公里半徑
  • 電池壽命:實測運作超過 3 年
  • 資料準確率:濕度 ±3%,溫度 ±0.3°C
  • 節水效益:農戶平均節水 25%

客戶評價

「有了這套系統,我們可以精準掌握每塊農地的狀況,灌溉和施肥都更有效率了。」 — 農場管理者

探索更多專案

查看更多 嵌入式系統 領域的技術專案