Add : write data on SPI flash memory if writable
This commit is contained in:
parent
7c80336f9a
commit
37e77ebef6
@ -24,7 +24,7 @@ Use with:
|
|||||||
|
|
||||||
TODO for v1 :
|
TODO for v1 :
|
||||||
* write data on flash drive
|
* write data on flash drive
|
||||||
* send data trough UART (new one !)
|
* send data through UART (one more !)
|
||||||
"""
|
"""
|
||||||
__version__ = 0.1
|
__version__ = 0.1
|
||||||
__repo__ = "https://framagit.org/arofarn/Cameteo"
|
__repo__ = "https://framagit.org/arofarn/Cameteo"
|
||||||
@ -33,9 +33,10 @@ __repo__ = "https://framagit.org/arofarn/Cameteo"
|
|||||||
# config #
|
# config #
|
||||||
##########
|
##########
|
||||||
print_data = True
|
print_data = True
|
||||||
|
backup_data = True
|
||||||
data_to_neopixel = True
|
data_to_neopixel = True
|
||||||
gps_enable = True
|
gps_enable = True
|
||||||
update_interval = 5 # in seconds
|
update_interval = 60 # in seconds
|
||||||
send_json_data = True
|
send_json_data = True
|
||||||
datetime_format = "{:04}/{:02}/{:02}_{:02}:{:02}:{:02}"
|
datetime_format = "{:04}/{:02}/{:02}_{:02}:{:02}:{:02}"
|
||||||
neopixel_max_value =const(100) #max value instead of brightness to spare some mem
|
neopixel_max_value =const(100) #max value instead of brightness to spare some mem
|
||||||
@ -78,9 +79,9 @@ class Data:
|
|||||||
# 65536 : 16bit ADC
|
# 65536 : 16bit ADC
|
||||||
|
|
||||||
#Data from BME280
|
#Data from BME280
|
||||||
self.data['BME280'] = {'temp': { 'val': bme280.temperature, 'unit': '°C' },
|
self.data['BME280'] = {'temp': { 'val': round(bme280.temperature, 1), 'unit': '°C' },
|
||||||
'hum': { 'val': bme280.humidity, 'unit': '%' },
|
'hum': { 'val': int(bme280.humidity), 'unit': '%' },
|
||||||
'press': { 'val': bme280.pressure, 'unit': 'hPa' }}
|
'press': { 'val': round(bme280.pressure, 2), 'unit': 'hPa' }}
|
||||||
if gps_enable:
|
if gps_enable:
|
||||||
if gps.has_fix:
|
if gps.has_fix:
|
||||||
self.data['GPS'] = {'timestamp': {'val': datetime_format.format(gps.timestamp_utc.tm_year,
|
self.data['GPS'] = {'timestamp': {'val': datetime_format.format(gps.timestamp_utc.tm_year,
|
||||||
@ -127,6 +128,18 @@ class Data:
|
|||||||
output = output + "}"
|
output = output + "}"
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
def write_on_flash(self):
|
||||||
|
"""Save the current data as csv file on SPI flash"""
|
||||||
|
try:
|
||||||
|
with open("data/data.csv", "a") as csv_file:
|
||||||
|
csv_file.write("{};{};{};{}\n".format(self.data['SYS']['time']['val'],
|
||||||
|
self.data['BME280']['temp']['val'],
|
||||||
|
self.data['BME280']['hum']['val'],
|
||||||
|
self.data['BME280']['press']['val']))
|
||||||
|
except OSError as e:
|
||||||
|
print("Err. {} : R-O FS".format(e))
|
||||||
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# Functions #
|
# Functions #
|
||||||
#############
|
#############
|
||||||
@ -244,6 +257,8 @@ while True:
|
|||||||
if print_data:
|
if print_data:
|
||||||
data.show()
|
data.show()
|
||||||
# print(data.json())
|
# print(data.json())
|
||||||
|
if backup_data:
|
||||||
|
data.write_on_flash()
|
||||||
if data_to_neopixel:
|
if data_to_neopixel:
|
||||||
pixel[0] = update_neopixel(data.data)
|
pixel[0] = update_neopixel(data.data)
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
Loading…
Reference in New Issue
Block a user