Design and development of embedded systems for the Internet of Things
Contacts:
Fabio Angeletti -
angeletti@disNOSPAM.uniroma1.it
Michele Martinelli -
martinelli@diNOSPAM.uniroma1.it
The Subsidiary Formative Activity we propose will provide the students with an overall knowledge of embedded systems.
This course willl give basic and advanced notions about software development and hardware design for real-time systems, sensors networks and
IoT. Throughout this course different embedded architectures will be introduced along with the most common operating systems employed in this sector. Furthermore, the principal sensors and actuators interfaces will be studied after a revision of C and system programming.
The class will consist of both theoretical and laboratory lectures.
A final project will be assigned to each student, who will be asked to put into practice what he/she learnt during the course.
In collaboration with WSense (
http://www.wsense.it
) and with the support/help of the Prof. Chiara Petrioli and ST Microelectronics (
http://www.st.com
).
Syllabus (Under Construction):
- What is the IoT
- Wireless Communication (802.15.4/Zigbee, WiFi, Bluetooth, SigFox, LoRa)
- C in a nutshel
- Hardware Platforms: Arduino, ST Microelectronics NUCLEO boards, ALEXA
- HW communication: SPI, I2C, RS232, GPIO & Sensors
- Energy Power Management
- FreeRTOS
- Web Communication & Cloud platforms for the IoT
- Real Life Examples: Safe Art, Internet of Underwater Things and other projects
You can download the STM32F4 HAL guide from: http://www.st.com/content/ccc/resource/technical/document/user_manual/2f/71/ba/b8/75/54/47/cf/DM00105879.pdf/files/DM00105879.pdf/jcr:content/translations/en.DM00105879.pdf
Final Exam:
Final project + Class presentation.
Deadlines:
By the
23th April you have to submit your group details and the hardware you need.
By the 7
th May you have to choose your final project.
By the 4
th June you have to upload your project on
GitHub. The presentation will be on the
11th June.
Another session can be scheduled.
Hardware available:
3x Bluetooth Low Energy (X-NUCLEO-IDB05A1, Arduino UNO R3 Connector)
1x Uart to Bluetooth
2x Uart to Serial
The verbalization responsible - prof. Anna Labella - will open a Infostud exam. Students have to present the final project. Once evaluated by the teacher, the grade will be communicated to prof. Labella, who shall record the exam result.
Diary 2018/2019:
Diary 2017/2018:
1. 06/03/2018: Introduction to the Internet of Things (
IoT), ST Microelectronics
Lect_01.pdf
2. 13/03/2018: Hardware, bus, interrupt
Lect02.pdf
3. 20/03/2018: C in a nutshell
Lect_03.pdf sw_afc.zip (C examples) Coding Style:
https://www.doc.ic.ac.uk/lab/cplus/cstyle.html
4. 27/03/2018:
FreeRTOS introduction with first examples
Lect_04.pdf FreeRTOS_examples.zip
In order to develop software for
FreeRTOS and your nucleo board you have to install System Workbench for STM32 (
here
) and STM32 CUBE MX (
here
).
You can download the
FreeRTOS documentation by the Amazon Website:
https://aws.amazon.com/it/documentation/freertos/
5. 03/04/2018: Cancelled
6. 10/04/2018:
FreeRTOS overwiew (dynamic memory, heap systems, code style and conventions, tasks, interrupts, queues, task notifications)
FreeRTOS_2.pdf
FreeRTOS_Examples_2.zip New examples related to the lesson
Importart informartions about the final project on the slides.
We suggest you to install a serial terminal (Mac:
CoolTerm, Windows:
Termite, Linux:
Putty).
7. 17/04/2018: Network Communication #1 (Network Topologies, 802.15.4/ZigBee, Bluetooth,
LoraWAN,
SigFox)
Network_communication.pdf
You can find a lot of short clips about
LoraWAN and Sigfox on:
https://www.lora-alliance.org/lorawan-videos
https://www.sigfox.com/en/sigfox-iot-technology-overview
8. 24/04/2018: Network Communication #2 (6LowPAN, MQTT, Rest,
CoAP)
Network_Communcation_2.pdf
There are also some python scripts correlated with the lesson:
python_scripts.zip (you have to install pyserial, requests and paho-mqtt)
9. 08/05/2018:
IoT Security and Low Power
IoT_Security.pdf Low_Power.pdf
10. 15/05/2018:
IoT Cloud, Thingsboard and Grafana
11. 28/05/2018: CTP, FTSP and Wsense Real Applications
ctp_ftsp.pdf