OpenLog Bağlantı Rehberi
giriiş
Dikkat! Bu eğitim seri UART için Açık Günlük içindir [ DEV-13712 ]. IC için Qwiic OpenLog kullanıyorsanız [ DEV-15164 ], lütfen Qwiic OpenLog Bağlantı Kılavuzuna bakın.
OpenLog Veri Kaydedici, projelerinizden seri verileri kaydetmek için kullanımı kolay, açık kaynaklı bir çözümdür. OpenLog, bir projeden bir microSD karta veri kaydetmek için basit bir seri arayüz sağlar.SparkFun AçıkGünlük
• DEV-13712Başlıklı SparkFun OpenLog
• DEV-13955
ürün bulunamadı
Gerekli Malzemeler
Bu eğitimi tam olarak tamamlamak için aşağıdaki parçalara ihtiyacınız olacak. Ancak, neye sahip olduğunuza bağlı olarak her şeye ihtiyacınız olmayabilir. Sepete ekleyin, kılavuzu okuyun ve sepeti gerektiği gibi ayarlayın.
OpenLog Bağlantı Rehberi SparkFun İstek Listesi
![]() |
Arduino Pro Mini 328 – 3.3V/8MHz DEV-11114 Mavi! İnce! Arduino Pro Mini! SparkFun'ın Arduino'ya yönelik minimal tasarım yaklaşımı. Bu bir 3.3V Arduino... |
![]() |
SparkFun FTDI Temel Breakout – 3.3V DEV-09873 Bu, [FTDI Basic]'imizin en yeni revizyonudurhttp://www.sparkfun.com/commerce/product_info.php?products_id=… |
![]() |
SparkFun Cerberus USB Kablosu – 6ft KABİN-12016 Yanlış USB kablosuna sahipsiniz. Hangisini kullandığınızın bir önemi yok, yanlış kablo. Peki ya şöyle olsaydı... |
![]() |
SparkFun AçıkGünlük DEV-13712 SparkFun OpenLog, basit bir seri bağlantı üzerinden çalışan ve mikroişlemcileri destekleyen açık kaynaklı bir veri kaydedicidir. |
![]() |
Adaptörlü microSD Kart – 16GB (Sınıf 10) KOM-13833 Bu, tek kartlı bilgisayarların işletim sistemlerini barındırmak için mükemmel olan 10. sınıf 16GB microSD hafıza kartıdır… |
![]() |
microSD USB Okuyucu KOM-13004 Bu harika bir küçük microSD USB okuyucu. MicroSD kartınızı USB konektörünün içine kaydırmanız yeterli... |
![]() |
Kadın Başlıkları PRT-00115 Tek sıra 40 delikli, dişi başlıklı. Bir çift tel kesici ile istenilen ölçüye kesilebilir. Standart 1 cm aralık. Kullandığımız... |
![]() |
Atlama Kabloları Premium 6″ M/M 10'lu Paket PRT-08431 Bu sadece SparkFun'a özel! Bunlar, her iki ucunda erkek konnektör bulunan 155 mm uzunluğunda jumper'lardır. Bunları kullanarak… |
![]() |
Break Away Erkek Başlıkları – Sağ Açı PRT-00553 Bir sıra dik açılı erkek başlık – uyum sağlaması için kırılabilir. Her boyutta kesilebilen 40 pin. Özel PCB'lerle veya gen… |
Önerilen Okumalar
Aşağıdaki kavramlara aşina değilseniz veya kendinizi rahat hissetmiyorsanız, OpenLog Bağlantı Rehberi'ne devam etmeden önce bunları okumanızı öneririz.
Lehimleme Nasıl Yapılır: Delikli Lehimleme
Bu eğitim, delikli lehimleme hakkında bilmeniz gereken her şeyi kapsamaktadır.
Seri Çevre Birimi Arayüzü (SPI)
SPI, mikrodenetleyicileri sensörler, kaydırma kaydedicileri ve SD kartlar gibi çevre birimlerine bağlamak için yaygın olarak kullanılır.
Seri İletişim
Asenkron seri iletişim kavramları: paketler, sinyal seviyeleri, baud hızları, UART'lar ve daha fazlası!
Seri Terminal Temelleri
Bu eğitimde çeşitli terminal emülatör uygulamalarını kullanarak seri cihazlarınızla nasıl iletişim kuracağınızı göstereceğiz.
Donanım Bittiview
Güç
OpenLog aşağıdaki ayarlarda çalışır:
OpenLog Güç Derecelendirmeleri
VCC Girişi | 3.3V-12V (Önerilen 3.3V-5V) |
RXI Girişi | 2.0V-3.8V |
TXO Çıkışı | 3.3V |
Boşta Akım Çekimi | ~2mA-5mA (microSD kart olmadan), ~5mA-6mA (microSD kart ile) |
Aktif Yazma Akım Çekimi | ~20-23mA (microSD kart ile) |
OpenLog'un akım çekimi bir microSD'ye yazarken yaklaşık 20mA ila 23mA'dır. MicroSD kartın boyutuna ve üreticisine bağlı olarak, OpenLog hafıza kartına yazarken aktif akım çekimi değişebilir. Baud hızını artırmak da daha fazla akım çekecektir.
Mikrodenetleyici
OpenLog, yerleşik kristal sayesinde 328MHz'de çalışan yerleşik bir ATmega16'den çalışır. ATmega328'de yüklü Optiboot önyükleyici bulunur ve bu da OpenLog'un Arduino IDE'deki "Arduino Uno" kart ayarıyla uyumlu olmasını sağlar.Arayüz
Seri UART
OpenLog ile birincil arayüz, kart kenarındaki FTDI başlığıdır. Bu başlık, doğrudan Arduino Pro veya Pro Mini'ye takılmak üzere tasarlanmıştır ve bu da mikrodenetleyicinin verileri seri bağlantı üzerinden OpenLog'a göndermesine olanak tanır.
Uyarı! Arduino'larla uyumlu olmasını sağlayan pin sıralaması nedeniyle doğrudan bir FTDI breakout kartına takılamaz. Daha fazla bilgi için Donanım Bağlantısı hakkındaki bir sonraki bölüme göz atmayı unutmayın.
SPI
Ayrıca kartın diğer ucunda dört adet SPI test noktası da bulunmaktadır. Bunları ATmega328'deki önyükleyiciyi yeniden programlamak için kullanabilirsiniz.En son OpenLog (DEV-13712) bu pinleri daha küçük plakalı deliklere ayırır. OpenLog'a yeni bir önyükleyiciyi yeniden programlamak veya yüklemek için bir ISP kullanmanız gerekiyorsa, bu test noktalarına bağlanmak için pogo pinlerini kullanabilirsiniz.
OpenLog ile iletişim kurmak için son arayüz microSD kartın kendisidir. İletişim kurmak için microSD kartın SPI pinlerine ihtiyacı vardır. Burası yalnızca verilerin OpenLog tarafından depolandığı yer değildir, aynı zamanda config.txt aracılığıyla OpenLog'un yapılandırmasını da güncelleyebilirsiniz file microSD kartta.
microSD Kart
OpenLog tarafından kaydedilen tüm veriler microSD kartta saklanır. OpenLog, aşağıdaki özellikleri içeren microSD kartlarla çalışır:
- 64MB to 32GB
- FAT16 veya FAT32
Durum LED'i
Sorun gidermenize yardımcı olmak için OpenLog'da iki adet durum LED'i bulunmaktadır.
- STAT1 – Bu mavi gösterge LED'i Arduino D5'e (ATmega328 PD5) bağlıdır ve yeni bir karakter alındığında açılıp kapanır. Seri iletişim çalıştığında bu LED yanıp söner.
- STAT2 – Bu yeşil LED Arduino D13'e (SPI Seri Saat Hattı/ ATmega328 PB5) bağlıdır. Bu LED yalnızca SPI arayüzü aktif olduğunda yanıp söner. OpenLog microSD karta 512 bayt kaydettiğinde yanıp söndüğünü göreceksiniz.
Donanım Bağlantısı
OpenLog'unuzu bir devreye bağlamak için iki ana yöntem vardır. Bağlamak için bazı başlıklara veya tellere ihtiyacınız olacak. Güvenli bir bağlantı için karta lehimlediğinizden emin olun.
Temel Seri Bağlantı
Uç: Eğer FTDI üzerinde dişi bir başlığınız varsa OpenLog ve dişi başlığı bağlamak için M/F bağlantı kablolarına ihtiyacınız olacak.
Bu donanım bağlantısı, kartı yeniden programlamanız veya temel bir seri bağlantı üzerinden veri kaydetmeniz gerektiğinde OpenLog ile arayüz oluşturmak için tasarlanmıştır.
Aşağıdaki bağlantıları yapın:
OpenLog → 3.3V FTDI Temel Çıkış
- YER → YER
- YER → YER
- VCC → 3.3V
- TXO → RXI
- RXI → TXO
- DTR → DTR
FTDI ile OpenLog arasında doğrudan bir bağlantı olmadığını unutmayın; TXO ve RXI pin bağlantılarını değiştirmelisiniz.
Bağlantılarınız aşağıdaki gibi görünmelidir: OpenLog ile FTDI Basic arasındaki bağlantıları yaptıktan sonra FTDI kartınızı bir USB kablosuyla bilgisayarınıza takın.
Bir seri terminal açın, FTDI Basic cihazınızın COM portuna bağlayın ve işe koyulun!
Proje Donanım Bağlantısı
Uç: Dişi başlıkları OpenLog'a lehimlediyseniz, erkek başlıkları Arduino Pro Mini'ye lehimleyerek kablolara gerek kalmadan kartları birbirine takabilirsiniz.OpenLog ile seri bağlantı üzerinden arayüz oluşturmak yeniden programlama veya hata ayıklama için önemli olsa da, OpenLog'un parladığı yer gömülü bir projedir. Bu genel devre, OpenLog'unuzu seri verileri OpenLog'a yazacak bir mikrodenetleyiciye (bu durumda bir Arduino Pro Mini) bağlamanızı önerdiğimiz yoldur.
Öncelikle çalıştırmayı planladığınız Pro Mini'nize kodu yüklemeniz gerekecek. Örnekler için Arduino Taslaklarına göz atın.ampKullanabileceğiniz kod.
Not: Pro Mini'nizi nasıl programlayacağınızdan emin değilseniz lütfen buradaki eğitimimizi inceleyin.
Arduino Pro Mini 3.3V'u kullanma
Bu eğitim, Arduino Pro Mini ile ilgili her şeye dair rehberinizdir. Ne olduğunu, ne olmadığını ve kullanmaya nasıl başlayacağınızı açıklar.
Pro Mini'nizi programladıktan sonra FTDI kartını çıkarıp yerine OpenLog kartını takabilirsiniz.
Hem Pro Mini hem de OpenLog'da BLK olarak etiketlenen pinleri bağladığınızdan emin olun (doğru yapılırsa her ikisindeki GRN olarak etiketlenen pinler de eşleşecektir).
OpenLog'u doğrudan Pro Mini'ye takamıyorsanız (uyumsuz başlıklar veya yolu tıkayan diğer kartlar nedeniyle), bağlantı kablolarını kullanarak aşağıdaki bağlantıları yapabilirsiniz.
OpenLog → Arduino Pro/Arduino Pro Mini
- YER → YER
- YER → YER
- VCC → VCC
- TXO → RXI
- RXI → TXO
- DTR → DTR
Bağlantılarınız bittiğinde Arduino Pro Mini ve Arduino Pro ile aşağıdaki gibi görünmelidir.
Fritzing diyagramı, başlıkları yansıtılmış OpenLogs'u gösterir. microSD yuvasını Arduino'nun üst kısmına göre çevirirseniz view, FTDI gibi programlama başlığıyla eşleşmelidir.
Not Bağlantının OpenLog'un "ters çevrilmiş" (microSD yukarı bakacak şekilde) düz bir şekilde yapılması.
⚡Not: OpenLog ve Arduino arasındaki Vcc ve GND başlıklar tarafından işgal edildiğinden, Arduino'da mevcut diğer pinlere güç bağlamanız gerekecektir. Aksi takdirde, her iki karttaki açık güç pinlerine kabloları lehimleyebilirsiniz.
Sisteminizi çalıştırın ve artık kayıt tutmaya başlamaya hazırsınız!
Arduino Taslakları
Altı farklı eski model varampArduino'yu OpenLog'a bağladığınızda kullanabileceğiniz çizimler eklenmiştir.
- OpenLog_Benchmarking — Bu örnekample, OpenLog'u test etmek için kullanılır. Bu, birden fazla 115200bps hızında çok büyük miktarda veri gönderir files.
- OpenLog_CommandTest — Bu örnekample, bir dosyanın nasıl oluşturulacağını ve ekleneceğini gösterir file Arduino üzerinden komut satırı kontrolü yoluyla.
- AçıkLog_ReadExample — Bu eskiampOpenLog'un komut satırı üzerinden nasıl kontrol edileceği anlatılmaktadır.
- AçıkLog_ReadExample_BüyükFile - Eskiampbüyük bir deponun nasıl açılacağına dair bir örnek file OpenLog'a kaydedin ve yerel bluetooth bağlantısı üzerinden bildirin.
- OpenLog_Test_Sketch — Çok sayıda seri veriyle OpenLog'u test etmek için kullanılır.
- OpenLog_Test_Sketch_Binary — OpenLog'u ikili veriler ve kaçış karakterleriyle test etmek için kullanılır.
Donanım yazılımı
OpenLog'un üzerinde iki adet temel yazılım parçası bulunur: önyükleyici ve aygıt yazılımı.
Arduino Önyükleyici
Not: Mart 2012'den önce satın alınmış bir OpenLog kullanıyorsanız, yerleşik önyükleyici Arduino IDE'deki “Arduino Pro veya Pro Mini 5V/16MHz w/ ATmega328” ayarıyla uyumludur.
Daha önce de belirtildiği gibi, OpenLog'da Optiboot seri önyükleyicisi bulunmaktadır. OpenLog'u, örneğin yüklerken bir Arduino Uno gibi kullanabilirsiniz.ampkarta yeni bir kod veya yazılım yükleyin.
OpenLog'unuzu bozarsanız ve önyükleyiciyi yeniden yüklemeniz gerekirse, Optiboot'u da karta yüklemek isteyeceksiniz. Daha fazla bilgi için lütfen Arduino Önyükleyicisi yükleme eğitimimize göz atın.
Ürün Yazılımını Derleme ve OpenLog'a Yükleme
Not: Arduino'yu ilk defa kullanıyorsanız lütfen tekrar deneyin.view Arduino IDE'yi yükleme eğitimimiz. Daha önce bir Arduino kütüphanesi yüklemediyseniz, lütfen kütüphaneleri manuel olarak yüklemek için kurulum kılavuzumuza göz atın.
Herhangi bir sebepten dolayı OpenLog'unuzdaki donanım yazılımını güncellemeniz veya yeniden yüklemeniz gerekirse, aşağıdaki işlem kartınızı çalışır hale getirecektir.
Öncelikle Arduino IDE v1.6.5'i indirin. IDE'nin diğer sürümleri OpenLog aygıt yazılımını derlemek için çalışabilir, ancak bunun bilinen iyi bir sürüm olduğunu doğruladık.
Daha sonra OpenLog aygıt yazılımını ve gerekli kütüphane paketini indirin.
OPENLOG ÜRÜN YAZILIMI PAKETİNİ (ZIP) İNDİR
Kütüphaneleri ve donanım yazılımını indirdikten sonra, kütüphaneleri Arduino'ya yükleyin. Kütüphaneleri IDE'ye manuel olarak nasıl yükleyeceğinizden emin değilseniz, lütfen eğitimimize göz atın: Arduino Kütüphanesi Yükleme: Kütüphaneyi Manuel Olarak Yükleme.
Not: TX ve RX tamponlarının ne kadar büyük olması gerektiğini keyfi olarak belirtmek için SdFat ve SerialPort kütüphanelerinin değiştirilmiş sürümlerini kullanıyoruz. OpenLog, TX tamponunun çok küçük (0) ve RX tamponunun mümkün olduğunca büyük olmasını gerektirir. Bu iki değiştirilmiş kütüphanenin birlikte kullanılması, OpenLog'un performansını artırır.
En Son Sürümleri mi Arıyorsunuz? Kütüphanelerin ve donanım yazılımlarının en güncel sürümlerini tercih ederseniz, bunları doğrudan aşağıdaki bağlantılarda bulunan GitHub depolarından indirebilirsiniz. SdFatLib ve Serial Port kütüphaneleri Arduino kart yöneticisinde görünmez, bu nedenle kütüphaneyi manuel olarak yüklemeniz gerekecektir.
- GitHub: OpenLog > Firmware > OpenLog_Firmware
- Bill Greiman'ın Arduino Kütüphaneleri
SdFatLib-beta
Seri Bağlantı Noktası
Sonra, avantaj elde etmek içintagDeğiştirilen kütüphanelerden SerialPort.h'yi değiştirin file \Arduino\Libraries\SerialPort dizininde bulundu. BUFFERED_TX'i 0 ve ENABLE_RX_ERROR_CHECKING'i 0 olarak değiştirin. fileve Arduino IDE'sini açın.
Eğer henüz yapmadıysanız, OpenLog'unuzu bir FTDI kartı aracılığıyla bilgisayara bağlayın. Lütfen ex'i iki kez kontrol edinampBunu nasıl düzgün bir şekilde yapacağınızdan emin değilseniz devreyi kullanın.
Yüklemek istediğiniz OpenLog taslağını Araçlar>Kart menüsü altında açın, “Arduino/Genuino Uno” seçeneğini seçin ve Araçlar>Port altında FTDI kartınız için uygun COM portunu seçin.
Kodu yükleyin.
İşte bu kadar! OpenLog'unuz artık yeni aygıt yazılımıyla programlandı. Artık bir seri monitör açabilir ve OpenLog ile etkileşime girebilirsiniz. Güç açıldığında, 12> veya 12< göreceksiniz. 1 seri bağlantının kurulduğunu, 2 SD kartın başarıyla başlatıldığını, < OpenLog'un alınan herhangi bir seri veriyi kaydetmeye hazır olduğunu ve > OpenLog'un komutları almaya hazır olduğunu gösterir.
OpenLog Ürün Yazılımı Taslakları
Özel uygulamanıza bağlı olarak OpenLog'da kullanabileceğiniz üç adet taslak bulunmaktadır.
- OpenLog – Bu aygıt yazılımı varsayılan olarak OpenLog'da gelir. ? komutu gönderildiğinde, bir üniteye yüklenen aygıt yazılımı sürümü gösterilir.
- OpenLog_Light – Taslağın bu sürümü menü ve komut modunu kaldırarak alma tamponunun artırılmasına olanak tanır. Bu, yüksek hızlı günlük kaydı için iyi bir seçenektir.
- OpenLog_Minimal – Baud hızı kodda ayarlanmalı ve yüklenmelidir. Bu taslak deneyimli kullanıcılar için önerilir ancak aynı zamanda en yüksek hızda günlük kaydı için en iyi seçenektir.
Komut Seti
OpenLog ile seri bir terminal üzerinden arayüz kurabilirsiniz. Aşağıdaki komutlar okuma, yazma ve silme konusunda size yardımcı olacaktır files, OpenLog ayarlarını da değiştirebilirsiniz. Aşağıdaki ayarları kullanmak için Komut Modunda olmanız gerekir.
OpenLog Komut Modundayken, STAT1 alınan her karakter için açılıp/kapanacaktır. LED, bir sonraki karakter alınana kadar açık kalacaktır.
File Manipülasyon
- yeni File – Yeni bir tane oluşturur file adlandırılmış File geçerli dizinde. Standart 8.3 fileisimler desteklenmektedir.
ÖrneğinampÖrneğin, “87654321.123” kabul edilebilirken, “987654321.123” kabul edilemez.
• Eskiample: yeni file1.txt - eklemek File – Metni sonuna ekle File. Seri veriler daha sonra UART'tan bir akış halinde okunur ve eklenir file. Seri terminal üzerinden yankılanmaz. Eğer File Bu fonksiyon çağrıldığında mevcut değilse, file yaratılacak.
• Eskiample: yeni eklefile.csv - yazmak File OFFSET – Metni yaz File OFFSET konumundan itibaren file. Metin UART'tan satır satır okunur ve yankılanır. Bu durumdan çıkmak için boş bir satır gönderin.
• Eskiample: logs.txt 516'yı yaz - rm File – Siler File geçerli dizinden. Joker karakterler desteklenmektedir.
• Eskiample: rm README.txt - boyut File – Çıktı boyutu File bayt cinsinden.
• Eskiample: boyut Log112.csv
• Çıktı: 11 - Okumak File + BAŞLAT+ UZUNLUK TÜRÜ – İçeriğin çıktısını alın File BAŞLANGIÇ'tan başlayıp UZUNLUĞA doğru ilerlenir.
BAŞLAT atlanırsa, tüm file bildirilir. LENGTH atlanırsa, başlangıç noktasından itibaren tüm içerikler bildirilir. TYPE atlanırsa, OpenLog varsayılan olarak ASCII'de raporlamaya geçer. Üç çıkış TYPE'si vardır:
• ASCII = 1
• HEX = 2
• HAM = 3
Bazı ek argümanları çıkarabilirsiniz. Aşağıdaki örneği kontrol edinamples.
Temel okuma + atlanan bayraklar:
• Eskiample: LOG00004.txt'yi oku
• Çıktı: İvmeölçer X=12 Y=215 Z=317
0'dan başlayarak 5 uzunluğunda oku:
• Eskiample: LOG00004.txt'yi oku 0 5
• Çıktı: Hızlanma
1. pozisyondan itibaren HEX'te 5 uzunluğunda okuyun:
• Eskiample: LOG00004.txt'yi oku 1 5 2
• Çıkış: 63 63 65 6C - RAW'da 0 uzunluğundaki 50 pozisyonundan itibaren okuyun:
- • Eskiample: LOG00137.txt'yi oku 0 50 3
- • Çıktı: André– -þ Genişletilmiş Karakter Testi
- kedi File – Bir içeriği yazın file seri monitöre onaltılık olarak viewBazen bir şeyin doğru olup olmadığını görmek faydalıdır. file SD kartını çıkarmaya gerek kalmadan doğru şekilde kayıt yapıyor ve view , file bilgisayarda.
• Eskiampdosya: cat LOG00004.txt
• Çıktı: 00000000: 41 63 65 6c 3a 20 31
Dizin Manipülasyonu
- ls – Geçerli dizinin tüm içeriklerini listeler. Joker karakterler desteklenir.
• EskiampTürkçe: ls
• Çıktı: \src - md Alt Dizin – Geçerli dizinde Alt Dizin Oluştur.
• Eskiample: md Eskiample_Çizimler - cd Alt Dizin – Alt Dizine Geç.
• Eskiample: cd Hello_World - cd .. – Ağaçta daha alt bir dizine geçin. 'cd' ve '..' arasında bir boşluk olduğunu unutmayın. Bu, dize ayrıştırıcısının cd komutunu görmesini sağlar.
• EskiampTürkçe: cd .. - rm Alt Dizin – Alt Dizini Siler. Bu komutun çalışması için dizinin boş olması gerekir.
• Eskiample: rm zamanları - rm -rf Dizin – Dizin ve diğer öğeleri siler fileİçerisinde bulunan.
• Eskiample: rm -rf Kütüphaneler
Düşük Seviyeli Fonksiyon Komutları
- ? – Bu komut OpenLog'da bulunan kullanılabilir komutların listesini getirir.
- disk – Kart üreticisinin kimliğini, seri numarasını, üretim tarihini ve kart boyutunu gösterir. Örn.ampÇıktı şu şekildedir:
Kart türü: SD2
Üretici Kimliği: 3
OEM Kimliği: SD
Ürün: SU01G
Sürüm: 8.0
Seri numarası: 39723042
Üretim tarihi: 1/2010
Kart Boyutu: 965120 KB - init – Sistemi yeniden başlat ve SD kartı yeniden aç. SD kart yanıt vermeyi durdurursa bu yardımcı olur.
- sync – Arabellekteki mevcut içeriği SD kartla senkronize eder. Bu komut, arabellekte 512'den az karakter varsa ve bunları SD karta kaydetmek istiyorsanız kullanışlıdır.
- Sıfırla – OpenLog'u sıfır konumuna atlar, önyükleyiciyi yeniden çalıştırır ve ardından kodu başlatır. Bu komut, yapılandırmayı düzenlemeniz gerektiğinde faydalıdır. file, OpenLog'u sıfırlayın ve yeni yapılandırmayı kullanmaya başlayın. Güç döngüsü hala kartı sıfırlamak için tercih edilen yöntemdir, ancak bu seçenek mevcuttur.
Sistem Ayarları
Bu ayarlar manuel olarak güncellenebilir veya config.txt dosyasında düzenlenebilir. file.
- echo STATE – Sistem echo'nun durumunu değiştirir ve sistem belleğinde saklanır. STATE açık veya kapalı olabilir. Açıkken, OpenLog alınan seri verileri komut isteminde yankılar. Kapalıyken, sistem alınan karakterleri geri okumaz.
Not: Normal kayıt sırasında yankı kapatılacaktır. Kayıt sırasında alınan verilerin yankılanması için sistem kaynak gereksinimleri çok yüksektir. - ayrıntılı STATE – Ayrıntılı hata bildiriminin durumunu değiştirir. STATE açık veya kapalı olabilir. Bu komut bellekte saklanır. Ayrıntılı hataları kapatarak, OpenLog bilinmeyen komut yerine bir hata varsa yalnızca ! ile yanıt verir: COMMAND . ! karakteri gömülü sistemler için tam hatadan daha kolay ayrıştırılır. Bir terminal kullanıyorsanız, ayrıntılıyı açık bırakmak tam hata mesajlarını görmenizi sağlar.
- baud – Bu komut, kullanıcının bir baud hızı girmesine izin veren bir sistem menüsü açacaktır. 300 bps ile 1 Mbps arasındaki herhangi bir baud hızı desteklenir. Baud hızı seçimi anında yapılır ve ayarların etkili olması için OpenLog'un bir güç döngüsüne ihtiyacı vardır. Baud hızı EEPROM'a kaydedilir ve OpenLog her açıldığında yüklenir. Varsayılan değer 9600 8N1'dir.
Unutmayın: Kart bilinmeyen bir baud hızında takılırsa, RX'i GND'ye bağlayıp OpenLog'u çalıştırabilirsiniz. LED'ler 2 saniye boyunca ileri geri yanıp sönecek ve ardından aynı anda yanıp sönecektir. OpenLog'u kapatın ve jumper'ı çıkarın. OpenLog artık `CTRL-Z` kaçış karakterine üç kez üst üste basılarak 9600 bps'ye sıfırlandı. Bu özellik, Acil Durum Geçersiz Kılma biti 1 olarak ayarlanarak geçersiz kılınabilir.
Daha fazla bilgi için config.txt dosyasına bakın.
- set – Bu komut, önyükleme modunu seçmek için bir sistem menüsü açar. Bu ayarlar,
• bir sonraki açılışta ve kalıcı olmayan EEPROM'da saklanır. Yeni File Günlük Kaydı – Bu mod yeni bir günlük kaydı oluşturur file OpenLog her açıldığında. OpenLog 1 (UART aktif), 2 (SD kart başlatılmış) ve ardından < (OpenLog veri almaya hazır) iletir. Tüm veriler bir LOG#####.txt dosyasına kaydedilir. ##### sayısı OpenLog her açıldığında artar (maksimum 65533 günlüktür). Sayı EEPROM'da saklanır ve ayar menüsünden sıfırlanabilir.
Alınan tüm karakterler yankılanmaz. CTRL+z (ASCII 26) tuşlarını kullanarak bu moddan çıkıp komut moduna geçebilirsiniz. Arabelleğe alınan tüm veriler saklanacaktır.
Not: Çok fazla günlük oluşturulduysa, OpenLog **Çok fazla günlük** hatasını verecektir, bu moddan çıkın ve Komut İstemi'ne geçin. Seri çıktı `12! Çok fazla günlük!` şeklinde görünecektir.
- Ekle File Günlük Kaydı – Sıralı mod olarak da bilinen bu mod, bir file Eğer orada yoksa SEQLOG.txt olarak adlandırılır ve alınan tüm verileri SEQLOG.txt'ye ekler file. OpenLog, 12< iletecektir ve bu sırada OpenLog veri almaya hazır olacaktır. Karakterler yankılanmayacaktır. Bu moddan çıkıp CTRL+z (ASCII 26) göndererek komut moduna girebilirsiniz. Tüm arabellekli veriler saklanacaktır.
- Komut İstemi – OpenLog, sistemin komutları almaya hazır olduğu 12> değerini iletir. > işaretinin OpenLog'un veri değil komutları almaya hazır olduğunu gösterdiğini unutmayın. files ve veriyi ekle files, ancak bu bazı seri ayrıştırmalar (hata kontrolü için) gerektirir, bu yüzden bu modu varsayılan olarak ayarlamıyoruz.
- Sıfırla Yeni File Sayı – Bu mod günlüğü sıfırlayacaktır file LOG000.txt numarasına. Bu, yakın zamanda bir microSD kartı temizlediyseniz ve günlüğü istiyorsanız yararlıdır file tekrar başlamak için sayılar.
- Yeni Kaçış Karakteri – Bu seçenek, kullanıcının CTRL+z veya $ gibi bir karakter girmesine ve bunu yeni kaçış karakteri olarak ayarlamasına olanak tanır. Bu ayar, acil sıfırlama sırasında CTRL+z olarak sıfırlanır.
- Kaçış Karakteri Sayısı – Bu seçenek kullanıcının bir karakter girmesine (örneğin 1, 3 veya 17) olanak tanır ve komut moduna düşmek için gereken kaçış karakteri sayısını günceller. Örneğinample, 8 girildiğinde kullanıcının komut moduna geçmek için CTRL+z'ye sekiz kez basması gerekecektir. Bu ayar acil sıfırlama sırasında 3'e sıfırlanır.
Kaçış Karakterleri Açıklaması: OpenLog'un komut moduna girmek için 3 kez `CTRL+z` tuşuna basılmasını gerektirmesinin nedeni, Arduino IDE'sinden yeni kod yüklenirken kartın yanlışlıkla sıfırlanmasını önlemektir. Kartın önyükleme sırasında `CTRL+z` karakterini görme olasılığı vardır (OpenLog yazılımının ilk sürümlerinde gördüğümüz bir sorun), bu nedenle bu özellik bunu önlemeyi amaçlamaktadır. Kartınız bu nedenle kullanılamaz hale geldiğinden şüphelenirseniz, güç açılırken RX pinini toprağa tutarak acil durum sıfırlaması yapabilirsiniz.
Yapılandırma File
OpenLog'unuzdaki ayarları değiştirmek için seri terminali kullanmak istemiyorsanız, CONFIG.TXT'yi değiştirerek ayarları güncelleyebilirsiniz. file.
Not: Bu özellik yalnızca 1.6 veya daha yeni donanım yazılımı sürümlerinde çalışır. 2012'den sonra bir OpenLog satın aldıysanız, 1.6 ve üzeri donanım yazılımı sürümünü çalıştırıyor olacaksınız.
Bunu yapmak için bir microSD kart okuyucusuna ve bir metin düzenleyicisine ihtiyacınız olacak. config.txt dosyasını açın file (büyük harf kullanımı) file isim önemli değil) ve yapılandırın! OpenLog'unuzu daha önce SD kartla hiç çalıştırmadıysanız, manuel olarak da oluşturabilirsiniz file. Daha önce microSD kart takılıyken OpenLog'u çalıştırdıysanız, microSD kartı okuduğunuzda aşağıdakine benzer bir şey görmelisiniz.OpenLog bir config.txt ve LOG0000.txt oluşturur file ilk açılışta.
Varsayılan yapılandırma file bir satır ayar ve bir satır tanımdan oluşur.Varsayılan yapılandırma file OpenLog tarafından yazılmıştır.
Bunların normal görünür karakterler olduğunu (görünmeyen veya ikili değerler yoktur) ve her değerin virgülle ayrıldığını unutmayın.
Ayarlar aşağıdaki şekilde tanımlanmıştır:
- baud: İletişim baud hızı. Varsayılan değer 9600 bps'dir. Arduino IDE ile uyumlu kabul edilebilir değerler 2400, 4800, 9600, 19200, 38400, 57600 ve 115200'dür. Diğer baud hızlarını kullanabilirsiniz, ancak Arduino IDE seri monitörü aracılığıyla OpenLog ile iletişim kuramazsınız.
- escape : Kaçış karakterinin ASCII değeri (ondalık formatta). 26, CTRL+z'dir ve varsayılan değerdir. 36, $'dır ve yaygın olarak kullanılan bir kaçış karakteridir.
- esc# : Gerekli kaçış karakteri sayısı. Varsayılan olarak üçtür, bu nedenle komut moduna geçmek için kaçış karakterine üç kez basmanız gerekir. Kabul edilebilir değerler 0 ile 254 arasındadır. Bu değeri 0 olarak ayarlamak, kaçış karakteri denetimini tamamen devre dışı bırakır.
- mod : Sistem modu. OpenLog varsayılan olarak Yeni Günlük modunda (0) başlar. Kabul edilebilir değerler 0 = Yeni Günlük, 1 = Sıralı Günlük, 2 = Komut Modu'dur.
- fiil: Ayrıntılı mod. Genişletilmiş (ayrıntılı) hata mesajları varsayılan olarak açıktır. Bunu 1 olarak ayarlamak ayrıntılı hata mesajlarını açar (bilinmeyen komut: remove ! gibi). Bunu 0 olarak ayarlamak ayrıntılı hataları kapatır ancak bir hata varsa ! ile yanıt verir. Ayrıntılı modu kapatmak, gömülü bir sistemden kaynaklanan hataları işlemeye çalışıyorsanız kullanışlıdır.
- echo : Echo modu. Komut modundayken, karakterler varsayılan olarak yankılanır. Bunu 0 olarak ayarlamak karakter yankısını kapatır. Bunu kapatmak, hataları ele alıyorsanız ve gönderilen komutların OpenLog'a yankılanmasını istemiyorsanız kullanışlıdır.
- ignoreRX: Acil Durum Geçersiz Kılma. Normalde, OpenLog güç açma sırasında RX pimi düşük çekildiğinde acil durum sıfırlaması yapacaktır. Bunu 1'e ayarlamak güç açma sırasında RX piminin denetimini devre dışı bırakacaktır. Bu, çeşitli nedenlerle RX hattını düşük tutacak sistemler için yararlı olabilir. Acil Durum Geçersiz Kılma devre dışı bırakılırsa, üniteyi 9600bps'ye geri zorlayamazsınız ve yapılandırma file baud hızını değiştirmenin tek yolu bu olacaktır.
OpenLog Yapılandırmayı Nasıl Değiştirir File
OpenLog'un config.txt'yi değiştirmesi için beş farklı durum vardır file.
- Yapılandırma file bulundu: Güç açıldığında, OpenLog bir config.txt arayacaktır fileEğer file bulunursa, OpenLog eklenen ayarları kullanacak ve daha önce depolanan sistem ayarlarının üzerine yazacaktır.
- Yapılandırma yok file bulundu: OpenLog config.txt dosyasını bulamazsa file ardından OpenLog config.txt dosyasını oluşturacak ve şu anda depolanan sistem ayarlarını buna kaydedecektir. Bu, yeni biçimlendirilmiş bir microSD kart takarsanız sisteminizin mevcut ayarlarını koruyacağı anlamına gelir.
- Bozuk yapılandırma file bulundu: OpenLog bozuk config.txt dosyasını silecek fileve hem dahili EEPROM ayarlarını hem de config.txt ayarlarını yeniden yazacaktır file 9600,26,3,0,1,1,0 bilinen iyi durumuna.
- Yapılandırmada yasa dışı değerler file: OpenLog, yasadışı değerler içeren herhangi bir ayar tespit ederse, OpenLog config.txt dosyasındaki bozuk değerlerin üzerine yazacaktır file şu anda depolanan EEPROM sistem ayarlarıyla.
- Komut istemi aracılığıyla yapılan değişiklikler: Sistem ayarları komut istemi aracılığıyla değiştirilirse (seri bağlantı üzerinden veya mikrodenetleyici seri komutları aracılığıyla) bu değişiklikler hem sistem EEPROM'una hem de config.txt dosyasına kaydedilir. file.
- Acil Durum Sıfırlaması: OpenLog, RX ve GND arasında bir jumper ile güç döngüsüne tabi tutulursa ve Acil Durum Geçersiz Kılma biti 0 olarak ayarlanırsa (acil durum sıfırlamasına izin verir), OpenLog hem dahili EEPROM ayarlarını hem de config.txt ayarlarını yeniden yazar file 9600,26,3,0,1,1,0 bilinen iyi durumuna.
Sorun giderme
Seri monitör üzerinden bağlantı sorunları mı yaşıyorsunuz, günlüklerde karakter düşmesi sorunları mı yaşıyorsunuz, yoksa bozuk bir OpenLog ile mi mücadele ediyorsunuz, kontrol etmek için kullanabileceğiniz birkaç farklı seçenek bulunmaktadır.
STAT1 LED Davranışını Kontrol Edin
STAT1 LED'i iki farklı yaygın hata için farklı davranış göstermektedir.
- 3 Yanıp Sönme: microSD kart başlatılamadı. Kartı bir bilgisayarda FAT/FAT16 ile biçimlendirmeniz gerekebilir.
- 5 Yanıp Sönme: OpenLog yeni bir baud hızına geçti ve güç döngüsüne alınması gerekiyor.
Alt Dizin Yapısını İki Kez Kontrol Edin
Varsayılan OpenLog.ino örneğini kullanıyorsanızample, OpenLog yalnızca iki alt dizini destekleyecektir. FOLDER_TRACK_DEPTH'i 2'den desteklemeniz gereken alt dizin sayısına değiştirmeniz gerekecektir. Bunu yaptıktan sonra, kodu yeniden derleyin ve değiştirilmiş aygıt yazılımını yükleyin.
Sayıyı Doğrulayın FileKök Dizin'deki s
OpenLog yalnızca 65,534'e kadar günlük kaydını destekleyecektir fileKök dizinde s. Kayıt hızını artırmak için microSD kartınızı yeniden biçimlendirmenizi öneririz.
Değiştirilmiş Ürün Yazılımınızın Boyutunu Doğrulayın
OpenLog için özel bir taslak yazıyorsanız, taslağınızın 32,256'dan büyük olmadığını doğrulayın. Eğer öyleyse, Optiboot seri önyükleyicisi tarafından kullanılan Flash belleğin üst 500 baytını kesecektir.
Çift Kontrol File İsimler
Tüm file isimler alfa-nümerik olmalıdır. MyLOG1.txt uygundur, ancak Hi !e _.txt çalışmayabilir.
9600 Baud kullanın
OpenLog, ATmega328'den çalışır ve sınırlı miktarda RAM'e (2048 bayt) sahiptir. Seri karakterleri OpenLog'a gönderdiğinizde, bu karakterler arabelleğe alınır. SD Group Simplified Specification, bir SD kartın flaş belleğe bir veri bloğunu kaydetmesi için 250 ms'ye kadar (bölüm 4.6.2.2 Yazma) süre almasına izin verir.
9600bps'de, bu saniyede 960 bayt (bayt başına 10 bit) demektir. Bu bayt başına 1.04ms'dir. OpenLog şu anda 512 baytlık bir alma tamponu kullanır, böylece yaklaşık 50ms karakter tamponlayabilir. Bu, OpenLog'un 9600bps'de gelen tüm karakterleri başarıyla almasını sağlar. Baud hızını artırdıkça, tampon daha az süre dayanır.
OpenLog Arabellek Taşma Süresi
Baud Hızı | Bayt başına zaman | Arabellek Taşana Kadar Geçen Süre |
9600bps | 1.04ms | 532ms |
57600bps | 0.174ms | 88ms |
115200bps | 0.087ms | 44ms |
Birçok SD kartın 250 ms'den daha hızlı bir kayıt süresi vardır. Bu, kartın 'sınıfından' ve kartta halihazırda ne kadar veri depolandığından etkilenebilir. Çözüm, daha düşük bir baud hızı kullanmak veya daha yüksek baud hızında gönderilen karakterler arasındaki zaman miktarını artırmaktır.
MicroSD Kartınızı Biçimlendirin
Az sayıda veya hiç olmayan bir kart kullanmayı unutmayın fileüzerinde 3.1 GB değerinde ZIP içeren bir microSD kart files veya MP3'lerin tepki süresi boş karta göre daha yavaştır.
MicroSD kartınızı bir Windows işletim sisteminde biçimlendirmediyseniz, microSD kartı yeniden biçimlendirin ve bir DOS oluşturun fileSD karttaki sistem.
MicroSD Kartları Değiştirin
Birçok farklı kart üreticisi, yeniden etiketlenmiş kart, kart boyutu ve kart sınıfı vardır ve bunların hepsi düzgün çalışmayabilir. Genellikle 8bps'de iyi çalışan 4GB sınıf 9600 microSD kart kullanırız. Daha yüksek baud hızlarına veya daha büyük depolama alanına ihtiyacınız varsa, sınıf 6 veya üzeri kartları deneyebilirsiniz.
Karakter Yazmaları Arasında Gecikmeler Ekleyin
Serial.print() ifadeleri arasına küçük bir gecikme ekleyerek, OpenLog'a mevcut durumunu kaydetme şansı verebilirsiniz.
tampon.
Örneğinamptarih:
Seri.başla(115200);
int i = 1; i < 10; i++) için {
Seri.print(i, DEC);
Seri.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
}
Birbirinin hemen yanında gönderilen çok sayıda karakter olduğundan düzgün bir şekilde günlük kaydı tutmayabilir. Büyük karakter yazmaları arasına 15ms'lik küçük bir gecikme eklemek, OpenLog'un karakterleri düşürmeden kayıt yapmasına yardımcı olacaktır.
Seri.başla(115200);
int i = 1; i < 10; i++) için {
Seri.print(i, DEC);
Seri.println(“:abcdefghijklmnopqrstuvwxyz-!#”);
gecikme(15);
}
Arduino Seri Monitör Uyumluluğunu Ekle
OpenLog'u yerleşik seri kitaplığı veya SoftwareSerial kitaplığıyla kullanmaya çalışıyorsanız, komut modunda sorunlar fark edebilirsiniz. Serial.println() hem yeni satır hem de satır başı gönderir. Bunu aşmak için iki alternatif komut vardır.
Birincisi, \r komutunu (ASCII satır başı) kullanmaktır:
Seri.print(“METİN\r”);
Alternatif olarak, 13 değerini (ondalık satır başı) gönderebilirsiniz:
Seri.print(“METİN”);
Seri.write(13);
Acil Durum Sıfırlama
Unutmayın, OpenLog'u varsayılan bir duruma sıfırlamanız gerekirse, RX pinini GND'ye bağlayarak, OpenLog'u çalıştırarak, LED'ler aynı anda yanıp sönmeye başlayana kadar bekleyerek ve ardından OpenLog'u kapatıp jumper'ı çıkararak kartı sıfırlayabilirsiniz.
Acil Durum Geçersiz Kılma bitini 1 olarak değiştirdiyseniz, yapılandırmayı değiştirmeniz gerekecektir fileAcil Durum Sıfırlaması çalışmayacağından.
Topluluğa danışın
OpenLog'unuzla ilgili hala sorun yaşıyorsanız lütfen GitHub havuzumuzdaki güncel ve kapalı sorunları buradan inceleyin. OpenLog ile çalışan büyük bir topluluk var, bu nedenle büyük ihtimalle birileri gördüğünüz sorun için bir çözüm bulmuştur.
Kaynaklar ve Daha İleriye Gitmek
Artık OpenLog'unuzla verileri başarıyla kaydettiğinize göre, uzaktan projeler kurabilir ve gelen tüm olası verileri izleyebilirsiniz. Kendi Citizen Science projenizi veya hatta Fluffy'nin dışarıdayken ne yaptığını görmek için bir evcil hayvan takip cihazı oluşturmayı düşünün!
Bir sonraki projeniz için sorun giderme, yardım veya ilham almak amacıyla bu ek kaynaklara göz atın.
- AçıkGünlük GitHub
- Illumitune Projesi
- LilyPad Işık Sensörü Bağlantısı
- BadgerHack: Toprak Sensörü Eklentisi
- OBD-II'ye Başlarken
- Vernier Fotokapı
Biraz daha ilhama mı ihtiyacınız var? İlgili bazı eğitimlere göz atın:
Foton Uzaktan Su Seviye Sensörü
Bir su depolama tankı için uzaktan su seviyesi sensörünün nasıl yapılacağını ve okumalara göre bir pompanın nasıl otomatikleştirileceğini öğrenin!
Foton Uzaktan Su Seviye Sensörü
Bir su depolama tankı için uzaktan su seviyesi sensörünün nasıl yapılacağını ve okumalara göre bir pompanın nasıl otomatikleştirileceğini öğrenin!
Tessel ile Google E-Tablolarına Veri Kaydı Yapma 2
Bu proje, IFTTT kullanarak Google E-Tablolar'a veri kaydetmenin iki yolunu ele alıyor: web bağlantısı veya bir USB bellek ve “sneakernet” olmadan.
Python ve Matplotlib ile Sensör Verilerini Grafikleme
Raspberry Pi'ye bağlı bir TMP102 sensöründen toplanan sıcaklık verilerinin gerçek zamanlı bir grafiğini oluşturmak için matplotlib'i kullanın.
Herhangi bir eğitim geri bildiriminiz varsa lütfen yorumları ziyaret edin veya teknik destek ekibimizle iletişime geçin. Teknik Destek@sparkfun.com.
Belgeler / Kaynaklar
![]() |
SparkFun DEV-13712 SparkFun Geliştirme Kartları [pdf] Kullanıcı Kılavuzu DEV-13712, DEV-11114, DEV-09873, CAB-12016, COM-13833, COM-13004, PRT-00115, PRT-08431, DEV-13712 SparkFun Geliştirme Kartları, DEV-13712, SparkFun Geliştirme Kartları, Geliştirme Kartları, Kartlar |