No ACL setup yet! Denying access to everyone.
en:edu:zmitac:macro:embedeed:lab:esp-on-site

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
en:edu:zmitac:macro:embedeed:lab:esp-on-site [2022/10/26 10:51] – pczekalskien:edu:zmitac:macro:embedeed:lab:esp-on-site [2023/04/05 12:23] (current) – [Task 1] pczekalski
Line 2: Line 2:
 While ESP 8266 (Espressiff) is, in general, a network processor with broad applications in IoT, here we focus on using it as an embedded-class microcontroller.\\ While ESP 8266 (Espressiff) is, in general, a network processor with broad applications in IoT, here we focus on using it as an embedded-class microcontroller.\\
  
-===== Laboratory hardware in details =====+===== Laboratory hardware in detail =====
 Each team is given the following configuration with a pre-built hardware stack. Each team is given the following configuration with a pre-built hardware stack.
  
Line 11: Line 11:
 <caption>WeMos D1 R2 development board</caption> <caption>WeMos D1 R2 development board</caption>
 </figure> </figure>
-Note, this microcontroller even if its board reminds Arduino Uno has different logic voltage (here 0..3.3V while  Arduino Uno uses classical 0..5V logic) and has different pinout numbering. Detail on the following figure:+Note, this microcontroller, even if its board reminds Arduino Uno has a different logic voltage (here 0..3.3V while  Arduino Uno uses classical 0..5V logic) and has different pinout numbering. Detail on the following figure:
 <figure wemosd1r2pinout> <figure wemosd1r2pinout>
 {{:en:edu:zmitac:macro:iot:pinout_0g-00005444_wifi-d1r2-esp8266.jpg?400|}} {{:en:edu:zmitac:macro:iot:pinout_0g-00005444_wifi-d1r2-esp8266.jpg?400|}}
Line 25: Line 25:
 </figure> </figure>
  
-<note warning>Do not try to read temperature and humidity too frequently. Once every 5s is quite enough both for information and safe enough to not let your readings race with the communication protocol. If you read too frequent, your sensor may not be able to deliver data on time and you will obtain a 'nan' (not a number) instead of temperature and humidity.</note>+<note warning>Do not try to read temperature and humidity too frequently. Once every 5s is enough for information and safe enough not to let your readings race with the communication protocol. If you read too frequently, your sensor may not be able to deliver data on time, and you will obtain a 'nan' (not a number) instead of temperature and humidity.</note>
 ==== 2x16 LCD display shield ==== ==== 2x16 LCD display shield ====
 [[https://www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)|2x16 characters LCD shield]] with keypad (buttons) [[https://www.dfrobot.com/wiki/index.php/Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)|2x16 characters LCD shield]] with keypad (buttons)
Line 34: Line 34:
  
 ===== Software ===== ===== Software =====
-You will be using Visual Studio Code with PlatformIO plugin to author software for the ESP8266. +You will be using Visual Studio Code with the PlatformIO plugin to author software for the ESP8266. 
-The framework (software stack) is Arduino compatible with the popular source code model:+The framework (software stack) is Arduino-compatible with the popular source code model:
 <code c> <code c>
 #include <Arduino.h> #include <Arduino.h>
  
 void setup() { void setup() {
-  // put your setup code here, to run once:+  // put your setup code here to run once:
 } }
  
 void loop() { void loop() {
-  // put your main code here, to run repeatedly:+  // put your main code here to run repeatedly:
 } }
 </code> </code>
  
-Firmware uploading is done via USB cable providing a COM (serial) port to the PC computer, you're developing software on. You can also use the same port to trace (send communicates) from your code to the console.+Firmware uploading is done via a USB cable providing a COM (serial) port to the PC computer you're developing software on. You can also use the same port to trace (send communications) from your code to the console (so-called "serial monitor").
  
-<note important>Computers in the laboratory rooms 320 and 321 and 336 use "freezing" software which means that for every startup, computers are restored to their initial state. All changes done to the local storage are then lost! Keep your work in some other place between meetings i.e. [[http://gitlab.aei.polsl.pl|AEI GIT]], [[https://drive.google.com|Google Drive]] and so on.</note>+<note important>Computers in laboratory rooms 320 and 321, and 336 use "freezing" software, meaning that computers are restored to their initial state for every startup. All changes done to the local storage are then lost! Keep your work in some other place between meetings i.e. [[http://gitlab.aei.polsl.pl|AEI GIT]], [[https://drive.google.com|Google Drive]] and so on.</note>
  
 ==== VSCode, PlatformIO and project configuration ==== ==== VSCode, PlatformIO and project configuration ====
  
-In any case, creating a new project under PlatformIO should follow this general settings, regarding Board and Framework (see figure {{ref>platformionewproject}}):+In any case, creating a new project under PlatformIO should follow these general settings, regarding Board and Framework (see figure {{ref>platformionewproject}}):
 <figure platformionewproject> <figure platformionewproject>
 {{:en:edu:zmitac:macro:embedeed:lab:screenshot_from_2021-10-13_12-43-38.png?800|:img}} {{:en:edu:zmitac:macro:embedeed:lab:screenshot_from_2021-10-13_12-43-38.png?800|:img}}
Line 67: Line 67:
 </code> </code>
  
-It is also necessary to configure the serial port name that is used for uploading your firmware and to monitor. In the case of this microcontroller, it is the same port, so ''platformio.ini'' file should be modified with the following (assuming the serial port is i.e. ''COM3''):+It is also necessary to configure the serial port name that is used for uploading your firmware and monitoring. In the case of this microcontroller, it is the same port, so the ''platformio.ini'' file should be modified with the following (assuming the serial port is, i.e. ''COM3''):
 <code> <code>
 ... ...
Line 75: Line 75:
 </code> </code>
  
-<note tip>Check your COM port in the Device Manager (Windows) or terminal (dev for Linux / MacOS). It can be different than in the example above!</note>+<note tip>Check your COM port in the Device Manager (Windows) or terminal (dev for Linux / macOS). It can be different than in the example above!</note>
  
 === Running your code === === Running your code ===
Line 245: Line 245:
 ==== Task 1 ==== ==== Task 1 ====
 Write on the LCD screen your name (in the first line) and the city name you live in (in the second line). Write on the LCD screen your name (in the first line) and the city name you live in (in the second line).
 +=== Advanced ===
 +Make it animated (each line) in the loop, towards the left or right.
 +
  
 ==== Task 2 ==== ==== Task 2 ====
en/edu/zmitac/macro/embedeed/lab/esp-on-site.1666774313.txt.gz · Last modified: by pczekalski