Logo SparkFun

SparkFun DEV-13712 Particle Photon z otworami do lutowania

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-product

Specyfikacje

  • Nazwa produktu: Rejestrator danych OpenLog
  • Model: DEV-13712
  • Wejście zasilania: 3.3 V–12 V (zalecane 3.3 V–5 V)
  • Objętość wejściowa RXItage: 2.0 V-3.8 V
  • Objętość wyjściowa TXOtage: 3.3 V
  • Pobór prądu w stanie spoczynku: ~2 mA-5 mA (bez karty microSD), ~5 mA-6 mA (z kartą microSD)
  • Pobór prądu podczas aktywnego zapisu: ~20-23 mA (z kartą microSD)

Instrukcje użytkowania produktu

Materiały potrzebne:

  • Arduino Pro Mini 328 – 3.3 V/8 MHz
  • SparkFun FTDI Basic Breakout – 3.3 V
  • Kabel USB SparkFun Cerberus – 6 stóp
  • Karta microSD z adapterem – 16 GB (klasa 10)
  • Czytnik microSD USB
  • Nagłówki żeńskie
  • Przewody połączeniowe Premium 6 M/M Opakowanie 10 szt.
  • Oderwij męskie nagłówki – kąt prosty

Polecana lektura:

Sprzęt ponadview:
OpenLog działa przy następujących ustawieniach:

Wejście VCC Wejście RXI Wyjście TXO Pobór prądu w stanie spoczynku Aktywne pisanie Aktualny pobór
3.3 V–12 V (zalecane 3.3 V–5 V) 2.0 V-3.8 V 3.3 V ~2mA-5mA (bez karty microSD), ~5mA-6mA (z kartą microSD) ~20- 23mA (z kartą microSD)

Wstęp

Uwaga! Ten samouczek dotyczy Open Log dla szeregowego UART [DEV-13712]. Jeśli używasz Qwiic OpenLog dla IC [DEV-15164], zapoznaj się z Qwiic OpenLog Hookup Guide.

OpenLog Data Logger to proste w obsłudze, otwarte rozwiązanie do rejestrowania danych szeregowych z Twoich projektów. OpenLog zapewnia prosty interfejs szeregowy do rejestrowania danych z projektu na karcie microSD.

Dziennik OpenLog SparkFun
DEV-13712

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (1)

SparkFun OpenLog z nagłówkami
DEV-13955

Nie znaleziono produktu

Materiały wymagane
Aby w pełni przepracować ten samouczek, będziesz potrzebować następujących części. Może nie będziesz potrzebować wszystkiego, w zależności od tego, co masz. Dodaj to do koszyka, przeczytaj przewodnik i dostosuj koszyk w razie potrzeby.

Przewodnik po podłączaniu OpenLog

Lista życzeń SparkFun

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (2)SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (3)

Zalecana lektura
Jeśli nie jesteś zaznajomiony z poniższymi koncepcjami lub nie czujesz się komfortowo, zalecamy zapoznanie się z nimi przed kontynuowaniem pracy z Przewodnikiem po podłączaniu OpenLog.

  • Jak lutować: Lutowanie przez otwory przelotowe. Ten samouczek obejmuje wszystko, co musisz wiedzieć o lutowaniu przez otwory przelotowe.
  • Komunikacja szeregowa Koncepcje asynchronicznej komunikacji szeregowej: pakiety, poziomy sygnału, szybkości transmisji, UART i wiele więcej!
  • Interfejs szeregowy urządzeń peryferyjnych (SPI) SPI jest powszechnie używany do łączenia mikrokontrolerów z urządzeniami peryferyjnymi, takimi jak czujniki, rejestry przesuwne i karty SD.
  • Podstawy terminala szeregowego W tym samouczku dowiesz się, jak komunikować się z urządzeniami szeregowymi, korzystając z różnych aplikacji emulujących terminale.

Sprzęt ponadview

Moc
OpenLog działa przy następujących ustawieniach:

Oceny mocy OpenLog

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (4)

Pobór prądu przez OpenLog wynosi około 20 mA do 23 mA podczas zapisu na karcie microSD. W zależności od rozmiaru karty microSD i jej producenta, pobór prądu może się różnić, gdy OpenLog zapisuje na karcie pamięci. Zwiększenie szybkości transmisji również spowoduje pobór większego prądu.

Mikrokontrolery
OpenLog działa na pokładzie ATmega328, działającym z częstotliwością 16 MHz, dzięki wbudowanemu kryształowi. ATmega328 ma załadowany bootloader Optiboot, który umożliwia OpenLog kompatybilność z
Ustawienia płytki „Arduino Uno” w Arduino IDE.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (5)

Interfejs

Szeregowy UART
Podstawowym interfejsem z OpenLog jest złącze FTDI na krawędzi płytki. Złącze to jest przeznaczone do bezpośredniego podłączenia do Arduino Pro lub Pro Mini, co pozwala mikrokontrolerowi na wysyłanie danych przez połączenie szeregowe do OpenLog.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (6)

Ostrzeżenie! Ze względu na kolejność wyprowadzeń zapewniającą kompatybilność z Arduino, nie można go podłączyć bezpośrednio do płytki FTDI.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (7)

Więcej informacji znajdziesz w następnej sekcji poświęconej podłączaniu sprzętu.

SPI

Na przeciwległym końcu płytki znajdują się również cztery punkty testowe SPI. Można ich użyć do przeprogramowania bootloadera na ATmega328.

  • SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (8)Najnowszy OpenLog (DEV-13712) rozdziela te piny na mniejsze, platerowane otwory przelotowe. Jeśli musisz użyć ISP do przeprogramowania lub przesłania nowego bootloadera do OpenLog, możesz użyć pinów pogo, aby połączyć się z tymi punktami testowymi.
  • Ostatnim interfejsem do komunikacji z OpenLog jest sama karta microSD. Aby się komunikować, karta microSD wymaga pinów SPI. To nie tylko miejsce, w którym dane są przechowywane przez OpenLog, ale można również aktualizować konfigurację OpenLog za pomocą pliku config.txt file na karcie microSD.
    Karta micro sd

Wszystkie dane rejestrowane przez OpenLog są przechowywane na karcie microSD. OpenLog współpracuje z kartami microSD, które mają następujące cechy:

  • 64MB do 32GB
  • FAT16 lub FAT32

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (9)

Na urządzeniu OpenLog znajdują się dwie diody LED stanu, które ułatwiają rozwiązywanie problemów.

  • STAT1 – Ta niebieska dioda LED jest podłączona do Arduino D5 (ATmega328 PD5) i włącza się/wyłącza, gdy odebrany zostanie nowy znak. Ta dioda LED miga, gdy działa komunikacja szeregowa.
  • STAT2 – Ta zielona dioda LED jest podłączona do Arduino D13 (SPI Serial Clock Line/ATmega328 PB5). Ta dioda LED miga tylko wtedy, gdy interfejs SPI jest aktywny. Zobaczysz, że miga, gdy OpenLog rejestruje 512 bajtów na karcie microSD.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (10)

Podłączenie sprzętu

Istnieją dwie główne metody podłączania OpenLog do obwodu. Będziesz potrzebować kilku nagłówków lub przewodów do podłączenia. Upewnij się, że lutujesz do płytki, aby uzyskać bezpieczne połączenie.

Podstawowe połączenie szeregowe

Wskazówka:Jeśli masz złącze żeńskie na OpenLog i złącze żeńskie na FTDI, do połączenia będziesz potrzebować przewodów połączeniowych M/F.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (11)

To połączenie sprzętowe jest przeznaczone do komunikacji z systemem OpenLog w przypadku konieczności przeprogramowania płytki lub rejestrowania danych przez podstawowe połączenie szeregowe.

Wykonaj następujące połączenia:
OpenLog → 3.3V FTDI Podstawowe wyjście

  • GND → GND
  • GND → GND
  • Napięcie → 3.3 V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Należy pamiętać, że nie jest to bezpośrednie połączenie między FTDI i OpenLog – należy zamienić połączenia pinów TXO i RXI.

Twoje połączenia powinny wyglądać następująco:

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (12)

Gdy już masz połączenia między OpenLog i FTDI Basic, podłącz płytkę FTDI do kabla USB i komputera. Otwórz terminal szeregowy, podłącz do portu COM swojego FTDI Basic i ruszaj do akcji!

Połączenie sprzętowe projektu

Wskazówka: Jeśli do OpenLog przylutowałeś złącza żeńskie, możesz przylutować złącza męskie do Arduino Pro Mini, aby połączyć ze sobą płytki bez konieczności używania przewodów.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (13)

Podczas gdy interfejs z OpenLog przez połączenie szeregowe jest ważny dla przeprogramowania lub debugowania, OpenLog błyszczy w projekcie wbudowanym. Ten ogólny obwód to sposób, w jaki zalecamy podłączenie OpenLog do mikrokontrolera (w tym przypadku Arduino Pro Mini), który będzie zapisywał dane szeregowe do OpenLog.

Najpierw musisz przesłać kod do Pro Mini, którego zamierzasz uruchomić. Sprawdź szkice Arduino, aby uzyskać kilka przykładówampkod, którego możesz użyć.

Notatka: Jeśli nie wiesz, jak zaprogramować Pro Mini, zapoznaj się z naszym poradnikiem dostępnym tutaj.

Korzystanie z Arduino Pro Mini 3.3V

  • Ten samouczek jest Twoim przewodnikiem po wszystkim, co dotyczy Arduino Pro Mini. Wyjaśnia, czym jest, czym nie jest i jak zacząć go używać.
  • Po zaprogramowaniu Pro Mini możesz wyjąć płytkę FTDI i zastąpić ją OpenLog. Upewnij się, że podłączyłeś piny oznaczone BLK zarówno w Pro Mini, jak i OpenLog (piny oznaczone GRN w obu będą również pasować, jeśli zrobisz to poprawnie).
  • Jeśli nie możesz podłączyć OpenLog bezpośrednio do Pro Mini (z powodu niedopasowanych złączy lub innych płytek), możesz użyć przewodów połączeniowych i wykonać następujące połączenia.

OpenLog → Arduino Pro/Arduino Pro Mini

  • GND → GND
  • GND → GND
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Po zakończeniu połączenia powinny wyglądać następująco z Arduino Pro Mini i Arduino Pro. Diagram Fritzing pokazuje OpenLogs z lustrzanym odbiciem nagłówków. Jeśli obrócisz gniazdo microSD względem górnej części Arduino, view, powinny one pasować do nagłówka programującego, takiego jak FTDI.

SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (14)

Należy pamiętać, że połączenie jest proste, a OpenLog jest „do góry nogami” (kartą microSD skierowaną do góry).

Notatka: Ponieważ Vcc i GND między OpenLog i Arduino są zajęte przez nagłówki, musisz podłączyć zasilanie do innych dostępnych pinów Arduino. W przeciwnym razie możesz przylutować przewody do odsłoniętych pinów zasilania na obu płytkach.

Uruchom system i zacznij rejestrować dane!

Szkice Arduino

Istnieje sześć różnych byłychampZawiera szkice, których można używać na Arduino po podłączeniu do OpenLog.

  • OpenLog_Benchmarking — to byłample służy do testowania OpenLog. Wysyła bardzo duże ilości danych z prędkością 115200 bps przez wiele files.
  • OpenLog_CommandTest — Ten byłyamppokazuje jak utworzyć i dołączyć file poprzez sterowanie z wiersza poleceń za pomocą Arduino.
  • Otwórz dziennik_odczytuample — Ten byłyampW tym artykule opisano, jak sterować OpenLog za pomocą wiersza poleceń.
  • Otwórz dziennik_odczytuample_DużyFile - Byłyample jak otworzyć duży magazyn file w OpenLog i raportować poprzez lokalne połączenie Bluetooth.
  • OpenLog_Test_Sketch — służy do testowania OpenLog przy użyciu dużej ilości danych szeregowych.
  • OpenLog_Test_Sketch_Binary — służy do testowania OpenLog przy użyciu danych binarnych i znaków specjalnych.

Oprogramowanie sprzętowe

OpenLog zawiera dwa podstawowe programy: bootloader i oprogramowanie sprzętowe.

Arduino Bootloader

Notatka: Jeśli używasz OpenLog zakupionego przed marcem 2012 r., wbudowany bootloader jest zgodny z ustawieniem „Arduino Pro or Pro Mini 5V/16MHz w/ ATmega328” w środowisku Arduino IDE.

  • Jak wspomniano wcześniej, OpenLog ma na pokładzie szeregowy bootloader Optiboot. Możesz traktować OpenLog tak samo jak Arduino Uno podczas przesyłania exampkod le lub nowe oprogramowanie układowe na płycie.
  • Jeśli skończy się na zablokowaniu OpenLog i konieczności ponownej instalacji bootloadera, będziesz chciał również wgrać Optiboot na płytkę. Zapoznaj się z naszym samouczkiem na temat instalowania Arduino Bootloader, aby uzyskać więcej informacji.

Kompilowanie i ładowanie oprogramowania układowego do OpenLog

Notatka: Jeżeli korzystasz z Arduino po raz pierwszy, prosimy o ponowne zapoznanie się z treściąview nasz poradnik dotyczący instalacji Arduino IDE. Jeśli wcześniej nie zainstalowałeś biblioteki Arduino, zapoznaj się z naszym przewodnikiem instalacji, aby ręcznie zainstalować biblioteki.

  • Jeśli z jakiegokolwiek powodu zajdzie potrzeba uaktualnienia lub ponownej instalacji oprogramowania sprzętowego w OpenLog, poniższa procedura pozwoli na uruchomienie płytki.
  • Najpierw pobierz Arduino IDE v1.6.5. Inne wersje IDE mogą obsługiwać kompilację oprogramowania sprzętowego OpenLog, ale zweryfikowaliśmy, że ta wersja jest znana i prawidłowa.
  • Następnie należy pobrać oprogramowanie układowe OpenLog i wymagany pakiet bibliotek.

POBIERZ PAKIET OPROGRAMOWANIA OPENLOG (ZIP)

  • Po pobraniu bibliotek i oprogramowania sprzętowego zainstaluj biblioteki w Arduino. Jeśli nie wiesz, jak ręcznie zainstalować biblioteki w IDE, zapoznaj się z naszym samouczkiem: Instalowanie biblioteki Arduino: Ręczne instalowanie biblioteki.

Notatka:

  • Używamy zmodyfikowanych wersji bibliotek SdFat i SerialPort, aby dowolnie deklarować, jak duże powinny być bufory TX i RX. OpenLog wymaga, aby bufor TX był bardzo mały (0), a bufor RX musi być jak największy.
  • Jednoczesne stosowanie tych dwóch zmodyfikowanych bibliotek pozwala na zwiększenie wydajności OpenLog.

Szukasz najnowszych wersji?
Jeśli wolisz najnowsze wersje bibliotek i oprogramowania sprzętowego, możesz pobrać je bezpośrednio z repozytoriów GitHub, do których linki znajdują się poniżej. Biblioteki SdFatLib i Serial Port nie są widoczne w menedżerze płyt Arduino, więc musisz ręcznie zainstalować bibliotekę.

  • GitHub: OpenLog > Oprogramowanie sprzętowe > OpenLog_Firmware
  • Biblioteki Arduino Billa Greimana
    • SdFatLib-beta
    • Port szeregowy
  • Następnie, aby podjąć działaniatage ze zmodyfikowanych bibliotek, zmodyfikuj SerialPort.hh file znaleziono w katalogu \Arduino\Libraries\SerialPort. Zmień BUFFERED_TX na 0 i ENABLE_RX_ERROR_CHECKING na 0. Zapisz filei otwórz Arduino IDE.
  • Jeśli jeszcze tego nie zrobiłeś, podłącz OpenLog do komputera za pomocą płytki FTDI. Sprawdź jeszcze raz exampobwód, jeśli nie jesteś pewien, jak to zrobić poprawnie.
  • Otwórz szkic OpenLog, który chcesz przesłać, w menu Narzędzia>Płytka, wybierz „Arduino/Genuino Uno”, a następnie wybierz odpowiedni port COM dla swojej płytki FTDI w menu Narzędzia>Port.
  • Prześlij kod.
  • To wszystko! Twój OpenLog jest teraz zaprogramowany nowym oprogramowaniem układowym. Możesz teraz otworzyć monitor szeregowy i wejść w interakcję z OpenLog. Po włączeniu zasilania zobaczysz 12> lub 12<. 1 oznacza, że ​​połączenie szeregowe zostało nawiązane, 2 oznacza, że ​​karta SD została pomyślnie zainicjowana, < oznacza, że ​​OpenLog jest gotowy do rejestrowania wszelkich odebranych danych szeregowych, a > oznacza, że ​​OpenLog jest gotowy do odbierania poleceń.

Szkice oprogramowania układowego OpenLog
W zależności od konkretnego zastosowania, w OpenLog możesz używać trzech dołączonych szkiców.

  • OpenLog – Ten firmware jest domyślnie dostarczany w OpenLog. Wysłanie polecenia? pokaże wersję firmware załadowaną na jednostkę.
  • OpenLog_Light – Ta wersja szkicu usuwa tryb menu i poleceń, umożliwiając zwiększenie bufora odbioru. Jest to dobra opcja do szybkiego rejestrowania.
  • OpenLog_Minimal – Szybkość transmisji musi być ustawiona w kodzie i przesłana. Ten szkic jest zalecany dla doświadczonych użytkowników, ale jest również najlepszą opcją dla rejestrowania z najwyższą prędkością.

Zestaw poleceń

Możesz połączyć się z OpenLog za pomocą terminala szeregowego. Poniższe polecenia pomogą Ci czytać, zapisywać i usuwać files, a także zmienić ustawienia OpenLog. Będziesz musiał być w trybie Command Mode, aby użyć następujących ustawień.

Gdy OpenLog jest w trybie Command Mode, STAT1 będzie włączał/wyłączał się po każdym odebranym znaku. Dioda LED pozostanie włączona do momentu odebrania następnego znaku.

  • Nowy File – Tworzy nowy file nazwany File w bieżącym katalogu. Standard 8.3 filenazwy są obsługiwane. Na przykładampnp. „87654321.123” jest dopuszczalne, natomiast „987654321.123” nie.
    • Example: nowy file1.txt
  • Dodać File – Dodaj tekst na końcu FileNastępnie dane szeregowe są odczytywane z UART w strumieniu i dodawane do file. Nie jest on odtwarzany przez terminal szeregowy. Jeśli File nie istnieje, gdy ta funkcja jest wywoływana, file zostanie utworzony.
    • Example: dodaj nowyfilePlik .csv
  • Pisać File OFFSET – Napisz tekst do File z lokalizacji OFFSET w file. Tekst jest odczytywany z UART, wiersz po wierszu i odtwarzany z powrotem. Aby wyjść z tego stanu, wyślij pustą linię.
    • Example: zapisz logi.txt 516
  • rm File – Usuwa File z bieżącego katalogu. Obsługiwane są symbole wieloznaczne.
    • Exampczytaj: rm README.txt
  • rozmiar File – Rozmiar wyjściowy File w bajtach.
    • Example: rozmiar Log112.csv
    • Wyjście: 11
  • Czytać File + START+ DŁUGOŚĆ TYP – Wyświetla zawartość File zaczynając od START i przechodząc do LENGTH. Jeśli START jest pominięty, cały file jest raportowane. Jeśli LENGTH jest pominięte, cała zawartość od punktu początkowego jest raportowana. Jeśli TYPE jest pominięte, OpenLog domyślnie będzie raportował w ASCII. Istnieją trzy wyjściowe TYPE:
    • ASCII = 1
    • HEX = 2
    • SUROWY = 3
  • Możesz pominąć niektóre argumenty końcowe. Sprawdź następujący przykładamples.
  • Podstawowe flagi odczytu + pominięcia:
    • Example: przeczytaj LOG00004.txt
    • Wyjście: Akcelerometr X=12 Y=215 Z=317
  • Odczyt od początku 0 o długości 5:
    • Example: przeczytaj LOG00004.txt 0 5
    • Wyjście: Accel
  • Odczytaj z pozycji 1 o długości 5 w systemie HEX:
    • Example: przeczytaj LOG00004.txt 1 5 2
    • Wyjście: 63 63 65 6C
  • Odczyt z pozycji 0 o długości 50 w formacie RAW:
    • Example: przeczytaj LOG00137.txt 0 50 3
    • Wyjście: André– -þ Rozszerzony test postaci
  • Kot File – Napisz treść file w kodzie szesnastkowym do monitora szeregowego viewing. Czasami pomocne jest zobaczenie, że file nagrywa prawidłowo bez konieczności wyjmowania karty SD i view ten file na komputerze.
    • Example: kot LOG00004.txt
    • Wyjście: 00000000: 41 63 65 6c 3a 20 31

Manipulacja katalogiem

  • ls – Wyświetla całą zawartość bieżącego katalogu. Obsługiwane są symbole wieloznaczne.
    • Example: ls
    • Wyjście: \src
  • md Podkatalog – Utwórz podkatalog w bieżącym katalogu.
    • Example: md Example_Szkice
  • cd Podkatalog – Zmień na podkatalog.
    • Exampczytaj: cd Hello_World
  • cd .. – Zmień na niższy katalog w drzewie. Zwróć uwagę, że jest spacja między 'cd' i '..'. Pozwala to parserowi stringów zobaczyć polecenie CD.
    • Exampczytaj: cd ..
  • rm Subdirectory – Usuwa Subdirectory. Katalog musi być pusty, aby to polecenie zadziałało.
    • Example: temps rm
  • rm -rf Katalog – usuwa katalog i wszelkie filejest w nim zawarte.
    • Example: rm -rf Biblioteki

Polecenia funkcji niskiego poziomu

  • ? – To polecenie wyświetli listę dostępnych poleceń w OpenLog.
  • Dysk – Pokaż identyfikator producenta karty, numer seryjny, datę produkcji i rozmiar karty.ampWynik jest następujący:
    • Typ karty: SD2 ID producenta: 3
    • Identyfikator OEM: SD
    • Produkt: SU01G
    • Wersja: 8.0
    • Numer seryjny: 39723042 Data produkcji: 1/2010 Rozmiar karty: 965120 KB
  • init – Reinicjalizacja systemu i ponowne otwarcie karty SD. Jest to pomocne, jeśli karta SD przestaje odpowiadać.
  • Sync – Synchronizuje bieżącą zawartość bufora z kartą SD. To polecenie jest przydatne, jeśli masz mniej niż 512 znaków w buforze i chcesz je zapisać na karcie SD.
  • Reset – Przeskakuje OpenLog do lokalizacji zero, uruchamia ponownie bootloader, a następnie kod init. To polecenie jest pomocne, jeśli musisz edytować konfigurację file, zresetuj OpenLog i zacznij używać nowej konfiguracji. Wyłączanie i ponowne włączanie zasilania jest nadal preferowaną metodą resetowania płyty, ale ta opcja jest dostępna.

Ustawienia systemowe

Ustawienia te można ręcznie aktualizować lub edytować w pliku config.txt file.

  • Echo STATE – Zmienia stan systemu i jest przechowywany w pamięci systemowej. STATE może być włączony lub wyłączony. Gdy jest włączony, OpenLog będzie wyświetlał otrzymane dane szeregowe w wierszu poleceń. Gdy jest wyłączony, system nie odczytuje otrzymanych znaków.

Notatka: Podczas normalnego rejestrowania echo będzie wyłączone. Wymagania zasobów systemowych dla echa otrzymanych danych są zbyt wysokie podczas rejestrowania.

  • Verbose STATE – Zmienia stan raportowania błędów w trybie verbose. STATE może być włączony lub wyłączony. To polecenie jest przechowywane w pamięci. Wyłączając błędy verbose, OpenLog odpowie tylko znakiem !, jeśli wystąpi błąd, zamiast nieznanego polecenia: C OMMAND.D..T. Te znaki są łatwiejsze do przeanalizowania dla systemów wbudowanych niż pełny błąd. Jeśli używasz terminala, pozostawienie verbose włączonego pozwoli Ci zobaczyć pełne komunikaty o błędach.
  • baud – To polecenie otwiera menu systemowe, w którym użytkownik może wprowadzić szybkość transmisji. Obsługiwana jest każda szybkość transmisji pomiędzy 300 bps a 1 Mbps. Wybór szybkości transmisji jest natychmiastowy, a OpenLog wymaga wyłączenia i ponownego włączenia zasilania, aby ustawienia zaczęły obowiązywać. Szybkość transmisji jest zapisywana w pamięci EEPROM i ładowana przy każdym uruchomieniu OpenLog. Wartość domyślna to 9600 8N1.

Pamiętać: Jeśli płyta utknęła w nieznanej szybkości transmisji, możesz połączyć RX z GND i włączyć OpenLog. Diody LED będą migać tam i z powrotem przez 2 sekundy, a następnie będą migać jednocześnie. Wyłącz OpenLog i usuń zworkę. OpenLog jest teraz resetowany do 9600 bps za pomocą znaku wyjścia `CTRL-Z` naciśniętego trzy razy z rzędu. Tę funkcję można pominąć, ustawiając bit Emergency Override na 1. Więcej informacji można znaleźć w pliku config.txt.

  • Set – To polecenie otwiera menu systemowe, aby wybrać tryb rozruchu. Ustawienia te zostaną wprowadzone przy następnym włączeniu zasilania i są przechowywane w nieulotnej pamięci EEPROM.
    • Nowy File Rejestrowanie – Ten tryb tworzy nowy file za każdym razem, gdy OpenLog się włącza. OpenLog prześle 1 (UART jest aktywny), 2 (karta SD jest inicjowana), następnie < (OpenLog jest gotowy do odbioru danych). Wszystkie dane zostaną zapisane w pliku LOG#####.txt. Liczba ##### zwiększa się za każdym razem, gdy OpenLog się włącza (maksymalnie 65533 logów). Liczba jest przechowywana w pamięci EEPROM i można ją zresetować z menu ustawień. Nie wszystkie odebrane znaki są wyświetlane. Możesz wyjść z tego trybu i przejść do trybu poleceń, wysyłając CTRL+z (ASCII 26). Wszystkie buforowane dane zostaną zapisane.
  • Notatka: Jeśli utworzono zbyt wiele dzienników, OpenLog wyświetli błąd **Too many logs**, wyjdzie z tego trybu i przejdzie do wiersza poleceń. Dane wyjściowe szeregowe będą wyglądać następująco: `12!Too many logs!
    • Dodać File Rejestrowanie – znany również jako tryb sekwencyjny, ten tryb tworzy file nazywany SEQLOG.txt, jeśli jeszcze go tam nie ma, i dołącza do niego wszelkie otrzymane dane. file. OpenLog prześle 12<, w którym to momencie OpenLog będzie gotowy do odbioru danych. Znaki nie są powtarzane. Możesz wyjść z tego trybu i przejść do trybu poleceń, wysyłając CTRL+z (ASCII 26). Wszystkie buforowane dane zostaną zapisane.
    • Wiersz poleceń – OpenLog prześle 12>, w którym to momencie system będzie gotowy do odbioru poleceń. Należy pamiętać, że znak > oznacza, że ​​OpenLog jest gotowy do odbioru poleceń, a nie danych. Można utworzyć filei dołącz dane do files, ale wymaga to pewnego przetwarzania szeregowego (w celu sprawdzenia błędów), więc nie ustawiamy tego trybu domyślnie.
    • Zresetuj Nowy File Numer – Ten tryb zresetuje dziennik file numer do LOG000.txt. Jest to pomocne, jeśli niedawno wyczyściłeś kartę microSD i chcesz, aby log file liczby, aby zacząć od nowa.
    • Nowy znak ucieczki – Ta opcja pozwala użytkownikowi wprowadzić znak, taki jak CTRL+z lub $, i ustawić go jako nowy znak ucieczki. To ustawienie jest resetowane do CTRL+z podczas awaryjnego resetowania.
    • Liczba znaków ucieczki – Ta opcja pozwala użytkownikowi wprowadzić znak (taki jak 1, 3 lub 17), aktualizując nową liczbę znaków ucieczki potrzebnych do przejścia do trybu poleceń. Na przykładample, wpisanie 8 będzie wymagało od użytkownika naciśnięcia CTRL+z osiem razy, aby przejść do trybu poleceń. To ustawienie jest resetowane do 3 podczas awaryjnego resetowania.
  • Wyjaśnienie znaków ucieczki: Powodem, dla którego OpenLog wymaga naciśnięcia `CTRL+z` 3 razy, aby przejść do trybu poleceń, jest zapobieganie przypadkowemu zresetowaniu płytki podczas przesyłania nowego kodu z Arduino IDE. Istnieje możliwość, że płytka zobaczy znak `CTRL+z` pojawiający się podczas ładowania (problem, który widzieliśmy we wczesnych wersjach oprogramowania układowego OpenLog), więc ma to na celu zapobiegnięcie temu. Jeśli kiedykolwiek podejrzewasz, że Twoja płytka została uszkodzona z tego powodu, zawsze możesz wykonać awaryjny reset, przytrzymując pin RX na masie podczas włączania zasilania.

Konfiguracja File

Jeśli nie chcesz używać terminala szeregowego do modyfikowania ustawień w OpenLog, możesz także zaktualizować ustawienia, modyfikując plik CONFIG.TXT file.

Notatka: Ta funkcja działa tylko w wersji oprogramowania układowego 1.6 lub nowszej. Jeśli kupiłeś OpenLog po 2012 r., będziesz używać wersji oprogramowania układowego 1.6+

  • Aby to zrobić, będziesz potrzebować czytnika kart microSD i edytora tekstu. Otwórz plik config.txt file (wielkość liter file nazwa nie ma znaczenia) i skonfiguruj! Jeśli nigdy wcześniej nie uruchamiałeś OpenLog za pomocą karty SD, możesz również ręcznie utworzyć file. Jeśli włączyłeś OpenLog z włożoną kartą microSD, po odczytaniu karty microSD powinieneś zobaczyć coś takiego.SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (15)OpenLog tworzy pliki config.txt i LOG0000.txt file przy pierwszym uruchomieniu.
  • Domyślna konfiguracja file ma jedną linię ustawień i jedną linię definicji.SparkFun-DEV-13712-Particle-Photon-With-Holes-For-Soldering-fig- (16)Domyślna konfiguracja file został napisany przez OpenLog.
  • Należy pamiętać, że są to zwykłe widoczne znaki (nie ma niewidocznych ani binarnych wartości) i każda wartość jest oddzielona przecinkiem.

Ustawienia są definiowane w następujący sposób:

  • baud : Szybkość transmisji danych komunikacji. Domyślnie 9600 bps. Dopuszczalne wartości zgodne z Arduino IDE to 2400, 4800, 9600, 19200, 38400, 57600 i 115200. Możesz użyć innych szybkości transmisji, ale nie będziesz mógł komunikować się z OpenLog za pomocą monitora szeregowego Arduino IDE.
  • Escap:e Wartość ASCII (w formacie dziesiętnym) znaku ucieczki. 26 to CTRL+z, co jest wartością domyślną. 36 to $, co jest powszechnie używanym znakiem ucieczki.
  • Esc #: Liczba wymaganych znaków ucieczki. Domyślnie jest to trzy, więc musisz nacisnąć znak ucieczki trzy razy, aby przejść do trybu poleceń. Dopuszczalne wartości to od 0 do 254. Ustawienie tej wartości na 0 całkowicie wyłączy sprawdzanie znaków ucieczki.
  • Tryb Tryb systemowy. OpenLog uruchamia się domyślnie w trybie New Log (0). Dopuszczalne wartości to 0 = New Log, 1 = Sequential Log, 2 = Command Mode.
  • Verb: Tryb verbose. Rozszerzone (verbose) komunikaty o błędach są domyślnie włączone. Ustawienie tego na 1 włącza verbose komunikaty o błędach (takie jak nieznane polecenie: remove ! ). Ustawienie tego na 0 wyłącza verbose błędy, ale odpowie ! jeśli wystąpi błąd. Wyłączenie verbose trybu jest przydatne, jeśli próbujesz obsługiwać błędy z systemu osadzonego.
  • Echo: Tryb echa. W trybie poleceń znaki są domyślnie wyświetlane. Ustawienie tej opcji na 0 wyłącza echo znaków. Wyłączenie tej opcji jest przydatne w przypadku obsługi błędów i nie chcesz, aby wysłane polecenia były wyświetlane z powrotem do OpenLog.II
  • iignoreRXEmergency Override. Zwykle OpenLog resetuje się awaryjnie, gdy pin RX jest podciągnięty do niskiego poziomu podczas włączania zasilania. Ustawienie tej opcji na 1 wyłączy sprawdzanie pinu RX podczas włączania zasilania. Może to być pomocne w systemach, które będą utrzymywać linię RX w stanie niskim z różnych powodów. Jeśli Emergency Override jest wyłączone, nie będziesz w stanie wymusić powrotu urządzenia do 9600 bps, a konfiguracja file będzie jedynym sposobem na modyfikację szybkości transmisji.

Jak OpenLog modyfikuje konfigurację File
Istnieje pięć różnych sytuacji, w których OpenLog może zmodyfikować plik config.txt file.

  • Konfiguracja file znaleziono: Podczas uruchamiania OpenLog będzie szukał pliku config.txt file. Jeśli file zostanie znaleziony, OpenLog użyje dołączonych ustawień i nadpisze wszelkie wcześniej zapisane ustawienia systemowe.
  • Brak konfiguracji file znaleziono: Jeśli OpenLog nie może znaleźć pliku config.txt file następnie OpenLog utworzy plik config.txt i zapisze w nim aktualnie zapisane ustawienia systemowe. Oznacza to, że jeśli włożysz nowo sformatowaną kartę microSD, system zachowa swoje bieżące ustawienia.
  • Uszkodzona konfiguracja file znaleziono: OpenLog usunie uszkodzony plik config.txt filei przepisze zarówno wewnętrzne ustawienia EEPROM, jak i ustawienia config.txt file do znanego dobrego stanu 9600,26,3,0,1,1,0.
  • Niedozwolone wartości w konfiguracji file:Jeśli OpenLog wykryje jakiekolwiek ustawienia zawierające nieprawidłowe wartości, OpenLog nadpisze uszkodzone wartości w pliku config.txt file z aktualnie zapisanymi ustawieniami systemowymi EEPROM.
  • Zmiany za pomocą wiersza poleceń: Jeśli ustawienia systemowe zostaną zmienione za pomocą wiersza poleceń (zarówno przez połączenie szeregowe, jak i za pomocą poleceń szeregowych mikrokontrolera), zmiany te zostaną zapisane zarówno w pamięci EEPROM systemu, jak i w pliku config.txt. file.
  • Reset awaryjny: Jeśli OpenLog zostanie wyłączony i włączony ponownie za pomocą zworki między RX i GND, a bit Emergency Override zostanie ustawiony na 0 (umożliwiając reset awaryjny), OpenLog przepisze zarówno wewnętrzne ustawienia EEPROM, jak i ustawienia z pliku config.txt file do znanego dobrego stanu 9600,26,3,0,1,1,0 .

Rozwiązywanie problemów

Jeśli masz problemy z połączeniem się przez monitor szeregowy, gubieniem znaków w logach lub niedziałającym OpenLog, możesz to sprawdzić na kilka różnych sposobów.

Sprawdź zachowanie diody LED STAT1
Dioda LED STAT1 zachowuje się inaczej w przypadku dwóch różnych typowych błędów.

  • 3 mignięcia: Karta microSD nie została zainicjowana. Może być konieczne sformatowanie karty w systemie FAT/FAT16 na komputerze.
  • 5 mignięć: OpenLog zmienił prędkość transmisji na nową i należy go wyłączyć i ponownie włączyć.

Sprawdź dwukrotnie strukturę podkatalogów

  • Jeśli używasz domyślnego pliku OpenLog.ino, np.ample, OpenLog będzie obsługiwał tylko dwa podkatalogi. Będziesz musiał zmienić FOLDER_TRACK_DEPTH z 2 na liczbę podkatalogów, które musisz obsługiwać. Po wykonaniu tej czynności ponownie skompiluj kod i prześlij zmodyfikowane oprogramowanie układowe.
  • Sprawdź liczbę Files w katalogu głównym
  • OpenLog będzie obsługiwał maksymalnie 65,534 XNUMX dzienników files w katalogu głównym. Zalecamy ponowne sformatowanie karty microSD w celu zwiększenia szybkości rejestrowania.
  • Sprawdź rozmiar zmodyfikowanego oprogramowania sprzętowego
  • Jeśli piszesz niestandardowy szkic dla OpenLog, sprawdź, czy Twój szkic nie jest większy niż 32,256 500. Jeśli tak, zajmie on górne XNUMX bajtów pamięci Flash, która jest używana przez szeregowy program ładujący Optiboot.
  • Sprawdź dwukrotnie File Nazwy
  • Wszystko file nazwy powinny być alfanumeryczne. MyLOG1.txt jest ok, ale Hi !e _ .txtt może nie działać.
  • Użyj 9600 bodów
  • OpenLog działa na ATmega328 i ma ograniczoną ilość pamięci RAM (2048 bajtów). Gdy wysyłasz znaki szeregowe do OpenLog, są one buforowane. Specyfikacja SD Group Simplified pozwala karcie SD na zapisanie bloku danych w pamięci flash w czasie do 250 ms (sekcja 4.6.2.2 Write).
  • Przy 9600 bps to 960 bajtów (10 bitów na bajt) na sekundę. To 1.04 ms na bajt. OpenLog obecnie używa 512-bajtowego bufora odbiorczego, więc może buforować około 50 ms znaków. Pozwala to OpenLog na pomyślne odbieranie wszystkich znaków nadchodzących z prędkością 9600 bps. W miarę zwiększania szybkości transmisji bufor będzie trwał krócej.

Czas przepełnienia bufora OpenLog

Szybkość transmisji Czas na bajt Czas do przepełnienia bufora
9600bps 1.04 ms 532 ms
57600bps 0.174 ms 88 ms
115200bps 0.087 ms 44 ms

Wiele kart SD ma szybszy czas nagrywania niż 250 ms. Może to być spowodowane „klasą” karty i ilością danych już zapisanych na karcie. Rozwiązaniem jest użycie niższej szybkości transmisji lub zwiększenie czasu między znakami wysyłanymi z wyższą szybkością transmisji.

Sformatuj kartę MicroSD
Pamiętaj, aby używać karty z niewielką ilością lub bez files na nim. Karta microSD z 3.1 GB ZIP files lub MP3 ma wolniejszy czas reakcji niż pusta karta. Jeśli nie sformatowałeś karty microSD w systemie Windows, sformatuj ją ponownie i utwórz DOS filesystem na karcie SD.
Zamień karty MicroSD
Istnieje wiele różnych typów producentów kart, kart z przeetykietowanymi etykietami, rozmiarów kart i klas kart, i nie wszystkie mogą działać prawidłowo. Zazwyczaj używamy karty microSD 8 GB klasy 4, która dobrze działa przy 9600 bps. Jeśli potrzebujesz wyższych prędkości transmisji lub większej przestrzeni dyskowej, możesz wypróbować karty klasy 6 lub wyższej.
Dodaj opóźnienia między zapisami znaków
Dodając niewielkie opóźnienie pomiędzy poleceniami Serial.print(), możesz dać OpenLog szansę na zapisanie bieżącego bufora.
Na przykładampna:
  • Serial.begin(115200);
    dla(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); }

może nie rejestrować się prawidłowo, ponieważ wiele znaków jest wysyłanych tuż obok siebie. Wstawienie małego opóźnienia 15 ms między zapisami dużych znaków pomoże OpenLog rejestrować bez gubienia znaków.

  • Serial.begin(115200);
    dla(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); opóźnienie(15); }

Dodaj zgodność z monitorem szeregowym Arduino

Jeśli próbujesz użyć OpenLog z wbudowaną biblioteką szeregową lub biblioteką SoftwareSerial, możesz zauważyć problemy z trybem poleceń. Serial.println() wysyła zarówno znak nowej linii, jak i powrót karetki. Istnieją dwa alternatywne polecenia, aby to obejść.

Pierwszym sposobem jest użycie polecenia \r (znak powrotu karetki w kodzie ASCII):
Serial.print(“TEKST\r”);

Alternatywnie możesz wysłać wartość 13 (powrót karetki dziesiętnej):

  • Serial.print(“TEKST”);
  • Serial.write(13);

Reset awaryjny

Pamiętaj, że jeśli musisz przywrócić domyślny stan OpenLog, możesz zresetować płytkę, podłączając pin RX do GND, włączając OpenLog, czekając, aż diody LED zaczną migać jednocześnie, a następnie wyłączając OpenLog i usuwając zworkę.
Jeśli zmieniłeś bit Emergency Override na 1, będziesz musiał zmodyfikować konfigurację file, ponieważ Reset Awaryjny nie zadziała.

Sprawdź w społeczności

Jeśli nadal masz problemy z OpenLog, sprawdź bieżące i zamknięte problemy w naszym repozytorium GitHub tutaj. Istnieje duża społeczność pracująca nad OpenLog, więc jest prawdopodobne, że ktoś znalazł rozwiązanie problemu, który widzisz.

Zasoby i dalsze działania

Teraz, gdy udało Ci się zalogować dane za pomocą OpenLog, możesz skonfigurować zdalne projekty i monitorować wszystkie możliwe przychodzące dane. Rozważ utworzenie własnego projektu Citizen Science lub nawet trackera dla zwierząt, aby zobaczyć, co Fluffy robi, gdy jest poza domem!
Sprawdź te dodatkowe zasoby, aby znaleźć pomoc, inspirację lub rozwiązać problemy przy swoim kolejnym projekcie.

  • Otwórz dziennik GitHub
  • Projekt Illumitune
  • Podłączenie czujnika światła LilyPad
  • BadgerHack: Dodatek do czujnika gleby
  • Pierwsze kroki z OBD-II
  • Bramka fotograficzna Verniera

Potrzebujesz więcej inspiracji? Sprawdź niektóre z tych powiązanych samouczków:

  • Czujnik poziomu wody Photon Remote
    Dowiedz się, jak zbudować zdalny czujnik poziomu wody w zbiorniku na wodę i jak zautomatyzować pracę pompy na podstawie odczytów!
  • Przewodnik po projekcie Blynk Board
    Seria projektów Blynk, które można skonfigurować na płytce Blynk bez konieczności ponownego programowania.
  • Rejestrowanie danych w Arkuszach Google za pomocą Tessel 2
    W tym projekcie omówiono dwa sposoby rejestrowania danych w Arkuszach Google: za pomocą IFTTT z web połączenia lub pamięci USB i „sneakernet” bez.
  • Wykres danych czujników z użyciem Pythona i Matplotlib
    Użyj biblioteki matplotlib do utworzenia wykresu w czasie rzeczywistym danych dotyczących temperatury zebranych z czujnika TMP102 podłączonego do Raspberry Pi.

Jeśli masz jakieś uwagi dotyczące samouczka, odwiedź komentarze lub skontaktuj się z naszym zespołem pomocy technicznej pod adresem Wsparcie techniczne@sparkfun.com.

Często zadawane pytania

Jakie jest zalecane napięcie wejściowe dla OpenLog?

Zalecane napięcie wejściowe dla OpenLog wynosi od 3.3 V do 5 V.

Ile prądu pobiera OpenLog, gdy jest bezczynny?

OpenLog pobiera około 2–5 mA w stanie bezczynności bez karty microSD oraz około 5–6 mA po włożeniu karty microSD.

Jaki jest cel karty microSD USB w kontekście OpenLog?

Czytnik microSD USB umożliwia łatwe przesyłanie danych z karty microSD używanej z OpenLog do komputera.

Dokumenty / Zasoby

SparkFun DEV-13712 Particle Photon z otworami do lutowania [plik PDF] Instrukcja użytkownika
DEV-13712, DEV-13955, DEV-13712 Foton cząsteczkowy z otworami do lutowania, DEV-13712, Foton cząsteczkowy z otworami do lutowania, Otwory do lutowania, Do lutowania, Lutowanie

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *