### Tuesday 3:00: <a href='../../lab/networking/setup.html' target="_self">Review menu of ESP32 devices</a><br> 3:15: Wireless networking overview. Options include: <br> <ul> <li><a href='../../lab/networking/huzzah1.html' target="_self"> ESP32 Tutorial 1a: LAN Server </a></li> <li><a href='../../lab/networking/huzzah1b.html' target="_self"> ESP32 Tutorial 1b: Remote Server (Firebase) </a></li> <li><a href='../../lab/networking/huzzah2.html' target="_self"> ESP32 Tutorial 2: HTTP Client (APIs and web scrapers)</a></li> <li><a href='../../lab/networking/huzzah3.html' target="_self"> ESP32 Tutorial 3: Bluetooth </a> </li> <li> <a href='../../lab/networking/espnow.html' target="_self">ESP-NOW Radio</a> (recommended)</li> <li>Any of the tutorials you find on <a href='https://randomnerdtutorials.com/projects-esp32/'>RandomNerd</a></li> <li><a href='https://docs.arduino.cc/cloud/iot-cloud/tutorials/esp-32-cloud'>Arduino IoT Cloud</a> (see <a href='https://farazbhuiyan.github.io/PHYS_S-12/09_Network/index.html'>Faraz's example</a>). However, IoT Cloud is less preferable than Firebase, because with IoT Cloud you can't store data and have to use their GUI. </li> </ul> <h3> Reading: </h3> <a href='../../lab/networking/overview.html' target="_self">WiFi and Bluetooth Overview </a> <br> <a href='https://learn.sparkfun.com/tutorials/connectivity-of-the-internet-of-things'> Sparkfun guide to IoT</a><br> <a href='https://learn.sparkfun.com/tutorials/serial-communication/all'> Sparkfun page on usart </a><br> <a href='https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi'> Sparkfun page on Serial Peripheral Interface </a><br> <a href='https://learn.sparkfun.com/tutorials/i2c'> Sparkfun page on I2C </a><br> ### Thursday 3:00: Assignment Review <br> 3:30: Wired Communication - <a href='https://roberthart56.github.io/SCFAB/SC_lab/Networking/networking/digital_io/index.html'> Wired communication: digital I/O</a> - <a href='https://roberthart56.github.io/SCFAB/SC_lab/Networking/networking/USART/index.html'> Wired Serial Communication</a> - <a href='https://learn.sparkfun.com/tutorials/serial-communication/all'> UART / USART </a><br> - <a href='https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi'> Serial Peripheral Interface </a><br> - <a href='https://learn.sparkfun.com/tutorials/i2c'> I2C </a><br> <h3> Labs: </h3> Work on networking assignment. Make sure final project planning is underway. <h3>Assignment: </h3> <p> Work with a partner or group of 3. Program one or more microcontroller(s) to obtain and respond to information from the internet or radio. Your project should include at least one input and one output. Please consolidate documentation to a single page for your group (this may be a good time to explore GitHub's collaboration features). </p> <h3> Examples: </h3> <p> <a href='https://michelleyl78.github.io/PHYS_S-12/09_class/09_class.html'>Michelle's Firebase alarm clock (with API clock)</a><br> <a href='https://wujibi123.github.io/PHYS_S-12/09_Networking/index.html'>Dan's multi-sensor database</a><br> <a href='https://elizabethgallardo.github.io/PHYSCI-70/Week%2010_%20Networking%20and%20Communication%20(IoT)/index.html'>Ely's LED Strip</a><br> <a href='https://tomkinsc.github.io/harvard-ps70/2020-04-14/'>Chris's Smart Freezer</a><br> <a href='https://aspartate.github.io/personal_website/blog/week-9-cloud/'>Andrew's Dueling Chair</a><br> </p> <h3> Resources: </h3> <p> <a href='https://randomnerdtutorials.com/program-upload-code-esp32-cam/'>Setting up and programming ESP32-CAM</a> <br> <a href='https://randomnerdtutorials.com/esp32-pwm-arduino-ide/'> Using PWM with ESP32 (you have to use ledcWrite(), not analogWrite())</a> </p>