User Tools

Site Tools


projets:fuz:webduino

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
projets:fuz:webduino [2019-05-22 16:07] – created Thioprojets:fuz:webduino [2020-05-10 22:14] – [OTA] amend last edit Lomanic
Line 1: Line 1:
-====== Webduino ======+====== Webduino Smart ======
  
 <WRAP round box 60%> <WRAP round box 60%>
 ===== Goals ===== ===== Goals =====
   * [OK] Flash Webduino with different IDEs   * [OK] Flash Webduino with different IDEs
-  * Use serial Monitor +  * [OK] Check Components : pins, photocell, RGB LED, button 
-  * Check pins, photocell, RGB LED, button +  * [OK?] Use OTA
-  * Use OTA+
 </WRAP> </WRAP>
  
 ===== Description ===== ===== Description =====
  
-  * 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 
   * [[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
 +  * The chip is labeled ESP8266MOD by AI Thinker, in fact it is an ESP-12F, same as Wemos D1
 +  * 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
  
  
 ===== Wiring and flashing ===== ===== Wiring and flashing =====
  
-Plug Webduino Smart using FTDI **3.3v** module+Plug Webduino Smart using FTDI **3.3v** module. Webduino and the FTDI must be powered. Webduino is powered through its micro USB port.
  
-           3.3    3.3 +           Tx     Rx     
-    ftdi   Tx     Rx    Webduino +  ftdi     Rx     Tx     Webduino
-           Rx     Tx+
            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
-  - Upload sketch ... Webduino should restart in normal mode +  - (RGB goes light blue) Disconnect GPIO 0 
-  - Disconnect flash position (GPIO0) +  - Upload sketch... Webduino should restart in normal mode. 
-  - Disconnect FTDI +  - Or disconnect GPIO 0 and restart using RST or Webduino power
-  - RST or repower the FTDI+
  
 ===== Arduino IDE ===== ===== Arduino IDE =====
Line 43: 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 49: Line 50:
     board = d1     board = d1
     framework = arduino     framework = arduino
- 
-===== Serial Monitor ===== 
- 
-I could not get it to work yet :/ 
  
 ===== Components ===== ===== Components =====
Line 58: 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 =====
 +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