mirror of
https://github.com/esphome/esphome.git
synced 2024-12-01 13:13:54 +01:00
Automatic board selection
This commit is contained in:
parent
5cc251edfb
commit
544248e0cd
@ -387,25 +387,97 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<p>
|
<p>
|
||||||
Great! Now I need to know what type of microcontroller you're using so that I can compile firmware for them.
|
Great! Now I need to know what type of microcontroller you're using so that I can compile firmware for them.
|
||||||
Please choose either ESP32 or ESP8266 (use ESP8266 for Sonoff devices).
|
Please choose the board you're using below. If you're not sure you can also use similar ones
|
||||||
|
or even the "Generic" option. In most cases that will work too.
|
||||||
</p>
|
</p>
|
||||||
<div class="input-field col s12">
|
<div class="input-field col s12">
|
||||||
<select id="esp_type" name="platform" required>
|
<select id="board" name="board" required>
|
||||||
<option value="ESP8266">ESP8266</option>
|
<optgroup label="ESP8266">
|
||||||
<option value="ESP32">ESP32</option>
|
<option value="esp01_1m">Generic ESP8266 (for example Sonoff)</option>
|
||||||
|
<option value="nodemcuv2">NodeMCU</option>
|
||||||
|
<option value="d1_mini">Wemos D1 and Wemos D1 mini</option>
|
||||||
|
<option value="d1_mini_lite">Wemos D1 mini Lite</option>
|
||||||
|
<option value="d1_mini_pro">Wemos D1 mini Pro</option>
|
||||||
|
<option value="huzzah">Adafruit HUZZAH ESP8266</option>
|
||||||
|
<option value="oak">DigiStump Oak</option>
|
||||||
|
<option value="thing">Sparkfun ESP8266 Thing</option>
|
||||||
|
<option value="thingdev">Sparkfun ESP8266 Thing - Dev Board</option>
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="ESP32">
|
||||||
|
<option value="esp-wrover-kit">Generic ESP32 (WROVER Module)</option>
|
||||||
|
<option value="nodemcu-32s">NodeMCU-32S</option>
|
||||||
|
<option value="lolin_d32">Wemos Lolin D32</option>
|
||||||
|
<option value="lolin_d32_pro">Wemos Lolin D32 Pro</option>
|
||||||
|
<option value="featheresp32">Adafruit ESP32 Feather</option>
|
||||||
|
<option value="m5stack-core-esp32">M5Stack Core ESP32</option>
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="Other ESP8266s">
|
||||||
|
<option value="gen4iod">4D Systems gen4 IoD Range</option>
|
||||||
|
<option value="wifi_slot">Amperka WiFi Slot</option>
|
||||||
|
<option value="espduino">Doit ESPDuino</option>
|
||||||
|
<option value="espectro">DycodeX ESPectro Core</option>
|
||||||
|
<option value="espino">ESPino</option>
|
||||||
|
<option value="esp_wroom_02">Espressif ESP-WROOM-02 module</option>
|
||||||
|
<option value="esp12e">Espressif ESP-12E module</option>
|
||||||
|
<option value="esp01">Espressif ESP-01 512k module</option>
|
||||||
|
<option value="esp07">Espressif ESP-07 module</option>
|
||||||
|
<option value="esp8285">Generic ESP8285 module</option>
|
||||||
|
<option value="espresso_lite_v1">ESPert ESPresso Lite 1.0</option>
|
||||||
|
<option value="espresso_lite_v2">ESPert ESPresso Lite 2.0</option>
|
||||||
|
<option value="phoenix_v1">ESPert Phoenix 1.0</option>
|
||||||
|
<option value="wifinfo">WiFInfo</option>
|
||||||
|
<option value="heltec_wifi_kit_8">Heltec WiFi kit 8</option>
|
||||||
|
<option value="nodemcu">NodeMCU 0.9</option>
|
||||||
|
<option value="modwifi">Olimex MOD-WIFI</option>
|
||||||
|
<option value="wio_link">SeedStudio Wio Link</option>
|
||||||
|
<option value="wio_node">SeedStudio Wio Node</option>
|
||||||
|
<option value="sparkfunBlynk">Sparkfun Blynk Board</option>
|
||||||
|
<option value="esp210">SweetPea ESP-210</option>
|
||||||
|
<option value="espinotee">ThaiEasyElec ESPino</option>
|
||||||
|
<option value="d1">Wemos D1 Revision 1</option>
|
||||||
|
<option value="wifiduino">WiFiDuino</option>
|
||||||
|
<option value="xinabox_cw01">XinaBox CW01</option>
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="Other ESP32s">
|
||||||
|
<option value="lolin32">Wemos Lolin 32</option>
|
||||||
|
<option value="esp32dev">Espressif ESP32 Dev Module</option>
|
||||||
|
<option value="m5stack-fire">M5Stack FIRE</option>
|
||||||
|
<option value="wemosbat">Wemos WiFi & Bluetooth Battery</option>
|
||||||
|
<option value="node32s">Aiyarafun Node32s</option>
|
||||||
|
<option value="espea32">April Brother ESPea32</option>
|
||||||
|
<option value="firebeetle32">DFRobot FireBeetle-ESP32</option>
|
||||||
|
<option value="esp32doit-devkit-v1">Doit ESP32 Devkit v1</option>
|
||||||
|
<option value="pocket_32">Dongsen Tech Pocket 32</option>
|
||||||
|
<option value="espectro32">DycodeX ESPectro32</option>
|
||||||
|
<option value="esp32vn-iot-uno">ESP32vn IoT Uno</option>
|
||||||
|
<option value="esp320">Electronic SweetPeas ESP320</option>
|
||||||
|
<option value="pico32">Espressif ESP32 Pico Kit</option>
|
||||||
|
<option value="odroid_esp32">Hardkernel Odroid GO</option>
|
||||||
|
<option value="heltec_wifi_kit_32">Heltec WIFI Kit 32</option>
|
||||||
|
<option value="heltec_wifi_lora_32">Heltec WIFI LoRa 32</option>
|
||||||
|
<option value="hornbill32dev">Hornbill ESP32 Dev</option>
|
||||||
|
<option value="hornbill32minima">Hornbill ESP32 Minima</option>
|
||||||
|
<option value="intorobot">IntoRobot Fig</option>
|
||||||
|
<option value="mhetesp32devkit">MH-ET Live ESP32 Devkit</option>
|
||||||
|
<option value="mhetesp32minikit">MH-ET Live ESP32 Minikit</option>
|
||||||
|
<option value="nano32">MakerAsia Nano32</option>
|
||||||
|
<option value="microduino-core-esp32">Microduino Core ESP32</option>
|
||||||
|
<option value="quantum">Noduino Quantum</option>
|
||||||
|
<option value="esp32-evb">Olimex ESP32-EVB</option>
|
||||||
|
<option value="esp32-gateway">Olimex ESP32-GATEWAY</option>
|
||||||
|
<option value="esp32-pro">Olimex ESP32-PRO</option>
|
||||||
|
<option value="onehorse32dev">Onehorse ESP32 Dev Module</option>
|
||||||
|
<option value="alksesp32">RoboticsBrno ALKS ESP32</option>
|
||||||
|
<option value="esp32thing">Sparkfun ESP32 Thing</option>
|
||||||
|
<option value="ttgo-lora32-v1">TTGO LoRa32-OLED v1</option>
|
||||||
|
<option value="espino32">ThaiEasyElec ESPino32</option>
|
||||||
|
<option value="widora-air">Widora AIR</option>
|
||||||
|
<option value="xinabox_cw02">XinaBox CW02</option>
|
||||||
|
<option value="iotbusio">oddWires IoT-Bus Io</option>
|
||||||
|
<option value="iotbusproteus">oddWires Proteus IoT-Bus</option>
|
||||||
|
<option value="nina_w10">u-blox NINA-W10 series</option>
|
||||||
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
<label>Microcontroller Type</label>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
I'm also going to need to know which type of board you're using. Please go to
|
|
||||||
<a href="http://docs.platformio.org/en/latest/platforms/espressif32.html#boards" target="_blank">ESP32 boards</a> or
|
|
||||||
<a href="http://docs.platformio.org/en/latest/platforms/espressif8266.html#boards" target="_blank">ESP8266 boards</a>,
|
|
||||||
find your board and enter it here. For example, enter <code class="inlinecode">nodemcuv2</code>
|
|
||||||
for ESP8266 NodeMCU boards. Note: Use <code class="inlinecode">esp01_1m</code> for Sonoff devices.
|
|
||||||
</p>
|
|
||||||
<div class="input-field col s12">
|
|
||||||
<input id="board_type" class="validate" type="text" name="board" required>
|
|
||||||
<label for="board_type">Board Type</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="step-actions">
|
<div class="step-actions">
|
||||||
|
@ -94,7 +94,7 @@ class StorageJSON(object):
|
|||||||
esphomelib_version=None,
|
esphomelib_version=None,
|
||||||
src_version=1,
|
src_version=1,
|
||||||
arduino_version=None,
|
arduino_version=None,
|
||||||
address=None,
|
address=address,
|
||||||
esp_platform=esp_platform,
|
esp_platform=esp_platform,
|
||||||
board=board,
|
board=board,
|
||||||
build_path=None,
|
build_path=None,
|
||||||
|
@ -84,11 +84,14 @@ def wizard_file(**kwargs):
|
|||||||
|
|
||||||
|
|
||||||
def wizard_write(path, **kwargs):
|
def wizard_write(path, **kwargs):
|
||||||
|
name = kwargs['name']
|
||||||
|
board = kwargs['board']
|
||||||
|
if 'platform' not in kwargs:
|
||||||
|
kwargs['platform'] = 'ESP8266' if board in ESP32_BOARD_PINS else 'ESP32'
|
||||||
|
platform = kwargs['platform']
|
||||||
|
|
||||||
with codecs.open(path, 'w') as f_handle:
|
with codecs.open(path, 'w') as f_handle:
|
||||||
f_handle.write(wizard_file(**kwargs))
|
f_handle.write(wizard_file(**kwargs))
|
||||||
name = kwargs['name']
|
|
||||||
platform = kwargs['platform']
|
|
||||||
board = kwargs['board']
|
|
||||||
storage = StorageJSON.from_wizard(name, name + '.local', platform, board)
|
storage = StorageJSON.from_wizard(name, name + '.local', platform, board)
|
||||||
storage_path = ext_storage_path(os.path.dirname(path), os.path.basename(path))
|
storage_path = ext_storage_path(os.path.dirname(path), os.path.basename(path))
|
||||||
storage.save(storage_path)
|
storage.save(storage_path)
|
||||||
|
Loading…
Reference in New Issue
Block a user