Each tile has a NodeMCU inside that runs a webserver and responding to requests over wifi from ScratchX. Individual tiles are connected to the wifi network. The number of tiles is not fixed, we've used 9 tiles in our work.
- a NodeMCU (based on ESP8266), one micro-processor per tile.
- TileNet currently supports control of the digital pins on the NodeMCU from ScratchX. Each digital pin can be set to input, output or pwm (pulse width modulation).
- Arduino development software (www.arduino.cc)
- NodeMCU ESP8266 development libraries for Arduino (installed via Arduino Library Manager). Instructions available here.
- Web server software downloaded onto each NodeMCU, using Arduino development software. Github repository https://github.com/megjlow/tiles. This uses the library: https://github.com/megjlow/httpd. Ensure you enter the ssid and password for your wifi network before compiling and downloading files onto the NodeMCU
- ScratchX Extension (http://megjlow.github.io/socket.js)
- Identifying the NodeMCU IP Address requires a second NodeMCU. It can be tricky finding the IP address of your potential tile, so the software https://github.com/megjlow/UdpReceiver when downloaded to a second NodeMCU looks at your network and prints out the IP address of any NodeMCU's running TileNet (need to use the Serial Monitor in the Arduino development software).
- Tiles can be configured to use your existing wifi network by configuring the software downloaded onto each NodeMCU. Its also possible to configure separate network router so that each NodeMCU has a dedicated IP address and name on this separate wifi network.
Other useful items for creating tiles.
- Multiple LEDs, I use LED’s that are prewired with a resistor for LED protection.
- Battery box: 3 x AA batteries or MicroUSB power bank
- Terminal Connector Blocks are useful for making simple circuits
- box or other container to create your tile
- Felt or other material to decorate it.