Skip to content

Hardware #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 29 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@ ENV/
env.bak/
venv.bak/

# Mac OS
# [Start mac OS git ignore]

# mac OS
*.idea/
*.DS_Store

##Flutter##
# [End mac OS git ignore]

# [Start Flutter git ignore]

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
Expand Down Expand Up @@ -65,3 +70,25 @@ build/
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages

# [End Flutter git ignore]

# [Start Go git ignore]

# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/

# [End Go git ignore]
4 changes: 0 additions & 4 deletions README.md

This file was deleted.

31 changes: 30 additions & 1 deletion src/cloud/functions/smartfarm/crud.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// and implements cloud functions for CRUD operations.
package smartfarm

// [Start smart_farm_dependencies]
import (
"context"
"encoding/json"
Expand All @@ -11,32 +12,60 @@ import (
"cloud.google.com/go/firestore"
)

// [End smart_farm_dependencies]

const projectID = "superfarmers"

// [Start smart_farm_insert]

// Insert inserts sensor data into Firestore.
func Insert(writer http.ResponseWriter, req *http.Request) {
ctx := context.Background()

client, err := firestore.NewClient(ctx, projectID)
defer client.Close()
if err != nil {
fmt.Fprintf(writer, "firestore.NewClient: %v", err)
return
}
defer client.Close()

var sensorData SensorData
if err = json.NewDecoder(req.Body).Decode(&sensorData); err != nil {
fmt.Fprintf(writer, "json.Decode: %v", err)
return
}
// update creation time of sensor data
sensorData.setTime()

// check whether sensor data is usual or not
if err = sensorData.verify(); err != nil {
fmt.Fprintf(writer, "verification failed: %v", err)
return
}

// store into collection
if _, _, err = client.Collection("sensor_data").Add(ctx, sensorData); err != nil {
fmt.Fprintf(writer, "insert: %v", err)
return
}
}

// [End smart_farm_insert]

// [Start smart_farm_get]

// Get gets documents from Firestore with given query.
func Get(writer http.ResponseWriter, req *http.Request) {
ctx := context.Background()

client, err := firestore.NewClient(ctx, projectID)
if err != nil {
fmt.Fprintf(writer, "firestore.NewClient: %v", err)
return
}
defer client.Close()

// TODO: define query format, get from collection
}

// [End smart_farm_get]
4 changes: 4 additions & 0 deletions src/cloud/functions/smartfarm/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ package smartfarm

import "time"

// [Start smart_farm_sensor_data_struct]

// SensorData represents a single document of smartfarm sensor data collection.
type SensorData struct {
UUID string `json:"uuid"`
Expand All @@ -21,6 +23,8 @@ type SensorData struct {
LocalTime time.Time `json:"local_time"`
}

// [End smart_farm_sensor_data_struct]

// setTime sets the time of sensor data.
func (s *SensorData) setTime() {
s.LocalTime = time.Now()
Expand Down
101 changes: 0 additions & 101 deletions src/hardware/sensor_test/TDS.ino

This file was deleted.

30 changes: 30 additions & 0 deletions src/hardware/sensor_test/ec.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include <EEPROM.h>
#include "GravityTDS.h"

#define board_rate 115200
#define ec_pin A1

GravityTDS gravityTds;

float temperature = 25;
float tdsValue = 0;

void setup()
{
Serial.begin(board_rate);
gravityTds.setPin(ec_pin);
gravityTds.setAref(5.0); //reference voltage on ADC, default 5.0V on Arduino UNO
gravityTds.setAdcRange(1024); //1024 for 10bit ADC;4096 for 12bit ADC
gravityTds.begin(); //initialization
}

void loop()
{
//temperature = readTemperature(); //add your temperature sensor and read it
gravityTds.setTemperature(temperature); // set the temperature and execute temperature compensation
gravityTds.update(); //sample and calculate
tdsValue = gravityTds.getTdsValue(); // then get the value
Serial.print(tdsValue,0);
Serial.println("ppm");
delay(1000);
}
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
#include <ArduinoJson.h>
#include <DHT11.h>
int pin=4;

#define board_rate 115200
#define temperature_humidity_pin 4

DHT11 dht11(pin);

float temperature;
float humidity;

void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.begin(board_rate);
}

void loop()
{
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0)
{
Serial.print("temperature:");
Serial.print(temp);
Serial.print(temperature);
Serial.print(" humidity:");
Serial.print(humi);
Serial.print(humidity);
Serial.println();
}
else
Expand Down
24 changes: 0 additions & 24 deletions src/hardware/sensor_test/level.ino

This file was deleted.

16 changes: 10 additions & 6 deletions src/hardware/sensor_test/light.ino
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
void setup(){
#define board_rate 115200
#define light_pin A0

Serial.begin(9600);
int light

void setup(){
Serial.begin(board_rate);
}

void loop(){
int light = read_light();
Serial.println(light);
}

int d = analogRead(A0);

Serial.println(d);

int read_light(){
return analogRead(light_pin);
}
19 changes: 19 additions & 0 deletions src/hardware/sensor_test/liquid_level.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#define board_rate 115200
#define liquid_level_pin 5

boolean liquid_level;

void setup() {
Serial.begin(board_rate);
pinMode(liquid_level_pin, INPUT);
}

void loop() {
liquid_level=read_liquid_level()
Serial.print("Liquid_level= ");Serial.println(liquid_level,DEC);
delay(500);
}

boolean read_liquid_level(){
return digitalRead(liquid_level_pin);
}
Loading