-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Adding new configuration files * Editing the project structure, adding the src, test and conf folder * Making last updates, like fixing the template and static folders, updating the setup.pi to add new version, putting the requirements.txt file again, updating the readme and adding more information on the manifest.
- Loading branch information
Showing
42 changed files
with
175 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,4 +3,7 @@ | |
*log | ||
*.venv | ||
*certs* | ||
*__pycache__* | ||
*__pycache__* | ||
*.egg* | ||
dist | ||
build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
include LICENSE | ||
include README.md | ||
include conf/logger.ini | ||
include src/flaskapp/templates/* | ||
include src/flaskapp/static/css/* | ||
include src/flaskapp/static/js/* | ||
include src/flaskapp/static/img/* | ||
include src/flaskapp/static/fonts/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
init: | ||
pip install -r requirements.txt | ||
|
||
test: | ||
nosetests tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
Flask==1.0.2 | ||
boto3==1.9.118 | ||
AWSIoTPythonSDK==1.4.4 | ||
numpy==1.16.2 | ||
flask_wtf==0.14.2 | ||
Flask==1.1.1 | ||
boto3==1.9.220 | ||
AWSIoTPythonSDK==1.4.7 | ||
numpy==1.17.1 | ||
flask_wtf==0.14.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
import os | ||
|
||
from setuptools import setup | ||
|
||
long_description="Smart Garden - IoT Project" \ | ||
"" \ | ||
"" \ | ||
"The smart garden monitors the temperature, humidity, light levels and soil moisture of the plant. It has an automated system that waters the plant when the soil moisture is below an specific value and switches on the fan when the air temperature or humidity are below or above an specific value. This maintains an ideal and consistent soil condition for the plant, and makes it convenient for those who tend to forget to water their plants regularly." \ | ||
"" \ | ||
"We will be using a Raspberry Pi to receive data from the sensors and control the different actuators. The surrounding temperature, air humidity and brightness and soil moisture values will be recorded. These values will then be displayed on a web page, which allow users to know the environmental conditions of the plants when they check on them." \ | ||
"" \ | ||
"When the soil moisture level goes below the user input, and the automatic button is tuned on, the water pump will start to run and pump water into the soil automatically. This is very convenient for users as they do not need to water their plants every time but instead let the system water their plants automatically based on the moisture level of the soil." \ | ||
"" \ | ||
"As for the fans, when the temperature is above the specific or the air humidity is below the specified, the fans will turn on to allow the exchange of air with the outside environment. Mind that the system is inside of a Hydroponic tent." \ | ||
"" \ | ||
"The Light will be turned on constantly based on time (3, 6 or 9 hours) as manual input on the own light timer." \ | ||
"" \ | ||
"The temperature, humidity, light levels and soil moisture values will also be published to DynamoDB. Through a server (Raspberry Pi), the data will be displayed onto a flask web page where it shows real-time data coming from the sensors. This will allow users to view the real-time environmental conditions of the plants on the go (the latest 15 records through a graph)." \ | ||
"" \ | ||
"The web page will also allow users to control the water pump and fans whenever the user decide, based on the automatically or manually input. The web page also counts with authorization based on username and password stored in a Cognito UserPool." \ | ||
"" \ | ||
"The user can also change the inputs values for turning on the fans and the water pump on the web page. By choosing Setting, the user can change the values of temperature, air humidity and moisture." \ | ||
"" \ | ||
"The user is also able to control the system using Alexa assistant. Check the SmartGarden CodeStar [project](https://github.com/wenzaca/SmartGardenAlexa) for more information." \ | ||
"" \ | ||
"The server that runs on the Raspberry PI is available on a third [project](https://github.com/wenzaca/SmartGardenRaspberry) that the user can download and run it on the Raspberry PI. For how to setup the hardware of this project, ensure to check the Raspberry project." | ||
|
||
|
||
with open('LICENSE') as f: | ||
license = f.read() | ||
|
||
setup( | ||
name="SmartGarden", | ||
version="1.0.1", | ||
description="Smart Garden Webserver used to control an Raspberry PI, developed in Python with JS, Jquery and Ajax.", | ||
author='Wendler Zacariotto', | ||
author_email='wenzaca@gmail.com', | ||
url='https://github.com/wenzaca/SmartGarden', | ||
long_description=long_description, | ||
license=license, | ||
keywords=['SmartGarden', 'aws', 'Raspberry'], | ||
|
||
# declare your packages | ||
packages=["src", "src.flaskapp", "src.flaskapp.static.css", "src.flaskapp.templates", "src.flaskapp.static.js", | ||
"src.flaskapp.static.img", "src.flaskapp.static.fonts", "conf"], | ||
|
||
# include data files | ||
include_package_data=True, | ||
exclude_package_data={'': ['.DS_Store']}, | ||
|
||
# requirements | ||
install_requires=['Flask>1.0', 'boto3>1.9.100', 'AWSIoTPythonSDK>1.4.0', 'numpy>1.17.0', 'flask_wtf>0.14.0'], | ||
python_requires='>=3.6.0', | ||
|
||
# run | ||
test_suite="test", | ||
entry_points={'console_scripts': [ | ||
'smart_garden = src.command_line:main' | ||
] | ||
} | ||
|
||
|
||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/usr/bin/env python3 | ||
|
||
import os | ||
import argparse | ||
import boto3 | ||
|
||
if os.path.isdir('log') is False: | ||
os.mkdir('log') | ||
|
||
|
||
def download_certificate(profile_name, s3_bucket, region): | ||
session = boto3.session.Session(profile_name=profile_name) | ||
s3 = session.client('s3', region_name=region) | ||
if os.path.isdir('./certs') is False: | ||
os.mkdir('./certs') | ||
s3.download_file(s3_bucket, 'rootca.pem', './certs/rootca.pem') | ||
s3.download_file(s3_bucket, 'certificate.pem.crt', './certs/certificate.pem.crt') | ||
s3.download_file(s3_bucket, 'private.pem.key', './certs/private.pem.key') | ||
|
||
|
||
def main(): | ||
parser = argparse.ArgumentParser("smart_garden", description="WebServer stater point for Smart Garden") | ||
parser.add_argument("--s3-bucket", '-b', help="The S3 Bucket where the certificates were uploaded", type=str, | ||
required=True, metavar='bucket/name/and/folder') | ||
parser.add_argument("--profile_name", '-u', help="The Credential User", type=str, required=False, | ||
default='default', metavar='default') | ||
parser.add_argument("--aws_region", '-r', help="The Bucket and the AWS IoT Region", type=str, required=False, | ||
default='us-east-1', metavar='us-east-1') | ||
parser.add_argument("--port", '-p', help="The port that you want this server to run", type=int, required=False, | ||
default=80, metavar='80') | ||
args = parser.parse_args() | ||
download_certificate(args.profile_name, args.s3_bucket, args.aws_region) | ||
from src.flaskapp import app | ||
|
||
app.run(host='127.0.0.1', port=args.port, use_reloader=False, debug=False) | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import os | ||
|
||
from flask import Flask | ||
|
||
this_dir, this_filename = os.path.split(__file__) | ||
template_path = os.path.join(os.path.dirname(this_dir), "flaskapp", "templates") | ||
static_path = os.path.join(os.path.dirname(this_dir), "flaskapp", "static") | ||
|
||
app = Flask("SmartGarden Webserver", template_folder=template_path, static_folder=static_path, static_url_path="/static") | ||
app.secret_key = os.urandom(12) | ||
|
||
from . import routes |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/usr/bin/env python3 | ||
|
||
print("Create tests") |