Updated repo information
This commit is contained in:
parent
45478255bb
commit
0a4ab8475e
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 -->
|
||||||
|
[![Version](https://img.shields.io/badge/dynamic/json.svg?label=Version&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front/tags&query=$[0].name)](https://git.zakscode.com/ztimson/home-front/tags)
|
||||||
|
[![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front&query=open_pr_counter)](https://git.zakscode.com/ztimson/home-front/pulls)
|
||||||
|
[![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front&query=open_issues_count)](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
|
||||||
|
[![Angular](https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular)](https://angular.io/)
|
||||||
|
[![Arduino](https://img.shields.io/badge/Arduino-00878F?style=for-the-badge&logo=arduino&logoColor=white)](https://www.arduino.cc/)
|
||||||
|
[![Firebase](https://img.shields.io/badge/Firebase-FFFFFF?style=for-the-badge&logo=firebase)](https://firebase.google.com/)
|
||||||
|
[![Shell](https://img.shields.io/badge/Shell-000000?style=for-the-badge&logo=windowsterminal&logoColor=00ff00)](https://en.wikipedia.org/wiki/Shell_script)
|
||||||
|
[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](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,
|
||||||
|
Loading…
Reference in New Issue
Block a user