Slide 1: Introduction to Internet of Things (IoT)
Session 1: Introduction to IoT and Python
Isaac Armah-Mensah
University of Cape Coast, Ghana
Slide 2: Introduction of Lecturers
- Uli Raich -- Formally CERN, Geneva, Switzerland
- Isaac Armah-Mensah -- University of Cape Coast Ghana
Slide 3: The TWiki server
All information about this tutorial is available on a TWiki server.
TWiki uses the same documentation format as Wikipedia.
This makes it very simple for the lecturer to provide on-line documentation,
which can be extended by students.
This is our Twiki server:
https://afnog.iotworkshop.africa/do/view
Other pages for class resources
Micropython Demos:
https://github.com/uraich/MicroPython_IoTDemos
and
https://github.com/uraich/MicropythonCayenneMQTTClient
C++ version:
https://github.com/uraich/C-IoTDemos
Slide 4: Workshop Page
Slide 5: The Internet of Things (IoT)
When the Internet was invented it was used for communications between humans
Typical applications where:
-
Email
-
Remote login
-
File transfers
With cheaper and more powerful micro-controllers devices can communicate with each other
or with centralized servers over the network and they can observe their environment
with dedicated sensors.
This is what we call the Internet of Things (IoT)
Slide 6: Introduction to Python
The python programming language is a high level programming language that is very interactive and object oriented.
Python is an interpreted language which means that the statements which make up the python program is processed at run-time but not compiled first.
Python also supports object oriented programming style which employs the use of encapsulating codes within objects.
What can python be used for?
-
Used to create web applications.
-
Used to connect to database systems.
-
It can be used to perform complex mathematics
-
It can be used in data analysis.
If you want to learn Python, Try the Python tutorial!
For Python beginners:
https://docs.python.org/3/tutorial/index.html
and for everybody the Python docs:
https://docs.python.org/3/index.html
Slide 7: Writing Python Programs
Python is a programming language that lets you work more quickly and integrate your systems more effectively.
Python programs can either be written using any standard editor like nano, emacs as a script or can be written from the python command line.
Slide 8: Using the Command Line (Interactive mode)
Simply type python in your terminal and press the enter key to start the interactive python mode.
Type print(“Hello world”). Hit enter and it prints Hello world on the screen.
To exit from the interactive mode, type quit().
Slide 9: Using the script mode
Using the interactive mode doesn’t keep the statements of code we wrote permanently .
But in an ideal situation we might want to keep the codes for future reference.
Hence we make use of an editor like the nano, emacs, etc.
Slide 10: Using Thonny
Instead of running a standard editor like nano or emacs you may want to run
an
Integrated
Development
Environment (IDE) created specifically for Python instead.
Thonny is Easy to get started. Thonny comes with Python 3.7 built in,
so just one simple installer is needed and you're ready to learn programming.
It is very suitable for beginners and programming micro-controllers
For basic description of Thonny check
https://thonny.org/
and
https://realpython.com/python-thonny/
Lets try
thonny
Slide 11: Thonny Python Shell and Editor
Here you see the 2 idle windows.
The top one contains the editor, the second the Python shell
Slide 12: Running a python script
Script in python can be run from the Linux command shell with:
python3 scriptName
or we can make it executable and run it like we would run
any compiled C program or any bash script:
Slide 13: Command Line Arguments
Programs can be called with arguments.
Python has a module that helps users parse command-line options and arguments.
Many programs can be run to provide basic information about how they
should be run and it employs the use of command line arguments.
The Python sys module provides access to any command-line arguments via the sys.argv .
Slide 14: Variables
Variables are just memory allocations for storing values.
Every variable created has a space in memory allocated for it.
Based on the data type of a variable, the interpreter allocates memory and
decides what can be stored in the reserved memory.
Python variables do not need explicit declaration to reserve memory space.
The declaration happens automatically when you assign a value to a variable.
The equal sign (=) is used to assign values to variables.
The operand to the left of the = operator is the name of the variable and
the operand to the right of the = operator is the value stored in the variable.
Slide 15: Data Types in Python
Programs store data in one form or the other and must be of a certain type.
We discuss the following data types
Slide 16: Strings in Python
Strings in Python are identified as a contiguous set of characters represented in the quotation marks.
Python accepts either pair of single, double quotes and triples(single/double) quotes.
Slide 17: List in Python
The list is a most versatile datatype available in Python.
It can be written as a list of comma-separated values (items) between square
[] brackets.
A list need not be of the same type.
The values present in a list are indexed starting from zero.
The values stored in a list can be accessed using the slice operator ([ ] and [:]) with
indexes starting at 0 in the beginning of the list and working their way to end -1.
Slide 18: Tuple in Python
Tuples are much more like a list.
They are enclosed in brackets().
Their content cannot be changed unlike the list whose content can be changed.
Thus tuples are read only.
Slide 19: Dictionary in Python
A dictionary is a collection which is unordered, changeable and indexed.
In Python dictionaries are written with curly brackets, and they have keys and values.
Python's dictionaries allow you to connect pieces of related information.
Each piece of information in a dictionary is stored as a key-value pair.
When you provide a key, Python returns the value associated with that key.
You can loop through all the key-value pairs, all the keys, or all the values.
Slide 20: Basic Operators
Python supports multiple operators including
- arithmetic,
- comparison,
- assignment,
- logical,
- bitwise,
- membership and
- identity operators.
Slide 21: Arithmetic Operators:
The arithmetic operators supported by python is addition(+) , subtraction(-),
multiplication(*
), division(/), modulus(%), exponent(**)
Slide 22: Python Bitwise Operators
Bitwise operator works on bits and performs bit-by-bit operation
--
Isaac Armah-Mensah - 2019-05-30
Comments