Introduction

The Internet of Things

The Internet of Things or IoT for short is one of the major subjects in computer science these days. Micro-controllers with Internet access can be bought for a few Dollars and these devices are powerful enough to even run a (Micro) Python interpreter locally. In addition they all the interfaces needed to access many types of sensors needed for IoT work. These include GPIO, I2C, I2S, SPI etc.

In this course we will learn how to write Python code for the ESP32, a powerful dual core 32 bit micro-controller, which can be purchased for ~ 4 US $. Many sensor "shields" are available which can be simply plugged into a "base board" together with the CPU board, where the base board provides all the necessary connections. Like this no soldering, bread board cabling work etc. is necessary.

The goal of the course

The course teaches some basic Python programming and the acquisition and control of sensors and actuators implemented in the sensor boards. Display of the acquired data can be accomplished natively with TFT display boards or remotely through a WEB server of MQTT data transfer to a server on the Internet.

All the exercises that made up the course on embedded systems on the Raspberry Pi in C can also be accomplished with the ESP32 in (Micro) Python. In the new course all software is developed on a PC and uploaded to the ESP32. The necessary tools will be explained.

Many of the software drivers for sensor readout are already embedded in the Python interpreter but students can also write their own drivers and add them to the system. For the "high flyers" it is also possible to write drivers in C, e.g. when speed is of utmost importance, and integrated into the Python interpreter. This however requires some knowledge of the inner workings of the interpreter.

-- TWiki Admin User - 2020-04-25

Comments

Edit | Attach | Watch | Print version | History: r7 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2020-04-25 - TWikiAdminUser
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback