Browse Source

sensor integration

develop
Dslak 4 years ago
parent
commit
7cb4c49294
  1. 14
      Arduino/Arduino.ino
  2. 14
      Arduino/GetData.ino
  3. 6
      Arduino/Request.ino
  4. 2
      Arduino/Setup.ino

14
Arduino/Arduino.ino

@ -57,22 +57,22 @@ void loop() {
windDirection = ""; windDirection = "";
anemometerVal = digitalRead(anemometerPin); anemometerVal = digitalRead(anemometerPin);
if ((anemometerState == 1) && (anemometerVal == 0)) { if ((anemometerState == 1) && (anemometerVal == 0)) {
anemometerDuration = millis() - startime; anemometerDuration = millis() - startime;
startime = millis(); startime = millis();
windSpeed = 2500.0/anemometerDuration; windSpeed = 2500.0/anemometerDuration;
} }
anemometerState = anemometerVal; anemometerState = anemometerVal;
if(millis() >= timer) { if(millis() >= timer) {
Serial.println("--------------------------"); Serial.println("--------------------------");
Serial.println("Sending..."); Serial.println("Sending...");
timer = millis() + timerLimit; timer = millis() + timerLimit;
if(digitalRead(northPin)) {windDirection = windDirection + "N";} if(digitalRead(northPin)) {windDirection = windDirection + "N";}
if(digitalRead(southPin)) {windDirection = windDirection + "S";} if(digitalRead(southPin)) {windDirection = windDirection + "S";}
if(digitalRead(eastPin)) {windDirection = windDirection + "E";} if(digitalRead(eastPin)) {windDirection = windDirection + "E";}
@ -82,14 +82,14 @@ void loop() {
Serial.print("Wind speed:\t"); Serial.print("Wind speed:\t");
Serial.print(windSpeed); Serial.print(windSpeed);
Serial.println("Km/h"); Serial.println("Km/h");
Serial.print("Wind direction:\t"); Serial.print("Wind direction:\t");
Serial.println(windDirection); Serial.println(windDirection);
} }
sendRequest(); sendRequest();
} }
} }

14
Arduino/GetData.ino

@ -5,21 +5,21 @@ void getWind() {
anemometerVal = digitalRead(anemometerPin); anemometerVal = digitalRead(anemometerPin);
//Serial.println(anemometerVal); //Serial.println(anemometerVal);
if ((anemometerState == 1) && (anemometerVal == 0)) { if ((anemometerState == 1) && (anemometerVal == 0)) {
anemometerDuration = millis() - startime; anemometerDuration = millis() - startime;
startime = millis(); startime = millis();
windSpeed = 2500.0/anemometerDuration; windSpeed = 2500.0/anemometerDuration;
} }
anemometerState = anemometerVal; anemometerState = anemometerVal;
if(millis() >= timer) { if(millis() >= timer) {
Serial.println("--------------------------"); Serial.println("--------------------------");
timer = millis() + timerLimit; timer = millis() + timerLimit;
if(digitalRead(northPin)) {windDirection = windDirection + "N";} if(digitalRead(northPin)) {windDirection = windDirection + "N";}
if(digitalRead(southPin)) {windDirection = windDirection + "S";} if(digitalRead(southPin)) {windDirection = windDirection + "S";}
if(digitalRead(eastPin)) {windDirection = windDirection + "E";} if(digitalRead(eastPin)) {windDirection = windDirection + "E";}
@ -29,7 +29,7 @@ void getWind() {
Serial.print("Wind speed:\t"); Serial.print("Wind speed:\t");
Serial.print(windSpeed); Serial.print(windSpeed);
Serial.println("Km/h"); Serial.println("Km/h");
Serial.print("Wind direction:\t"); Serial.print("Wind direction:\t");
Serial.println(windDirection); Serial.println(windDirection);
@ -37,7 +37,7 @@ void getWind() {
sendRequest(); sendRequest();
//delay(5000); //delay(5000);
} }
} }

6
Arduino/Request.ino

@ -9,7 +9,7 @@ void sendRequest() {
s.toCharArray(URL, 100); s.toCharArray(URL, 100);
Serial.println(URL); Serial.println(URL);
// Establish GPRS connectivity (5 trials) // Establish GPRS connectivity (5 trials)
bool connected = false; bool connected = false;
for(uint8_t i = 0; i < 5 && !connected; i++) { for(uint8_t i = 0; i < 5 && !connected; i++) {
@ -33,7 +33,7 @@ void sendRequest() {
// Do HTTP GET communication with 10s for the timeout (read) // Do HTTP GET communication with 10s for the timeout (read)
uint16_t rc = sim800l->doGet(URL, 10000); uint16_t rc = sim800l->doGet(URL, 10000);
if(rc == 200) {
if(rc == 200) {
// Success, output the data received on the serial // Success, output the data received on the serial
Serial.print(F("HTTP GET successful (")); Serial.print(F("HTTP GET successful ("));
Serial.print(sim800l->getDataSizeReceived()); Serial.print(sim800l->getDataSizeReceived());
@ -67,6 +67,6 @@ void sendRequest() {
Serial.println(F("Failed to switch module to low power mode")); Serial.println(F("Failed to switch module to low power mode"));
} }
windSpeed = 0; windSpeed = 0;
} }

2
Arduino/Setup.ino

@ -1,6 +1,6 @@
void setupModule() { void setupModule() {
// Wait until the module is ready to accept AT commands
// Wait until the module is ready to accept AT commands
while(!sim800l->isReady()) { while(!sim800l->isReady()) {
Serial.println(F("Problem to initialize AT command, retry in 1 sec")); Serial.println(F("Problem to initialize AT command, retry in 1 sec"));
delay(1000); delay(1000);

Loading…
Cancel
Save