This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:iot-open:practical:hardware:itsilesia:esp32 [2025/08/31 15:51] – [Networking Layer] pczekalski | en:iot-open:practical:hardware:itsilesia:esp32 [2025/08/31 15:53] (current) – [Networking Layer] pczekalski | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== ItSilesia ESP32 Mobile Laboratory Node Hardware Reference ====== | ||
| + | In general, these laboratory nodes share the same physical configuration as the [[en: | ||
| + | |||
| + | ===== Introduction ===== | ||
| + | Each laboratory node is equipped with an ESP32-S3 double-core chip. Several peripherals, | ||
| + | <note tip>Note that each node has a unique ID built into the chip, as well as unique MAC addresses for the WiFi and Bluetooth interfaces.</ | ||
| + | ===== Hardware reference ===== | ||
| + | The table {{ref> | ||
| + | The node is depicted in the figure {{ref> | ||
| + | |||
| + | <figure esp32itsilesianode1> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | <table esp32itsilesianodehardware> | ||
| + | < | ||
| + | ^ Component ID ^ Description | ||
| + | | 1A | 12V PWM controlled fan | Pe60251b1-000u-g99 | ||
| + | | 1B | Pressure and environmental sensor | ||
| + | | 2 | Digital potentiometer | ||
| + | | 3 | Temperature and humidity sensor 1 | DHT11 | proprietary protocol, one GPIO | control on GPIO 47 | ||
| + | | 4 | Temperature sensor 2 | DS18B20 | ||
| + | | 5 | 2x16 LCD | HD44780 | ||
| + | | 6 | ePaper, B&W 2.13in, 250x122 pixels | ||
| + | | 7 | OLED, RGB colourful 1.5in, 128x128 pixels | ||
| + | | 8 | RGB Smart LED stripe | ||
| + | | 9A | Light intensity and colour sensor | ||
| + | | 9B | RGB LED PWM controlled | ||
| + | | 10 | Standard miniature servo | SG90 or similar | ||
| + | </ | ||
| + | |||
| + | The MCU working behind the laboratory node is ESP32-S3-DevKitM-1-N8 made by Espressif ((https:// | ||
| + | |||
| + | <figure esp32s3minidevkit> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | A suitable platformio.ini file for the correct code compilation is presented below. It does not contain libraries that need to be added regarding specific tasks and hardware used in particular scenarios. The code below presents only the typical section. Refer to the scenario description for details regarding case-specific libraries needed for the implementation: | ||
| + | |||
| + | <file ini platformio.ini> | ||
| + | [env: | ||
| + | platform = espressif32 | ||
| + | board = esp32-s3-devkitc-1 | ||
| + | board_build.mcu = esp32s3 | ||
| + | board_build.f_cpu = 240000000L | ||
| + | framework = arduino | ||
| + | platform_packages = | ||
| + | toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 | ||
| + | lib_ldf_mode = deep+ | ||
| + | </ | ||
| + | |||
| + | ===== Network configuration and services ===== | ||
| + | |||
| + | Users connect to the WiFi Access Point provided by the laboratory module. This WiFi is shared for both users (NATed to the Internet) as well as for IoT devices and services. | ||
| + | |||
| + | Figure {{ref> | ||
| + | |||
| + | <figure itsilesiavrelnextgeninfrastructure> | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | ==== Networking Layer ==== | ||
| + | |||
| + | The WiFi network for users and for IoT experimentation is available for all nodes: | ||
| + | * SSID: VRELlab | ||
| + | * PASS: VRELlab123 | ||
| + | |||
| + | All clients get an IP address from the range of 192.168.0.100 to 192.168.0.200 | ||
| + | Gateway is 192.168.0.1, | ||
| + | <note warning> | ||
| + | |||
| + | In this laboratory module, for simplicity and portability of the solution, all clients connect to a single, private, NATed network, including IoT devices and clients (developers/ | ||
| + | All IoT integration services are also available via this network. | ||
| + | |||
| + | ==== Application Layer Services ==== | ||
| + | There are currently 2 application-layer services available, accessible for IoT nodes when connected to the VRELlab network: | ||
| + | * MQTT broker: | ||
| + | * IP addresses: 192.168.0.1; | ||
| + | * Port: 1883 (TCP) | ||
| + | * Security: plain text authentication | ||
| + | * User: vrel | ||
| + | * Pass: vrel1234 | ||
| + | * CoAP server with two endpoints: | ||
| + | * IP addresses: 192.168.0.1; | ||
| + | * Port: 5683 (UDP) | ||
| + | * Endpoints: | ||
| + | * GET method for < | ||
| + | * GET method for < | ||