Neben Setup der Terkin-Datenlogger Sandbox schlägt fehl und Terkin-Datenlogger auf ESP32 WROVER mit MicroPython 1.11 habe ich jetzt erst mal mit der Integration des MAX17043 Spannungssensors weiter gemacht.
Das ist im Grunde eine Kopie des BME280, da beide über den i2c Bus angesteuert werden. Gehört eigentlich nicht zu ‘environment’ - kann man aber mal durch gehen lassen.
Einstellungen hinzufügen
Sensor in die settings.py
eintragen.
{
'id': 'max17043-1',
'description': '1-cell LiPo gauge',
'type': 'MAX17043',
'enabled': True,
'bus': 'i2c:1',
'address': 0x36,
},
Treiber einbinden
Initialisierung per Funktion add_max17043_sensor
im terkin/datalogger
:
def add_max17043_sensor(self, settings):
"""
Setup and register the MAX17043 sensor component with your data logger.
"""
bus = self.sensor_manager.get_bus_by_name(settings['bus'])
if settings.get('enabled') is False:
log.info("Skipping MAX17043 device {} on bus {}".format(hex(settings['address']), bus.name))
return
sensor = MAX17043Sensor(settings=settings)
if 'address' in settings:
sensor.set_address(settings['address'])
sensor.acquire_bus(bus)
# Start sensor.
sensor.start()
# Register with framework.
self.sensor_manager.register_sensor(sensor)
Hardware Treiber
Anbei die Klasse für den dist-packages
Ordner und die Sensor-Klasse.
- max17043.py (2,3 KB)
- sensor_max17043.py (1,7 KB)
Muss ich sonst noch was machen? Die Klasse an sich funktioniert sehr schön.