一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于物聯(lián)網(wǎng)的天氣數(shù)據(jù)記錄器

科技觀察員 ? 來源:Rajeev Piyare ? 作者:Rajeev Piyare ? 2022-08-24 14:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過本文,你將了解如何使用 Conexio Stratus 套件和 Datacake 構(gòu)建低成本(和低代碼)天氣數(shù)據(jù)記錄器

背景

建筑物的溫度讀數(shù)對于供暖專家、社會房東甚至房主來說可能是一個主要問題,以確保房屋內(nèi)的溫度恒定且定期受控。適當管理的室內(nèi)氣候可以保證為用戶提供舒適的環(huán)境并有助于節(jié)省能源。

本文將演示如何:

免費創(chuàng)建您自己的基于物聯(lián)網(wǎng)的天氣數(shù)據(jù)儀表板。

在 Datacake 上創(chuàng)建您的第一臺設備,并通過 MQTT 代理將運行 ZephyrRTOS 的 Conexio Stratus 連接到 Datacake 平臺。

組裝所需的硬件。

使用 Conexio Stratus 設備從 BME280 傳感器獲取重要的環(huán)境數(shù)據(jù)以及電池電壓、LTE 信號強度、固件版本和設備 IMEI 等其他生命體征數(shù)據(jù),并將其推送到云端。

從世界任何地方可視化和跟蹤您的環(huán)境數(shù)據(jù)。

為什么選擇蜂窩網(wǎng)絡以及為什么選擇 Conexio Stratus 套件?

Wi-Fi 服務可能不是最可靠的,在某些地方甚至不是用戶的選擇。例如,如果您想在農(nóng)場中間監(jiān)控和部署一個傳感器設備,那里沒有 WiFi,但您有良好的蜂窩網(wǎng)絡覆蓋。這就是蜂窩連接派上用場的地方,這也是我決定使用基于蜂窩的 Conexio Stratus 開發(fā)套件的原因。盡管還有許多其他基于蜂窩的物聯(lián)網(wǎng)平臺,但以下是 Conexio Stratus 脫穎而出的一些原因。

Conexio Stratus 開發(fā)套件使我們能夠輕松地對 IoT 解決方案進行原型設計,因為它帶有 500MB 的預付費數(shù)據(jù)和 10 年的全球蜂窩服務。不需要合同。

該開發(fā)套件支持 LTE-M 和 NB-IoT 協(xié)議,還集成了 GPS,無需購買和集成外部 GPS 模塊。

它還具有板載環(huán)境傳感器,特別是來自 ST micro 的 Sensirion Sht4x 溫度和濕度傳感器和 LIS2DH 加速度計。

最后但同樣重要的是,該套件支持能量收集和太陽能電池充電。這是目前在許多物聯(lián)網(wǎng)設備中找不到的缺失功能之一。

pYYBAGMFyn6ABQtiAALJaXsqCRo826.png

除了 Stratus 設備,我還使用了 Stratus 擴展板,它支持 Sparkful QWIIC 連接器、用于 Mikroe click 板的 Mikro 總線,以及用于連接外部傳感器和執(zhí)行器的 Grove I2C 連接器。使用此防護罩,我們連接了 Mikroe 的 BME280 天氣點擊板,用于測量溫度、濕度和壓力。這主要是為了演示無需焊接即可輕松地將第三方傳感器模塊連接到 Stratus 設備。

poYBAGMFynqAMGzlAALykbTNWwE604.png

無需外部MCU

與其他需要專用 MCU 來控制 GPS、傳感器等其他外圍設備的基于蜂窩的 IoT 設備不同,Conexio Stratus 無需外部 MCU。它簡單地將主 MCU、單元和 GPS 模塊組合在一個由 nRF9160 SiP 支持的微型外形中。nRF9160 包含一個僅用于應用的 Arm Cortex-M33 應用處理器、一個完整的 LTE 調(diào)制解調(diào)器、射頻前端 (RFFE) 和一個電源管理系統(tǒng),使其成為市場上最緊湊、最完整和最節(jié)能的蜂窩物聯(lián)網(wǎng)解決方案。此外,無需外部 MCU、蜂窩或 GPS 模塊,降低了設備集成成本和時間。

因此,讓我們深入設置所需的軟件和硬件配置。

組裝硬件以進行初始固件測試

以下是我們使用過的所有硬件:

poYBAGMFynaAMuMWAAM-c0cGHYU879.png

對于初始測試,我們將主 Stratus 開發(fā)板和 Mikroe BME280 天氣點擊板插入 Stratus 防護板,如下所示。最終部署的完整硬件將在本文后面進行組裝和展示。

pYYBAGMFynKACx8kAATXig5pLo4422.png

Datacake 注冊和設置

在此處在 Datacake 平臺上注冊并創(chuàng)建用戶帳戶。您的前兩個設備是免費的。

在通過 MQTT 存儲任何測量讀數(shù)之前,我們需要在 Datacake 平臺上設置一個設備。注冊和帳戶激活后,前往 Datacake 工作區(qū)的車隊視圖。

poYBAGMFym6AXEdsAABtvjeRB0I164.png

點擊右上角的添加設備,彈出如下彈窗。

pYYBAGMFymqAMDhbAAHkfPH4pVo817.png

在STEP 1中,選擇設備類型為“ API ”,在 Datacake Product 下選擇New Product 。然后在“產(chǎn)品名稱”下為您的設備分配一個名稱。在本教程中,我們將產(chǎn)品命名為“ Conexio Stratus ”。

poYBAGMFymaAbIQxAAFgCevDt-g349.png

在STEP 2中,您可以添加一個或多個 API 設備。接下來,分配設備名稱并點擊Next 。

pYYBAGMFyl2AYTekAAF7e4NFWL8974.png

最后,在STEP 3中,選擇 Datacake 計劃。要創(chuàng)建設備,必須選擇付款計劃。由于 Datacake 最多允許您免費創(chuàng)建兩個設備,因此您可以選擇“免費”計劃并單擊“添加 1 個設備”。

您的設備現(xiàn)在已經(jīng)注冊到 Datacake 平臺,應該會出現(xiàn)在“ Fleet ”視圖中的設備下。單擊您注冊的設備,它將帶您進入其工作區(qū)。在STEP 2中,您可以添加一個或多個 API 設備。接下來,分配設備名稱并點擊Next 。

添加數(shù)據(jù)庫字段

好的。此時,我們需要在設備的數(shù)據(jù)庫中定義字段,這些字段將托管從 Stratus 設備通過 MQTT 發(fā)送的測量值。

poYBAGMFyliAGlXbAACHY5P8UD0206.png

在 Datacake 中,導航到“配置”選項卡并向下滾動到“字段”部分,然后單擊“添加字段”按鈕。

pYYBAGMFylSAWbDMAAAuRBdSWVw440.png

這將打開一個具有多種數(shù)據(jù)類型的模式。在本文中,我們將添加以“ Float ”類型的溫度開頭的多個字段。Datacake 會自動填寫“標識符”字段。有關詳細信息,請參閱下面的片段。

poYBAGMFylCATDAyAAE4pGhWUEk893.png

完成字段詳細信息后,單擊“添加字段”即可完成此字段。您將在下面看到我們?yōu)榇耸纠龖贸绦蛱砑拥乃胁煌侄?。這些字段包括:

RSRP - LTE 信號強度值

電池 - 用于記錄連接的鋰聚合物電池的電壓

IMEI - Conexio Stratus 國際移動設備識別碼 (IMEI) 號碼

版本 - 設備上運行的固件版本

溫度 - BME280 傳感器的環(huán)境溫度讀數(shù)

濕度 - BME280 傳感器的相對濕度讀數(shù)

壓力 - BME280 傳感器的環(huán)境壓力讀數(shù)

poYBAGMFykuAZrjzAACfNMbxa2g174.png

添加集成

接下來,在 Fields 部分的正下方,您將找到Integrations部分。要通過 MQTT 從您的設備轉(zhuǎn)發(fā)數(shù)據(jù),必須建立與 Datacake 的連接。單擊配置,將彈出MQTT 集成信息窗口。

poYBAGMFykaAM_AMAAAk6VUUzH0073.png

Datacake 平臺提供具有 TLS 加密的 MQTT 代理,它允許訂閱和記錄數(shù)據(jù)。

在該平臺的幫助下,您可以:

通過 MQTT 將傳入的設備數(shù)據(jù)轉(zhuǎn)發(fā)到外部服務

通過 MQTT 將數(shù)據(jù)存儲到 Datacake Cloud

為了將測量記錄到 Datacake Cloud,我們將把數(shù)據(jù)發(fā)布到相應的主題結(jié)構(gòu)中,如 MQTT 集成窗口中所示。

poYBAGMFykOAQD-ZAACyl-H9OB0377.png

注意:復制上面的代理名稱和我們稍后將在固件配置中使用的主題。

Datacake 的 MQTT 主題前綴遵循以下結(jié)構(gòu):

dtck-pub/《product_slug》/《device_id》/《field_name》

主題結(jié)構(gòu)中的最后一個元素是測量值的字段名稱,它出現(xiàn)在我們之前創(chuàng)建的數(shù)據(jù)庫字段中。該字段(標識符)是我們將發(fā)布來自 Stratus 設備的不同測量值的地方。

生成訪問令牌

在 Datacake 平臺創(chuàng)建和注冊用戶帳戶時,會自動生成用戶訪問令牌。此 API 令牌充當安全性并允許設備訪問用戶的帳戶。

注意:我們將需要此令牌來使用 Datacake 平臺驗證我們的 Stratus 設備。

要查看您的個人訪問令牌,請單擊“ Edit Profile ”,然后單擊“ API ”。

pYYBAGMFyj6AV6rkAAE0WRUQwqk604.png

要查看您的訪問令牌,請單擊“顯示”。現(xiàn)在將這個訪問令牌復制到一個安全的地方,因為我們稍后會需要它。

至此,我們已經(jīng)具備了將 Conexio Stratus 設備中的數(shù)據(jù)連接和發(fā)布到 Datacake 所需的所有詳細信息?,F(xiàn)在讓我們轉(zhuǎn)到設備固件方面。

MQTT 應用程序代碼

我們擴展了 nRF Connect SDK 中提供的示例 MQTT 應用程序,以便輕松地將 Stratus 套件連接到 MQTT 代理,從 Datacake 平臺發(fā)送和接收數(shù)據(jù)。

擴展的示例應用程序連接到 Datacake 并將數(shù)據(jù)發(fā)布到配置的發(fā)布主題。在按鈕按下事件時,應用程序?qū)⒃O備生命值發(fā)布到 Datacake 并定期發(fā)布環(huán)境數(shù)據(jù),例如溫度和濕度。

完整的應用程序可以在本文下方找到。

將 Datacake 憑據(jù)添加到應用程序代碼

首先,我們必須將 Datacake 訪問令牌添加到應用程序代碼中。您將需要conexio_stratus_firmware/samples/datacake/prj.conf使用您的 Datacake 訪問令牌進行編輯。更新以下參數(shù)。

# MQTT application configuration authentication
CONFIG_MQTT_PASS="DATACAKE_ACCESS_TOKEN"
CONFIG_MQTT_USER="DATACAKE_ACCESS_TOKEN"

注意用戶名和密碼是一樣的。

MQTT 代理配置

接下來,我們需要配置 MQTT 代理主機名和端口。使用以下內(nèi)容更新 Datacake 代理配置:

# MQTT broker configuration
CONFIG_MQTT_BROKER_HOSTNAME="mqtt.datacake.co"
CONFIG_MQTT_BROKER_PORT=8883

我們將使用使用 CA 簽名服務器證書的端口 8883。

MQTT 發(fā)布/訂閱配置

要將測量記錄到設備的特定數(shù)據(jù)庫字段,我們將更新 MQTT 發(fā)布主題,如下所示:

# MQTT topics for recording measurement values
# Change this as per your Datacake MQTT Integration and fields
CONFIG_MQTT_PUB_TOPIC_TEMP="dtck-pub///TEMPERATURE"
CONFIG_MQTT_PUB_TOPIC_HUM="dtck-pub///HUMIDITY"
CONFIG_MQTT_PUB_TOPIC_PRES="dtck-pub///PRESSURE"
CONFIG_MQTT_PUB_TOPIC_VER="dtck-pub///VERSION"
CONFIG_MQTT_PUB_TOPIC_IMEI="dtck-pub///IMEI"
CONFIG_MQTT_PUB_TOPIC_BAT="dtck-pub///BATTERY"
CONFIG_MQTT_PUB_TOPIC_RSRP="dtck-pub///RSRP"
CONFIG_MQTT_PUB_TOPIC_BUTTON="dtck-pub///BUTTON"

# MQTT subscription topics
CONFIG_MQTT_SUB_TOPIC="dtck/conexio-stratus///+"

例如,使用 Product-Slug my-product , Device-ID 6b98a3bb-9ae1-418f-9375-f23091a849cd和 Field-IdentifierTEMPERATURE將發(fā)布消息到:

dtck-pub/my-product/6b98a3bb-9ae1-418f-9375-f23091a849cd/TEMPERATURE

有效負載將保存您要記錄到該特定數(shù)據(jù)庫字段中的值。

publish("dtck-pub/my-product/6b98a3bb-9ae1-418f-9375-f23091a849cd/TEMPERATURE", 25.00)

到這一步已經(jīng)設置好了 MQTT 參數(shù)配置。

對 Stratus 設備進行編程

要編譯應用程序,請在應用程序目錄中打開一個終端窗口并發(fā)出以下west命令

west build -b conexio_stratus_ns
成功編譯應用程序后,連接 Stratus 設備并將其置于 DFU 模式。

使用 newtmgr 刷寫編譯好的固件:

newtmgr -c serial image upload build/zephyr/app_update.bin
打開串行控制臺并重置 Stratus 設備。終端中將顯示以下串行 UART 輸出。如果您是第一次連接 Stratus 設備,請花幾分鐘時間注冊到網(wǎng)絡并與塔建立 LTE 連接。由于 Stratus 設備已預先配置為自動連接到 LTE 網(wǎng)絡,因此無需額外的 SIM 激活。

*** Booting Zephyr OS build v2.6.99-ncs1 ***
mqtt_app: Stratus MQTT Datacake sample started, version: v1.0.0
watchdog: Watchdog timeout installed. Timeout: 60000
watchdog: Watchdog started
watchdog.watchdog_feed_enable: Watchdog feed enabled. Timeout: 30000
mqtt_app: Provisioning certificates
mqtt_app: LTE Link Connecting...
+CEREG: 2,"412D","03382810",7
+CSCON: 1
+CEREG: 5,"412D","03382810",7,,,"11100000","11100000"
%CESQ: 35,1,10,1
mqtt_app: LTE Link Connected!
mqtt_app.modem_rsrp_handler: Incoming RSRP status message, RSRP value is 35
mqtt_app: IPv4 Address found 144.126.245.197
mqtt_app: client_id: 352656103852334
mqtt_app: TLS enabled
env_sensors: Environmental sensors initialized
mqtt_app: MQTT client connected mqtt_app: Subscribing to: dtck/conexio-stratus/4fbfe839-c8aa-4882-a890-02f981753f6d/+ len 59 mqtt_app: SUBACK packet id: 1234
mqtt_app: Publishing: 26.06
mqtt_app: to topic: dtck-pub/conexio-stratus/4fbfe839-c8aa-4882-a890-02f981753f6d/TEMPERATURE len: 73
mqtt_app: Publishing: 23.24
mqtt_app: to topic: dtck-pub/conexio-stratus/4fbfe839-c8aa-4882-a890-02f981753f6d/HUMIDITY len: 70

建立 LTE 連接后,您會注意到 Stratus 連接到 Datacake MQTT 代理,之后它將傳感器數(shù)據(jù)發(fā)布到配置的主題。您的 Stratus 設備現(xiàn)在處于活動狀態(tài)并正在與 Datacake 云進行通信。

在 Datacake 儀表板上可視化天氣數(shù)據(jù)

固件啟動并運行后,返回 Datacake 儀表板并將圖形小部件添加到您的工作區(qū)。您現(xiàn)在將看到設備數(shù)據(jù)流入 Datacake 并填充漂亮的圖表。下面是我們創(chuàng)建的示例儀表板。

pYYBAGMFyjWAeNNwAAEkKS5KSHA441.png

您可以從世界任何地方訪問實時設備儀表板和數(shù)據(jù):https ://app.datacake.de/pd/f66e9fed-996e-4b84-b44f-e3d4e458cd3e

組裝最終部署就緒的硬件

現(xiàn)在我們已經(jīng)啟動并運行了初始固件和儀表板,讓我們組裝完整的硬件以進行部署。在這里,我們將一個小型太陽能電池板連接到 Stratus 護罩,用于為 LiPo 電池充電。通過滑動 Stratus 主板側(cè)面的開關打開設備后,完整的硬件安裝在亞克力外殼內(nèi),如下所示:

poYBAGMFyjGAFsVQAAcYXqhZWgw858.png

poYBAGMFyi2AeP54AAW2r2c8QXE608.png

結(jié)論

這篇文章演示了您可以使用 Conexio Stratus 蜂窩物聯(lián)網(wǎng)設備創(chuàng)建的眾多應用程序之一。現(xiàn)在我們有了像 Datacake 這樣的無代碼或低代碼云平臺,發(fā)送和可視化 IoT 設備數(shù)據(jù)變得比以前容易得多。借助預付的 500MB 蜂窩數(shù)據(jù),您無需 WiFi、藍牙甚至 SD 卡即可從世界任何地方跟蹤和記錄您的天氣數(shù)據(jù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    iButton數(shù)據(jù)記錄器和IP 等級

    `摘要:Thermochron? (DS1922L、DS1922T、DS1921G)和Hygrochron? (DS1923) iButton?數(shù)據(jù)記錄器可理想用于多個領域。由于具有不銹鋼外殼,這些
    發(fā)表于 09-22 14:25

    PIC控制的遠程數(shù)據(jù)記錄器

    我正在設計一個可以通過互聯(lián)網(wǎng)訪問的遠程數(shù)據(jù)記錄器。記錄器將通過UART從一個傳感收集數(shù)據(jù),并且
    發(fā)表于 03-12 14:55

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】七、獲取網(wǎng)絡天氣數(shù)據(jù)

    元旦好冷,哪也不想去,那就趁著有空,寫寫帖子吧。今天的帖子我寫的是關于如何從網(wǎng)絡獲取天氣數(shù)據(jù),以及如何解析出我們需要的天氣數(shù)據(jù)。一、天氣數(shù)據(jù)獲取 首先說說怎么獲取天氣數(shù)據(jù)?,F(xiàn)在可以從很
    發(fā)表于 01-01 21:46

    溫度記錄器

    溫度記錄器
    發(fā)表于 01-22 14:08 ?1次下載

    Nodemcu數(shù)據(jù)記錄器

    電子發(fā)燒友網(wǎng)站提供《Nodemcu數(shù)據(jù)記錄器.zip》資料免費下載
    發(fā)表于 07-04 14:32 ?4次下載
    Nodemcu<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>記錄器</b>

    基于Arduino的GPS數(shù)據(jù)記錄器

    電子發(fā)燒友網(wǎng)站提供《基于Arduino的GPS數(shù)據(jù)記錄器.zip》資料免費下載
    發(fā)表于 10-31 10:35 ?4次下載
    基于Arduino的GPS<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>記錄器</b>

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】七、獲取網(wǎng)絡天氣數(shù)據(jù)

    。今天的帖子我寫的是關于如何從網(wǎng)絡獲取天氣數(shù)據(jù),以及如何解析出我們需要的天氣數(shù)據(jù)。 ? 一、天氣數(shù)據(jù)獲取 ? ?? ? 首先說說怎么獲取天氣數(shù)據(jù)?,F(xiàn)在可以從很多平臺獲取到
    的頭像 發(fā)表于 11-02 14:49 ?1432次閱讀

    使用TTGO ESP32和Visuino從互聯(lián)網(wǎng)上獲取天氣數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《使用TTGO ESP32和Visuino從互聯(lián)網(wǎng)上獲取天氣數(shù)據(jù).zip》資料免費下載
    發(fā)表于 11-07 15:22 ?0次下載
    使用TTGO ESP32和Visuino從互<b class='flag-5'>聯(lián)網(wǎng)</b>上獲取<b class='flag-5'>天氣數(shù)據(jù)</b>

    GPS和AHRS數(shù)據(jù)記錄器開源分享

    電子發(fā)燒友網(wǎng)站提供《GPS和AHRS數(shù)據(jù)記錄器開源分享.zip》資料免費下載
    發(fā)表于 11-15 11:44 ?1次下載
    GPS和AHRS<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>記錄器</b>開源分享

    基于Arduino Meag 2560的數(shù)據(jù)記錄器

    我創(chuàng)建了一個數(shù)據(jù)記錄器,可以盡可能快地記錄和存儲 EMG 數(shù)據(jù)值。目前,它每秒可以測量多達 3000 個數(shù)據(jù)點(使用 Arduino 串行監(jiān)
    發(fā)表于 12-08 15:41 ?0次下載

    基于Arduino MKR ZERO的天氣數(shù)據(jù)記錄器

    關于這個項目介紹通過這個項目,您將能夠在幾分鐘內(nèi)創(chuàng)建一個溫度和濕度數(shù)據(jù)記錄器。您可以使用 MKR Zero 的內(nèi)置 SD 讀卡來存儲數(shù)據(jù)。插入電池,添加保護套,您將擁有一個整潔的
    發(fā)表于 12-19 16:16 ?0次下載

    使用Blues Wireless和Qubitro的聯(lián)網(wǎng)天氣數(shù)據(jù)記錄器

    電子發(fā)燒友網(wǎng)站提供《使用Blues Wireless和Qubitro的聯(lián)網(wǎng)天氣數(shù)據(jù)記錄器.zip》資料免費下載
    發(fā)表于 02-06 14:21 ?0次下載
    使用Blues Wireless和Qubitro的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>天氣數(shù)據(jù)</b><b class='flag-5'>記錄器</b>

    天氣數(shù)據(jù)收集和存儲程序開源分享

    電子發(fā)燒友網(wǎng)站提供《天氣數(shù)據(jù)收集和存儲程序開源分享.zip》資料免費下載
    發(fā)表于 02-09 11:25 ?0次下載
    <b class='flag-5'>天氣數(shù)據(jù)</b>收集和存儲程序開源分享

    簡單的數(shù)據(jù)記錄器開源設計

    電子發(fā)燒友網(wǎng)站提供《簡單的數(shù)據(jù)記錄器開源設計.zip》資料免費下載
    發(fā)表于 06-09 10:55 ?0次下載
    簡單的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>記錄器</b>開源設計

    什么是數(shù)據(jù)記錄器,數(shù)據(jù)記錄器數(shù)據(jù)采集系統(tǒng)

    雖然有些數(shù)據(jù)記錄器只有一個傳感和輸入,但許多數(shù)據(jù)記錄器有多個通道,在許多情況下,它們可以記錄
    的頭像 發(fā)表于 02-08 12:28 ?2147次閱讀