SparkFun 徽標

SparkFun DEV-13712 粒子光子,帶孔,用於焊接

SparkFun-DEV-13712-帶孔粒子光子焊接產品

規格

  • 產品名稱:OpenLog資料記錄器
  • 型號:DEV-13712
  • 電源輸入:3.3V-12V(建議3.3V-5V)
  • RXI輸入電壓tage:2.0V-3.8V
  • TXO輸出電壓tag電子:3.3V
  • 空閒電流消耗:~2mA-5mA(無 microSD 卡),~5mA-6mA(有 microSD 卡)
  • 主動寫入電流消耗:~20-23mA(使用 microSD 卡)

產品使用說明

所需材料:

  • Arduino Pro Mini 328 – 3.3V/8MHz
  • SparkFun FTDI 基本分線盒 – 3.3V
  • SparkFun Cerberus USB 線 – 6 英尺
  • 附轉接器的 microSD 卡 – 16GB(Class 10)
  • microSD USB 讀卡機
  • 母頭
  • 跳線優質 6 M/M 10 包
  • 分離式公頭 – 直角

推薦閱讀:

硬體結束view:
OpenLog 在以下設定下運作:

VCC輸入 RXI輸入 TXO輸出 空閒電流消耗 主動寫入電流消耗
3.3V-12V(建議3.3V-5V) 2.0V-3.8V 3.3V ~2mA-5mA(無 microSD 卡),~5mA-6mA(有 microSD 卡) ~20- 23mA(附 microSD 卡)

介紹

小心!本教學適用於串列 UART 的 Open Log [ DEV-13712 ]。如果您正在使用 Qwiic OpenLog for IC [ DEV-15164 ],請參閱 Qwiic OpenLog 連線指南。

OpenLog 資料記錄器是一個易於使用的開源解決方案,用於記錄專案中的序列資料。 OpenLog 提供了一個簡單的串行接口,用於將專案資料記錄到 microSD 卡。

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(1)

帶標題的SparkFun OpenLog
DEV-13955

未找到產品

所需材料
為了完整完成本教程,您將需要以下部分。但根據您所擁有的東西,您可能並不需要所有東西。將其添加到您的購物車,閱讀指南,並根據需要調整購物車。

OpenLog連線指南

SparkFun願望清單

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(2)SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(3)

推薦閱讀
如果您不熟悉或不熟悉以下概念,我們建議您在繼續閱讀 OpenLog 連線指南之前先通讀這些內容。

  • 如何焊接: 通孔焊接。本教程涵蓋了有關通孔焊接的所有知識。
  • 序列通訊 非同步串行通訊概念:資料包、訊號電平、波特率、UART 等等!
  • 序列週邊介面 (SPI) SPI 通常用於將微控制器連接到感測器、移位暫存器和 SD 卡等週邊設備。
  • 串行終端基礎知識 本教學將向您展示如何使用各種終端模擬器應用程式與串行設備通訊。

硬體結束view

力量
OpenLog 在以下設定下運作:

OpenLog 功率等級

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(4)

寫入 microSD 時,OpenLog 的電流消耗約為 20mA 至 23mA。根據 microSD 卡的大小及其製造商,當 OpenLog 寫入記憶卡時,有效電流消耗可能會有所不同。增加波特率也會消耗更多電流。

微控制器
由於板載晶體的存在,OpenLog 由板載 ATmega328 運行,運行頻率為 16MHz。 ATmega328 上裝載了 Optiboot 開機載入程序,這使得 OpenLog 能夠與
Arduino IDE 中的「Arduino Uno」板設定。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(5)

介面

序列串口
OpenLog 的主要介面是板邊緣的 FTDI 接頭。此接頭設計用於直接插入 Arduino Pro 或 Pro Mini,從而允許微控制器透過串行連接將資料傳送到 OpenLog。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(6)

警告! 由於引腳順序使其與 Arduinos 相容,因此它不能直接插入 FTDI 分線板。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(7)

欲了解更多信息,請務必查看硬體連接的下一部分。

SPI

電路板的另一端還有四個 SPI 測試點。您可以使用它們來重新編程 ATmega328 上的引導程式。

  • SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(8)最新的 OpenLog(DEV-13712)將這些引腳分解到較小的鍍通孔上。如果您需要使用 ISP 重新編程或將新的引導程式上傳到 OpenLog,則可以使用 pogo 針連接到這些測試點。
  • 與 OpenLog 通訊的最終介面是 microSD 卡本身。為了進行通信,microSD 卡需要 SPI 引腳。這不僅是 OpenLog 儲存資料的地方,您還可以透過 config.txt 更新 OpenLog 的配置 file 在 microSD 卡上。
    microSD卡

OpenLog 記錄的所有資料都儲存在 microSD 卡上。 OpenLog 可與具有以下功能的 microSD 卡搭配使用:

  • 64MB至32GB
  • FAT16 或 FAT32

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(9)

OpenLog 上有兩個狀態 LED 可協助您進行故障排除。

  • STAT1 – 此藍色指示燈 LED 連接到 Arduino D5(ATmega328 PD5),並在收到新字元時開啟/關閉。當串行通訊正常運作時,此 LED 會閃爍。
  • STAT2 – 此綠色 LED 連接到 Arduino D13(SPI 序列時鐘線/ATmega328 PB5)。只有當 SPI 介面處於活動狀態時,此 LED 才會閃爍。當 OpenLog 將 512 位元組記錄到 microSD 卡時,您會看到它閃爍。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(10)

硬體連接

將 OpenLog 連接到電路主要有兩種方法。您將需要一些接頭或電線來連接。確保將其焊接到電路板上以確保連接牢固。

基本序列連接

提示:如果 OpenLog 上有一個母接頭,FTDI 上有一個母接頭,則需要 M/F 跳線進行連線。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(11)

如果您需要重新編程電路板或透過基本串列連接記錄數據,此硬體連接專為與 OpenLog 介面而設計。

進行以下連接:
OpenLog→3.3V FTDI基本分接

  • 接地 → 接地
  • 接地 → 接地
  • VCC → 3.3V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

請注意,它不是 FTDI 和 OpenLog 之間的直接連接——您必須切換 TXO 和 RXI 引腳連接。

您的連接應如下所示:

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(12)

一旦建立了 OpenLog 和 FTDI Basic 之間的連接,就將 FTDI 板插入 USB 連接線和電腦。打開串行終端,連接到 FTDI Basic 的 COM 端口,然後開始!

專案硬體連接

提示: 如果您已在 OpenLog 上焊接了母接頭,則可以將公接頭焊接到 Arduino Pro Mini 上,以便將電路板插在一起,而無需使用電線。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(13)

雖然透過串行連接與 OpenLog 互動對於重新編程或調試很重要,但 OpenLog 的亮點在於嵌入式專案。我們建議您透過這個通用電路將 OpenLog 連接到微控制器(在本例中為 Arduino Pro Mini),以便將串列資料寫入 OpenLog。

首先,您需要將程式碼上傳到您想要執行的 Pro Mini。請查看 Arduino Sketches 的一些範例amp您可以使用的程式碼。

筆記: 如果您不確定如何對 Pro Mini 進行編程,請查看此處的教學。

使用 Arduino Pro Mini 3.3V

  • 本教學將引導您了解 Arduino Pro Mini 的所有內容。它解釋了它是什麼、它不是什麼以及如何開始使用它。
  • 對 Pro Mini 進行程式設計後,您可以移除 FTDI 板並將其替換為 OpenLog。確保連接 Pro Mini 和 OpenLog 上標有 BLK 的引腳(如果操作正確,兩者上標有 GRN 的引腳也會匹配)。
  • 如果您無法將 OpenLog 直接插入 Pro Mini(由於接頭不匹配或其他板擋住了路),您可以使用跳線並進行以下連接。

OpenLog → Arduino Pro/Arduino Pro Mini

  • 接地 → 接地
  • 接地 → 接地
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

完成後,Arduino Pro Mini 和 Arduino Pro 之間的連接應如下所示。 Fritzing 圖表顯示了帶有鏡像標題的 OpenLogs。如果你將 microSD 插槽相對於 Arduino 的頂部翻轉 view,它們應該與 FTDI 之類的程式設計頭相符。

SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(14)

請注意,連接是直線的,OpenLog「倒置」(microSD 朝上)。

筆記: 由於 OpenLog 和 Arduino 之間的 Vcc 和 GND 被接頭佔用,因此您需要將電源連接到 Arduino 上可用的其他引腳。否則,您可以將電線焊接到任一板上裸露的電源插針上。

啟動您的系統,您就可以開始記錄了!

Arduino草圖

有六種不同的情況amp包含 le 草圖,當連接到 OpenLog 時您可以在 Arduino 上使用它。

  • OpenLog_Benchmarking — 此範例ample 用來測試 OpenLog。這將以 115200bps 的速度通過多個 files.
  • OpenLog_CommandTest — 此範例ample 展示如何建立和附加 file 透過 Arduino 的命令列控制。
  • OpenLog_ReadExample — 這個前任ample 介紹如何透過命令列控制 OpenLog。
  • OpenLog_ReadExamp大File - 前任amp如何開啟大型存儲 file 在 OpenLog 上並透過本機藍牙連線報告。
  • OpenLog_Test_Sketch — 用於使用大量串列資料測試 OpenLog。
  • OpenLog_Test_Sketch_Binary — 用於使用二進位資料和轉義字元測試 OpenLog。

韌體

OpenLog 板上有兩個主要軟體:引導程式和韌體。

Arduino 引導程式

筆記: 如果您使用的是 2012 年 5 月之前購買的 OpenLog,則板載引導程式與 Arduino IDE 中的「Arduino Pro 或 Pro Mini 16V/328MHz w/ ATmegaXNUMX」設定相容。

  • 如前所述,OpenLog 板上有 Optiboot 串列引導程式。上傳 ex 時,你可以像對待 Arduino Uno 一樣對待 OpenLogamp代碼或新韌體到主機板。
  • 如果您最終弄壞了 OpenLog 並需要重新安裝引導程序,您還需要將 Optiboot 上傳到主機板上。請查看我們關於安裝 Arduino Bootloader 的教學課程以獲取更多資訊。

編譯韌體並將其載入到OpenLog上

筆記: 如果這是您第一次使用 Arduino,請重新view 我們關於安裝 Arduino IDE 的教學。如果您之前沒有安裝 Arduino 庫,請查看我們的安裝指南以手動安裝庫。

  • 如果您因為任何原因需要更新或重新安裝 OpenLog 上的韌體,則下列程序將使您的主機板啟動並運行。
  • 首先,請下載 Arduino IDE v1.6.5。其他版本的 IDE 可能可以編譯 OpenLog 韌體,但我們已驗證這是一個已知的良好版本。
  • 接下來,下載 OpenLog 韌體和所需的庫包​​。

下載 OPENLOG 韌體包 (ZIP)

  • 下載庫和韌體後,將庫安裝到 Arduino 中。如果您不確定如何在 IDE 中手動安裝庫,請查看我們的教學:安裝 Arduino 庫:手動安裝庫。

筆記:

  • 我們正在使用 SdFat 和 SerialPort 庫的修改版本,以便任意聲明 TX 和 RX 緩衝區應該有多大。 OpenLog 要求 TX 緩衝區非常小(0),而 RX 緩衝區需要盡可能大。
  • 同時使用這兩個修改過的函式庫可以提高 OpenLog 的效能。

想找最新版本?
如果您想要最新版本的庫和固件,您可以直接從下面連結的 GitHub 儲存庫下載它們。 SdFatLib 和序列埠庫在 Arduino 板管理器中不可見,因此您需要手動安裝該庫。

  • GitHub:OpenLog > 韌體 > OpenLog_Firmware
  • Bill Greiman 的 Arduino 庫
    • SdFatLib-beta
    • 序列埠
  • 接下來,為了取得進展tag修改庫中的e,修改SerialPort.hh file 在 \Arduino\Libraries\SerialPort 目錄中找到。將 BUFFERED_TX 變更為 0,將 ENABLE_RX_ERROR_CHECKING 變更為 0。儲存 file,然後開啟 Arduino IDE。
  • 如果還沒有,請透過 FTDI 板將 OpenLog 連接到電腦。請仔細檢查amp如果您不確定如何正確執行此操作,請參閱電路。
  • 在“工具”>“板”選單下開啟您想要上傳的 OpenLog 草圖,選擇“Arduino/Genuino Uno”,然後在“工具”>“連接埠”下為您的 FTDI 板選擇正確的 COM 連接埠。
  • 上傳代碼。
  • 就是這樣!您的 OpenLog 現在已使用新韌體進行程式設計。現在您可以開啟串行監視器並與 OpenLog 互動。啟動時,您將看到 12> 或 12<。 1 表示串列連線已建立,2 表示 SD 卡已成功初始化,< 表示 OpenLog 已準備好記錄任何接收到的串列數據,> 表示 OpenLog 已準備好接收指令。

OpenLog韌體草圖
您可以在 OpenLog 上使用三個包含的草圖,具體取決於您的特定應用程式。

  • OpenLog – 此韌體預設在 OpenLog 上發布。正在發送?命令將顯示已載入到裝置上的韌體版本。
  • OpenLog_Light – 此版本的草圖刪除了選單和命令模式,從而允許增加接收緩衝區。對於高速記錄來說,這是一個不錯的選擇。
  • OpenLog_Minimal – 必須在程式碼中設定波特率並上傳。建議有經驗的使用者使用此草圖,但它也是最高速度記錄的最佳選擇。

命令集

您可以透過串行終端與 OpenLog 互動。以下命令將幫助您讀取、寫入和刪除 files,以及更改OpenLog的設定。您需要處於命令模式才能使用以下設定。

當 OpenLog 處於命令模式時,STAT1 將為接收的每個字元開啟/關閉。 LED 將保持亮起直到接收到下一個字元。

  • 新的 File – 建立新的 file 命名的 File 在目前目錄中。標準 8.3 file支援名稱。例如amp例如,「87654321.123」是可以接受的,而「987654321.123」則不可以。
    • Example: 新的 file1.txt
  • 附加 File – 將文字附加到 File。然後從 UART 讀取串行資料流並將其添加到 file。它沒有在串行終端上回顯。如果 File 呼叫此函數時不存在, file 將被創建。
    • Example:附加新的file.csv
  • 寫 File OFFSET – 將文字寫入 File 從位置 OFFSET 內 file。文字從 UART 逐行讀取並回顯。若要退出此狀態,請傳送一行空白。
    • Example:寫入 logs.txt 516
  • rm File – 刪除 File 從目前目錄。支援通配符。
    • Example: rm README.txt
  • 尺寸 File – 輸出大小 File 以位元組為單位。
    • Example: 大小 Log112.csv
    • 輸出:11
  • 讀 File + START+ LENGTH TYPE – 輸出內容 File 從 START 開始,一直到 LENGTH。如果省略了 START,則整個 file 據報道。如果省略 LENGTH,則報告從起點開始的全部內容。如果省略 TYPE,OpenLog 將預設以 ASCII 報告。輸出類型有三種:
    • ASCII = 1
    • 十六進位 = 2
    • RAW = 3
  • 您可以省略一些後續論點。檢查以下範例amp萊斯。
  • 基本讀取+省略的標誌:
    • Example:讀取LOG00004.txt
    • 輸出:加速度計 X=12 Y=215 Z=317
  • 從開始 0 讀取,長度為 5:
    • Example:讀取LOG00004.txt 0 5
    • 輸出:加速
  • 從位置 1 讀取長度為 5 的十六進位資料:
    • Example: 讀取 LOG00004.txt 1 5 2
    • 輸出:63 63 65 6C
  • 從位置 0 開始讀取 RAW 中長度為 50 的資料:
    • Example: 讀取 LOG00137.txt 0 50 3
    • 輸出:André– -þ 擴充字元測試
  • 貓 File – 寫下 file 以十六進位形式傳送到串行監視器 viewing。這有時有助於看到 file 無需拔出 SD 卡即可正確錄製, view 這 file 在電腦上。
    • Examp勒:cat LOG00004.txt
    • 輸出:00000000:41 63 65 6c 3a 20 31

目錄操作

  • ls –列出目前目錄的所有內容。支援通配符。
    • Example: ls
    • 輸出:\src
  • md 子目錄 – 在目前目錄中建立子目錄。
    • Example: md Example_Sketches
  • cd 子目錄 — 變更到子目錄。
    • Examp例如:cd Hello_World
  • cd .. – 變更到樹中的較低目錄。請注意,「cd」和「..」之間有一個空格。這使得字串解析器能夠看到 CD 命令。
    • Examp樂: cd ..
  • rm 子目錄 – 刪除子目錄。該目錄必須為空,此命令才能起作用。
    • Example: rm temps
  • rm -rf 目錄 – 刪除目錄和任何 file包含在其中。
    • Example:rm -rf 庫

低階函數命令

  • ? – 此指令將拉出 OpenLog 上可用指令的清單。
  • 磁碟 – 顯示卡片製造商 ID、序號、製造日期和卡片尺寸。前任amp輸出為:
    • 卡片類型:SD2 製造商ID:3
    • OEM ID: SD
    • 產品:SU01G
    • 版本:8.0
    • 序號:39723042 製造日期:1/2010 卡大小:965120 KB
  • init – 重新初始化系統並重新開啟 SD 卡。如果 SD 卡停止回應,這將很有幫助。
  • 同步 – 將緩衝區的目前內容同步到 SD 卡。如果緩衝區中的字元少於 512 個,並且想要將其記錄在 SD 卡上,則此命令很有用。
  • 重置-將 OpenLog 跳到位置零,重新執行引導程序,然後執行初始化程式碼。如果您需要編輯配置,此命令很有用 file,重置OpenLog,並開始使用新的配置。電源循環仍然是重置電路板的首選方法,但此選項可用。

系統設定

這些設定可以在 config.txt 中手動更新或編輯 file.

  • 回顯狀態 – 改變系統狀態,並儲存於系統記憶體中。 STATE 可以是開啟或關閉。而在 OpenLog 上將在命令提示字元上回顯接收到的串列資料。關閉時,系統不會讀回接收到的字元。

筆記: 在正常記錄期間,回顯將會關閉。記錄期間回顯接收資料的系統資源需求太高。

  • 詳細狀態 – 變更詳細錯誤報告的狀態。 STATE 可以是開啟或關閉。此命令儲存在記憶體中。透過關閉詳細錯誤,OpenLog 將僅回應!如果發生錯誤,而不是未知命令:C OMMAND.D..T這些字元比完整錯誤更容易被嵌入式系統解析。如果您正在使用終端,則保留詳細狀態將允許您查看完整的錯誤訊息。
  • 波特率-此命令將開啟一個系統選單,允許使用者輸入波特率。支援 300bps 至 1Mbps 之間的任意波特率。波特率選擇是即時的,並且 OpenLog 需要電源循環才能使設定生效。波特率儲存到 EEPROM 中,並在 OpenLog 每次啟動時載入。預設值為 9600 8N1 。

記住: 如果電路闆卡在未知的波特率,您可以將 RX 連接到 GND 並啟動 OpenLog。 LED 將來回閃爍 2 秒,然後同時閃爍。關閉 OpenLog 電源並移除跳線。現在,透過連續三次按下轉義字元“CTRL-Z”,OpenLog 會重設為 9600bps。可以透過將緊急覆蓋位設為 1 來覆蓋此功能。有關更多信息,請參閱 config.txt。

  • 設定——此命令開啟系統選單以選擇啟動模式。這些設定將在下次開機時發生,並儲存在非揮發性 EEPROM 中。
    • 新的 File 記錄 – 此模式建立一個新的 file 每次 OpenLog 啟動時。 OpenLog 將傳輸 1(UART 處於活動狀態)、2(SD 卡已初始化),然後 <(OpenLog 已準備好接收資料)。所有資料都將記錄到 LOG#####.txt 中。每次 OpenLog 啟動時,##### 數字都會增加(最大值為 65533 個日誌)。該號碼儲存在 EEPROM 中,可以從設定選單中重設。並非所有接收到的字元都會被回顯。您可以透過發送 CTRL+z (ASCII 26) 來退出此模式並進入命令模式。所有緩衝資料都將儲存。
  • 筆記: 如果建立的日誌太多,OpenLog 將輸出錯誤**日誌太多**,請退出此模式,並轉到命令提示字元。串行輸出將類似於“12!日誌太多!”
    • 附加 File 日誌記錄-也稱為順序模式,此模式建立 file 如果不存在,則呼叫 SEQLOG.txt,並將所有接收的資料附加到 file。 OpenLog 將傳輸 12<,此時 OpenLog 已準備好接收資料。字元不回顯。您可以透過發送 CTRL+z (ASCII 26) 來退出此模式並進入命令模式。所有緩衝資料都將儲存。
    • 命令提示字元-OpenLog 將傳輸 12>,此時系統已準備好接收指令。請注意,> 符號表示 OpenLog 已準備好接收指令,而不是資料。您可以創建 files 並將數據附加到 files,但這需要一些串行解析(用於錯誤檢查),因此我們默認不設定此模式。
    • 重置新 File 數字 – 此模式將重設日誌 file 號碼為 LOG000.txt 。如果您最近清理了 microSD 卡並希望查看日誌,這將很有幫助 file 數字重新開始。
    • 新的轉義字符 – 此選項允許使用者輸入一個字符,例如 CTRL+z 或 $,並將其設定為新的轉義字符。緊急重置期間,此設定將重設為 CTRL+z。
    • 轉義字元數-此選項允許使用者輸入字元(例如 1、3 或 17),更新進入指令模式所需的轉義字元數。例如amp例如,輸入 8 將要求使用者按 CTRL+z 八次才能進入指令模式。緊急重置期間,此設定重設為 3。
  • 轉義字元說明:OpenLog 需要按 3 次「CTRL+z」才能進入指令模式的原因是為了防止從 Arduino IDE 上傳新程式碼時意外重置電路板。主機板有可能在引導過程中看到「CTRL+z」字元(這是我們在早期版本的 OpenLog 韌體中看到的一個問題),因此這旨在防止這種情況發生。如果您懷疑您的電路板因此而損壞,您可以隨時透過在加電期間將 RX 引腳接地來進行緊急重置。

配置 File

如果您不想使用串行終端修改 OpenLog 上的設置,您也可以透過修改 CONFIG.TXT 來更新設置 file.

筆記: 此功能僅在韌體版本 1.6 或更新版本中有效。如果您在 2012 年之後購買了 OpenLog,您將運行韌體版本 1.6+

  • 為此,您需要一個 microSD 卡讀卡機和一個文字編輯器。開啟 config.txt file (大寫 file 名稱無所謂),然後進行配置!如果您以前從未使用 SD 卡啟動過 OpenLog,您也可以手動建立 file。如果您先前已使用插入的 microSD 卡啟動了 OpenLog,則讀取 microSD 卡時應該會看到類似以下內容。SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(15)OpenLog 建立 config.txt 和 LOG0000.txt file 首次啟動時。
  • 默認配置 file 有一行設定和一行定義。SparkFun-DEV-13712-粒子光子-帶孔-用於焊接-圖-(16)默認配置 file 由 OpenLog 編寫。
  • 請注意,這些是常規可見字元(沒有不可見或二進位值),並且每個值都以逗號分隔。

設定定義如下:

  • baud:通訊波特率。 9600 bps 是預設值。與 Arduino IDE 相容的可接受值為 2400、4800、9600、19200、38400、57600 和 115200。您可以使用其他波特率,但您將無法透過 Arduino IDE 串列監視器與 OpenLog 通訊。
  • Escap:e 轉義字元的 ASCII 值(十進位格式)。 26 是 CTRL+z,是預設值。 36 是 $,是常用的轉義字元。
  • Esc #:所需的轉義字元數。預設情況下,它是三,因此您必須按三次轉義符才能進入命令模式。可接受的值是從 0 到 254。將此值設為 0 將完全停用轉義字元檢查。
  • 模式系統模式。 OpenLog 預設以新日誌模式( 0 )啟動。可接受的值為 0 = 新日誌、1 = 順序日誌、2 = 指令模式。
  • 動詞:詳細模式。預設情況下,擴展(詳細)錯誤訊息處於開啟狀態。將其設為 1 將開啟詳細的錯誤訊息(例如未知命令:刪除!)。將其設為 0 會關閉詳細錯誤,但會以 ! 回應。如果有錯誤。如果您嘗試處理嵌入式系統的錯誤,關閉詳細模式會很方便。
  • Echo:迴聲模式。在命令模式下,預設會回顯字元。將其設為 0 將關閉字元回顯。如果處理錯誤,關閉此功能很方便,並且您不希望發送的命令被回送到 OpenLog.II
  • iignoreRXEmergency 覆蓋。通常,當上電期間 RX 引腳被拉低時,OpenLog 將緊急重設。將其設為 1 將停用上電期間對 RX 引腳的檢查。這對於因各種原因而保持 RX 線處於低位的系統很有幫助。如果停用緊急覆蓋,您將無法強制裝置恢復至 9600bps,且配置 file 將是修改波特率的唯一方法。

OpenLog如何修改配置 File
OpenLog修改config.txt有五種不同的情況 file.

  • 配置 file 發現:在啟動過程中,OpenLog 將會尋找 config.txt file。如果 file 發現後,OpenLog 將使用包含的設定並覆蓋任何先前儲存的系統設定。
  • 無需配置 file 找到:如果 OpenLog 找不到 config.txt file 然後OpenLog將建立config.txt並將目前儲存的系統設定記錄到其中。這表示如果您插入新格式化的 microSD 卡,您的系統將保持其目前設定。
  • 配置損壞 file 發現:OpenLog 將刪除損壞的 config.txt file,並將重寫內部 EEPROM 設定和 config.txt 設定 file 到已知良好狀態 9600,26,3,0,1,1,0。
  • 配置中的非法值 file:如果 OpenLog 發現任何包含非法值的設置,OpenLog 將覆蓋 config.txt 中的損壞值 file 使用目前儲存的 EEPROM 系統設定。
  • 透過命令提示字元進行變更:如果透過命令提示字元(透過序列連接或透過微控制器序列命令)變更系統設置,則這些變更將記錄到系統 EEPROM 和 config.txt 中 file.
  • 緊急重設:如果OpenLog透過RX和GND之間的跳線進行電源循環,並且緊急覆蓋位元設定為0(允許緊急重設),OpenLog將重寫內部EEPROM設定和config.txt設置 file 變為已知良好狀態 9600,26,3,0,1,1,0 。

故障排除

有幾種不同的選項可用於檢查您是否遇到了透過序列監視器連接的問題、日誌中遺失字元的問題或與損壞的 OpenLog 作鬥爭。

檢查 STAT1 LED 行為
STAT1 LED 對兩種不同的常見錯誤表現出不同的行為。

  • 閃爍 3 次:microSD 卡初始化失敗。您可能需要在電腦上使用 FAT/FAT16 格式化該卡。
  • 5 次閃爍:OpenLog 已變更為新的波特率,需要進行電源循環。

仔細檢查子目錄結構

  • 如果您使用預設的 OpenLog.ino example,OpenLog 僅支援兩個子目錄。您需要將 FOLDER_TRACK_DEPTH 從 2 變更為您需要支援的子目錄數量。完成此操作後,重新編譯程式碼,並上傳修改後的韌體。
  • 驗證數量 File根目錄中
  • OpenLog 最多僅支援 65,534 個日誌 file位於根目錄。我們建議重新格式化您的 microSD 卡以提高記錄速度。
  • 驗證修改後的韌體的大小
  • 如果您正在為 OpenLog 編寫自訂草圖,請驗證您的草圖不大於 32,256。如果是的話,它將切入快閃記憶體的上部 500 字節,由 Optiboot 串列引導程式使用。
  • 雙重檢查 File 名稱
  • 全部 file 名稱應由字母數字組成。 MyLOG1.txt 可以,但是 Hi !e _ .txtt 可能不起作用。
  • 使用 9600 波特
  • OpenLog 在 ATmega328 上運行,並且具有有限的 RAM 數量(2048 位元組)。當您向 OpenLog 發送串列字元時,這些字元會被緩衝。 SD 組簡化規格允許 SD 卡花費最多 250 毫秒(第 4.6.2.2 節寫入)將資料區塊記錄到快閃記憶體中。
  • 在 9600bps 時,即每秒 960 位元組(每位元組 10 位元)。即每位元組 1.04 毫秒。 OpenLog 目前使用 512 位元組接收緩衝區,因此它可以緩衝大約 50 毫秒的字元。這使得 OpenLog 能夠成功接收以 9600bps 傳輸的所有字元。隨著波特率的增加,緩衝區的持續時間將會縮短。

OpenLog緩衝區溢位時間

波特率 每位元組時間 緩衝區溢位時間
9600bps 1.04毫秒 532毫秒
57600bps 0.174毫秒 88毫秒
115200bps 0.087毫秒 44毫秒

許多 SD 卡的記錄時間都快於 250 毫秒。這可能會受到卡片的「類別」以及卡片上已儲存的資料量的影響。解決方案是使用較低的波特率或增加以較高波特率發送的字元之間的時間量。

格式化您的 MicroSD 卡
記得使用信用卡 file就在上面。一張附有 3.1GB ZIP 檔案的 microSD 卡 files 或 MP3 的回應時間比空卡慢。如果您沒有在 Windows 作業系統上格式化 microSD 卡,請重新格式化 microSD 卡並建立 DOS fileSD 卡上的系統。
更換 MicroSD 卡
有許多不同類型的卡片製造商、重新貼標籤的卡片、卡片尺寸和卡片等級,它們可能無法正常工作。我們通常使用 8GB 4 級 microSD 卡,在 9600bps 下運作良好。如果您需要更高的波特率或更大的儲存空間,您可能需要嘗試 6 級或更高等級的卡片。
在字元寫入之間添加延遲
透過在 Serial.print() 語句之間新增一個小的延遲,您可以讓 OpenLog 有機會記錄其目前緩衝區。
對於前amp樂:
  • 串列.開始(115200);
    對於(int i = 1; i < 10; i ++){ 串行列印(i,DEC);串行列印(“:abcdefghijklmnopqrstuvwxyz-!#”); }

可能無法正確記錄,因為有很多字元是緊挨著發送的。在寫入大字元之間插入 15ms 的小延遲將有助於 OpenLog 記錄而不遺失字元。

  • 串列.開始(115200);
    對於(int i = 1; i < 10; i ++){ 串行列印(i,DEC);串行列印(“:abcdefghijklmnopqrstuvwxyz-!#”);延遲(15); }

添加 Arduino 串行監視器相容性

如果您嘗試將 OpenLog 與內建串列程式庫或 SoftwareSerial 程式庫一起使用,您可能會注意到命令模式有問題。 Serial.println() 傳送換行符號和回車符。有兩個替代指令可以解決這個問題。

第一種是使用 \r 指令(ASCII 回車符):
序列列印(“TEXT \ r”);

或者,您可以發送值 13(十進制回車符):

  • 序列列印(“文字”);
  • 串列寫入(13);

緊急重置

記住,如果您需要將 OpenLog 重設為預設狀態,您可以透過將 RX 引腳綁定到 GND、啟動 OpenLog、等待 LED 開始同時閃爍,然後關閉 OpenLog 電源並移除跳線來重置電路板。
如果您將緊急覆蓋位變更為 1,則需要修改配置 file,因為緊急重置將不起作用。

與社區核實

如果您仍然遇到 OpenLog 問題,請在此處查看我們的 GitHub 儲存庫中的目前問題和已關閉的問題。有一個大型社群正在使用 OpenLog,因此很可能有人已經找到了您所看到的問題的解決方案。

資源和進一步發展

現在您已經成功使用 OpenLog 記錄數據,您可以設定遠端專案並監控所有可能的數據。考慮創建您自己的公民科學項目,甚至創建寵物追蹤器來查看 Fluffy 外出時會做什麼!
查看這些額外的資源,以獲得故障排除、協助或為您的下一個專案提供靈感。

  • OpenLog GitHub
  • Illumitune 項目
  • LilyPad光感應器連接
  • BadgerHack:土壤感測器插件
  • OBD-II入門
  • 遊標光電門

需要更多靈感嗎?請參閱以下一些相關教學:

  • 光子遠程水位感測器
    了解如何為儲水箱建立遠端水位感測器以及如何根據讀數自動控制泵浦!
  • Blynk 板專案指南
    您可以在 Blynk 板上設定一系列 Blynk 項目,而無需重新編程。
  • 使用 Tessel 2 將資料記錄到 Google Sheets
    該專案涵蓋瞭如何透過兩種方式將資料記錄到 Google Sheets:使用 IFTTT 和 web 連接或 USB 驅動器,無需“sneakernet”。
  • 使用 Python 和 Matplotlib 繪製感測器數據
    使用 matplotlib 建立從連接到 Raspberry Pi 的 TMP102 感測器收集的溫度資料的即時圖。

如果您有任何教程回饋,請造訪評論或聯絡我們的技術支援團隊 TechSupport@sparkfun.com.

常見問題解答

OpenLog 的建議電源輸入是多少?

OpenLog 的建議電源輸入在 3.3V 至 5V 之間。

OpenLog 空閒時消耗多少電流?

當沒有 microSD 卡處於空閒狀態時,OpenLog 的電流大約是 2mA 到 5mA,當插入 microSD 卡時,OpenLog 的電流大約為 5mA 到 6mA。

microSD USB Reaaboutn 對 OpenLog 的用途是什麼?

microSD USB 讀取器可輕鬆將資料從與 OpenLog 一起使用的 microSD 卡傳輸到電腦。

文件/資源

SparkFun DEV-13712 粒子光子,帶孔,用於焊接 [pdf] 使用者指南
DEV-13712,DEV-13955,DEV-13712 粒子光子帶孔用於焊接,DEV-13712,粒子光子帶孔用於焊接,用於焊接的孔,用於焊接,用於焊接,焊接

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *