This course will take you on a whirlwind tour of full-stack web application development on the Raspberry Pi
You will learn how to build this application from the ground up, and gain experience and knowledge with technologies such as...
There is no other course on the Internet that I know about that offers all this content, in a single project.
But that's not where this course ends...
In this course, you will also learn how to setup a remote wireless Arduino sensor node, and collect data from it. Your Raspberry Pi web application can then process the Arduino node data in the same way it processes data from its on-board sensor.
You can find a complete listing of the hardware you will need for this course in the course hardware page.
In summary, you will need these components:
Raspberry Pi Full Stack will teach you multiple skills that are essential in building non-trivial web and Internet of Things applications.
But beyond that, the application itself is a platform which you can extend in many varied ways. This project is just the start of what you can do with a Raspberry Pi and the software and hardware components that you will learn about.
For example, you can extend the Raspberry Pi Full Stack application to do things like:
Instructor is very thorough and clear and also covers some peripheral material which is very beneficial in the learner. I am happy to see that he covers both OS and Windows processes with the same level of detail.
I like the speed and the technical level.
I have used a Raspberry Pi a little bit but this course goes in to a bit more depth but still at a beginner level. Perfect for me.
What a thorough guide through the process.
This was by far one of the most well laid out courses I've followed on Udemy.
He provides more than enough details along the way to know how to troubleshoot your own mistakes.
I have watched the course from end to end to see if this course meets my needs. This is the first and only course that I have found that covers this topic from beginning to end. I look forward to going through this course again at a much slower pace to bring my project to life. I really feel that I have a good chance to take my ideas and build something amazing after this course. I strongly recommend this course.
Clear explanations and graphically awesome.
A complete and precise roadmap to the course.
Fantastic course. I had basic Linux skills before entering this course and was able to follow along fine. Instructor goes into detail on what and why we are doing things, while still keeping the lesson moving. This class is a must for anyone wanting to learn about RPi and Linux.
Please watch this video to learn about the course curriculum and outcomes. Find out exactly what to expect so that you can plan your learning and make the most out of Raspberry Pi Full Stack.
1 - Getting Started with the Raspberry Pi Full Stack
0010 - What is this course about
0030 - Parts you will need
0050 - How to get help
0060 - Code repository
2 - Get to know your Raspberry Pi
0110 - Raspberry Pi 3 specs and features
0111 - Raspberry Pi 4 specs
0120 - Raspberry Pi models
0130a - Raspberry Pi vs Arduino high level comparison
0130b - Raspberry Pi vs Arduino comparing the boards
3 - Setup the operating system
0160 - Operating systems for the Raspberry Pi
0165 - Headless vs GUI
0170 - Download and Install Raspbian Lite using Etcher
0180 - How to enable SSH and configure Wifi in headless mode
0190a - Boot for the first time and basic configuration
0190b - Connect for the first time using Mac OS
0190c - Boot for the first time and connection using Windows
0210a - Working as the "root" user
0210b - How to enable the "root" user for logging on with SSH
4 - How to recover from a serious glitch by backing up and restoring your SD card
0220a - Backup an SD card (Mac OS)
0220b - Restore an SD card (Mac OS)
0220c - Backup an SD card (Windows)
0220d - Restore an SD card (Windows)
5 - Pins, GPIOs, and how to control them with Python
0250 - The Raspberry Pi GPIO header and numbering system
0260a - A taste of Python on the Command Line Interpreter
0260b - A taste of Python on the Command Line Interpreter Functions
0270a - A taste of Python with a simple program
0280 - Wire a simple circuit
0290a - Install the Python installer program pip
0290b - Manipulate an LED using rpi.gpio
0300 - Read a button
0305 - Control an LED with a button
0310a - Install Git and the DHT library
0310b - Use the DHT22 sensor
6 - Setup the Web application Stack
0340 - The Web Application Stack
0350 - The Python Virtual Environment
0360a - Set up system Python - preparation
0360b - Download, compile and install Python 3
0365 - Setup the app Python Virtual Environment
0430a - Setup Nginx
0430b - Setup Flask
0435 - A tour of a simple Flask app
0440a - UWSGI installation
0440b - Nginx configuration
0440c - UWSGI configuration
0440d - UWSGI and Nginx configuration testing
0450 - Configure Systemd to auto-start Uwsgi
7 - Styling with Skeleton
0460a - Install SQlite3
0460b - Working with SQlite3
0470a - Static assets and the Skeleton boilerplate CSS
0470b - Setup the static assets directory
0470c - Introducing the Skeleton boilerplate CSS
0470d - Copying files using SFTP
0480 - Flask templates
0497 - Debugging a Flask app
8 - Getting started with our web application
0500a - Introduction to the section - Getting started with our web application
0500b - Install the DHT library and the rpi-gpio module
0500c - Install the DHT library and the rpi-gpio module
0510 - Create a database to store sensor data
0520 - Sensor data capture script
0530 - Schedule sensor readings with Cron
0540a - Display database records in the browser - Python script
0540b - Display database records in the browser - Template
9 - Implement the date range selection feature
0560a - Introduction - Implement the date-time range selection feature
0560b - Select range of records in SQLite
0570 - Set date-time range in URL and show records in browser
0580 - URL query string validation
0590 - Quick tidying up
0595 - Adding radio buttons for quick time-date range selection
0597 - Provision the Python script to work with the radio buttons
10 - Improving the user interface with Google Charts and date-time selector
0610a - Introduction to Google Charts
0610b - Implementation of Google Charts
0610c - Testing Google Charts
0650a - Introduction to the date-time picker widget
0650b - Implement the date-time picker widget
0650c - Upload and test the date-time picker widget
11 - Dealing with time zones
0665 - Adjust date-times to local time zone on the client side
0670a - Introduction to Arrow
0670b - Implement Arrow
0670c - Upload timezone changes and test
0680 - Link the two pages of the application
12 - Charting with Plotly
0710a - Install Plotly
0710b - Try out Plotly on the command line
0720a - Implement Plotly support on the client side
0730a - Add Plotly support to the app script
0730b - Server side debugging example
13 - Publish on the Internet
0810 - Setting a static IP address
0850 - Expose your app to the Internet with port forwarding
14 - Data-logging with Google Sheet
1010 - Introduction to this section and Google Sheet
1020 - Setup Google API credentials
1030 - Setup the Python libraries and Google Sheet
1040 - Implementation of Google Sheet data-logging
15 - Setup a remote Arduino sensor node with the nRF24
1100 - Introduction to the setup of an Arduino remote node
1110 - The Arduino node wiring (coming up)
1111 - The Arduino node sketch
1112 - Raspberry Pi and nRF24 wiring
1120 - The Raspberry Pi nRF24 receiver script
1123 - How to install the Python nRF24 modules on the Raspberry Pi
1125 - Test the nRF24 communications
1130 - Modify the front end of the application to show remote node data
16 - If This Than That alerts
1140 - An introduction to If This Than That
1143 - Create an IFTTT web hook and applet
1145 - Add IFTT code in the application and testing
1170 - Install the node listener script as an Systemd service
17 - Secure your application with SSL
1300 - Introduction to this section
1310 - Create a self-signed certificate for application
1320 - Edit Nginx configuration to use SSL
1330 - Test SSL in Firefox, Safari, Chrome
18 - Wrapping up
1410 - Make lab_env_db page update every 10 minutes
0760 - Recap and what's next
The course instructor is Peter Dalmaris, PhD.
Peter has created over 20 other courses on technology education.
He is the author of Maker Education Revolution, a book on how making is changing the way we learn and teach.
He is the host of the Stemiverse and Tech Explorations podcasts, in which he discusses technology and education with engineers, educators, scientists and Makers from around the world.
Copyright 2020, Tech Explorations - Privacy