px-lib  0.8.3 dev
Cross-platform embedded library and documentation for 8/16/32-bit microcontrollers
Temp&Pressure Data Logger Application

1. Introduction

This is a temperature and pressure data logger app for the Piconomix ATmega328P Scorpion Board. An Electrodragon BMP280 breakout board must be connected via the breakout header. See CLI Explorer, I2C section for an easy test to verify that it has been wired correctly.

scorpion_board_i2c_slave_bmp280.jpg
Electrodragon BMP280 breakout board connected to I2C

Reference:

Here is an example of collected data:

scorpion_board_log_temp_pressure_graph.png
Temperature & Pressure graph

2. Command examples

Basic use of the Command Line Interpreter is documented here

Type 'help' to list commands with parameters and descriptions:

>help
m                                     : Measure temperature and barometric pressure.

log s                                 : Start logging
log dump                              : Dump log
log del                               : Delete log

rtc r                                 : Read RTC time
rtc w    <yy-mm-dd> <hh:mm:ss>        : Write RTC time

fs info                               : Report file system info

sf info                               : Report Serial Flash info
sf e     [start page] [end page]      : Erase Serial Flash page(s)
sf r     <adr> <nr of bytes>          : Read Serial Flash data
sf rp    <page>                       : Read Serial Flash page
sf rx    [start page] [end page]      : Read Serial Flash data and send using XMODEM
sf wp    <page> <offset> <d0> .. [d7] : Write up to 8 bytes of data to Serial Flash
sf wx    [start page]                 : Receive data using XMODEM and write to Serial Flash

help     [cmd(s) starts with...]      : Display list of commands with help. Optionally the list can be reduced.

Type 'm' to perform a single temperature and pressure measurement:

>m
Temp = 1766, Pressure = 101615

Type 'rtc w <yy-mm-dd hh:mm:ss>' to set the date and time:

>rtc w 19-09-12 11:26:00

Type 'log s' to start logging (every half hour):

>log s
19-09-12 11:30:00       1853    100012
19-09-12 12:00:00       1899    100013

Press SPACE or press the button on the board to stop.

Type 'log dump' to dump the content of log:

>log dump
19-09-12 11:30:00       1853    100012
19-09-12 12:00:00       1899    100013
19-09-12 12:30:00       1882    100019
19-09-12 13:00:00       1963    100026
19-09-12 13:30:00       1961    100045
19-09-12 14:00:00       1988    100078
19-09-12 14:30:00       1999    100090

Type 'log del' to delete the log:

>log del