LDSE Summer School 2018 Summary
Industrial IoT through JavaScript language and Node.js run-time environment
15th to 19th of June 2018
Laboratory for Digital Systems and Electrical Engineering (LDSE) organized a 3 day summer school where students created an Industrial Internet of Things (IIoT) based smart web store.
Participants built and integrated key components of a web based and environment-aware system using affordable hardware and open source software.
PROGRAM
- Day 1 - 15th of June (Friday): Lectures in core concepts and technologies; software installation
- Day 2 - 18th of June (Monday): Development of system components
- Day 3 - 19th of June (Tuesday): Development of system components and integration
TECHNOLOGIES
- Programming in JavaScript and PLC programming language
- JavaScript development platform and environment: Raspberry Pi and Node.js
- PLC development platform and environment: Beckhoff Twincat
- Modbus TCP connectivity
SYSTEM OVERVIEW
Click on the picture for a larger version.
DEVELOPED JAVASCRIPT BASED DECENTRALIZED SMART PRODUCT SUPPLY CHAIN APPLICATION
In short, this is what the developed application did:
- The customer checked the web page with the list of available products (presented to him by retailer node) and then placed an order for the selected product.
- A virtual package was created in the smart package node and was labeled with some crucial information, such as the package owner, package type, weight, special delivery requirements and also the the location where it needed to be delivered to.
- The smart package then contacted the transportation node and ordered the transport of the actual (physical) package to the correct location.
- The transportation node determined where the package was physically stored and contacted the warehouse node. The warehouse node was ordered to unload the package from the warehouse and at the same time the transportation node module sent the transport vehicle to the warehouse.
- Once the vehicle reached the warehouse and the package was unloaded from the warehouse, the package was loaded on the vehicle and delivered to the customer.
- During the whole procedure the customer had an insight in what was the status of his order. Nodes communicated between each other to inform others what state they are in and especially when they finished their tasks.
SYSTEM COMPONENTS
- CUSTOMER (buyer)
- properties: id, name, location
- MODULE 1: Smart Package node
- properties: id, owner, type, location, size, state
- APIs: createPackage, registerToMarketPlaces, load
- source code: Smart Package node
- MODULE 2: Retailer node
- properties: package
- APIs: initialize, getPackages, removePackage, buy, register
- source code: Retailer node
- MODULE 3: Transportation node
- properties: location, occupancy, speed, orders, occupationInformation, state
- APIs: orderTransport, packageLoaded, packageDelivered
- source code: Transportation node
- MODULE 4: Warehouse node
- properties: id, location, occupancy, orders, occupationInformation, state
- APIs: loadPackage, unloadPackage
- source code: Warehouse node
SUMMER SCHOOL WORKING MATERIALS
For easier understanding and participation in this summer school a handbook was compiled featuring the description of the basic concepts of the Industrial Internet of Things as well as the used technologies. The handbook includes tutorials on how to set up a working environment (a virtual machine), how to install and use Node.js platform and WebStorm development environment for JavaSCript programming and how to install and use Beckhoff TwinCAT software suite for PLC programming. Summer school project assignments are also included.
You can download the handbook from this LINK.
FUTURE WORK
The outcome of the summer school was satisfying as participants managed to built and integrate all the key components of the system and its main functionalities. System components were able to communicate among them in an independent and decentralized manner and exchange various important information.
However, many of the important functionalities are still missing. For a real decentralized system there should be more instances of the particular modules. There should be more stores offering products to customers, there should be more delivery companies offering their transportation services and there should be more warehouse facilities offering products storage. Furthermore, these instances should compete with others to get a "job" that they are requested to do. Based on various parameters the client will send / announce a request to all the instances of a particular module and then select the best offer. These functionality could, for example, be implemented using the blockchain technology.
We invite students interested in presented research area to come and tackle the problems of this new and exciting field. This could be in a form of a seminar or as a part of your batchelor, master or doctoral degree study.
If you are interested in working in areas described above or if you need some additional information please contact us at: tomaz.pozrl@fs.uni.lj.si or marko.corn@fs.uni.lj.si
SUMMER SCHOOL PHOTO HIGHLIGHTS






















