blynkkk / blynk-library

Blynk library for IoT boards. Works with Arduino, ESP32, ESP8266, Raspberry Pi, Particle, ARM Mbed, etc.
https://blynk.io
MIT License
3.83k stars 1.38k forks source link

Standardize boardType name for all hardware #425

Closed doom369 closed 6 years ago

doom369 commented 6 years ago

Right now we have both the app side and hardware side boardType fields. App side field is filled when you create a new device; Hardware side field is filled with blynk internal command;

We need to follow the same namings in both cases in order to improve OTA experience and decrease server memory footprint.

The current list is next:

    ESP8266("ESP8266"),
    Arduino_UNO("Arduino UNO"),
    NodeMCU("NodeMCU"),
    Raspberry_Pi_3_B("Raspberry Pi 3 B"),
    WeMos_D1_mini("WeMos D1 mini"),
    Arduino_Nano("Arduino Nano"),
    Arduino_Mega("Arduino Mega"),
    ESP32_Dev_Board("ESP32 Dev Board"),
    WeMos_D1("WeMos D1"),
    Generic_Board("Generic Board"),
    Raspberry_Pi_2_A_B("Raspberry Pi 2/A+/B+"),
    Particle_Photon("Particle Photon"),
    Arduino_MKR1000("Arduino MKR1000"),
    Arduino_101("Arduino 101"),
    Arduino_Yun("Arduino Yun"),
    Raspberry_Pi_A_B_v2("Raspberry Pi A/B (Rev2)"),
    Arduino_Pro_Mini("Arduino Pro Mini"),
    Arduino_Leonardo("Arduino Leonardo"),
    Raspberry_Pi_B_v1("Raspberry Pi B (Rev1)"),
    Arduino_Due("Arduino Due"),
    SparkFun_Blynk_Board("SparkFun Blynk Board"),
    Orange_Pi("Orange Pi"),
    BBC_Microbit("BBC Micro:bit"),
    Arduino_Mini("Arduino Mini"),
    Arduino_Micro("Arduino Micro"),
    Onion_Omega("Onion Omega"),
    Arduino_Pro_Micro("Arduino Pro Micro"),
    Particle_Core("Particle Core"),
    SparkFun_ESP8266_Thing("SparkFun ESP8266 Thing"),
    STM32F103C_Blue_Pill("STM32F103C Blue Pill"),
    WiPy("WiPy"),
    Particle_Electron("Particle Electron"),
    Arduino_Zero("Arduino Zero"),
    Intel_Edison("Intel Edison"),
    Teensy_3("Teensy 3"),
    LinkIt_ONE("LinkIt ONE"),
    NanoPi("NanoPi"),
    LightBlue_Bean("LightBlue Bean"),
    Intel_Galileo("Intel Galileo"),
    RedBearLab_BLE_Nano("RedBearLab BLE Nano"),
    RedBear_Duo("RedBear Duo"),
    TI_CC3200_LaunchXL("TI CC3200-LaunchXL"),
    Digistump_Oak("Digistump Oak"),
    Seeed_Wio_Link("Seeed Wio Link"),
    TI_Tiva_C_Connected("TI Tiva C Connected"),
    Samsung_ARTIK_5("Samsung ARTIK 5"),
    Microduino_CoreUSB("Microduino CoreUSB"),
    Espruino_Pico("Espruino Pico"),
    TinyDuino("TinyDuino"),
    Microduino_Core_plus("Microduino Core+"),
    chipKIT_Uno32("chipKIT Uno32"),
    The_AirBoard("The AirBoard"),
    Microduino_Core("Microduino Core"),
    Simblee("Simblee"),
    LeMaker_Banana_Pro("LeMaker Banana Pro"),
    Wildfire_v2("Wildfire v2"),
    LightBlue_Bean_plus("LightBlue Bean+"),
    SparkFun_Photon_RedBoard("SparkFun Photon RedBoard"),
    Microduino_CoreRF("Microduino CoreRF"),
    RedBearLab_CC3200_Mini("RedBearLab CC3200/Mini"),
    Bluz("Bluz"),
    LeMaker_Guitar("LeMaker Guitar"),
    panStamp_esp_output("panStamp esp-output"),
    Digistump_Digispark("Digistump Digispark"),
    RedBearLab_Blend_Micro("RedBearLab Blend Micro"),
    TI_LM4F120_LaunchPad("TI LM4F120 LaunchPad"),
    Wildfire_v3("Wildfire v3"),
    Wildfire_v4("Wildfire v4"),
    Konekt_Dash_Pro("Konekt Dash Pro");

Right now label field is used on the app side, however for hardware we wmay choose any.

I need a full list of all possible dev values from blynk internal command.

vshymanskyy commented 6 years ago

This is not to be done for community edition. For customers, it raises too many questions so it is always custom for now

On Mon, 9 Jul 2018, 22:42 Dmitriy Dumanskiy, notifications@github.com wrote:

Right now we have both the app side and hardware side boardType fields. App side field is filled when you create a new device; Hardware side field is filled with blynk internal command;

We need to follow the same namings in both cases in order to improve OTA experience and decrease server memory footprint.

The current list is next:

ESP8266("ESP8266"),
Arduino_UNO("Arduino UNO"),
NodeMCU("NodeMCU"),
Raspberry_Pi_3_B("Raspberry Pi 3 B"),
WeMos_D1_mini("WeMos D1 mini"),
Arduino_Nano("Arduino Nano"),
Arduino_Mega("Arduino Mega"),
ESP32_Dev_Board("ESP32 Dev Board"),
WeMos_D1("WeMos D1"),
Generic_Board("Generic Board"),
Raspberry_Pi_2_A_B("Raspberry Pi 2/A+/B+"),
Particle_Photon("Particle Photon"),
Arduino_MKR1000("Arduino MKR1000"),
Arduino_101("Arduino 101"),
Arduino_Yun("Arduino Yun"),
Raspberry_Pi_A_B_v2("Raspberry Pi A/B (Rev2)"),
Arduino_Pro_Mini("Arduino Pro Mini"),
Arduino_Leonardo("Arduino Leonardo"),
Raspberry_Pi_B_v1("Raspberry Pi B (Rev1)"),
Arduino_Due("Arduino Due"),
SparkFun_Blynk_Board("SparkFun Blynk Board"),
Orange_Pi("Orange Pi"),
BBC_Microbit("BBC Micro:bit"),
Arduino_Mini("Arduino Mini"),
Arduino_Micro("Arduino Micro"),
Onion_Omega("Onion Omega"),
Arduino_Pro_Micro("Arduino Pro Micro"),
Particle_Core("Particle Core"),
SparkFun_ESP8266_Thing("SparkFun ESP8266 Thing"),
STM32F103C_Blue_Pill("STM32F103C Blue Pill"),
WiPy("WiPy"),
Particle_Electron("Particle Electron"),
Arduino_Zero("Arduino Zero"),
Intel_Edison("Intel Edison"),
Teensy_3("Teensy 3"),
LinkIt_ONE("LinkIt ONE"),
NanoPi("NanoPi"),
LightBlue_Bean("LightBlue Bean"),
Intel_Galileo("Intel Galileo"),
RedBearLab_BLE_Nano("RedBearLab BLE Nano"),
RedBear_Duo("RedBear Duo"),
TI_CC3200_LaunchXL("TI CC3200-LaunchXL"),
Digistump_Oak("Digistump Oak"),
Seeed_Wio_Link("Seeed Wio Link"),
TI_Tiva_C_Connected("TI Tiva C Connected"),
Samsung_ARTIK_5("Samsung ARTIK 5"),
Microduino_CoreUSB("Microduino CoreUSB"),
Espruino_Pico("Espruino Pico"),
TinyDuino("TinyDuino"),
Microduino_Core_plus("Microduino Core+"),
chipKIT_Uno32("chipKIT Uno32"),
The_AirBoard("The AirBoard"),
Microduino_Core("Microduino Core"),
Simblee("Simblee"),
LeMaker_Banana_Pro("LeMaker Banana Pro"),
Wildfire_v2("Wildfire v2"),
LightBlue_Bean_plus("LightBlue Bean+"),
SparkFun_Photon_RedBoard("SparkFun Photon RedBoard"),
Microduino_CoreRF("Microduino CoreRF"),
RedBearLab_CC3200_Mini("RedBearLab CC3200/Mini"),
Bluz("Bluz"),
LeMaker_Guitar("LeMaker Guitar"),
panStamp_esp_output("panStamp esp-output"),
Digistump_Digispark("Digistump Digispark"),
RedBearLab_Blend_Micro("RedBearLab Blend Micro"),
TI_LM4F120_LaunchPad("TI LM4F120 LaunchPad"),
Wildfire_v3("Wildfire v3"),
Wildfire_v4("Wildfire v4"),
Konekt_Dash_Pro("Konekt Dash Pro");

Right now label field is used on the app side, however for hardware we wmay choose any.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/blynkkk/blynk-library/issues/425, or mute the thread https://github.com/notifications/unsubscribe-auth/ABb9lDhlxSnx773DIb0qtIbKmt_MZXtFks5uE7I2gaJpZM4VIRx3 .

doom369 commented 6 years ago

For now it may be just a predefined list of values that we choose from. This would be convenient for cases like "update firmware for all my ESP8266" cases.

In general this is just additional device indetificator that we may use. It would be useful for community in first place, as we provide firmware for it. Sure you can override this, but in that case we will just put "Generic Board".

vshymanskyy commented 6 years ago

"update firmware for all my ESP8266" -> there's no such practical case. Standardizing the list of hardware is too much work for all hardware types (no resources). Not taking into account connection method, which may differ.

doom369 commented 6 years ago

there's no such practical case.

There is. For example, the product with 2 different devices (DeviceTiles typical case).

vshymanskyy commented 6 years ago

it then has 2 different firmwares.

doom369 commented 6 years ago

Correct and for OTA you would need some filters in order to update it.

vshymanskyy commented 6 years ago

Those may be as 2 ESP8266 devices, as 2 different => filter won't help. Probably need to think in different direction. If/when we switch to webdashboard version, may have better ideas