Smart contracts are a transformative technology, enabling secure, automated, and transparent transactions without intermediaries. Despite their potential, their application in Internet of Things (IoT) use cases remains underexplored, leaving a gap in understanding how these contracts can enhance IoT ecosystems through secure device communication, data validation, and automated processes.
This site provides a comprehensive tutorial tailored for embedded system and IoT developers, offering step-by-step guidance on learning about smart contracts and integrating them into IoT applications to unlock their full potential. It can be used as a graduate or undergraduate course on the domain of computer science and computer engineering. It also presents a use case example in which a smart contract is used to control a raspeberry pi that could be used for automating the payment of car renting.
You can also watch the tutorial that describes all the steps in the following video Smart contract for embedded systems and IoTs
Section 1: Introducion
                Introduction to Blockchain
                Yout first blockchain transaction
                Introduction to remix
                A simple smart contract
                Introduction to variables
Section 2: Smart Contracts for IoTs
                Introduction to a use case for car renting using smart contracts
                Introduction to data structures
                Introduction to Conditional Logic and Loops
                Introduction to enumaration
                Introduction to MSG sender
                Introduction to Access Control
                Introduction to Payable functions
                Introduction to events
                Introduction to Inheritance
                Introduction to time in blockchains
                Tricks and best practices
                Introduction to ICR Factory
                Integrated contracts
                Introduction to external function calls
                Final modifications for the use case on IoTs
Section 3: A use case for Smart Contracts on Raspberry pi
                Introduction to web3
                Introduction to Python ICR account
                How to synchronize with IoT
                How to unlock the car.
                How to change the car status.
                Integration of the use case
Ioannis Christidis, Christoforos Kachris
Support by Ethereum Foundation.