Kimberly has volunteered to lead a series of workshops on controlling the arduino from the web, specifically using Node.JS. The syllabus to this workshop is posted below. Equipment required is mentioned in the syllabus. You will need a wifi enabled laptop, an arduino, a USB cable to connect the arduino to your laptop, and 300 ohm resistor and 10K resistor (the exact values are not critical), a pushbutton, and an LED for the first workshop. Our previous workshops have been attended by both adults and kids. Typically, these workshops are more suitable for older children based on their interest and attention span. We have had some younger kids, who already like to program, participate with a parent or another adult.
Node.JS and the Internet of Things--Workshop 1
a. What is Node.JS?
i. Scaffolding system to connect anything to the web
ii. Web based programming
b. What will we be doing?
i. Connecting an Arduino to the web (Workshop 2)
ii. Learning about web code (Workshop 1)
iii. Learning about version control and Git (Workshop 1)
iv. Make an open source assistive device controlled by a web interface (Ongoing)
v. Make a basic Node.JS application in MEAN stack (Workshop 3)
vi. Learn to use Node Package Manager (npm) (Workshop 3)
vii. Set up a personal LAN (Workshop 4?)
i. Basic Arduino kit
ii. Laptop with wifi enabled and the Arduino IDE
iii. Diymall ESP8266 Serial Wifi Wireless Transceiver Module ESP-01
iv. Optional: The Johnny-Five Inventor’s Kit (but it’s about $125 from SparkFun and you can do it for much less)
II. What is Web Code?
a. The Triad
1. What it contains
1. What it looks like
1. What it does
iv. Various other things
1. Not important to what we’re talking about, but handy to know
b. What makes Node.JS different?
III. Version Control
a. What is Version Control?
i. You will mess up
ii. You will want to go back to a previous version
iii. You will scream if you can’t do that
i. Making a Github account
ii. Installing the Github controller
iii. Use the terminal, or the client?
1. Github client:
i. Limited abilities
ii. No branches
iii. Harder to use in a group
2. Terminal/Github shell
i. Complete functionality
iii. Complete control
iv. Great for working in a group
i. You’ve got to know git commands
ii. You have to know Vi
iii. More complicated for beginners
IV. Getting set up
a. Installation for Windows
i. Install powershell
ii. Install Node.JS
iii. Restart computer
iv. Test time
b. Installation for Unix and OSX
i. Open the Terminal
ii. Installation via curl or Homebrew
iii. You’re done
c. Start up the IDE and install the Johnny-Five language module
d. Plug in the Arduino
e. Plug in the LED
f. Use the Hello World program
g. Analyze the Hello World program
V. Wiring the light
a. Using the diagram, wire the light as shown, with a button.
b. Upload the code as shown.
c. Analyze the code