User Tools

Site Tools


projets:fuz:webduino

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
projets:fuz:webduino [2019-11-30 23:41] – [Wiring and flashing] Lomanicprojets:fuz:webduino [2020-05-10 22:14] – [OTA] amend last edit Lomanic
Line 4: Line 4:
 ===== Goals ===== ===== Goals =====
   * [OK] Flash Webduino with different IDEs   * [OK] Flash Webduino with different IDEs
-  * Check Components : pins, photocell, RGB LED, button +  * [OK] Check Components : pins, photocell, RGB LED, button 
-  * Use OTA+  * [OK?] Use OTA
 </WRAP> </WRAP>
  
Line 12: Line 12:
   * [[https://webduino.io/en/tutorials/smart-01-information.html|Official Intro]]   * [[https://webduino.io/en/tutorials/smart-01-information.html|Official Intro]]
   * Webduino USB port is only used to power the board, not for upload and monitoring   * Webduino USB port is only used to power the board, not for upload and monitoring
-  * The chip is labelled ESP8266MOD by AI Thinker, in fact it is an ESP-12F, same as Wemos d1 +  * The chip is labeled ESP8266MOD by AI Thinker, in fact it is an ESP-12F, same as Wemos D1 
-  * The Board include a photocell, RGB led and a button.+  * The board includes a photocell, an RGB led and a button. 
 +  * [[https://www.programmersought.com/article/1565534775/|Unofficial tutorial in ~english]], with how to flash webduino with FTDI
  
  
Line 24: Line 25:
            Gnd    Gnd            Gnd    Gnd
  
-For **flashing**, on Webduino Smart connect GPIO 0 to GND. (RGB goes green)  +{{:projets:fuz:webduino_serial_pinout.jpg?400|}} 
 + 
 +For **flashing**, on Webduino Smart connect GPIO 0 to GND. (RGB goes light blue)  
  
 For **rebooting**, on Webduino Smart connect RST to GND For **rebooting**, on Webduino Smart connect RST to GND
  
-Flashing usual sequence is : +Flashing usual sequence is: 
   - Set flash position (GPIO0 on GND)   - Set flash position (GPIO0 on GND)
   - Power the FTDI and the Webduino   - Power the FTDI and the Webduino
 +  - (RGB goes light blue) Disconnect GPIO 0
   - Upload sketch... Webduino should restart in normal mode.   - Upload sketch... Webduino should restart in normal mode.
   - Or disconnect GPIO 0 and restart using RST or Webduino power   - Or disconnect GPIO 0 and restart using RST or Webduino power
Line 40: Line 44:
 ===== Platformio ===== ===== Platformio =====
  
-Got it to work as a Wemos d1 !+Got it to work as a Wemos d1!
  
     [env:d1]     [env:d1]
Line 51: Line 55:
 I got blink sketch using LED_BUILTIN (2) I got blink sketch using LED_BUILTIN (2)
  
 +==== RGB LED ====
 +
 +<code c++>
 +/***
 +   RGB sketch for webduino smart
 +   Board:   ESP8266
 +
 +*/
 +
 +#include <Arduino.h>
 +
 +// according to https://webduino.io/en/tutorials/smart-01-information.html#on-board-components-and-pins
 +#define GPIO_GREEN_RGB 12
 +#define GPIO_BLUE_RGB  13
 +#define GPIO_RED_RGB 15
 +#define GPIO_MICRO_SWITCH_BUTTON 4
 +
 +// https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e
 +void RGB_color(int red_light_value, int green_light_value, int blue_light_value) {
 +  analogWrite(GPIO_RED_RGB, red_light_value);
 +  analogWrite(GPIO_GREEN_RGB, green_light_value);
 +  analogWrite(GPIO_BLUE_RGB, blue_light_value);
 +}
 +
 +void showColor(int color) {
 +  Serial.printf("Color %d\n", color);
 +  switch (color) {
 +    case 0:
 +      RGB_color(255, 0, 0); // Red
 +      break;
 +    case 1:
 +      RGB_color(0, 255, 0); // Green
 +      break;
 +    case 2:
 +      RGB_color(255, 255, 125); // Raspberry
 +      break;
 +    case 3:
 +      RGB_color(0, 255, 255); // Cyan
 +      break;
 +    case 4:
 +      RGB_color(255, 0, 255); // Magenta
 +      break;
 +    case 5:
 +      RGB_color(255, 255, 0); // Yellow
 +      break;
 +    case 6:
 +      RGB_color(255, 255, 255); // White
 +    default:
 +      RGB_color(0, 0, 0); // Disabled
 +  }
 +}
 +
 +void setup() {
 +  Serial.begin(115200);
 +  delay(10);
 +  Serial.println();
 +  Serial.println(F("Webduino smart RGB sketch: push the micro switch button to loop over colors"));
 +
 +  pinMode(GPIO_GREEN_RGB, OUTPUT);
 +  pinMode(GPIO_BLUE_RGB, OUTPUT);
 +  pinMode(GPIO_RED_RGB, OUTPUT);
 +}
 +
 +int color = 0;
 +void loop() {
 +  if (digitalRead(GPIO_MICRO_SWITCH_BUTTON) == LOW) {
 +    Serial.println(F("Button pressed"));
 +    color = ((color + 1) % 7);
 +    showColor(color);
 +    delay(200);
 +  }
 +}
 +</code>
 +
 +==== Photocell ====
 +<code c++>
 +
 +/***
 +   Photocell sketch for webduino smart
 +   Board:   ESP8266
 +
 +*/
 +
 +#include <Arduino.h>
 +
 +// according to https://webduino.io/en/tutorials/smart-01-information.html#on-board-components-and-pins
 +#define GPIO_PHOTOCELL A0
 +#define GPIO_MICRO_SWITCH_BUTTON 4
 +
 +void setup() {
 +  Serial.begin(115200);
 +  delay(10);
 +  Serial.println();
 +  Serial.println(F("Webduino photocell sketch: push the micro switch button to read photocell values"));
 +}
 +
 +
 +void loop() {
 +  if (digitalRead(GPIO_MICRO_SWITCH_BUTTON) == LOW) {
 +    Serial.println(analogRead(GPIO_PHOTOCELL)); // values go from 0 for complete darkness to 1024 for full bright light
 +  }
 +}
 +</code>
 ===== OTA ===== ===== OTA =====
 See https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA/examples See https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA/examples
 +
 +This was randomly working for me, maybe implement [[http://www.csshl.net/content/esp8266-aggiornamenti-ota|this workaround]]?
projets/fuz/webduino.txt · Last modified: 2023-02-02 22:06 by 127.0.0.1