Remove devices on home page and replace with platforms (#2393)

This commit is contained in:
Jesse Hills 2022-10-27 15:43:17 +13:00 committed by GitHub
parent 423e1e69d2
commit 1160dc279f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 230 additions and 307 deletions

View File

@ -4,3 +4,5 @@
# e.g: /components/sensors/abc.html /components/sensors/xyz.html 301
/components/sensor/sgp40.html /components/sensor/sgp4x.html 301
/components/binary_sensor/xpt2046.html /components/touchscreen/xpt2046.html 301
/devices/esp8266.html /components/esp8266.html
/devices/esp32.html /components/esp32.html

View File

@ -27,8 +27,38 @@ Configuration variables:
``esp32s2``, ``esp32s3``, ``esp32c3`` and ``esp32h2``. Defaults to the variant that is detected from the board, if
a board that's unknown to ESPHome is used, this option is mandatory.
.. note::
Support for the ESP32-S2 and ESP32-C3 is still in development and there could be issues.
.. _esp32-arduino_framework:
GPIO Pin Numbering
------------------
The ESP32 boards often use the internal GPIO pin numbering on the board, this means that
you don't have to worry about other kinds of pin numberings, yay!
Some notes about the pins on the ESP32:
- ``GPIO0`` is used to determine the boot mode on startup. It should therefore not be pulled LOW
on startup to avoid booting into flash mode. You can, however, still use this as an output pin.
- ``GPIO34``-``GPIO39`` can not be used as outputs (even though GPIO stands for "general purpose input
**output**"...).
- ``GPIO32``-``GPIO39``: These pins can be used with the :doc:`/components/sensor/adc` to measure
voltages.
- ``GPIO2``: This pin is connected to the blue LED on the board. It also supports
the :doc:`touch pad binary sensor </components/binary_sensor/esp32_touch>` like some other
pins.
.. code-block:: yaml
# Example configuration entry
binary_sensor:
- platform: gpio
name: "Pin GPIO23"
pin: GPIO23
Arduino framework
-----------------

View File

@ -20,7 +20,7 @@ Configuration variables:
- **board** (**Required**, string): The PlatformIO board ID that should
be used. Choose the appropriate board from
`this list <https://registry.platformio.org/platforms/platformio/espressif8266/boards>`__ (the icon next to the
`this list <https://registry.platformio.org/platforms/platformio/espressif8266/boards>`__ (the icon next to the
name can be used to copy the board ID). *This only affects pin aliases, flash size and some internal settings*, if unsure
choose a generic board from Espressif such as ``esp01_1m``.
- **framework** (*Optional*): Options for the underlying framework used by ESPHome.
@ -39,6 +39,181 @@ Configuration variables:
- **board_flash_mode** (*Optional*, string): The SPI mode of the flash chip. One of ``qio``, ``qout``, ``dio`` and ``dout``. Defaults to ``dout`` for compatibility with all chips. Note: on the next OTA update the actual flash mode is automatically detected and changed to the appropriate one.
- **early_pin_init** (*Optional*, boolean): Specifies whether pins should be initialised as early as possible to known values. Recommended value is ``false`` where switches are involved, as these will toggle when updating the firmware or when restarting the device. Defaults to ``true``.
GPIO Pin Numbering
------------------
Many boards have a pin numbering for the exposed pins that is different from the internally used
ones. ESPHome tries to map the silk-screen pin numbers into the internal pin numbers with a few
boards, but for generic ESP8266 boards it is often required to just use the internal pin numbers.
To do this, just prefix all pins with ``GPIO``, for example ``GPIO0`` for the pin with the internal pin
number 0.
Some notes on the pins:
- ``GPIO6`` - ``GPIO11``, ``GPIO0``, ``GPIO2`` and ``GPIO15`` are often already used by the internal
flash interface and boot mode detection. So it's best to avoid using these pins.
- ``GPIO17`` additionally has an ADC connected to it. See the :doc:`/components/sensor/adc`
to read voltages (in the range from 0 to 1.0V) on this pin.
.. code-block:: yaml
# Example configuration entry
esphome:
name: livingroom
esp8266:
board: nodemcuv2
binary_sensor:
- platform: gpio
name: "Pin GPIO17"
pin: GPIO17
Special Pins
^^^^^^^^^^^^
=================== =============================================
``GPIO0`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO1`` UART TX pin
------------------- ---------------------------------------------
``GPIO2`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO3`` UART RX pin
------------------- ---------------------------------------------
``GPIO6`` SDIO/Flash CLK pin
------------------- ---------------------------------------------
``GPIO7`` SDIO/Flash Data 0 pin
------------------- ---------------------------------------------
``GPIO8`` SDIO/Flash Data 1 pin
------------------- ---------------------------------------------
``GPIO9`` SDIO/Flash Data 2 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO10`` SDIO/Flash Data 3 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO11`` SDIO/Flash CMD pin
------------------- ---------------------------------------------
``GPIO12`` Attached to Hardware SPI controller MISO
------------------- ---------------------------------------------
``GPIO13`` Attached to Hardware SPI controller MOSI
------------------- ---------------------------------------------
``GPIO14`` Attached to Hardware SPI controller CLK
------------------- ---------------------------------------------
``GPIO15`` Controls Boot Mode; Attached to Hardware SPI
controller CS
------------------- ---------------------------------------------
``GPIO16`` Special pin that can be accessed from RTC,
and is Deep-Sleep wakeup pin
------------------- ---------------------------------------------
TOUT aka ``GPIO17`` ADC pin for measuring voltages, can only be
used as analog input pin
=================== =============================================
This means effectively only the following pins can be used as general purpose GPIO:
========== ============================== ==============================
**Pin** **Restrictions** **State after Reset**
---------- ------------------------------ ------------------------------
``GPIO0`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO2`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO4`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO5`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO6`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO12`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO13`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO14`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO15`` If LOW on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO16`` Has pull-down (but no pull-up) Weak Pull Down
resistor
========== ============================== ==============================
Boot Modes
----------
On each boot, the ESP8266 will check three pins to determine in which boot mode to enter.
There are three boot modes:
========================= ========= ========= ========== ==============
**Mode** ``GPIO0`` ``GPIO2`` ``GPIO15`` ``boot mode:``
------------------------- --------- --------- ---------- --------------
Boot from Flash (normal) HIGH HIGH LOW 3
------------------------- --------- --------- ---------- --------------
Download Code from UART LOW HIGH LOW 1
------------------------- --------- --------- ---------- --------------
Boot from SD-Card ANY ANY HIGH 4-7
========================= ========= ========= ========== ==============
You can identify these on boot-up by looking at the UART output, the first number
in the ``boot mode:`` line tells you what mode was selected
.. code-block:: text
ets Jan 8 2013,rst cause:4, boot mode:(3,6)
The first lines when viewing the UART logs might have unrecognized characters. This is
because the effective baudrate of the ESP8266 bootloader is 74800, whereas the program uses 115200.
Reset Causes
------------
Additionally, the first line also contains the **reset cause**.
These reset causes `are documented
<https://www.espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf>`__:
== ===================================
0 Undefined
-- -----------------------------------
1 Power On Reboot
-- -----------------------------------
2 External reset or deep-sleep wakeup
-- -----------------------------------
4 Hardware WDT reset
== ===================================
After a software reset, the reset cause will not change.
Electrical Characteristics
--------------------------
=========================================================== =========== =========== =========== ===========
**Parameter** **Min.** **Typical** **Max.** **Unit**
----------------------------------------------------------- ----------- ----------- ----------- -----------
Operating Temperature -40 125 °C
----------------------------------------------------------- ----------- ----------- ----------- -----------
Working Voltage ``V_IO`` 2.5 3.3 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IL`` - INPUT voltage level to be considered LOW -0.3 0.25*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IH`` - INPUT voltage level to be considered HIGH 0.75*V_IO 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OL`` - OUTPUT voltage level for LOW 0.1*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OH`` - OUTPUT voltage level for HIGH 0.8*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``I_MAX`` - Maximum current for GPIO 12 mA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Deep Sleep 20 µA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Active Mode 120 mA
=========================================================== =========== =========== =========== ===========
Source: `ESP8266EX datasheet <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>`__
The internal pull up/down resistors have values of 30kΩ to 100kΩ
(`source <https://bbs.espressif.com/viewtopic.php?t=1079>`__).
See Also
--------

View File

@ -7,6 +7,11 @@ RP2040 Platform
This component contains platform-specific options for the RP2040 platform.
.. note::
Support for all aspects of ESPHome on the RP2040 is still in development.
Please search for or create an `issue <https://github.com/esphome/issues/issues/new?assignees=&labels=&template=bug_report.yml>`__ if you encounter an unknown problem.
.. code-block:: yaml
# Example configuration entry

View File

@ -50,6 +50,6 @@ See Also
- :ref:`sensor-filters`
- :doc:`adc`
- :doc:`/devices/esp32`
- :doc:`/components/esp32`
- :apiref:`esp32_hall/esp32_hall.h`
- :ghedit:`Edit`

View File

@ -1,60 +0,0 @@
Generic ESP32
=============
.. seo::
:description: Information about how to use generic ESP32 boards in ESPHome.
:image: esp32.svg
:keywords: ESP32
All devices based on the original ESP32 are supported by ESPHome. Simply select ``ESP32`` when
the ESPHome wizard asks you for your platform and choose a board type
from `this link <https://registry.platformio.org/platforms/platformio/espressif32/boards>`__ when the wizard
asks you for the board type.
.. code-block:: yaml
# Example configuration entry
esphome:
name: livingroom
esp32:
board: <BOARD_TYPE>
.. note::
Support for the ESP32-S2 and ESP32-C3 is currently in development.
The ESP32 boards often use the internal GPIO pin numbering on the board, this means that
you don't have to worry about other kinds of pin numberings, yay!
Some notes about the pins on the ESP32:
- ``GPIO0`` is used to determine the boot mode on startup. It should therefore not be pulled LOW
on startup to avoid booting into flash mode. You can, however, still use this as an output pin.
- ``GPIO34``-``GPIO39`` can not be used as outputs (even though GPIO stands for "general purpose input
**output**"...).
- ``GPIO32``-``GPIO39``: These pins can be used with the :doc:`/components/sensor/adc` to measure
voltages.
- ``GPIO2``: This pin is connected to the blue LED on the board. It also supports
the :doc:`touch pad binary sensor </components/binary_sensor/esp32_touch>` like some other
pins.
.. code-block:: yaml
# Example configuration entry
esphome:
name: livingroom
esp32:
board: <BOARD_TYPE>
binary_sensor:
- platform: gpio
name: "Pin GPIO23"
pin: GPIO23
See Also
--------
- :doc:`nodemcu_esp32`
- :ghedit:`Edit`

View File

@ -1,199 +0,0 @@
Generic ESP8266
===============
.. seo::
:description: Instructions for using generic ESP8266s with ESPHome.
:image: esp8266.svg
:keywords: ESP8266
All ESP8266-based devices are supported by ESPHome. Simply select ``ESP8266`` when
the ESPHome wizard asks you for your platform and choose a board type
from `this link <https://registry.platformio.org/platforms/platformio/espressif8266/boards>`__ when the wizard
asks you for the board type.
.. code-block:: yaml
# Example configuration entry
esphome:
name: livingroom
esp8266:
board: <BOARD_TYPE>
Many boards have a pin numbering for the exposed pins that is different from the internally used
ones. ESPHome tries to map the silk-screen pin numbers into the internal pin numbers with a few
boards, but for generic ESP8266 boards it is often required to just use the internal pin numbers.
To do this, just prefix all pins with ``GPIO``, for example ``GPIO0`` for the pin with the internal pin
number 0.
Some notes on the pins:
- ``GPIO6`` - ``GPIO11``, ``GPIO0``, ``GPIO2`` and ``GPIO15`` are often already used by the internal
flash interface and boot mode detection. So it's best to avoid using these pins.
- ``GPIO17`` additionally has an ADC connected to it. See the :doc:`/components/sensor/adc`
to read voltages (in the range from 0 to 1.0V) on this pin.
.. code-block:: yaml
# Example configuration entry
esphome:
name: livingroom
esp8266:
board: nodemcuv2
binary_sensor:
- platform: gpio
name: "Pin GPIO17"
pin: GPIO17
Special Pins
------------
=================== =============================================
``GPIO0`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO1`` UART TX pin
------------------- ---------------------------------------------
``GPIO2`` Controls Boot Mode
------------------- ---------------------------------------------
``GPIO3`` UART RX pin
------------------- ---------------------------------------------
``GPIO6`` SDIO/Flash CLK pin
------------------- ---------------------------------------------
``GPIO7`` SDIO/Flash Data 0 pin
------------------- ---------------------------------------------
``GPIO8`` SDIO/Flash Data 1 pin
------------------- ---------------------------------------------
``GPIO9`` SDIO/Flash Data 2 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO10`` SDIO/Flash Data 3 pin (qio/qout only)
------------------- ---------------------------------------------
``GPIO11`` SDIO/Flash CMD pin
------------------- ---------------------------------------------
``GPIO12`` Attached to Hardware SPI controller MISO
------------------- ---------------------------------------------
``GPIO13`` Attached to Hardware SPI controller MOSI
------------------- ---------------------------------------------
``GPIO14`` Attached to Hardware SPI controller CLK
------------------- ---------------------------------------------
``GPIO15`` Controls Boot Mode; Attached to Hardware SPI
controller CS
------------------- ---------------------------------------------
``GPIO16`` Special pin that can be accessed from RTC,
and is Deep-Sleep wakeup pin
------------------- ---------------------------------------------
TOUT aka ``GPIO17`` ADC pin for measuring voltages, can only be
used as analog input pin
=================== =============================================
This means effectively only the following pins can be used as general purpose GPIO:
========== ============================== ==============================
**Pin** **Restrictions** **State after Reset**
---------- ------------------------------ ------------------------------
``GPIO0`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO2`` If HIGH on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO4`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO5`` High Impedance
---------- ------------------------------ ------------------------------
``GPIO6`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO12`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO13`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO14`` Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO15`` If LOW on boot Weak Pull Up
---------- ------------------------------ ------------------------------
``GPIO16`` Has pull-down (but no pull-up) Weak Pull Down
resistor
========== ============================== ==============================
Boot Modes
----------
On each boot, the ESP8266 will check three pins to determine in which boot mode to enter.
There are three boot modes:
========================= ========= ========= ========== ==============
**Mode** ``GPIO0`` ``GPIO2`` ``GPIO15`` ``boot mode:``
------------------------- --------- --------- ---------- --------------
Boot from Flash (normal) HIGH HIGH LOW 3
------------------------- --------- --------- ---------- --------------
Download Code from UART LOW HIGH LOW 1
------------------------- --------- --------- ---------- --------------
Boot from SD-Card ANY ANY HIGH 4-7
========================= ========= ========= ========== ==============
You can identify these on boot-up by looking at the UART output, the first number
in the ``boot mode:`` line tells you what mode was selected
.. code-block:: text
ets Jan 8 2013,rst cause:4, boot mode:(3,6)
The first lines when viewing the UART logs might have unrecognized characters. This is
because the effective baudrate of the ESP8266 bootloader is 74800, whereas the program uses 115200.
Reset Causes
------------
Additionally, the first line also contains the **reset cause**.
These reset causes `are documented
<https://www.espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf>`__:
== ===================================
0 Undefined
-- -----------------------------------
1 Power On Reboot
-- -----------------------------------
2 External reset or deep-sleep wakeup
-- -----------------------------------
4 Hardware WDT reset
== ===================================
After a software reset, the reset cause will not change.
Electrical Characteristics
--------------------------
=========================================================== =========== =========== =========== ===========
**Parameter** **Min.** **Typical** **Max.** **Unit**
----------------------------------------------------------- ----------- ----------- ----------- -----------
Operating Temperature -40 125 °C
----------------------------------------------------------- ----------- ----------- ----------- -----------
Working Voltage ``V_IO`` 2.5 3.3 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IL`` - INPUT voltage level to be considered LOW -0.3 0.25*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_IH`` - INPUT voltage level to be considered HIGH 0.75*V_IO 3.6 V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OL`` - OUTPUT voltage level for LOW 0.1*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``V_OH`` - OUTPUT voltage level for HIGH 0.8*V_IO V
----------------------------------------------------------- ----------- ----------- ----------- -----------
``I_MAX`` - Maximum current for GPIO 12 mA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Deep Sleep 20 µA
----------------------------------------------------------- ----------- ----------- ----------- -----------
Power Consumption in Active Mode 120 mA
=========================================================== =========== =========== =========== ===========
Source: `ESP8266EX datasheet <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>`__
The internal pull up/down resistors have values of 30kΩ to 100kΩ
(`source <https://bbs.espressif.com/viewtopic.php?t=1079>`__).
See Also
--------
- :doc:`nodemcu_esp8266`
- :ghedit:`Edit`

View File

@ -61,6 +61,6 @@ Note that in certain conditions you *can* use the pins marked as ``INTERNAL`` in
See Also
--------
- :doc:`esp32`
- :doc:`/components/esp32`
- :doc:`nodemcu_esp8266`
- :ghedit:`Edit`

View File

@ -73,6 +73,6 @@ Note that in certain conditions you *can* use the pins marked as ``INTERNAL`` in
See Also
--------
- :doc:`esp8266`
- :doc:`/components/esp8266`
- :doc:`nodemcu_esp32`
- :ghedit:`Edit`

View File

@ -421,5 +421,5 @@ See Also
- :doc:`sonoff_s20`
- :doc:`sonoff_4ch`
- :doc:`sonoff_basic`
- :doc:`esp8266`
- :doc:`/components/esp8266`
- :ghedit:`Edit`

View File

@ -47,12 +47,8 @@ Happy Hacking!
See Also
--------
- :doc:`/devices/nodemcu_esp8266`
- :doc:`/devices/nodemcu_esp32`
- :doc:`/devices/esp8266`
- :doc:`/devices/esp32`
- :doc:`/devices/sonoff_s20`
- :doc:`/devices/sonoff_4ch`
- :doc:`/components/esp8266`
- :doc:`/components/esp32`
- :doc:`migrate_espurna`
- :doc:`migrate_sonoff_tasmota`
- :ghedit:`Edit`

View File

@ -52,12 +52,8 @@ Happy Hacking!
See Also
--------
- :doc:`/devices/nodemcu_esp8266`
- :doc:`/devices/nodemcu_esp32`
- :doc:`/devices/esp8266`
- :doc:`/devices/esp32`
- :doc:`/devices/sonoff_s20`
- :doc:`/devices/sonoff_4ch`
- :doc:`/components/esp8266`
- :doc:`/components/esp32`
- :doc:`migrate_espeasy`
- :doc:`migrate_sonoff_tasmota`
- :ghedit:`Edit`

View File

@ -11,8 +11,7 @@ ESPHome create a binary for you and then upload that in the Tasmota web interfac
Getting the Binary
------------------
First follow the guides for the :ref:`different supported devices <devices>` and create a configuration
file. Then, generate and download the binary:
First create a configuration for your device. Then, generate and download the legacy binary:
- **Using the Home Assistant add-on/dashboard**: Just click the ``COMPILE``
button, wait for the compilation to end and press the ``DOWNLOAD BINARY``
@ -60,17 +59,12 @@ Happy Hacking!
.. note::
If you are using Tasmota 8+ and get an error after uploading the firmware, go to the console and type ```SetOption78 1```, then restart the device and try the firmware again.
See Also
--------
- :doc:`/devices/sonoff_s20`
- :doc:`/devices/sonoff_4ch`
- :doc:`/devices/sonoff`
- :doc:`/devices/nodemcu_esp8266`
- :doc:`/devices/nodemcu_esp32`
- :doc:`/devices/esp8266`
- :doc:`/devices/esp32`
- :doc:`/components/esp8266`
- :doc:`/components/esp32`
- :doc:`migrate_espurna`
- :doc:`migrate_espeasy`
- :ghedit:`Edit`

View File

@ -113,26 +113,14 @@ ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configu
.. _devices:
Devices
-------
This list contains a bunch of getting started and more advanced guides for using ESPHome.
Technically, all ESP8266/ESP32 devices are supported by ESPHome.
Platforms
---------
.. imgtable::
Generic ESP8266, devices/esp8266, esp8266.svg
Generic ESP32, devices/esp32, esp32.svg
NodeMCU ESP8266, devices/nodemcu_esp8266, nodemcu_esp8266.jpg
NodeMCU ESP32, devices/nodemcu_esp32, nodemcu_esp32.jpg
Sonoff S20, devices/sonoff_s20, sonoff_s20.jpg
Sonoff 4CH, devices/sonoff_4ch, sonoff_4ch.jpg
Generic Sonoff, devices/sonoff, sonoff.svg
Sonoff Basic, devices/sonoff_basic, sonoff_basic.jpg
Sonoff T1 UK 3 Gang V1.1, devices/sonoff_t1_uk_3gang_v1.1, sonoff_t1_uk_3g_v1.1.jpg
Sonoff T3 EU 3 Gang V1.0, devices/sonoff_t3_eu_3gang_v1.0, sonoff_t3_eu_3g_v1.0.jpg
ESP8266, components/esp8266, esp8266.svg
ESP32, components/esp32, esp32.svg
RP2040, components/rp2040, rp2040.svg
Core Components
---------------
@ -662,10 +650,6 @@ Misc Components
.. imgtable::
ESP8266, components/esp8266, esp8266.svg
ESP32, components/esp32, esp32.svg
RP2040, components/rp2040, rp2040.svg
Remote Receiver, components/remote_receiver, remote.svg
Remote Transmitter, components/remote_transmitter, remote.svg
Status LED, components/status_led, led-on.svg