diff --git a/README.md b/README.md index 50bc276..dd7060d 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,32 @@ # PI-MC-WATCHER -A system that allows Monitoring of Raspberry PI('s) and it's running Minecraft Server(s) on PC and Mac +A system that allows Monitoring of Raspberry PI('s) and it's running Minecraft Server(s) on PC and Mac as well as controlling their cooling ## Why? Because I can. Overcomplicated stupid projects are a lot of fun. ## What it is about -The system contains of three parts. Those are the **PC Module**, **RPi Master Module** and ** RPi Slave Module** +The system contains of three parts. Those are the **PC Module**, **RPi Master Module** and **RPi Slave Module** -Required for this to work without any modifications are: +### To "briefly" explain the concenpt: +- The idea is to have a small server rack containing two Raspberry PI's (PI 4B & PI 1.2B+) +- We will call the PI 4B the *Master* and the PI 1.2B+ will now be the *Slave* +- The Master hosts all the information of its own system (such as CPU temps, frequency, etc.) and the ones from the Slave. +- The PC (or Mac) runs a program that, every cycle, requests all the data from the Master to essentially work as a Monitoring program for both PI's +- Let's introduce the fan control: + - We have a large 80mm Fan that cools both PI's and a smaller 40mm fan that primarily cools the Master (it requires more cooling due to it being overclocked and its hosted Minecraft servers) + - The small fan works as following: + - The small fan is either on at 100% or off at 0%. + - As soon as the Master's CPU reaches `50°C` the small fan starts to spin + - The fan requires a 5V. therefore the additional [fancontrol circuit](#fan-control-circuit): + - As soon as the dedicated GPIO pin on the Master turns on, the transistor switches on and powers the fan with 5V from the 5V GPIO pin. + - The large fan works as following: + - The small fan is either at 25%, 50%, 75% or 100% power + - As it cools both PI's, it needs to prioritize the cooling requirements of both PI's it always chooses the higher cooling requirment +- Now the Minecraft server(s): + - The Master hosts two Minecraft servers and currently implemented is the support for a single Minecraft server. + - The Master collects a variety of informations about the server of choice and throws it together with its other system information to form an array (or list in python) with all the information which then "travels" to the PC + +### Required for this to work without any modifications are: - 1x PC or macboock - 2x Raspberry PI's with GPIO Pins (Model A, A+, B or B+), any version works (I use a **Raspberry PI 4 B** and **Raspberry PI 1.2 B+**) and needed power, ethernet, etc. -connections - 2x cooling fan (I used 1x 5V & 1x 12V fan), external 12V power source (or matching one for the large fan)