Updated repo information
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -2,3 +2,4 @@
 | 
			
		||||
.vscode
 | 
			
		||||
 | 
			
		||||
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:
 | 
			
		||||
 - An arduino to log the raw data from sensors and transmit them over the serial port (See the arduino.ini file)
 | 
			
		||||
 - 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)
 | 
			
		||||
  <!-- Title -->
 | 
			
		||||
  ### 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",
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "outDir": "./out-tsc/app",
 | 
			
		||||
 | 
			
		||||
    "types": []
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "src/main.ts",
 | 
			
		||||
    "src/polyfills.ts"
 | 
			
		||||
  ],
 | 
			
		||||
  "include": [
 | 
			
		||||
    "src/**/*.d.ts"
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,8 @@
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "allowSyntheticDefaultImports": true,
 | 
			
		||||
    "baseUrl": "./",
 | 
			
		||||
    "outDir": "./dist/out-tsc",
 | 
			
		||||
//    "outDir": "./dist/out-tsc",
 | 
			
		||||
    "outDir": "./out-tsc/app",
 | 
			
		||||
    "forceConsistentCasingInFileNames": true,
 | 
			
		||||
    "strict": true,
 | 
			
		||||
    "noImplicitReturns": false,
 | 
			
		||||
@@ -25,6 +26,13 @@
 | 
			
		||||
      "dom"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "src/main.ts",
 | 
			
		||||
    "src/polyfills.ts"
 | 
			
		||||
  ],
 | 
			
		||||
  "include": [
 | 
			
		||||
    "src/**/*.d.ts"
 | 
			
		||||
  ],
 | 
			
		||||
  "angularCompilerOptions": {
 | 
			
		||||
    "enableI18nLegacyMessageIdFormat": false,
 | 
			
		||||
    "strictInjectionParameters": true,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user