Skip to content

Commit a72ae7b

Browse files
committed
Added some more documentation
1 parent 71bfffe commit a72ae7b

7 files changed

Lines changed: 106 additions & 10 deletions

File tree

docs/core/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: "WeatherStack Core"
3+
sidebar_position: 3
4+
---

docs/edge/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: "WeatherStack Edge"
3+
sidebar_position: 4
4+
---

docs/frontend/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: "WeatherStack Frontend"
3+
sidebar_position: 5
4+
---

docs/getting-started.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

docs/getting-started.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: "Getting started"
3+
sidebar_position: 1
4+
---
5+
6+
## Getting started with WeatherStack
7+
You'll need a few things before beginning to set up WeatherStack. Below is a table of items **required** to be able to run WeatherStack.
8+
9+
### Prerequisites
10+
11+
| Item | Notes |
12+
| :-------------------------- | :---------------------------------------------------------------------------------------------------- |
13+
| 2 **Rasbberry Pi**s | There'll be one that stores and processes data, and the other that you can use outside with a camera. |
14+
| Any sensors you'll be using | Any sensors, there is a [recommended list of sensors below](#recommended-list-of-sensors). |
15+
16+
### Recommended list of sensors
17+
18+
For a full weather station; you'll need many different types of sensors, such as: Temperture, Humidity, Pressure, Light, Wind (direction & speed), and rain.
19+
You may also wish to have a couple others like an RGB (BGR) sensor, or a UV sensor.
20+
For a full list of the sensors that WeatherStack supports, [please visit here](/docs/supported-sensors/).
21+
22+
| Type | Recommended Sensor | Notes |
23+
| :---------: | :-------------------------------------------------: | :---: |
24+
| Light | [`BH1750`](/docs/supported-sensors/BH1750/) | |
25+
| Pressure | [`BME/BMP280`](/docs/supported-sensors/BME-BMP280/) | |
26+
| Temperature | [`AHT10`](/docs/supported-sensors/AHT10/) | |
27+
| Humidity | [`AHT10`](/docs/supported-sensors/AHT10/) | |
28+
| Pressure | [`BME/BMP280`](/docs/supported-sensors/BME-BMP280/) | |
29+
| UV | [`GYML1855`](/docs/supported-sensors/GYML1855/) | |
30+
31+
### Setting up WeatherStack
32+
33+
:::tip
34+
Before beginning to set up WeatherStack, it's recommended to read the [supported sensors](/docs/supported-sensors/) page, to see which sensors are supported, and how to wire them up.
35+
It is also recommended to read into how WeatherStack works, and how to set it up, by reading the [WeatherStack overview](/docs/overview/) page.
36+
:::

docs/overview.mdx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: "Overview"
3+
sidebar_position: 1
4+
---
5+
6+
This page shows you the overview of the WeatherStack project, including the core features, an overview of how it works, and some little diagrams.
7+
There are 3 main components to WeatherStack, which are the **Backend/Core**, **Edge devices (Nodes & Sensors)**, and **Frontend**.
8+
These are called "WeatherStack Core", "WeatherStack Edge", and "WeatherStack Frontend" respectively.
9+
10+
## WeatherStack Core
11+
The core of WeatherStack is the backend, which is responsible for processing data from the edge devices, storing it, and providing an API for the frontend to use.
12+
It's built using TypeScript (Deno), PostgreSQL, and a few other little bits, like C# for processing the data into things like timelapses, or reports that you can download.
13+
14+
This is desgined to run on a dedicated server, specficially a Raspberry Pi 4 or higher. It's best to have this running on your local network for fast data transfer between the edge devices and the core.
15+
It is however available to run as a Docker container, but it may severely limit it's performance, and may not be able to handle the data as well as a dedicated server.
16+
17+
It is suggested to have an external storage device connected to the server, such as a USB drive or an external hard drive, to store the data that is collected by the edge devices.
18+
Since it runs on Linux, it's fairly easy to set up a NAS (Network Attached Storage) to store the data, which can be accessed by the frontend and other devices on the network,
19+
though it is not recommended as it may slow down the performance of the core, and may cause issues with data transfer.
20+
21+
[Read more about the core here](/docs/core/).
22+
23+
## WeatherStack Edge
24+
This is the part of WeatherStack that actually collects the data from the sensors. This part is made up of another Raspberry Pi (or any other device that can run Linux),
25+
and 1 or more ESP32's that actually connect to the sensors to collect data.
26+
You may wish to connect a camera to the Rasberry Pi (or any other device that can run Linux) to take photos of the sky at set intervals (Same as, or different to the data collection interval),
27+
and send them to the core for processing.
28+
29+
If you would like to create timelapses of the sky, you may need to connect a camera to the server, and set it up to take photos at set intervals.
30+
31+
:::tip
32+
When selecting a device to run the edge software, it is recommended to use a Raspberry Pi 4 or higher, as it has Wi-Fi built in.
33+
:::
34+
35+
[Read more about the edge here](/docs/edge/).
36+
37+
## WeatherStack Frontend
38+
This is what you will see most of the time. There are many different interfaces, such as the web interface, the mobile app, and the desktop app.
39+
The web interface is the main interface, and is built using React, TypeScript, and Tailwind CSS.
40+
41+
You can control most of the settings from the web interface, such as the data collection interval, the sensors that are connected, and the camera settings.
42+
You can also view the data that has been collected, such as the temperature, humidity, pressure, and light levels.
43+
44+
This allows you to view the data in real-time, and also allows you to download reports and timelapses of the data that has been collected.
45+
You can schedule things to happen, like creating reports, making timelapses, and more.
46+
47+
You may also make your data public (if you wish), so that others can view your data using the web interface.
48+
49+
There is also a second desktop interface, which is built for making the software for the ESP32 edge devices, so you can easily select the sensors you want to use,
50+
and it will generate the code for you to upload to the ESP32. It will also tell you waht pins to connect the sensors to, and how to wire them up.
51+
52+
[Read more about the frontend here](/docs/frontend/).

docs/supported-sensors/index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,18 @@ The following are the possible sensor statuses:
1414
|| Implemented | Tested | Documented |
1515
| ⚠️ | Implementing | Testing | Documenting |
1616
|| Not implemented | Not tested | Not documented |
17+
|| Unknown | Unknown | Unknown |
1718

1819
## Sensor implementation table
1920

20-
| Sensor name | Sensor type | Current Status | Sensor Docs |
21-
| :----------------: | :----------------------------------------------------: | :------------: | :-----------------------------------------------: |
22-
| `BH1750` | Ambient Light Sensor | ❌⚠️ | [View docs](/docs/supported-sensors/BH1750) |
21+
| Sensor name | Sensor type | Current Status | Sensor Docs |
22+
| :----------------: | :----------------------------------------------------: | :-------------: | :-----------------------------------------------: |
23+
| `BH1750` | Ambient Light Sensor | ❌⚠️⚠️ | [View docs](/docs/supported-sensors/BH1750) |
2324
| `BMP180` | Digital Pressure Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/BMP180) |
2425
| `CJMCU-1100` | Formalin Detection Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/CJMCU-1100) |
2526
| `BME/BMP280` | Digital Temperature and Humidity Pressure Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/BME-BMP280) |
2627
| `AHT10` | High Precision Digital Temperature and Humidity Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/AHT10) |
2728
| `VEML7700` | Ambient Light Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/VEML7700) |
2829
| `GYML8511` | UV Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/GYML8511) |
29-
| `ENS160` + `AHT21` | Air Quality Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/ENS160-AHT21) |
30+
| `ENS160` + `AHT21` | Air Quality Sensor | ❌❌❌ | [View docs](/docs/supported-sensors/ENS160-AHT21) |
31+
| `TCS3472` | RGB Sensor | | |

0 commit comments

Comments
 (0)