A multifunctional and modular Firmware for Multitech's mDot based on ARM mBed provides a widerange of functionality for several Sensors such as MAX44009, BME280, MPU9250, SI1143 and uBlox. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

Dependencies:   mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed

LoRa-Sensornode Firmware for Multitech mDot

A multifunctional and modular Firmware for Multitech's mDot which provides a widerange of functionality for several Sensors. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

/media/uploads/mitea1/logo-lora-600x370.png /media/uploads/mitea1/mt_mdot_family_642px.png

Supported Sensors

Idea

The Firmware has some predefined Application Modes running different Tasks(Measurements). Each mode can be used in a different Scenario. Application_Modes define which sensors are used, how often they aquire data and how often the data has to be sent via LoRa. Lets say you just want to measure the Light then you choose an Application_Mode (or define one) that only runs TaskLight for light measurement. As a standard all measurements are taken every second and sent via LoRa but you can change that interval depending on your usage Scenario

Committer:
mitea1
Date:
Fri Nov 02 17:01:02 2018 +0000
Revision:
10:4051c38bf73f
Parent:
9:c4e378f4801d
wtf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitea1 9:c4e378f4801d 1 /*
mitea1 9:c4e378f4801d 2 * FlowMeterMessage.h
mitea1 9:c4e378f4801d 3 *
mitea1 9:c4e378f4801d 4 * Created on: 23.10.2018
mitea1 9:c4e378f4801d 5 * Author: Adrian
mitea1 9:c4e378f4801d 6 */
mitea1 9:c4e378f4801d 7
mitea1 9:c4e378f4801d 8 #ifndef MESSAGES_FLOWMETERMESSAGE_H_
mitea1 9:c4e378f4801d 9 #define MESSAGES_FLOWMETERMESSAGE_H_
mitea1 9:c4e378f4801d 10
mitea1 9:c4e378f4801d 11 #include <stdio.h>
mitea1 9:c4e378f4801d 12 #include <stdint.h>
mitea1 9:c4e378f4801d 13 #include <string>
mitea1 9:c4e378f4801d 14 #include <vector>
mitea1 9:c4e378f4801d 15
mitea1 9:c4e378f4801d 16 #include "SensorMessage.h"
mitea1 9:c4e378f4801d 17
mitea1 9:c4e378f4801d 18 class FlowMeterMessage: public SensorMessage {
mitea1 9:c4e378f4801d 19 public:
mitea1 9:c4e378f4801d 20 FlowMeterMessage();
mitea1 9:c4e378f4801d 21 virtual ~FlowMeterMessage();
mitea1 9:c4e378f4801d 22
mitea1 9:c4e378f4801d 23 void setCurrentFlowrate(double currentFlowrate);
mitea1 9:c4e378f4801d 24 double getCurrentFlowrate();
mitea1 9:c4e378f4801d 25 void setCurrentVolume(double currentVolume);
mitea1 9:c4e378f4801d 26 double getCurrentVolume();
mitea1 9:c4e378f4801d 27 void setTotalFlowrate(double totalFlowrate);
mitea1 9:c4e378f4801d 28 double getTotalFlowrate();
mitea1 9:c4e378f4801d 29 void setTotalVolume(double totalVolume);
mitea1 9:c4e378f4801d 30 double getTotalVolume();
mitea1 9:c4e378f4801d 31 virtual char* getLoRaMessageString();
mitea1 9:c4e378f4801d 32 private:
mitea1 9:c4e378f4801d 33 std::string flowMessage;
mitea1 9:c4e378f4801d 34 std::vector<std::string> flowMessageId;
mitea1 9:c4e378f4801d 35
mitea1 9:c4e378f4801d 36 double currentFlowrate;
mitea1 9:c4e378f4801d 37 double currentVolume;
mitea1 9:c4e378f4801d 38 double totalFlowrate;
mitea1 9:c4e378f4801d 39 double totalVolume;
mitea1 9:c4e378f4801d 40
mitea1 9:c4e378f4801d 41 };
mitea1 9:c4e378f4801d 42
mitea1 9:c4e378f4801d 43 void pulesInputInterrupt(void);
mitea1 9:c4e378f4801d 44 #endif /* MESSAGES_FLOWMETERMESSAGE_H_ */