Creating an IoT platform for smart agriculture. Collecting data and sending them to thingspeak for analysis

Dependencies:   DHT11 LPS22HB LSM6DSL VL53L0X

Revision:
0:07ff689741d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sensors.h	Fri Jun 08 12:00:02 2018 +0000
@@ -0,0 +1,45 @@
+#ifndef SENSORS_H
+#define SENSORS_H
+
+//Internal sensors
+#include "Dht11.h"         //Temperature & humidity sensor
+#include "LPS22HBSensor.h" //Pressure sensor
+#include "LSM6DSLSensor.h" //Accelerometer & gyroscope
+#include "VL53L0X.h"       //Proximity sensor
+
+
+/* For errors while reading values */
+#define VALUE_ERROR -1
+int press_status;
+
+/* Interface definition */
+static DevI2C devI2c(PB_11,PB_10);
+
+/* Environment sensors */
+Dht11 hum_temp_s(D4);
+DigitalIn light_s(D6);
+static LPS22HBSensor press_s(&devI2c);
+
+/* Motion sensors */
+static LSM6DSLSensor acc_gyro(&devI2c,LSM6DSL_ACC_GYRO_I2C_ADDRESS_LOW,PD_11); // low address
+
+/* Range sensor - B-L475E-IOT01A2 only */
+static DigitalOut shutdown_pin(PC_6);
+static VL53L0X range(&devI2c, &shutdown_pin, PC_7);
+
+/* Variables */
+int mag_axes[3];
+int acc_axes[3];
+int gyro_axes[3];
+unsigned int distance;
+float temp;
+float hum;
+int light;
+float press;
+
+/* Functions */
+void enable_sensors();
+void get_values();
+void get_motion_data(int dt, int* speed, int* prev_speed, int* prev_pos, int* prev_angle);
+
+#endif