diff --git a/README.md b/README.md index aaf1e8d..d9ad2bd 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,32 @@ # Home Automation -The main goals of this project is provide a simple way to do some home automation [based on a cheap and +The main goal of this project is provide a simple way to do some home automation [based on a cheap and small board](https://easyeda.com/DIY-Maker-BR/placa-4-reles-esp12f) -Project licensed under: GPLv3 +Project licensed under: GPLv3 for board and firmware. + +## Board + +The board comes with all components soldered from [JLCPCB](https://jlcpcb.com), when you bought with SMT Assembly Services. You need only +solder the relays (3x units), KREs (3x 3 vias, 1x 2 vias) and a ESP12 (E or F). Its super easy. + +![Board photo](docs/board.png) + +Files links to order your board: + +- [Gerber File](docs/Gerber_20200130210739.zip) +- [Bill of Material](docs/BOM_20200130210745.csv) +- [Pick and Place](docs/PickAndPlace_20200130210754.csv) + +Characteristcs from this board: + +- Source Voltage: 5v +- Current (maximum usage, without extensions): 540mA +- Extension headers: I2C, Analog Input, Additionals GPIO +- Small size: 70mm x 49mm +- Manual reset and flash buttons +- Flash friendly (as describe in FAQ) +- 3 relays (because it is a cold component -- you can use inside your wall conduit box). ## Firmware @@ -61,22 +84,34 @@ Your sensor topics: Action topics: +- GET: command to get informations +- SET: command to set action +- RES: the topic where you will receive the result from GET + +``` +GET: /action/e12aio3_/config/get, PAYLOAD: json +SET: /action/e12aio3_/config/set, PAYLOAD: { .... json bellow .... } +RES: /action/e12aio3_/config, PAYLOAD: { ... json bellow... } +``` + ``` -GET: /action/e12aio3_/config/get -SET: /action/e12aio3_/config/set -RES: /action/e12aio3_/config +SET: /action/e12aio3_/restart/set, PAYLOAD: yes ``` ``` -GET: /action/e12aio3_/scan/get -RES: /action/e12aio3_/scan +GET: /action/e12aio3_/scan/get, PAYLOAD: json +RES: /action/e12aio3_/scan, PAYLOAD: { ... json under development ... } ``` ### How to firmware? -Use [ESP8266-RTOS IDF Like](https://docs.espressif.com/projects/esp8266-rtos-sdk/en/release-v3.3/index.html#) +This firmware was built in [ESP8266-RTOS IDF Like](https://docs.espressif.com/projects/esp8266-rtos-sdk/en/release-v3.3/index.html#). + +You can use a ESP8266 Programmer (and avoid to solder serial headers) or via serial (TX, RX, GND). + +If you have a FTDI / CP2104 or CH340 with DTR and CTS, the board is flash friendly (auto enter in programmer mode and restart after flash). -### How to configure? +### How to configure default values from firmware? Use `make menuconfig` diff --git a/docs/BOM_20200130210745.csv b/docs/BOM_20200130210745.csv new file mode 100644 index 0000000..3e4c53c Binary files /dev/null and b/docs/BOM_20200130210745.csv differ diff --git a/docs/Gerber_20200130210739.zip b/docs/Gerber_20200130210739.zip new file mode 100644 index 0000000..adf0d03 Binary files /dev/null and b/docs/Gerber_20200130210739.zip differ diff --git a/docs/PickAndPlace_20200130210754.csv b/docs/PickAndPlace_20200130210754.csv new file mode 100644 index 0000000..76ccf1a Binary files /dev/null and b/docs/PickAndPlace_20200130210754.csv differ diff --git a/docs/board.png b/docs/board.png new file mode 100644 index 0000000..2d24908 Binary files /dev/null and b/docs/board.png differ