In diesem Beitrag möchte ich dir zeigen, wie du den Fehler mit dem Bosch Sensor BME68x am Arduino MKR IoT Carrier lösen kannst.
Das Arduino MKR IoT Carrier Modul ist auch bekannt unter der Bezeichnung Arduino Oplà.
Dieses Modul werde ich dir demnächst auf diesem Blog noch genauer vorstellen, hier soll es nun darum gehen, wie du den Fehler bei der Programmierung bzw. beim Umgang mit der Bibliothek ArduinoMKRIoTCarrier umgehen kannst.
Fehlermeldung
Du erhältst ggf. nachfolgende Fehlermeldung:
In file included from c:\Users\stefa\Documents\Arduino\libraries\Arduino_MKRIoTCarrier\src/MKRIoTCarrierDefines.h:12:0,
from c:\Users\stefa\Documents\Arduino\libraries\Arduino_MKRIoTCarrier\src/Arduino_MKRIoTCarrier.h:25,
from C:\Users\stefa\AppData\Local\Temp\.arduinoIDE-unsaved2023126-16636-55t9uc.o48eq\Graphics\Graphics.ino:5:
c:\Users\stefa\Documents\Arduino\libraries\BSEC_Software_Library\src/bsec.h:46:10: fatal error: bsec_datatypes.h: No such file or directory
#include "bsec_datatypes.h"
^~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
Hier konnte in der Datei bsec.h in der Zeile 46 der Import nicht aufgelöst werden. Die Datei bsec_datatypes.h existiert schlichtweg nicht im Verzeichnis.
Lösung
Die Lösung ist vielschichtig, zum einen muss die Bibliothek BSEC_Software_Library auf die Version 1.6.1480 herabgestuft werden. Dieses kannst du über den internen Bibliotheksmanager der Arduino IDE machen oder du lädst das Paket als ZIP-Datei vom GitHub Repository boschsensortec / BSEC-Arduino-library.
Den Bibliotheksmanager der Arduino IDE findest du über das Icon auf der linken Seite der IDE (1) dort suchst du zunächst nach “bsec” (2) und wählst aus der Auswahlliste der Versionen die Version 1.6.1480 aus (3) und wählst die Schaltfläche “INSTALL” (4).
Wenn die neue Version installiert ist, sollte bei (5) statt der Version 1.7.1492 die gewählte Version 1.6.1480 stehen.
Nun kannst du den Quellcode erneut kompilieren und auf deinen Mikrocontroller aufspielen.
Quelle
Die Lösung zu diesem Problem habe ich auf der Seite https://github.com/arduino-libraries/Arduino_MKRIoTCarrier/pull/70 gefunden.
In der Lösung wird beschrieben, dass zur klassischen Version der Arduino IDE 1.x gewechselt werden soll. Jedoch konnte ich in der Version 2.0 der Arduino IDE mit dem Downgrade der besagten BSEC Version erfolgreich ein Sketch hochladen.