Skip to content

Commit

Permalink
Merge branch 'firmware' of github.com:marcdhi/harveeco into firmware
Browse files Browse the repository at this point in the history
  • Loading branch information
VedantTarale committed Dec 9, 2023
2 parents 8d5b3d6 + db38161 commit 19212b8
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions Firmware/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@
## About The Code
`NodeMCUStandalone.ino`

The Code revoles around the WiFi capabalities of the `ESP8266 module`.
The Code revolves around the WiFi capabilities of the `ESP8266 module`.
The module serves as a client and `POST`s data to a backend server.

Data is gathered from the following Sensors:
- BMP280 - Atmospheric Pressure, Temperature and Altitide
- MAX30100 - Heart Rate (**Note:** This reading is not currently used for any computation - couldn't be implemented due to tiem constraints)
- BMP280 - Atmospheric Pressure, Temperature and Altitude
- MAX30100 - Heart Rate (**Note:** This reading is not currently used for any computation - couldn't be implemented due to time constraints)
- Soil Moisture Sensor - A value corresponding to soil moisture

The interaction between ESP8266, BMP280 and MAX30100 is facilitated by `I2C communication` protocol which also provies a scope for further expansion in the diversity and number of sensor interactions
The interaction between ESP8266, BMP280, and MAX30100 is facilitated by the `I2C communication` protocol which also provides a scope for further expansion in the diversity and number of sensor interactions

The code also features a control logic for the 16x2 LDC display which provides the user with the values being transmitted to the backend server and also other useful data
The code also features a control logic for the 16x2 LDC display which provides the user with the values being transmitted to the backend server and other useful data
### Built With
The following components and technologies were used:
- ESP8266 module
Expand All @@ -45,9 +45,10 @@ The following components and technologies were used:
- I2C communicaiton Protocol

### Schematic
![NodeMCU drawio](https://github.com/marcdhi/harveeco/assets/95867745/05eb248f-58e3-4cce-93ff-5b6b4d1b5f3d)

## Getting Started
### Prerequesites
### Prerequisites
- [Arduino IDE](https://www.arduino.cc/en/software)
- [ESP8266 board manager](https://arduino.esp8266.com/stable/package_esp8266com_index.json)

Expand All @@ -61,7 +62,7 @@ The following components and technologies were used:
const char* ssid = "<SSID>";
const char* password = "<password>";
```
- Add the endpoints as required, the current implementation supprots **http** only
- Add the endpoints as required, the current implementation supports **HTTP** only
```cpp
// Endpoints
const char* serverName = "http://<BaseURL>/<path/query params>";
Expand All @@ -70,9 +71,9 @@ The following components and technologies were used:
```cpp
int updateInterval = 10000; //10 secs
```
- Select the appropriate COMM Port and Device, the code can be flashed then
- Select the appropriate COMM Port and Device, then the code can be flashed

## Further Developement Plans
## Further Development Plans
- Due to the time constraint certain parameters have been hardcoded. A keypad input can be taken to initialize these values
- In continuation with the above point threasholds can also be customised either via physical inputs or via a web interface
- `10Bit I2C addressing` allows for upto `1024 devices` on the same I2C line. This opens up for swarm implementations and physically destributed implementations.
- In continuation with the above point thresholds can also be customised either via physical inputs or via a web interface
- `10Bit I2C addressing` allows for upto `1024 devices` on the same I2C line. This opens up swarm implementations and physically distributed implementations.

0 comments on commit 19212b8

Please sign in to comment.