Hello,
I want read Accelerometer data from Iot but i can't. Im reading data correctly on Serial Monitor but IoT displaying "0" all time i need help for solve. (I'm using Nicla Sense ME with MKR1010 WIFI Shield)
Nicla_IoT_Bridge.ino
#include "thingProperties.h"
#include "Arduino_BHY2Host.h"
#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
#define CONVERT_G_TO_MS2 9.80665f
#define FREQUENCY_HZ 100
#define INTERVAL_MS (1000 / (FREQUENCY_HZ + 1))
static unsigned long last_interval_ms = 0;
SensorXYZ accelerometer(SENSOR_ID_ACC);
int16_t accX;
int16_t accY;
int16_t accZ;
void setup() {
Serial.begin(115200);
while(!Serial) {}
// Defined in thingProperties.h
initProperties();
// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
while(!ArduinoCloud.connected()) {
ArduinoCloud.update();
delay(10);
}
Serial.println("Configuring Nicla...");
#ifdef ARDUINO_ARCH_MBED
BHY2Host.begin();
#else
BHY2Host.begin(false, NICLA_AS_SHIELD);
#endif
accelerometer.begin();
}
void onVariableName01Change(){
}
void loop() {
short accX, accY, accZ;
static auto lastCheck = millis();
BHY2Host.update();
if (millis() > last_interval_ms + INTERVAL_MS) {
last_interval_ms = millis();
short accX = accelerometer.x();
short accY = accelerometer.y();
short accZ = accelerometer.z();
//Serial.println(String("acceleration: ") + accelerometer.toString());
Serial.print(accX * CONVERT_G_TO_MS2);
Serial.print('\t');
Serial.print(accY * CONVERT_G_TO_MS2);
Serial.print('\t');
Serial.println(accZ * CONVERT_G_TO_MS2);
//temp = tempSensor.value();
//Serial.print("Temp: ");
//Serial.println(temp, 3);
}
ArduinoCloud.update();
}
#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
#include "arduino_secrets.h"
const char THING_ID[] = "";
const char SSID[] = SECRET_SSID; // Network SSID (name)
const char PASS[] = SECRET_PASS; // Network password (use for WPA, or use as key for WEP)
void onVariableName01Change();
int Variable_Name_01;
CloudAcceleration Variable_Name_02;
void initProperties(){
ArduinoCloud.addProperty(Variable_Name_01, READWRITE, ON_CHANGE, onVariableName01Change);
ArduinoCloud.addProperty(Variable_Name_02, READ, 10 * SECONDS, NULL);
}
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);
thingproperties.h
\#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
#include "arduino_secrets.h"
const char THING_ID[] = "";
const char SSID[] = SECRET_SSID; // Network SSID (name)
const char PASS[] = SECRET_PASS; // Network password (use for WPA, or use as key for WEP)
void onVariableName01Change();
int Variable_Name_01;
CloudAcceleration Variable_Name_02;
void initProperties(){
ArduinoCloud.addProperty(Variable_Name_01, READWRITE, ON_CHANGE, onVariableName01Change);
ArduinoCloud.addProperty(Variable_Name_02, READ, 10 * SECONDS, NULL);
}
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);