From d3d90d95a316e9b65c5bbcce8a02cfebd887d957 Mon Sep 17 00:00:00 2001 From: Timm Bogner <64260873+timmbogner@users.noreply.github.com> Date: Sun, 7 Aug 2022 00:44:38 -0500 Subject: [PATCH] added 'src' --- extras/{ => Gateway_docs}/Advanced_Setup.png | Bin .../Advanced_Setup_LoRa.png | Bin .../{ => Gateway_docs}/Basic_LoRa_Setup.png | Bin extras/{ => Gateway_docs}/Basic_Setup.png | Bin extras/{GATEWAY.md => Gateway_docs/README.md} | 0 extras/SENSOR.md | 68 ------------------ {FDRS_Sensor => extras/Sensor_docs}/README.md | 0 fdrs_globals.h | 27 ------- fdrs_checkConfig.h => src/fdrs_checkConfig.h | 0 fdrs_datatypes.h => src/fdrs_datatypes.h | 0 fdrs_espnow.h => src/fdrs_espnow.h | 0 fdrs_functions.h => src/fdrs_functions.h | 0 fdrs_lora.h => src/fdrs_lora.h | 0 fdrs_sensor.h => src/fdrs_sensor.h | 0 14 files changed, 95 deletions(-) rename extras/{ => Gateway_docs}/Advanced_Setup.png (100%) rename extras/{ => Gateway_docs}/Advanced_Setup_LoRa.png (100%) rename extras/{ => Gateway_docs}/Basic_LoRa_Setup.png (100%) rename extras/{ => Gateway_docs}/Basic_Setup.png (100%) rename extras/{GATEWAY.md => Gateway_docs/README.md} (100%) delete mode 100644 extras/SENSOR.md rename {FDRS_Sensor => extras/Sensor_docs}/README.md (100%) delete mode 100644 fdrs_globals.h rename fdrs_checkConfig.h => src/fdrs_checkConfig.h (100%) rename fdrs_datatypes.h => src/fdrs_datatypes.h (100%) rename fdrs_espnow.h => src/fdrs_espnow.h (100%) rename fdrs_functions.h => src/fdrs_functions.h (100%) rename fdrs_lora.h => src/fdrs_lora.h (100%) rename fdrs_sensor.h => src/fdrs_sensor.h (100%) diff --git a/extras/Advanced_Setup.png b/extras/Gateway_docs/Advanced_Setup.png similarity index 100% rename from extras/Advanced_Setup.png rename to extras/Gateway_docs/Advanced_Setup.png diff --git a/extras/Advanced_Setup_LoRa.png b/extras/Gateway_docs/Advanced_Setup_LoRa.png similarity index 100% rename from extras/Advanced_Setup_LoRa.png rename to extras/Gateway_docs/Advanced_Setup_LoRa.png diff --git a/extras/Basic_LoRa_Setup.png b/extras/Gateway_docs/Basic_LoRa_Setup.png similarity index 100% rename from extras/Basic_LoRa_Setup.png rename to extras/Gateway_docs/Basic_LoRa_Setup.png diff --git a/extras/Basic_Setup.png b/extras/Gateway_docs/Basic_Setup.png similarity index 100% rename from extras/Basic_Setup.png rename to extras/Gateway_docs/Basic_Setup.png diff --git a/extras/GATEWAY.md b/extras/Gateway_docs/README.md similarity index 100% rename from extras/GATEWAY.md rename to extras/Gateway_docs/README.md diff --git a/extras/SENSOR.md b/extras/SENSOR.md deleted file mode 100644 index a2419eb..0000000 --- a/extras/SENSOR.md +++ /dev/null @@ -1,68 +0,0 @@ -# Sensor 2.000 -This file is an example of how to set up a sensor using FDRS. - - -## Commands -### ``` beginFDRS();``` -Initializes FDRS, powers up the sensor array, and begins ESP-NOW and/or LoRa. -### ```loadFDRS(float d, uint8_t t);``` -Loads some data into the current packet. 'd' is a float and 't' is a byte used to represent the sensor type. Type definitions can be found below. Please feel free to contact me if you'd like to add a new sensor type. -### ```sendFDRS();``` -Sends the current packet using ESP-NOW and/or LoRa. -### ``` sleepFDRS(int sleep_time)``` -If available and enabled, the device enters deep-sleep. If ```#DEEP_SLEEP``` is disabled, the device will use a delay instead. ```int sleep_time``` is entered in seconds. - -## Options - -### ```#define READING_ID n``` -The identifier of this individual device. Should be a 16 bit integer value (0 - 65535). -### ```#define GTWY_MAC 0xnn``` -The UNIT_MAC of the gateway that this device will send its data to. -### ```#define FDRS_DEBUG``` -This definition enables debug messages to be sent over the serial port. If disabled, no serial interface will be initialized. -### ```#define USE_ESPNOW``` -Enables/disables ESP-NOW. -### ```#define USE_LORA``` -Enables/disables LoRa. -### ```#define DEEP_SLEEP``` -If enabled, device will enter deep-sleep when the sleepFDRS() command is used. If using ESP8266, be sure that you connect the WAKE pin (GPIO 16) to RST or your device will not wake up. -### ```#define POWER_CTRL (pin)``` -IF defined, power control will bring a GPIO pin high within beginFDRS(). This is useful for powering sensors while running on battery. -## Type Definitions -For the moment, my thought is to reserve the first two bits of the type. I might use them in the future to indicate the data size or type (bool, char, int, float, etc?). This leaves us with 64 possible type definitions. If you have more types to add, please get in touch! -``` -#define STATUS_T 0 // Status -#define TEMP_T 1 // Temperature -#define TEMP2_T 2 // Temperature #2 -#define HUMIDITY_T 3 // Relative Humidity -#define PRESSURE_T 4 // Atmospheric Pressure -#define LIGHT_T 5 // Light (lux) -#define SOIL_T 6 // Soil Moisture -#define SOIL2_T 7 // Soil Moisture #2 -#define SOILR_T 8 // Soil Resistance -#define SOILR2_T 9 // Soil Resistance #2 -#define OXYGEN_T 10 // Oxygen -#define CO2_T 11 // Carbon Dioxide -#define WINDSPD_T 12 // Wind Speed -#define WINDHDG_T 13 // Wind Direction -#define RAINFALL_T 14 // Rainfall -#define MOTION_T 15 // Motion -#define VOLTAGE_T 16 // Voltage -#define VOLTAGE2_T 17 // Voltage #2 -#define CURRENT_T 18 // Current -#define CURRENT2_T 19 // Current #2 -#define IT_T 20 // Iterations -#define LATITUDE_T 21 // GPS Latitude -#define LONGITUDE_T 22 // GPS Longitude -#define ALTITUDE_T 23 // GPS Altitude - -``` -## Under the hood -``` -typedef struct __attribute__((packed)) DataReading { - float d; - uint16_t id; - uint8_t t; -} DataReading; -``` -Each sensor in the system sends its data over ESP-NOW or LoRa as a float 'd' inside of a structure called a DataReading. Its global sensor address is represented by an integer 'id', and each type of reading is represented by a single byte 't'. If a sensor or gateway needs to send multiple DataReadings, then they are sent in an array. A single DataReading.id may have readings of multiple types ('t') associated with it. diff --git a/FDRS_Sensor/README.md b/extras/Sensor_docs/README.md similarity index 100% rename from FDRS_Sensor/README.md rename to extras/Sensor_docs/README.md diff --git a/fdrs_globals.h b/fdrs_globals.h deleted file mode 100644 index 80cbc4d..0000000 --- a/fdrs_globals.h +++ /dev/null @@ -1,27 +0,0 @@ -/* FARM DATA RELAY SYSTEM -* -* "fdrs_globals.h" -* -* Developed by Timm Bogner (timmbogner@gmail.com) for Sola Gratia Farm in Urbana, Illinois, USA. -*/ - -#ifndef FDRS_GLOBALS -#define FDRS_GLOBALS - -#define GLOBAL_SSID "Your SSID" -#define GLOBAL_PASS "Password" - -#define GLOBAL_MQTT_ADDR "192.168.0.8" -#define GLOBAL_MQTT_PORT 1883 - -//#define GLOBAL_MQTT_AUTH //uncomment to enable MQTT authentication -#define GLOBAL_MQTT_USER "Your MQTT Username" -#define GLOBAL_MQTT_PASS "Your MQTT Password" - -#define GLOBAL_LORA_BAND 915E6 // LoRa Frequency Band -#define GLOBAL_LORA_SF 7 // LoRa Spreading Factor -#define GLOBAL_LORA_TXPWR 17 // LoRa TX power in dBm (+2dBm - +20dBm), default is +17dBm. Lower power = less battery use -#define GLOBAL_LORA_ACK_TIMEOUT 400 // ms timeout waiting for LoRa ACKs (if enabled). Wouldn't go less than 200ms -#define GLOBAL_LORA_RETRIES 2 - -#endif //FDRS_GLOBALS diff --git a/fdrs_checkConfig.h b/src/fdrs_checkConfig.h similarity index 100% rename from fdrs_checkConfig.h rename to src/fdrs_checkConfig.h diff --git a/fdrs_datatypes.h b/src/fdrs_datatypes.h similarity index 100% rename from fdrs_datatypes.h rename to src/fdrs_datatypes.h diff --git a/fdrs_espnow.h b/src/fdrs_espnow.h similarity index 100% rename from fdrs_espnow.h rename to src/fdrs_espnow.h diff --git a/fdrs_functions.h b/src/fdrs_functions.h similarity index 100% rename from fdrs_functions.h rename to src/fdrs_functions.h diff --git a/fdrs_lora.h b/src/fdrs_lora.h similarity index 100% rename from fdrs_lora.h rename to src/fdrs_lora.h diff --git a/fdrs_sensor.h b/src/fdrs_sensor.h similarity index 100% rename from fdrs_sensor.h rename to src/fdrs_sensor.h