L.O. (Learning Objectives) Week 12:¶ ¶ • Document while learning from writing an application that interfaces a user with an output device that I made • Explain the UI that I made and how I did it • Create and break problems ~~ and how I fixed them • Journal the Fun Discoveries of The Week, && the Questions of the Week 12 • Be myself. 12.0. Notes during the class and workshops:FABLAB¶ • IoT-related device interfaces: o MQTT, XMPP, IFTTT, UPnP, Wemo • Relationship between IoT and UI(User Interface) o IoT: distributed sensors o UI: for display • Data visualization vs. UI o Data visualization: one-way communication o UI: mutual, both way communication There should be • WebGL vs. Three.js ? • The difference is “optimization” • Options for the week: o App inventor E.g. heart rate o Node-RED E.g. o Python TKinter library o Processing • Bantam-related tips o Clearance 0.42 – 1.2 o Trace width 0.4 – 1.2 Fatter traces are useful when you need more power(P) • E.g. for LED, Motor, Heaters • Pinouts o Search word: “Minimal circuit” o ISP Is used for 44, 45, 85, 128, 328, 2506, mega o Jtag SAMD o UPDI 412, 1614, 3216 o FTDI TX, RX communication (USB -> Serial) • Capacitor(s) is always for one particular component(chip) o Therefore, it is important/better to put a capacitor right next to the particular component that the capacitor supports/is for. 12.1. This week, I've been up to:¶ There are three things that I have been working on: (In chronological order) 1. getting help for soldering my speaker board (My skin shows alergetic reation when/after soldering) 2. getting ready with an oven to use "Reflow Method" for soldering 3. setting up an serial communication in my interface (Python used) Group Work: wk12_group_work_webpage 12.2. Process of writing an application that interfaces a user with an output device that I made:¶ At first, I tried NODE-RED with a LED-and-Switch board that I made: (This photo arduino reference related to serial communication.) After using NODE-RED during the workshop, I thought it would work okay with my output device board (speaker board) and my final project. So I took a few steps to understand how node-red works (a.k.a. "Stack Development"). And this is the result (mix of my handwriting and Craig's): (Useful tutorial for getting started with NODE-RED) (How to run NODE-RED locally) Then I realized I should use NODE-RED after setting up a workflow for "Reflow Method" to re-solder my heartbeat sensor board (input device board). To me, NODE-RED seemed to be more interesting with input devices. I also thought of using Processing, but I have already used Processing for UI-related stuff before. (Processing Reference Page) Therefore, I switched to Python. I found this tutorial helpful to get started with GUI in Python. After installing pip3 and pyserial libraries, a practice code that I wrote worked. Then I wrote this code, shown below, to make "Play" and "Stop" buttons in my interface for the speaker board. **Trouble-shooting here -- which i will talk through in 12.4 part of this webpage. 12.3. Explanation of how the UI that I made works, and how I did it:¶