GPS-Modul aktivieren

gps

#1

Hallo,
vielleicht kann mir ja jemand von Euch weiterhelfen und hat mir einen Tip was ich im Sketch eintragen muß, um das GPS-Modul zum Laufen zu bringen.
Mit den Code-Fragmenten aus https://sensebox.github.io/books-v2/edu/de/projekte/Mobile_Station.html bekomme ich nur Fehlermeldungen, angefangen bei

#include "SenseBoxMCU.h"

und dann weiter auch bei

GPS gps;
float lat; // Geografische Breite
float lon; // Geografische Länge

Egal was ich versuche ich bekomme das GPS-Modul nicht zum Laufen bzw. kompiliert.
Auch wenn ich auf der opensensemap eine neue Station - nun als mobil - registriere, wird leider im Sketch dazu (zum GPS) nichts ausgewiesen.

Bin etwas ratlos…
Ach ja: Arduino IDE ist die neueste Version 1.8.10 und auch die Modul- und Board-Updates sind alle eingespielt…


#2

Hallo @dm1111,

wie lautet der Fehler den Du bekommst? Kannst Du Deinen Sketch-Code einmal hier hochladen?

Wenn bei diesem Code

#include "SenseBoxMCU.h"
HDC1080 hdc;

GPS gps;
float lat; // Geografische Breite
float lon; // Geografische Länge

void setup(){

}

void loop(){
    
}

schon einen Fehler bekommst, dann musst Du vielleicht nochmal über die Installation des Board Support Packages schauen.

Ansonsten kannst du dein GPS-Modul auch ganz einfach über Blockly programmieren


#3

Hi,
also die Board-Support-Packages sind alle uptodate… Denke sonst würde der Sketch der Opensensemap auch nicht kompilieren und laufen…
Die Einbindung der SenseBoxMCU.h habe ich dann folgendermaßen eingebaut:

/*
senseBox:home - Citizen Sensingplatform
Version: wifiv2_0.3
Date: 2019-12-06
Homepage: https://www.sensebox.de https://www.opensensemap.org
Author: Reedu GmbH & Co. KG
Note: Sketch for senseBox:home WiFi MCU Edition
Model: homeV2Wifi
Email: support@sensebox.de
Code is in the public domain.
https://github.com/sensebox/node-sketch-templater
*/

#include <WiFi101.h>
#include <Wire.h>
#include <SPI.h>
#include <senseBoxIO.h>

#include <Adafruit_Sensor.h>
#include <Adafruit_HDC1000.h>
#include <Adafruit_BMP280.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_BME680.h>
#include <Makerblog_TSL45315.h>
#include <VEML6070.h>

#include "SenseBoxMCU.h"
HDC1080 hdc;

GPS gps;
float lat; // Geografische Breite
float lon; // Geografische Länge
// Uncomment the next line to get debugging messages printed on the Serial port
// Do not leave this enabled for long time use
// #define ENABLE_DEBUG

#ifdef ENABLE_DEBUG
#define DEBUG(str) Serial.println(str)
#define DEBUG_ARGS(str,str1) Serial.println(str,str1)
#define DEBUG2(str) Serial.print(str)
#define DEBUG_WRITE© Serial.write©
#else
#define DEBUG(str)
#define DEBUG_ARGS(str,str1)
#define DEBUG2(str)
#define DEBUG_WRITE©
#endif

/* ------------------------------------------------------------------------- /
/
------------------------------Configuration------------------------------ /
/
------------------------------------------------------------------------- */

Danach gibts dann folgenden Fehler:

In file included from C:\Users\xxx\AppData\Local\Arduino15\packages\sensebox\hardware\samd\1.3.1\libraries\SenseBox-MCU/SenseBoxMCU.h:17:0,

             from D:\sensebox\sensebox.ino:28:

C:\Users\xxx\AppData\Local\Arduino15\packages\sensebox\hardware\samd\1.3.1\libraries\senseBoxIO\src/senseBoxIO.h:8:7: error: redefinition of ‘class SenseBoxIO’

class SenseBoxIO

   ^~~~~~~~~~

Also hab ich mal vorsichtshalber den include der SenseBoxMCU.h weggelassen (da die glaube ich ja sowieso in der SenseBoxIO.h enthalten ist?):
Dann kommt aber folgender Fehler:

sensebox:29:1: error: ‘HDC1080’ does not name a type

HDC1080 hdc;

^~~~~~~

sensebox:31:1: error: ‘GPS’ does not name a type

GPS gps;

^~~

Wie gesagt, bin etwas ratlos…


#4

Ah, ja die beiden Libraries senseBoxIO.h und senseBoxMCU.h sind zusammen leider nicht kompatibel. Schau Dir mal dieses Template an: https://github.com/sensebox/node-sketch-templater/blob/gps/templates/homev2_wifi_gps.tpl. Da ist das GPS Modul mit integriert aber es ist etwas aufwändiger den Code zusammen zu kopieren.


#5

Super - danke schön.
Genau das habe ich (bisher vergeblich) gesucht.
Den Code werde ich dann mal in mein Sketch mergen und schauen was dabei rauskommt :slight_smile: - mit dem Display habe ich das auch hinbekommen.
Vielen Dank nochmal :slight_smile:


#6

Hast Du schon etwas versucht und Ergebnisse? Ich hatte letztes Jahr zum Thema GPS schon einen Thread eröffnet, der aber nur das Auslesen der Koordinaten betraf. Das ist mir geglückt, aber ich habe mich noch nicht weiter damit beschäftigt, diese auch an OpenSenseMap zu übermitteln.