Updated repo information
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -2,3 +2,4 @@
 | 
				
			|||||||
.vscode
 | 
					.vscode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
node_modules
 | 
					node_modules
 | 
				
			||||||
 | 
					dist
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					Copyright (c) 2023 Zakary Timson
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All Rights Reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
				
			||||||
 | 
					THE SOFTWARE.
 | 
				
			||||||
							
								
								
									
										77
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								README.md
									
									
									
									
									
								
							@@ -1,10 +1,73 @@
 | 
				
			|||||||
# HomeFront-Battery
 | 
					<!-- Header -->
 | 
				
			||||||
 | 
					<div id="top" align="center">
 | 
				
			||||||
 | 
					  <br />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
After obtaining 4 Tesla battery modules from a model X, a client and I decided to build our own knock off Tesla power wall and hook it up to a solar array to create an offgrid system. Part of this project was to log the voltage, battery tempature and control a set of fans through a website so it could be controleld and monitored remotely.
 | 
					  <!-- Logo -->
 | 
				
			||||||
 | 
					  <img src="./website/src/assets/icon.png" alt="Logo" width="200" height="200">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We accomplished the software side in 3 steps:
 | 
					  <!-- Title -->
 | 
				
			||||||
 - An arduino to log the raw data from sensors and transmit them over the serial port (See the arduino.ini file)
 | 
					  ### HomeFront
 | 
				
			||||||
 - A raspberry pi to recieve the serial data and send it to the cloud DB (See the monitor.js file)
 | 
					 | 
				
			||||||
 - [A website to display the recorded data live](https://github.com/ztimson/HomeFront)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
<img src="./pictures/Resized_20181124_121520_5410.jpg" width="45%" height="auto"> <img src="./pictures/03e615d9-f1b3-4439-9341-185cd3c14f3f.jpg" width="45%" height="auto">
 | 
					  <!-- Description -->
 | 
				
			||||||
 | 
					  Simple repository template
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- Repo badges -->
 | 
				
			||||||
 | 
					  [](https://git.zakscode.com/ztimson/home-front/tags)
 | 
				
			||||||
 | 
					  [](https://git.zakscode.com/ztimson/home-front/pulls)
 | 
				
			||||||
 | 
					  [](https://git.zakscode.com/ztimson/template/issues)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ---
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Table of Contents
 | 
				
			||||||
 | 
					- [HomeFront](#top)
 | 
				
			||||||
 | 
					    - [About](#about)
 | 
				
			||||||
 | 
					        - [Built With](#built-with)
 | 
				
			||||||
 | 
					    - [Setup](#setup)
 | 
				
			||||||
 | 
					        - [Development](#development)
 | 
				
			||||||
 | 
					    - [License](#license)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## About
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<img src="./pictures/Resized_20181124_121520_5410.jpg" width="40%" height="auto"> <img src="./pictures/03e615d9-f1b3-4439-9341-185cd3c14f3f.jpg" width="40%" height="auto">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After obtaining 4 Tesla battery modules, I was contracted to build a device to record battery voltages & temperatures. This was accomplished using some custom circutry and
 | 
				
			||||||
 | 
					an arduino. These input values were then read by a Raspberry Pi & published to a web UI for remote viewing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Later on the arduino was removed and the raspberry pi was directly interfaced with an upgraded Battery Charging Module which was able to read values directly from the batteries
 | 
				
			||||||
 | 
					onboard computer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The code is split into two pieces:
 | 
				
			||||||
 | 
					 - Website for viewing data
 | 
				
			||||||
 | 
					 - Arduino & Raspberry Pi code to collect & publish battery data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Built With
 | 
				
			||||||
 | 
					[](https://angular.io/)
 | 
				
			||||||
 | 
					[](https://www.arduino.cc/)
 | 
				
			||||||
 | 
					[](https://firebase.google.com/)
 | 
				
			||||||
 | 
					[](https://en.wikipedia.org/wiki/Shell_script)
 | 
				
			||||||
 | 
					[](https://typescriptlang.org/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<details>
 | 
				
			||||||
 | 
					<summary>
 | 
				
			||||||
 | 
					  <h3 id="development" style="display: inline">
 | 
				
			||||||
 | 
					    Development
 | 
				
			||||||
 | 
					  </h3>
 | 
				
			||||||
 | 
					</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Prerequisites
 | 
				
			||||||
 | 
					- [Node.js](https://nodejs.org/en/download)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Instructions
 | 
				
			||||||
 | 
					1. Install the dependencies: `npm install`
 | 
				
			||||||
 | 
					2. Start the Angular server: `npm run start`
 | 
				
			||||||
 | 
					3. Open [http://localhost:4200](http://localhost:4200)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## License
 | 
				
			||||||
 | 
					Copyright © 2023 Zakary Timson | All Rights Reserved
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See the [license](./LICENSE) for more information.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
version: 2
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
    build:
 | 
					 | 
				
			||||||
        docker:
 | 
					 | 
				
			||||||
        - image: circleci/node:12.14-browsers
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        working_directory: ~/repo
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        steps:
 | 
					 | 
				
			||||||
            - checkout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            - restore_cache:
 | 
					 | 
				
			||||||
                  keys:
 | 
					 | 
				
			||||||
                      - v1-dependencies-{{ checksum "package.json" }}
 | 
					 | 
				
			||||||
                      - v1-dependencies-
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            - run:
 | 
					 | 
				
			||||||
                  name: Install Dependancies
 | 
					 | 
				
			||||||
                  command: yarn
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            - save_cache:
 | 
					 | 
				
			||||||
                  key: v1-dependencies-{{ checksum "package.json" }}
 | 
					 | 
				
			||||||
                  paths:
 | 
					 | 
				
			||||||
                      - node_modules
 | 
					 | 
				
			||||||
                      - functions/node_modules
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            - run:
 | 
					 | 
				
			||||||
                  name: Build
 | 
					 | 
				
			||||||
                  command: npm run build
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            - run:
 | 
					 | 
				
			||||||
                  name: Deploy
 | 
					 | 
				
			||||||
                  command: npm run deploy
 | 
					 | 
				
			||||||
							
								
								
									
										45
									
								
								website/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								website/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,45 +0,0 @@
 | 
				
			|||||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# compiled output
 | 
					 | 
				
			||||||
/dist
 | 
					 | 
				
			||||||
/tmp
 | 
					 | 
				
			||||||
/out-tsc
 | 
					 | 
				
			||||||
# Only exists if Bazel was run
 | 
					 | 
				
			||||||
/bazel-out
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# dependencies
 | 
					 | 
				
			||||||
/node_modules
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# profiling files
 | 
					 | 
				
			||||||
chrome-profiler-events*.json
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# IDEs and editors
 | 
					 | 
				
			||||||
/.idea
 | 
					 | 
				
			||||||
.project
 | 
					 | 
				
			||||||
.classpath
 | 
					 | 
				
			||||||
.c9/
 | 
					 | 
				
			||||||
*.launch
 | 
					 | 
				
			||||||
.settings/
 | 
					 | 
				
			||||||
*.sublime-workspace
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# IDE - VSCode
 | 
					 | 
				
			||||||
.vscode/*
 | 
					 | 
				
			||||||
!.vscode/settings.json
 | 
					 | 
				
			||||||
!.vscode/tasks.json
 | 
					 | 
				
			||||||
!.vscode/launch.json
 | 
					 | 
				
			||||||
!.vscode/extensions.json
 | 
					 | 
				
			||||||
.history/*
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# misc
 | 
					 | 
				
			||||||
/.sass-cache
 | 
					 | 
				
			||||||
/connect.lock
 | 
					 | 
				
			||||||
/coverage
 | 
					 | 
				
			||||||
/libpeerconnection.log
 | 
					 | 
				
			||||||
npm-debug.log
 | 
					 | 
				
			||||||
yarn-error.log
 | 
					 | 
				
			||||||
testem.log
 | 
					 | 
				
			||||||
/typings
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# System Files
 | 
					 | 
				
			||||||
.DS_Store
 | 
					 | 
				
			||||||
Thumbs.db
 | 
					 | 
				
			||||||
@@ -2,14 +2,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "extends": "./tsconfig.json",
 | 
					  "extends": "./tsconfig.json",
 | 
				
			||||||
  "compilerOptions": {
 | 
					  "compilerOptions": {
 | 
				
			||||||
    "outDir": "./out-tsc/app",
 | 
					
 | 
				
			||||||
    "types": []
 | 
					    "types": []
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "files": [
 | 
					
 | 
				
			||||||
    "src/main.ts",
 | 
					 | 
				
			||||||
    "src/polyfills.ts"
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
  "include": [
 | 
					 | 
				
			||||||
    "src/**/*.d.ts"
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,8 @@
 | 
				
			|||||||
  "compilerOptions": {
 | 
					  "compilerOptions": {
 | 
				
			||||||
    "allowSyntheticDefaultImports": true,
 | 
					    "allowSyntheticDefaultImports": true,
 | 
				
			||||||
    "baseUrl": "./",
 | 
					    "baseUrl": "./",
 | 
				
			||||||
    "outDir": "./dist/out-tsc",
 | 
					//    "outDir": "./dist/out-tsc",
 | 
				
			||||||
 | 
					    "outDir": "./out-tsc/app",
 | 
				
			||||||
    "forceConsistentCasingInFileNames": true,
 | 
					    "forceConsistentCasingInFileNames": true,
 | 
				
			||||||
    "strict": true,
 | 
					    "strict": true,
 | 
				
			||||||
    "noImplicitReturns": false,
 | 
					    "noImplicitReturns": false,
 | 
				
			||||||
@@ -25,6 +26,13 @@
 | 
				
			|||||||
      "dom"
 | 
					      "dom"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  "files": [
 | 
				
			||||||
 | 
					    "src/main.ts",
 | 
				
			||||||
 | 
					    "src/polyfills.ts"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "include": [
 | 
				
			||||||
 | 
					    "src/**/*.d.ts"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
  "angularCompilerOptions": {
 | 
					  "angularCompilerOptions": {
 | 
				
			||||||
    "enableI18nLegacyMessageIdFormat": false,
 | 
					    "enableI18nLegacyMessageIdFormat": false,
 | 
				
			||||||
    "strictInjectionParameters": true,
 | 
					    "strictInjectionParameters": true,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user