Browse Source

more readme

Thomas Buck 3 years ago
parent
commit
f2f8b1c6a7
1 changed files with 40 additions and 1 deletions
  1. 40
    1
      README.md

+ 40
- 1
README.md View File

1
 # Giess-o-mat
1
 # Giess-o-mat
2
 
2
 
3
+Firmware for automatic plant-watering machine, with web interface, LCD and keypad support, using two MCUs communicating via I2C.
4
+
3
 For more please also [take a look at Giess-o-mat on my website](https://www.xythobuz.de/giessomat.html).
5
 For more please also [take a look at Giess-o-mat on my website](https://www.xythobuz.de/giessomat.html).
4
 
6
 
5
 ## Quick Start
7
 ## Quick Start
11
     echo '#define WIFI_SSID "..."' > include/wifi.h
13
     echo '#define WIFI_SSID "..."' > include/wifi.h
12
     echo '#define WIFI_PW "..."' >> include/wifi.h
14
     echo '#define WIFI_PW "..."' >> include/wifi.h
13
 
15
 
14
-Then simply run the build for all supported configurations with platformio:
16
+Then simply run the build for all supported configurations with platformio.
15
 
17
 
16
     pio run
18
     pio run
17
 
19
 
18
 You can of course also use pio to flash your targets.
20
 You can of course also use pio to flash your targets.
19
 
21
 
22
+## Hardware
23
+
24
+In general, the project consists of two parts, the controller and the ui.
25
+They both communicate via I2C.
26
+In my own setup, I'm running the controller on an ESP32, and the UI on an Arduino Nano.
27
+It is also possible to run the controller with an ESP8266 or an Arduino instead.
28
+You can also run both on one board, but this was up to now only used on Arduino for testing purposes.
29
+
30
+Of course you need to take care of voltage levels when connecting different boards.
31
+I'm running the UI with 5V and the ESP32 is using 3.3V.
32
+For safety reasons I added a bi-directional I2C level converter between them.
33
+
34
+## Details
35
+
36
+The following targets are defined for this project.
37
+
38
+| Name          | Board            | Function   | Tested | Usable |
39
+| ------------- | ---------------- | ---------- | ------ | ------ |
40
+| esp8266_main  | ESP8266          | Controller | No     | ?      |
41
+| esp32_main    | ESP32            | Controller | Yes    | Yes    |
42
+| arduino_ui    | Arduino Pro      | UI         | Yes    | Yes    |
43
+| arduino_test  | Arduino Pro      | Both       | Yes    | No     |
44
+| leonardo_main | Arduino Leonardo | Controller | Yes    | Yes    |
45
+| leonardo_test | Arduino Leonardo | Both       | Yes    | No     |
46
+
47
+The "unusable" test targets were only used for easier development.
48
+They do not have enough GPIOs for all functionality!
49
+
50
+ESP8266 should work in theory, as long as the board has enough GPIOs, but I have not tested it.
51
+
52
+See 'include/config_pins.h' for the GPIO number definitions for the different configurations.
53
+Some other options can be set in 'include/config.h'.
54
+
55
+When an ESP is used, a webinterface and OTA updater will be included as well.
56
+For the ESP32, you can upload a new firmware using a webbrowser.
57
+Simply use the link on the main page of the web ui, then upload the '.pio/build/esp32_main/firmware.bin' file from the project directory after building.
58
+
20
 ## License
59
 ## License
21
 
60
 
22
     Copyright (c) 2021 Thomas Buck <thomas@xythobuz.de>
61
     Copyright (c) 2021 Thomas Buck <thomas@xythobuz.de>

Loading…
Cancel
Save