FTOMOR
Álvaro
Garcíaf
Yoeri
Reynaerts
Fabien
Jumel
Janik
Swerts
Final report: Internet Of
2020/21
Things for small factory
End Report IoT for small factory 1
Table of contents
Backgrounds: ..........................................................................................................................4
What is a European Project Semester? ...............................................................................4
Novia University of Applied Sciences...................................................................................4
What about us? ..................................................................................................................4
Belbin test: .........................................................................................................................6
Mission and vision ..............................................................................................................7
Concepts linked to the project: ...............................................................................................7
Internet of Things ...............................................................................................................7
Industry 4.0 ........................................................................................................................8
M2M communication .........................................................................................................9
Condition based maintenance .......................................................................................... 10
Overall Equipment Effectiveness....................................................................................... 12
Project definition and planning ............................................................................................. 14
Project description ........................................................................................................... 14
Organization of project team ............................................................................................ 14
Environment definition ..................................................................................................... 15
Stakeholders analyse ........................................................................................................ 15
Definition of objectives ..................................................................................................... 16
WBS.................................................................................................................................. 17
Risks and opportunities/changes analysis ......................................................................... 18
Human resource management.......................................................................................... 19
Cost management ............................................................................................................ 20
Planning ........................................................................................................................... 21
Quality management ........................................................................................................ 22
Project initiation ................................................................................................................... 23
Are home automation products suitable for industrial use? .............................................. 23
Suitable applications for M2M and IoT .......................................................................... 23
Home automation devices suitable for an industrial environment ................................. 24
Concerns about security................................................................................................ 26
Implementing IoT in small factories............................................................................... 27
Key points for success: .................................................................................................. 28
Project execution ................................................................................................................. 29
Communication protocols ................................................................................................. 29
2020/21 End Report IoT for small factory 2
ZigBee........................................................................................................................... 30
Wi-Fi ............................................................................................................................. 31
MQTT ........................................................................................................................... 31
Software ........................................................................................................................... 32
Hardware ......................................................................................................................... 34
Home assistant: ................................................................................................................ 36
Home assistant Add-ons ............................................................................................... 36
Sensors: ............................................................................................................................ 38
ESP32-CAM ................................................................................................................... 38
Aqara temperature and humidity .................................................................................. 41
Accelerometer and gyroscope MPU6050 ...................................................................... 42
DS18B20 ....................................................................................................................... 44
Smart plug .................................................................................................................... 46
CO2 sensor MQ135 ........................................................................................................ 48
Branding:.............................................................................................................................. 59
Logo and name: ................................................................................................................ 59
Website: ........................................................................................................................... 61
Auto report .......................................................................................................................... 62
Alerts................................................................................................................................ 63
Project analysis:.................................................................................................................... 64
Observations: ................................................................................................................... 64
What next? ....................................................................................................................... 64
Appendix .............................................................................................................................. 65
Appendix 1: tasks table ..................................................................................................... 65
Appendix 2: PERT or arrow chart ...................................................................................... 70
Appendix 3: GANTT or bars chart ...................................................................................... 71
Appendix 4: Project hours follow-up ................................................................................. 72
Appendix 5: Weekly meeting report/agenda ..................................................................... 82
Appendix 6: Node-RED code ............................................................................................. 87
6.1. Robot arm time usage calculation (MPU6050) ........................................................ 87
6.2. 3D printer time usage calculation (Kasa plug) ......................................................... 88
6.3. Auto report ............................................................................................................ 89
6.4. Alerts ..................................................................................................................... 91
Bibliography ......................................................................................................................... 95
2020/21 End Report IoT for small factory 3
Backgrounds:
What is a European Project Semester?
EPS is a student program available in 18 European universities in 12 countries throughout
Europe to all students with at least two years of study. This program is focus on engineering students
but still open to students from other fields. The purpose is to create a multidisciplinary and
international environment comparable to working life in project teams. This environment allows all
the stakeholders to improve their communication skills and intercultural competencies. This semester
is composed of the project itself and other supporting courses, like Teambuilding, Project Management
or cross culture discovery. Students work in groups of 3-6 with several field of study and nationality.
At the end of the semester, a student will gain 30 ECTS, which represent a normal academic semester.
Novia University of Applied Sciences
The Novia University of Applied Sciences is a university that is located on the Finnish West
coast of Vaasa with campuses that are located in four different cities in Finland. The university is the
largest Swedish-Speaking University of Applied Sciences in Finland. There are about 4000 students
studying at this school and about 300 staff members working. This university is specialised in training
students in becoming experts and developers based on the requirements of working life.
What about us?
Our team is composed of 4 students representing 3 nationalities: Belgian, Spanish and French.
This mix of culture and knowledges offers us a unique opportunity to develop our abilities and learn a
lot from each other.
Fabien Jumel
Hello! I am Fabien Jumel, 22. Studying material engineering
at ESI Reims, I’m of 4 years of university. This EPS internship is the
opportunity to discover a new country and culture. Working in an
international team and only in English is a very interesting challenge
that I like!
2020/21 End Report IoT for small factory 4
Yoeri Reynaerts
My name is Yoeri Reynaerts, I am from Belgium. I study
at the Artesis Plantijn University in Antwerp. The study I am
following in my home country is Process-Automation. The reason
I wanted to do this EPS project was because I wanted to push
myself out of my comfort zone. Another reason is to learn new
skills. Now that we got the Internet of Things project. I would like
to learn more about IoT and expand my knowledge about it,
because there is so much more to learn.
Álvaro García
Hello! I am Álvaro García, a student of Industrial Electronic and
Automation Engineering at Valladolid, Spain. I applied for the EPS
semester with the goal of doing my final thesis in a multicultural group,
improve my English and learn new things about IoT, a field in which I
am especially interested. And of course, meeting new people with
different backgrounds and a new country and its culture.
Janik Swerts
Hey! My name is Janik Swerts, a student energy technology
at the Thomas More university in Geel. I chose to complete my thesis
and internship abroad by participating in the EPS program, this is an
excellent opportunity to step out of my comfort zone and to meet
new people. This project semester will also help me to improve my
team skills and my English which will come in handy in my later
career. The "Internet of Things" project is one that appeals strongly
to me because I like to be involved with technology and because
smart internet applications are gaining more and more popularity for
both commercial as non commercial purposes.
2020/21 End Report IoT for small factory 5
Belbin test:
According to the team role theories there are several roles that can be taken up by the different
members in a team. These different roles can be organizational, functional, personal and even skill full.
A good and strong team should comply with different team roles that depends on the purpose of the
project. By having each team member fill in the Belbin test, we can easily find out who is characterized
by which roles. In this way we can check whether the team meets the necessary team roles and if there
is too many overlap between the different members. This overlap should be avoided in order to create
the healthiest possible group balance that leads to a healthy working atmosphere. When we now see
to the Belbin results of our group we see that we are covering a large range of different roles. This
leads to a good team dynamic, but we still have to keep in mind that we all have behaviours that can
overlap at some point during the project (coordinators; shapers). All the team members should pay
attention for this when we divide the tasks so that everyone can do what he likes the most and feel
comfortable in the group.
Figure 4 : Álvaro García Belbin results Figure 4: Janik Swerts Belbin results
Figure 4: Yoeri Reynaerts Belbin results Figure 4: Fabien Jumel Belbin results
2020/21 End Report IoT for small factory 6
Mission and vision
On every project start, the team have to statute on the fundamental purpose, why the project
has been developed and what the long-term objective is of the project.
The ‘mission’ is to find the best solution to implement Industry 4.0 in small factories.
The ‘vision of the team’ is to develop new connected tools and turnkey hardware which help
small industrial structures in maintenance management to improve the productivity/profitability. The
final delivery is an efficient and easy to set package adapted to different kind of machines.
Concepts linked to the project:
One of the biggest challenges of this project for each of us is to evolve into an unknown
environment and field. Therefore, it seemed essential to deepen our knowledge and carry out research
on the concepts surrounding this project before being able to focus completely on the realization of
the project.
Internet of Things
When the internet was originally created the main goal was to provide people with information
such as texts, videos, images etc. The internet was made by people and for people. Internet of Things
or IoT can be considerate as the first major evolution of Internet.
The internet is around you every day and is has become a big part of our daily lives without
most people even realizing it. IoT can be define as a giant network where objects communicate and
share data with each other. The “things” in Internet of Things can refer to different type of devices
from simple sensors to smartphones and wearables.
By combining smart connected devices with automated systems it is possible to gather
information, analyse it and create actions to help someone/something perform a particular task, we
can also use the gathered information to learn from certain processes to keep them improving.
Internet of Things is about devices, data and networks.
In this way it is possible for components to share their information with other components
without the need of human interaction. In order to let the things interact with each other we have to
let them sense and communicate. With this we mean for example a light sensor, we have to make sure
it can sense the amount of light in the environment but the sensor should also be able to transmit the
measured value to the other connected devices.
2020/21 End Report IoT for small factory 7
Industry 4.0
Industry 4.0 is the digital transformation of manufacturing, production, related industries and
value creation processes. Industry 4.0 is used interchangeable with the fourth industrial revolution and
represents a new stage in the organization and control in the industrial value chain. The basis of
industry 4.0 (smart machines) is formed by cyber-physical systems, they use modern control systems,
have embedded software systems and dispose of an internet address to connect and be addressed
throughout Internet of Things.
In this way, products and means
of production get networked and can
‘communicate’ enabling new ways of
production, value creation and real-time
optimization. The cyber-physical systems
have the capabilities needed for smart
factories. These capabilities are the same
as we know from the industrial Internet of
Things like remote monitoring or track
and trace. Figure 2 Basics of Industry 4.0
Figure 5: Industry 4.0 pillars
2020/21 End Report IoT for small factory 8
The goal of industry 4.0 is to enable autonomous decision-making processes, monitor assets
and process in real-time, and to enable real time connected value creation networks through early
involvement of stakeholders, and vertical and horizontal integration. These are a few key benefits of
industry 4.0 to show why it is so important for factories to hop on this trend:
Real time data for a supply chain in a real time economy
Higher business continuity through advanced maintenance and monitoring possibilities
Better quality products: real time monitoring, IoT enabled quality improvement and cobots
(advanced collaborative robots or robots that fit a collaboration between man and machine)
Better working conditions and sustainability
Personalization and customization for the customer
Improved agility
The development of innovative and new revenue models
As we can see, it is very important for companies and factories to move on to industry 4.0 and
to the fourth industrial revolution as soon as possible to remain competitive. To fully equip a
factory/production to industry 4.0 they need to do a fair amount of research and a lot of time, but by
doing this the installation is ready to utilize all the benefits of IoT and industry 4.0.
M2M communication
Through the implementation of an IoT network in a factory environment we see that we are
creating a machine to machine connection (M2M). Machine-to-machine communication is exactly as
it sounds: two or more machines that are communicating with each other by a network. A machine to
machine connection can be established in different ways. We can use for example a serial connection,
a powerline connection or a wireless connection by using the Internet. By using wireless
communication to establish a M2M connection it is much easier and there are more applications that
can be connected in this way.
2020/21 End Report IoT for small factory 9
As businesses have realized the value of M2M, it has taken a new name, Internet of Things. IoT
and M2M have quite a lot of similarities, they fundamentally change the way the world operates. IoT
and M2M allows any sensor to communicate and because of this it is possible to monitor systems and
automatically responding to changes in the environment. Because of this the need for a human to
intercept in the process is reduced.
Figure 6: IoT / M2M comparison
Machine-to-machine communication makes the Internet of Things possible, M2M is one of the
fastest growing types of connected device technologies on the market right now. This is because M2M
technologies can connect millions of devices in a single network. These connected devices can go from
vending machines up to medical equipment, vehicles and even buildings. Basically, anything that
houses a sensor or control technologies can get connected to a wireless network.
These kind of networks sounds complex, but the idea is quite simple, M2M networks are quite
similar to WLAN (Wireless Local Area Networks) and LAN (Local Area Networks) networks. But unlike
LAN and WLAN is M2M networking exclusively to allow machines, sensors and controls to
communicate. These devices feed information to a network and they collect information back from
other devices in the same network. It is also possible for humans or an intelligent control unit to access
the information and to intervene when something is wrong.
Condition based maintenance
Condition Based Maintenance (CBM) is a maintenance strategy that monitors the actual
condition of an asset to decide when and what maintenance needs to be done. By using CBM,
maintenance only needs to be done when necessary and the engineers know in advance which part
needs to be replaced. Checking a machine for these indicators may include non-invasive
measurements, visual inspection, performance data and scheduled tests.
2020/21 End Report IoT for small factory 10
Unlike planned maintenance, where maintenance is performed based upon predefined
scheduled intervals, condition based maintenance is only performed when a decrease in the condition
of the equipment has been observed. Compared with preventive maintenance, this increases the time
between maintenance repairs, because maintenance is done when it is needed.
The goals of CBM are to spot upcoming equipment failure so maintenance can be proactively
scheduled when its needed and not before. The asset conditions need to trigger maintenance within
a long enough time before the failure so that there is enough time for the engineers to fix the problem
before the asset fails. These are some advantages and disadvantages about CBM:
Advantages of Condition Based Disadvantages of Condition Based
Maintenance Maintenance
CBM is performed while the asset is Condition monitoring test equipment is
working, so the asset does not get disrupted expensive to install, and the data costs money
to analyse
Reduces the cost of asset failures Cost to train staff to analyse the data
and perform the work
Improves equipment reliability Fatigue or uniform wear failures are not
easily detected with CBM measurement tools
Minimizes unscheduled downtime due Condition sensors may not survive in
to catastrophic failure the operating environment
Minimizes time spent on maintenance May require asset modifications to
retrofit the system with sensors
Minimizes requirement for emergency Unpredictable maintenance periods
spare parts
Optimizes maintenance intervals (more
optimal than manufacturer recommendations)
Improves worker safety
Reduces the change of collateral
damage to the system
2020/21 End Report IoT for small factory 11
Overall Equipment Effectiveness
OEE (Overall Equipment Effectiveness) is the standard for measuring manufacturing
productivity. This identify itself as the percentage of manufacturing time that is truly productive. This
means that they produce 100% quality (only good parts), 100% performance (so fast as possible) and
100% availability (so no down time). By measuring the OEE of a factory and the underlying losses, they
will get insight on how to improve their manufacturing process.
The goal for factories is not only to measure their own OEE value, but to maximize their fully
productive time. Above are some concerns that factories should focus on in order to improve the OEE
and optimize production speed:
Get real time OEE data from machinery and correct quality deviation immediately
Identify problems that are reducing OEE and prioritize them
Perform preventive maintenance on these problems
The Overall Equipment Effectiveness factors
There are some factors that must be kept as high as possible in order to obtain the highest
possible Overall Equipment Effectiveness score. These factors are:
Figure 7: Overall Equipment Effectiveness factors
• Schedule loss: it includes all the time that should be excluded from the OEE analyses because
there is no intention of running the production line during this time (plant shutdown,
lunchbreaks, or periods where there are no orders). OEE starts with Planned Production Time
and scrutinizes all efficiency and productivity losses that occur within that time, the goal is to
reduce these losses or eliminating them.
2020/21 End Report IoT for small factory 12
• Availability: these losses include any events that stop planned production for an appreciable
length of time (several minutes long is enough for an operator to log a reason). Examples of
things that create Availability loss includes unplanned stops (these stops can be equipment
failure and material shortage), and planned stops (such as changeover time). Changeover time
is also included in the OEE analysis because this time could be used for manufacturing. The
remaining time after availability loss is subtracted is called Run Time.
• Performance: this can be anything that causes the manufacturing process to run at less than
the maximum possible speed. Examples of things that create performance loss include
machine wear, substandard materials, misfeeds and jams. The remaining time after
performance loss is subtracted is called Net Run Time.
• Quality: this factor accounts for manufacturing parts that do not meet the quality standards.
An example of quality loss can be scrap and parts that need to be reworked. OEE quality is
similar to first pass yields, in that it defines good parts as parts that successfully pass through
the manufacturing process the first time without needing any rework. The remaining time
after quality loss is subtracted is called Fully Productive Time.
2020/21 End Report IoT for small factory 13
Project definition and planning
Project description
21st century’s industrial world is composed of a large range of fields with a lot of variety into
the size of factories. Performance, quality and cost-efficiency are today’s success keys and Industry 4.0
rely on a big effectiveness toolbox based on Internet of Things and connectivity. For small structures it
is hard to reach all these goals due to a lack of knowledges into this new tools and techniques.
The goal of this project is to try to demonstrate that simple home automation IoT stuff can be
an efficient, easy and low-cost way for small factories to get into industry 4.0 and enhance their
productivity to stay competitive. Our aim is to develop an IoT sensors-based tracking method solution
to provide a follow-up of industrial machine performances and condition.
Organization of project team
The organization of the project team allows everyone to find their place but also to
define the area of action of each in the overall of the project. The main objective of defining positions
is to improve fluidity and coordination among team members to ensure the success of the project. The
contribution of information from the Belbin test will also help to better understand each other's
affinities and adjust responsibilities and tasks accordingly.
Tool: meeting; Technique: Belbin test
Name Function Function Main work field
(Feb-Mar) (Apr-May)
Alvaro Electronics
Garcia Programming
Automation
Janik Secretary Secretary Data management
Swerts User manual
Programming
Yoeri Process automation
Reynaerts Electrical design
Fabien Chairman Chairman Project management
Jumel Materials
Basics in design
2020/21 End Report IoT for small factory 14
Environment definition
The aim is to define all stakeholders as well as the framework for the project's evolution. This
is the first step in defining tasks and deliverables.
Result:
Figure 8: project environment analyses
Stakeholders analyse
With this analyse the goal is to go deeper into the different stakeholders involved into
the project. By defining degrees of interest and power for each one, the communication, information
sharing, and the reporting can be adapted. Additionally, powerful stakeholders have to be included
into decision-making process.
Inputs:
2020/21 End Report IoT for small factory 15
The only inputs used for in this case is the environment analyse. It’s providing a list of
stakeholders.
Tools and techniques:
During a meeting, everyone tries to define the power and the interest of all involved
parts. A 2 axes matrix helps to give a visual map of those.
Tool: Microsoft Word; Technique: meeting
Outputs:
This map gives information about how to act with each stakeholder.
Information and proper communication contribute of smooth running of the project; it is also the only
way to ensure that everyone is satisfied.
Figure 9: Stakeholders analyse
Definition of objectives
The definition of the objectives helps to clarify the scope of the project a little bit more. In our
case it is important to highlight that with the reduced time at our disposal we focus on a solid
information input and we will demonstrate the feasibility of the concept.
2020/21 End Report IoT for small factory 16
Tool: Microsoft Excel; Technique: MoSCoW
Result:
Mu Shou Cou Won
Objectives st ld ld 't
Tailor made sensor
User manual
Branding
Intuitive user interface
Data reporting
User alert
Simplified sensor adding process
Midterm report
Final report
Monitor machine performances
Manage over 5 machines
Open sourced software
Propose a customer offer
WBS
Inputs:
Based on the various information exchanged/collected during the first week, the overall
objective of the project could be divided into easily measurable sub-deliverables and whose duration
is also estimated. This division provides a clearer view of the project's limitations and also clarifies the
expectations of each stakeholder.
Tools and techniques:
WBS provides a simple graphic overview of all the expectations and tasks associated with the
project. We chose to divide the WBS into two: on the one hand all the elements directly related to the
implementation of the project and on the other the indirect elements to ensure the follow-up of the
project and the academic work. Direct spots are divided in chronological order to ensure simpler
project tracking.
Tool: Adobe Illustrator; Technique: WBS
Outputs:
2020/21 End Report IoT for small factory 17
The result of the WBS is an exhaustive and clear list of all deliverables and the tasks that lead
to them. All these tasks are accompanied by a precise description that will best adjust the estimate of
working time.
Details in Appendix 1: tasks table
Result:
Figure 10: WBS
Risks and opportunities/changes analysis
Inputs:
In this case, everything is focus on preventing events. The main input is the list task which
provide an overview of the project and will be the bases for this analysis.
Tools and techniques:
Brainstorming and meeting are the keys for a great analysis. The main goal is to figure out the
problem and a way to handle it. Sorting by probability and importance factors allow to create and
ranking and focus on the important points (except for risks, all of them must be taken into
consideration).
Tool: Excel; Techniques: brainstorming, meeting
Outputs:
This study gives an overview of the project risks/opportunities and give the team a big
advantage. By planning solutions and ways to take benefit of every situation the team can work more
efficiently and be more reactive when a choice needs to be made.
2020/21 End Report IoT for small factory 18
Result:
Figure 11: Table risks and opportunities
Human resource management
Inputs:
Once all the necessary tasks and knowledge have been defined the management of human
resources to the objective of the distribution of work between the different actors of the project team.
Not having the opportunity to adapt the demand as needed (definition of project teams without
consideration of areas of expertise) the main objective here is to best distribute the work to be done
according to the affinities and knowledge of each.
Tools and techniques:
A first draft of the task allocation was completed and refined with the entire project team
during a meeting.
Tool: Microsoft Excel / Project; Technique: meeting / Belbin test
Outputs:
The roles and responsibilities of each are defined for all tasks. Combined with the planning the
management of human resources will allow us to follow the progress of the project. This will also help
to adjust the time allocation of tasks in order to spread the working time over the entire semester.
2020/21 End Report IoT for small factory 19
This may also allow us to confirm or not the sizing of the team (if working time exceeds the time
available).
Result:
Name Start Finish Estimated
Work
Fabien Jumel Thu Fri 249 hrs
18/02/21 28/05/21
Álvaro García Thu Fri 181,8 hrs
18/02/21 28/05/21
Yoeri Reynaerts Thu Fri 205,8 hrs
18/02/21 28/05/21
Janik Swerts Thu Fri 250,8 hrs
18/02/21 28/05/21
Details in Appendix 1: tasks table; Appendix 4: Project hours follow-up
Cost management
Inputs:
Based on the estimate of the overall working time induced by the project as well as research
in order to estimate an average human cost per hour cost management is one of the key elements of
the success of a project. It is important to add to the human cost the various material acquisitions
necessary to carry out the project.
Tools and techniques:
Managing and tracking the cost of a project is a valuable indicator of the project's progress. In
our case, all human cost assessments of the project were conducted using the MS Project.
Tool: MS Project, Excel; Technique: Cost follow-up % archived / overall costs
Outputs:
The rendering of this cost study is a curve that expresses the evolution of the estimated
cost of the project according to the percentage of progress of the project.
2020/21 End Report IoT for small factory 20
Cost follow-up
30 000,00 €
25 000,00 €
20 000,00 €
15 000,00 €
10 000,00 €
5 000,00 €
0,00 €
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
BCWS ACWP BCWP
Figure 12: cost follow-up graphic
Analysis of the project’s cost shows that the current cost is lower than expected.
However, the variance in planning is zero (SV), the project is on time and completely ended. The final
cost of the project is under the original forecast (CV).
Planning
Inputs:
The WBS and all the information that accompanies it (description of tasks / estimate
of working time) make it possible to draw up a schedule for the project and define the critical path.
Tools and techniques:
We use 2 types of schedule the GANTT (bars) and PERT (arrows) charts. The PERT
diagram provides a very graphic view of the schedule and makes it easy to identify the critical path.
Tools: MS Project; Techniques: GANTT/PERT charts + Critical Path Method
Outputs:
The planning resulting from this exercise serves as an element of performance
monitoring but also as a guide to the entire project team. The MS Project software provides a graphic
and simplified overview of the project. It also offers great modularity and makes it easy to evolve the
different tasks.
Results:
Appendixes 2 and 3: PERT and GANTT charts
2020/21 End Report IoT for small factory 21
Quality management
Inputs:
Weekly hours, meeting reports and cost follow up provide a large range of information
on which to base the quality analysis of the project.
Tools and techniques:
Tools for this analysis are Ishikawa diagram (causes – effect) and different graphics.
The aim is to present an overview of the project through numbers and visual elements.
Tools: Excel, Word; Techniques: Ishikawa, meeting
Outputs:
The different graphics and indicators resulting of this analysis offer several ways to
monitor, follow the project. They are used to describe alert thresholds and trigger action to correct the
deviation. Those quality elements represent the health of the project.
Results:
Figure 13: causes-effect diagram
2020/21 End Report IoT for small factory 22
Average project hours
25,0
20,0
15,0
10,0
5,0
0,0
W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W14 W15
JS YR AG FJ Team
Figure 14: project hours follow-up
Details in Appendix 5: Weekly meeting report/agenda
Project initiation
Are home automation products suitable for industrial use?
Suitable applications for M2M and IoT
We can subdivide the application areas in which this technology can be set up into four large
groups:
Manufacturing
Every manufacturing environment relies on technology to ensure that the costs are managed
properly and that the production processes are executed efficiently. Automating manufacturing
processes within such a fast-paced environment is expected to improve processes even more. In the
manufacturing world could this involve highly automated equipment maintenance and safety
procedures. When we clarify this with an example like: M2M tools allows a business owner to receive
a notification when an important piece of a machine needs servicing, In this way, the person in charge
of the installation is quickly warned and can schedule this maintenance to have as little production loss
as possible.
Home appliances
M2M is expected to take home based IoT to the next level, there are a lot of manufacturers
that are slowly unveiling smart home appliances to ensure a higher quality of life for occupants. For
example, a washing machine that is capable to communicate M2M could send an alert to other smart
devices once it is finished washing or drying. A smart refrigerator could automatically order groceries
2020/21 End Report IoT for small factory 23
from an online supermarket. There are a lot of other examples of home automation that can improve
the quality of life.
Healthcare device management
Another big opportunity for M2M technology is in the realm of health care. With this
technology hospitals can be able to automate processes to ensure the highest levels of treatment. This
can be done using devices that can react faster than a human healthcare profession in an emergency.
For instance, when a patient’s vital signs drop below normal, an M2M-connected life support device
could automatically administer oxygen and additional care until the healthcare profession arrives at
the scene. With the use of M2M it is also possible to monitor patient at their home instead of in
hospitals. There are cases where they can monitor the movement of an elderly person to detect if she
falls and alert a healthcare worker as soon as possible.
Smart utility management
In the age of energy efficiency, automation will quickly become the new standard. We see this
trend at the smart utility meters like energy and water. This smart measurement method is because
of M2M, this helps energy companies to gather consumption data automatically and accurately, so
they can make the bills for the customer. Smart meters can track how much energy a business or a
household uses and can alert the energy company, this is even more important as utilities move
towards a more dynamic pricing model, charging customers more for the energy that they use during
peak times.
Home automation devices suitable for an industrial environment
One of the goals of this project is trying to implement IoT devices that are used in home
automation systems in an industrial environment. Following there are the most used
technologies/devices in home automation and possible use cases in a factory:
Lighting devices
This is one of the most common applications in home automation systems, with lots of smart
light solutions available in the market. It is possible to control all the lights of your house through your
smartphone, connected to smart switches that turn on/off the lights. It can also provide colour and
brightness control of your bulbs.
Smart lighting products can help businesses monitor various premises and their environment,
increase staff safety (including on-site traffic safety) and even deliver location-based services such as
smart parking. Smart lights can optimize power consumption and give measurable return on
investment.
Security and control
2020/21 End Report IoT for small factory 24
The devices used at some homes for surveillance and security, such as motion sensors, smart
locks, cameras and alarms, can also be applied for factories. The suitability of this will depend on
factors like factory location, value of the materials or critical processes.
Smart locks give small businesses increased convenience - with the ability to manage building
access from any device - and security. Losing the keys can be a potentially major security risk, but with
smart locks you and/or employees can control locks from phones or other devices.
Unique access codes allow small business owners to manage and track who enters a building
– especially effective when used in conjunction with smart cameras and alarms.
Security cameras have been in operation for decades and are becoming more powerful and
less expensive all the time. Today, connected cameras allow business owners to remotely monitor
offices, warehouses, entrances and other areas. Unlike using expensive and voluminous servers or
other storage devices, footage can be saved - often limitlessly - in the cloud. Connected cameras use
Wi-Fi so no need of cables. Their reliance on Wi-Fi rather than cables does however mean they need a
good wireless internet connection.
Virtual voice and audio assistants
Nowadays it is quite common to have a virtual assistant at your home that can complete tasks
such as taking notes, setting reminders and delivering alerts. Virtual assistants have improved as
artificial intelligence, machine learning and natural language processing (NLP) software develops. This
list of functions is continuously growing and ranges from delivering audio search results to controlling
remote security.
Apart from the productivity benefits for individuals, businesses are using voice assistants to
offer better customer service and increase revenue by reducing the costs associated with a sale. Many
businesses are integrating or optimizing their products and services for assistants such as Siri and Alexa
to improve products and services or reach new audiences. Chatbots have been much lauded and
continue to deliver efficiencies as well as valuable data to businesses.
Heating, ventilation and air conditioning (HVAC)
Smart climate control is one of the most cost-efficient technology in the IoT domain.
Temperature and humidity sensors provide information that trigger actions like turning on air
conditioner when the temperature crosses its cut-off values. That helps to reduce energy
consumption, which means large money savings with time.
IoT can monitor storage facilities to help businesses with temperature control and ensure
perishables are monitored, flag issues when necessary and maintain compliance. It can also be very
useful for processes where temperature and humidity control are key variables.
HVAC can all be monitored and controlled centrally and remotely for added convenience and
to maximize energy efficiency. As the technology develops, some devices can even implement machine
learning to increase efficiency and cost savings even further.
Protection sensors
2020/21 End Report IoT for small factory 25
Flood or water leak sensors are extremely useful to detect pipe leakages or excessive water
consumption at sinks. Similarly, fire or smoke sensors are useful in kitchen areas. These sensors will
instantly notify users and help them to take proactive measures, thereby preventing any further major
kind of damage. The flood sensors can also be used in garden areas to stop the water sprinklers in case
excess water has been poured.
Those sensors generally have a low cost and can avoid devastating events such a fire. So, every
home or factory should include them as a protective measure.
Concerns about security
One of the most common fears for adopters is security and data protection. Below are some
concerns that companies should consider when implementing IoT.
As more and more connected devices and IoT technologies emerge - from wearables to alarm
systems and access management - it is important for small businesses to maintain security. All those
networked devices can offer bad actors new entry points to business systems that can pose new
vulnerabilities and threats. These threats only increase the need for small business owners to invest in
high-quality endpoint security.
Data storage is one of the key points. New policies regarding user’s data privacy can lead to
legal costly problems for the company. As businesses collect great amounts of data via IoT, they must
take care not to suck up personal data without storing it securely and in accordance with international
privacy standards. Setting clear policies on anonymizing user data, as well as data retention, can help
limit potential problems. For some cases it can be interesting hiring third-party companies to take care
of this.
Figure 15: Common security challenges for IoT
2020/21 End Report IoT for small factory 26
Companies must be careful when purchasing IoT devices. Devices not updated can
compromise all the network as most of them will eventually be hacked if they are not subjected to a
verified update cycle. Therefore, it is important to look for trustable manufacturers who have proven
to update their old products. If hackers can gain access to insecure devices, they can take down huge
portions of the internet by simply hammering servers with relentless requests from thousands or
millions of connected devices (DDoS, or distributed denial-of-service).
Smartphones are usually one of the main targets for hackers as an entry point often used to
gain access to private data. Basic protection measures such as using secure passwords, storing them
in a reliable place and being careful about the permissions set on apps can prevent major problems. In
the end, companies should also think about how much automation they really need. Sometimes having
everything connected and automated just makes the process more complicated and insecure and the
benefits does not worth the potential risks.
Implementing IoT in small factories
Big factories are hopping on the IoT train seeing the opportunities that IoT can provide to their
businesses. Healthcare, smart cities and big manufacturing industries have already taken advantage of
this technology. IoT can help to create a technically driven environment for those companies. Figure
indicates the evolution of the number of Internet of Things devices worldwide, we see that more and
more smart devices are being added and that the Internet of Things network will continue to expand
and increase in size.
IoT is profitable for factories to create faster development, optimize the production processes,
cost control as well as increase the quality of their products, critical factors which impact Return on
Investment. One of such fields is the manufacturing industries and Industrial Internet of Things has
transformed it with things like big data, artificial intelligence and machine learning.
Figure 16: Rising IoT market share
2020/21 End Report IoT for small factory 27
However small companies are scared to make the transition to a IoT factory site because they
think it is too expansive or they do not have the knowledge to change their factory to a smart factory.
We see that there are more and more companies/factories that are making the transition to an
Internet of Things environment, so it is extremely important for the small companies to participate in
this upgrowing IoT trend in order to remain competitive with their direct competitors. In figure 16 is
the fast growing IoT trend presented.
Key points for success:
Start small and try to scale over time.
Small companies should not try a broad adoption since the beginning, as it requires a larger
investment and can cause confusion and compatibility issues. A gradual approach is more adequate,
adding additional devices once they see the feasibility of this technology.
Considering, ideally, that small businesses will grow over time, owners should think about
scalability. With that in mind, they should search solutions that will we compatible with devices that
could be added in the future. Wrong planification will lead to bigger costs in future investments.
Focus on specific tasks and immediate needs.
Whenever a company is considering a new investment, it considers which are their most
urgent/critical needs. For small companies with more restricted budgets, investments are time-
sensitive, so owners should focus on areas with quick returns.
Once the goals are clear, companies should create a framework of how data will be
coordinated and shared between devices. This also includes identifying which data is relevant and how
this will affect to following decisions. If the project is too large, companies should consider the use of
IoT platforms, which can directly provide all the maintenance and data collection and analysis needed.
Each case should consider which solution is the most suitable for their needs.
2020/21 End Report IoT for small factory 28
Project execution
Before starting to create something, we have to figure out how we are going to work.
There are 3 main points to settle on:
• Communication protocol
• Hardware and Software
• Sensors
All these choices will be the bases of the practical part. They must be refined well
though to ensure a proper and smooth running of the project.
Communication protocols
To let the different IoT devices talk to each other we have to connect them with a
communication network. We have a lot of different types of protocols that we can use for the
communication between the different IoT components.
There are several IoT communication protocols available which are characterized by different
capabilities, data rates, communication range, power usage and memory. They all have advantages
and disadvantages so some of the communication protocols are suitable for use in small home
appliances, while others are more suitable to use in a larger environment. It is our task to find out
which protocols are the closest to our needs and which ones we want to use in our small industry
environment.
To compare the different communication protocols with each other, we have all listed them
up and added their most important technical parameters, then we gave each protocol point out of 5
on the different technical parameters to arrive at the most interesting protocols. By doing this we get
a clear overview between the different options and we can draw technically substantiated conclusion
2020/21 End Report IoT for small factory 29
Short range
Wireless
ommunication ZigBee Wifi Bluetooth Z-wave NFC
USB
rotocols
Data rate 20, 40 11 1 Mbit/s 62,5 0,3 up to 100 up t
and 250 Kbits/s and 54 Kbits/s 50kbps 420kbps
Mbit/s
score 3 5 4 2 2 3
Range 10-100 50- 10 m 10 m 30 m 10cm
m 100 m
score 5 5 2 2 2 1
Networking Ad- Point Ad-hoc, Point to mesh single
opology hoc, P2P, star to hub very small point network topology multi-hop
or mesh networks network
Operating 868 5,4 2,4 GHz 2,4 GHz frequency 13,56MH
equency MHz (Europe) ; and 5 GHz can variate
2,4 GHz
(worldwide)
Complexity Low High High Low low low
score 5 2,5 2,5 4 5 4
Power Very High Medium Low low low
onsumption low
score 5 3 4 5 5 5
total score 18 15,5 12,5 13 14 13
ZigBee
• Zigbee standard 3.0 is based on IEEE802.15.4
• The Zigbee frequency is located on 2.4Ghz
• The range of the Zigbee protocol is 10 up till 100
meters
• The data rate of the Zigbee protocol is 250 kbps Figure 17: ZigBee logo
Zigbee is one of the most used protocols in an IoT environment. It has significant advantages in
complex systems: low power operation, high security protocol, robustness, high scalability and
wireless control.
It is also suitable for industrial sites where there is a big need of low power components. The
maximum number of nodes in a Zigbee network is 1024. Zigbee can transfer data with a range up to
2020/21 End Report IoT for small factory 30
200 meters and make use of the 128-bit AES encryption. Zigbee devices can also pass data through a
mesh network, this can become very handy when we need to transfer data over a long distance
because we can then use the intermediate components as a transceiver.
Wi-Fi
• This protocol is based on the standard IEEE (Institute of Electrical
and Electronics Engineers) 802.11n
• The frequency used is 2,4GHz and 5GHz
• The range of this protocol is approximately 50 meters, but can
expand up to 100 meters Figure 18: Wi-Fi logo
• The data transfer speed is commonly 150-200 Mbps, but it depends
on the channel frequency and number of antennas (the latest 802.11-ac standard can offer a
speed from 500Mbps up to 1Gbps).
The Wi-Fi communication technology is a family of wireless network protocols. This type of
connections are commonly used in Local Area networking and internet access. This communication
protocol is capable of processing large amount of data so it is the go-to choice for many IoT developers.
The Wi-Fi protocol is mostly used in homes and small businesses because it offers a data rate of a
few hundreds of megabits per second, which comes in handy to transfer large files. The main
disadvantage for the most IoT applications is that it consumes too much power .
MQTT
• MQTT is an ISO/IEC 20922 standard protocol
• The data rate of the MQTT message protocol is around
256 mb in size
Figure 19: MQTT logo
MQTT (Message Queuing Telemetry Transport) is a lightweight message protocol that is often used
for sending simple data flows from a sensor to an application. This protocol works on top of the TCP/IP
network for sending reliable yet simple streams of data. The MQTT protocol comprises 3 key elements:
• subscriber
• publisher
• broker
It is often a good choice for a wireless network that experience occasional bandwidth constrains
or unreliable connections.
2020/21 End Report IoT for small factory 31
Software
We will now figure out what kind of software and sensors based on these protocols we will
use.
Hardware support
Price Score Complexity score
Arduino free 5 High 2
IDE
VS Code free 5 High 3
Platform free 5 High 3
IO
Communication
Price Score Complexity score code structure
Node-Red free 5 Low 5 flow based
Home free 5 Low 5 simplified lines
assistant of code
VS Code free 5 High 3 lines of code
Server / data services
Price Score Complexity score Platform based
eclipse free 5 Low 5 locally
mosquito
Google 3,50€/month 3 Low 4 cloud based
Cloud
amazon 40,00€/TiB 2 Low 4 cloud based
lightsail
Node-RED
Node-RED is the main programming tool in this project, it is used for directing the messages
from the MQTT broker to the right client. The main reason that Node-RED is used is, because of the
simple fact that the flow-based programming style is very easy to understand when you do not know
anything about programming languages.
Flow-based programming
It is a way of describing an application’s behaviour as a network of black-boxes, better known
as a node in Node-RED. Each node has a well-defined purpose: it is given some data, then does
2020/21 End Report IoT for small factory 32
something with that data and then it passes that data further on. The network handles the flow of data
between the nodes.
It is a model that lends itself to a visual representation and this makes it more accessible to a
wider range of users. If you can break down a problem into discrete steps, they can look at a flow and
get a sense of what it is doing, without having to understand the individual lines of code within each
node.
2020/21 End Report IoT for small factory 33
Hardware
To compare the different sensors with each other, we have all listed them up and added their most important technical parameters. We also gave
each sensor a point out of 5 on the different technical parameters to arrive at the most interesting sensors. By doing this we get a clear overview between the
different options, so we can draw a technically substantiated conclusion.
Temperature sensors
Communi s Supply s Range s accur s T
cation protocol core voltage core core acy core otal
DS18 One-wire 4 3 to 5.5V DC 5 -55 to 4 +/- 4 1
B20 125ºC 0.5ºC (at -10 7
to 85ºC)
DHT2 One-wire 4 3 to 6V DC 5 -40 to 2 +/- 5 1
2 80ºC 0.5ºC (at -40 6
to 80ºC)
LM3 Analog 5 4 to 30 V DC 3 -55 to 5 +/- 2 1
5 150ºC 0.5ºC (at 5
25ºC)
Vibration sensors
Communi s Supply s Range s Sens s T
cation protocol core voltage core core itivity core otal
ADXL I2C 4 2 to 3.6V DC 4 X-axis 4 +/- 4 1
0.5 to 1600 Hz 2g 6
335
2020/21 End Report IoT for small factory 34
MPU I2C 4 2.3 to 3.3V 3 X-axis 3 +/- 4 1
DC 0.5 to 1000 Hz 2g 4
-6050
MM Analog 5 3.3 to 5V DC 5 X-axis 5 +/- 5 2
0.5 to 1500 Hz 1.5g 0
A 7361
development sticks
Communi s Firmware s Certific score T
cation protocol core core ation otal
Conb Zigbee2 5 coordinator 4 experi 3 1
MQTT mental 2
ee 2
cc26 Zigbee2 5 coordinator 5 certifie 5 1
MQTT /router d 5
52RB
2020/21 End Report IoT for small factory 35
Home assistant:
Home assistant is described as a free open-source
home automation system written in Python. It is a complete web user
interface which can be hosted on a large range on hardware:
Raspberry Pi, Asus Thinkerboard, Intel NUC operating under Linux,
Windows, Mac OS. Working through add-ons and integrations, Home
assistant offers great modularity and is suitable for many situations.
Integrations are one of the main features of Home Assistant, Figure 20: Home assistant
as they allow modular connection of devices and services using logo
protocols like WiFi, Zigbee and MQTT. All these elements are handled
as entities in Home Assistant, which can trigger automations or used within scripts. Entities can be
assigned to groups in order to be better organised. Automations, scripts and scenes can be created
using Home Assistant interface or directly modifying YAML files using Add-ons like VS Code.
Home Assistant has a built-in dashboard called Lovelace. Its main features are that it is easy to
use, with almost no programming knowledge required, and at the same time highly customizable. It
gives the possibility of adding cards with different options that can represent the state of an entity or
some specific data about it. It is also possible to add themes and upload tailor-made layouts.
According to the objective of the project (try to demonstrate the possibility to implement
cheap automation system in small factories. Home assistant presents itself as an ideal solution. Ran on
a Raspberry Pi 4 8GB RAM supplemented by an 64GB SD card and a CC2652RB it is allowing to work on
2 networks (ZigBee and WiFi) and offer enough performances to handle up to 10 sensors without facing
any capacity problems. It is also providing the Node Red Add-on, hence there is no need of choosing
between them.
Home assistant Add-ons
Add-ons are additional applications that the user can install through Home Assistant in order
to further expand the functionalities. The Add-ons can be divided in two groups, the Official Home
Assistant Add-ons and the third-party Add-ons. The official Add-ons are created and maintained by the
Home Assistant team while the third-party Add-ons can be created by everyone.
In the following paragraphs the used Add-ons in this project will be discussed, what they are
and what they do.
Eclipse mosquito
2020/21 End Report IoT for small factory 36
Eclipse mosquito is used for hosting a MQTT server on the home assistant system. This MQTT
server allows communication with small IoT applications. That means that the home assistant system
can receive and transmit information to the clients.
Zigbee2MQTT
Zigbee2MQTT is used to control Zigbee devices via MQTT . While the Add-on provides
communication on software level, the home assistant system also need support on hardware level.
The hardware support can be provided with a zigbee hub, in this project the CC2652RB usb stick was
used.
ESPHOME
Esphome is used to manage and program ESP8266 and ESP32 based
microcontrollers directly through the Home Assistant system. Due to its wide
community of users the setup of a microcontroller is easy. It can even be
stated so easy that there is no need for any programming experience.
Figure 21 ESPHOME
logo
Samba share
Samba shares enables file sharing across different operating systems over a network. Meaning
that the configurations files can be accessed from a computer in the same network as the Home
Assistant system. By accessing the files modifications can be pushed through to the Home Assistant
system and system recoveries can be accomplished.
File editor
File editor is a small web-app (you access it via web browser) that provides a
filesystem-browser and text-editor to modify files on the machine the File editor is running on.
VS Code
Visual Studio Code allows editing the Home Assistant
configuration from the web browser. Visual Studio Code runs as a remote
server using code-server. Meaning that it can benefits from
autocompletion and coding suggestions.
Figure 22 VS
Code logo
2020/21 End Report IoT for small factory 37
Node-RED
As we stated before at Hardware section, Node-RED is a flow based programming tool that
allows to connect a wide range of different nodes, both from Home Assistant and different third party
applications like Telegram. It is a good alternative to Home Assistant automations.
Influx DB
InfluxDB is a scalable time series database useful for storing events, metrics and real-time
analytics. It is useful for recording high-volume sensor data. Chronograf and Kapacitor, Add-ons used
for visualizing data and processing it, come preinstalled. Additionally, it can be used with Grafana for
generating more complex charts and dashboards.
MotionEye
MotionEye is an open-source web-frontend, used to
centralize the management and visualization of multiple types of cameras.
This extension offers several possibilities: stream settings, motion detection,
notification generation, flow redirection.
Figure 23: MotionEye
logo
Sensors:
The objective of this part of the report is to look back at each of the sensors, how it
works and its integration into Home Assistant.
ESP32-CAM
Presentation
The main use of this is to detect motion and get a live view of a place. In our case we
use the ESP32-CAM to monitor the engine room as well as the usage of a 3D printer. The addition of
an add-on into Home Assistant allows us also to perform motion detection.
2020/21 End Report IoT for small factory 38
Main characteristics:
• Brand: AI Thinker
• Module: ESP32S (WiFi, Bluetooth)
• Camera: OV2640 (up to 1600x1200p@15fps)
• Power supply: 3,3/5V
• Size: 40.5mm x 27mm x 4.5mm
Figure 24: ESP32 CAM
+ -
• Size • Stream quality
• Price • Power consumption (if portable)
• Easily settable • No direct connector
• Support
Preparation
As mentioned before, implement this sensor into our system is easy. The first part of
the process consists in flashing the board through Arduino IDE, ESP Home or a similar software. The
board has to be connected to a computer through an USB adapter. And the program that we uploaded
Figure 25: ESP32 connection schema
in the module can be found in the Appendix.
This program is composed of 2 different parts. The first part defines all the elements
link to the network (SSID, password). An additional element is to define a static IP address for the
2020/21 End Report IoT for small factory 39
board, this fixed IP address helps to configure the camera in the software. The rest of the program
focus on the configuration of the pins, camera, and stream settings.
The ESP32 CAM is now functional but must be integrated into Home Assistant. For this
purpose, an add-on named Motion Eye is added to the system.
Implementation
Both Wi-Fi cameras are added through their IP address defined earlier. The motion
detection module is activated and adjusted for tracking the 3D printer; notifications module is also
used to generate a webhook1 when motion is detected. For the second camera a stream link is created
and will be used in Home Assistant dashboard to stream the engine room.
The webhook is included into a Home Assistant automation. This last step enables to
link the motion detection with a visible element in the dashboard. An automation is defined by:
• Trigger: describe events which start the automation rule. This trigger can be a status of an
element, a numeric value or a webhook.
In our case: Webhook.
• Condition: define of sub-elements which need to be considered into this automation. Those
are generally a position, status, or number.
In our case: Is the indicator already on.
• Action: set changes that will be operated on the entities present in Home Assistant
In our case: turn on motion indicator.
The stream link generated is added as a source for a picture element into the
dashboard.
Power supply:
3D printer: the camera can be plug on the USB-port of the printer through a splitter to
keep a spot for transferring files to the printer.
Engine room: plugged on a wall socket or through a power bank.
1
Webhooks are "user-defined HTTP callbacks". They are usually triggered by some event, such as pushing code to
a repository or a comment being posted to a blog. When that event occurs, the source site makes an HTTP request to the
URL configured for the webhook.
2020/21 End Report IoT for small factory 40
Case:
To improve aesthetics and offer a finished product the ESP32 CAM receive a special
design case with the project logo on it. This case also works as a protection for the module and help to
maintain the camera in a fixed position.
PIECE PRECISION PRINTING WEIGHT COST
TIME
FRONT 0,2mm 44min 7g 0,175€
BACK 0,2mm 17min 3g 0,075€
PLATE
Figure 26: ESP32 CAM case
Aqara temperature and humidity
This sensor measures temperature, humidity, and atmospheric pressure. It is suitable for
tracking these parameters at indoors environments, hence we decided that the engine´s room would
be a suitable place for it.
Main characteristics:
• Brand: Aqara
• Wireless protocol: Zigbee
• Battery duration: 2 years
• Temperature range: -20°C ~ +50°C, ±0.3°C
• Size: 36 × 36 × 9 mm
Figure 25: Aqara temperature
2020/21 End Report IoT for small factory 41
Implementation
The first step, in order to receive data from the sensor, is to use an Aqara hub or a generic
Zigbee stick, in our case Slaesh’s CC2652RB. We choose the second option because it provides the
possibility of connecting sensors from other brands different to Aqara, hence giving more flexibility to
the project. The price is also lower. However, this solution requires to flash the Zigbee stick, which was
a tricky process and took us more time than expected.
Once it is flashed the process of pairing the Zigbee sensor and the stick is quite easy when we
follow the steps of the manufacturer. We use Zigbee2mqtt add-on for adding Zigbee devices to Home
Assistant. It only requires pressing the button of the sensors a few times, while “Permit join” is enabled,
until they are connected. The data is received by Home Assistant via MQTT using the Mosquitto broker.
Accelerometer and gyroscope MPU6050
The MPU6050 is a 3-axis accelerometer and 3-axis gyroscope sensor. The accelerometer
measures the gravitational acceleration, and the gyroscope measures the rotational velocity.
Additionally, this module also measures temperature. This sensor is ideal to determine the orientation
of a moving object.
The first choice was the Aqara vibration sensor, but the data updates were not sent regularly,
and we could not achieve the goal of tracking the motion state of a robot arm in real time. MPU6050
is more precise and suitable for this application. However, we lose one of the main advantages of the
Aqara sensor, which was its reduced size and weight. One possible line of improvement for this sensor
would be researching about light and small solutions for powering the device.
Main characteristics:
• Brand: Greekcreit
• Module: Node MCU 32
• Power supply: 3,3/5V
• Gyro Range: ± 250 500 1000 2000 °/s
• Acceleration range: ± 2 ± 4 ± 8 ± 16g
• Size: 2 x 1.6 x 0.1cm
Figure 26:
MPU6050
Implementation
2020/21 End Report IoT for small factory 42
The first step is installing the libraries and uploading the
Arduino code to the ESP32 board. The wire connection diagram can be
seen at Figure 26.
Once the data could be seen at Arduino’s serial monitor and
everything was working correctly, we soldered the pins, and we added
the device to Home Assistant via ESPHome integration. As we stated
before, ESPHome allows to easily program ESP8266 and ESP32 based
microcontrollers, only writing YAML configuration files, while updates
Figure 27: Connection and compiling are all handled by ESPHome. Therefore, software
diagram configuration was quite simple.
2020/21 End Report IoT for small factory 43
DS18B20
The DS18B20 is a digital thermometer that provides a 9-bit to 12-bit Celsius temperature
measurements. The DS18B20 communicates over a 1-Wire bus, that means the sensor requires only
one data line for communication with a microprocessor. In addition, the DS18B20 can also be power
directly from the data line and with that eliminating the need for an external power supply. Each
DS18B20 has a unique 64-bit serial code, which allows multiple DS18B20s to function on the same 1-
Wire bus.
Pin Diagram and Pin Description of DS18B20
The following image shows the Pin Diagram and the table next shows the pin description of
DS18B20. There are two types of DS18B20 sensors a regular version and a waterproof version. The
regular version can be seen on the left of the image where the waterproof version can be seen on the
right.
Figure 27 DS18B20
Table 1 Pins of DS18B20
Pins of DS18B20 description
Name colour
GND Black Ground
DQ Yellow Input / Output Data. Must be pulled HIGH.
VDD Red Power Supply
2020/21 End Report IoT for small factory 44
Implementation
By wiring the DS18B20 sensor to an ESP32 microcontroller the temperature can be measured.
The microcontroller will power and read the temperature of the sensors. After reading the
temperature the value will be send to the Home Assistant system, where the value will be stored in a
databank. In the image below the wiring diagram of the DS18B20 sensor to the ESP32 is shown.
GPIO15
GND
5V
Figure 278 DS18B20 wiring diagram
Table 2 DS18B20 Connections to the ESP32
Pins of DS18B20 Pins of ESP32
Name Description Name Description
GND Ground ↔ GND Ground
DQ Output ↔ GPIO15 General input
output pin 15
VDD Power ↔ 5V Power supply
supply
2020/21 End Report IoT for small factory 45
Smart plug
This sensor measures power consumption that is going true the plug. It is suitable for tracking
the 3D-printer for movement or heating. The power consumption of a 3d printer in idle mode is very
low in comparison to the printing mode.
Main characteristics:
• Brand: TP-Link
• Wireless protocol: WiFi
• Voltage range: 100 - 240VAC
• Maximum load: 16A
• Size: 90 x 88 x 144 mm
Figure 28 hs110 smart plug
Implementation
The first step, in order to receive data from the sensor, is to use Kasa app from the app/play -
store to configure the sensor to the network. This app will give the instructions on how to link the
sensor to the network. Once linked to the network the app will revile the IP address of the connected
senor. By linking this IP address to the home assistant system we can retrieve the measured values.
These measured values need to be analysed, this is done in node-RED. First there needs to be
an update interval for the values in this case there was chosen for an interval of 5 seconds. So, every 5
seconds a difference in values can be seen. After the update interval there is also a value comparator,
this comparator will check of the consumption is above a certain value. This value has been determent
with test on the 3D printers at Technobothnia and out of this test came the value 15 watts. When the
power consumption of a 3D printer exceeds 15 Watts the printer can be evaluated as working/printing
everything below 15 Watts can be evaluated as idle.
Figure 29 Smart plug Node-RED
2020/21 End Report IoT for small factory 46
In the image above is the node-RED flow of the 3D printer tracker visible. The inject
node is used for the update interval and the switch node is used as comparator. The two grey nodes
on the end are used to notify the system of the printer is printing or is idle.
2020/21 End Report IoT for small factory 47
CO2 sensor MQ135
A subtask for the IoT project is that we will equip the engine room that is located in the
basement of Technobothnia with a handmade measurement sensor box. We will implement in this
box an MQ135 sensor that will measure the co² pollution in the room. Next up we will make the values
readable on the home assistant dashboard and we will also generate an alarm in the room itself to
warn the people that are present in the room when the co² level exceeds a certain concentration.
The components that we used for this task are:
• MQ-135 sensor (air quality sensor).
• 22kΩ resistor.
• ESP32-S VROOM module.
• Indicator LEDs (we will use red, green and yellow LEDs to indicate the current state of the co²
concentration.
• Piezo buzzer (to generate a sound alarm).
• 220Ω and 250Ω resistors.
The MQ-135 air quality sensor
The MQ-135 gas sensor is an air quality sensor that can be used to measure a wide variety of
gasses, the sensor can measure gasses like:
• Carbon dioxide (CO²).
• Carbon monoxide (CO).
• Alcohol.
• Ammonium (NH4).
• Etc.
The operating voltage of the sensor chip ranges from 2,5
up to 5 Volt so we can choose if we want to connect the
sensor to the 3,3 volt pin or the 5 Volt pin (because we only
have a 3,3 Volt pin on the ESP32-S will we connect the sensor
to this voltage). The MQ-135 sensor has a lower conductivity
when it is surrounded by clean air. When the number of
detectable gases increases around the sensor the
Figure 30 internals of the MQ135
conductivity of the gas sensor will also increase. sensor
When we turn on the sensor after it has been inoperative
for a certain period of time, we must let it heat up for about 5 minutes before the analog output of the
sensor sends the right values out. This is because the sensor first has to heat up the air around the
sensor so it can measure the right concentration of a certain gas in that heated air. This also means
that these kinds of sensors are not very suitable for IoT devices because the heating procedure itself
will take up quite a lot of energy. We can also not really work with an on/off interval since the heating
process is relatively long (5 minutes) and we want to know the co² values in a quick interval so we can
warn people in time.
2020/21 End Report IoT for small factory 48
The output of the air quality sensor is a signal output indicator instruction. The sensor has two
different outputs, one analog and one digital output. by using the analog output signal it is possible to
measure the concentration of a certain type of gas. When the gas concentration around the sensor
increases, the output voltage of the sensor will also increase proportionally.
Characteristics of the MQ-135 sensor:
• Good sensitivity.
• Has a long lifespan and a low cost (€9).
• Has a good sensitivity for the different measurable gasses.
• Wide detecting scope.
• Heating up time between 2 and 5 minutes.
Preparing the MQ-135 sensor
Before we can connect the MQ-135 sensor we have to figure out how the internals of the
sensors are located in order to understand the working of the sensor. Understanding the operation of
the sensor can be done easily by consulting the circuit diagram of the sensor.
Figure 32 Electronics inside the MQ-135 sensor
In this diagram we see that the RL resistor plays an
important role in making the sensor work. This resistance will
change according to the amount of gas that the sensor detects.
The resistor value can change from 10kΩ up to 47kΩ. In the
datasheet we can find which value to use for Rload to get the most
accurate measurement results, this value is 20kΩ. When we take
a look at the backplate of the sensor we see that it already has a
build in resistor of 1kΩ so we have to replace this resistor with Figure 31 view of the backplate
one of 20kΩ.
Figure 33 sensitivity of the MQ-135
2020/21 End Report IoT for small factory 49
After the RL resistance value of the sensor is known we need to figure out what the RO value
is. This R0 value is the resistance value of the MQ-135 sensor when it is surrounded by clean air. In
order to measure this value we need to make use of the MQ135.h Arduino library, another important
thing to consider is that we should preheat the sensor for about 24 hours before we can use. This heat
up period will ensure that we read in the correct R0 value. The figure below shows how the sensor is
connected to measure its R0 value. Keep in mind that since the ESP WROOM-32 module is not
integrated in the fritzing software, a similar board is used where the connections are in a different
place but the pin numbers on the fritzing software and in real life do match each other.
Figure 34 Connection diagram for MQ-135 sensor for the warm-up procedure
When we now open up the serial monitor we can see corresponding resistance value of the
MQ135 sensor.
Figure 35 readings of the R0 value
2020/21 End Report IoT for small factory 50
We both need the R0 and the Rload value
to adjust in the MQ-135 library, furthermore,
we also need to know what the current co²
pollution in the atmosphere is at this time
this value can be googled. So the following
values are:
• Rload = 20kΩ
• R0 = 70,79
• Atmosphere co² value = 411,29 PPM
When we enter the correct values in the
MQ-135 library the program will take these Figure 36 changing the MQ-135 library
parameters into account and apply in the
code of our project.
Circuit diagram of the MQ-135 sensor
After we entered the correct parameters into the MQ-135 library we can start programming
the code into the Arduino IDE software. The full circuit of the sensor box is explained in the paragraph
below, as already said we will use the MQ-135 air quality sensor to measure the co² pollution of the
air in the engine room, to visualise the concentration of the carbon dioxide we will use three LED’s to
indicate. We will also use a buzzer to give a signal to the people in the engine room when the co² value
in the room is too high.
On the next page there are two images showing how the electrical connections are made
between the components and the development board, as already mentioned before the module in
Fritzing does not fully correspond to the applied ESP32-S module. The practical and the theoretical
modules have the same connections but they are located on a different place on the board.
the connections of the components are as follows:
• The data pin of the buzzer is connected to
GPIO27;
• The data pin of the red led is connected to
GPIO14;
• The data pin of the yellow led is connected
to GPIO13;
• The data pin of the green led is connected
to GPIO25;
• The analog pin of the MQ-135 sensor is
connected to GPIO15; Figure 37 pin lay-out node MCU
• The ground of the three LEDs and the
buzzer are connected together to one of the ground pins on the module and the ground pin of
the MQ-135 sensor is connected to the other ground pin on the ESP32-S module.
2020/21 End Report IoT for small factory 51
Figure 38 wiring diagram for the co² sensorbox
2020/21 End Report IoT for small factory 52
Arduino code for the MQ-135 sensor
Since we are using home assistant it is possible to easily connect IoT sensors to the dashboard
of home assistant using the ESPHome software that can be added by the add-on menu in home
assistant. Unfortunately, this method is not possible to apply for the different air quality sensors that
are currently on the market. This is because each air quality sensor can vary strongly from one another
so there is no uniform way to calibrate the sensors.
Because of this we need to use the Arduino IDE software to program the MQ-135 sensor, this
is in comparison with the ESP home software many times more complicated and cumbersome specially
to make these values visible on a MQTT broker. The upside of programming it this way is that there
are a lot of different possibilities and the program can be made to your own wishes. The full Arduino
IDE code is given within a few pages
Levels of co² concentration for human health
Because an excessive co² concentration in the air can have a detrimental effect on the human
body, we have to define certain limits between which the concentration is acceptable or no longer
acceptable. Based on these predefined limits, we will also control the indication LED’s and the buzzer.
So a brief introduction to what exactly co² is and why we want to create
air with a low co² content. CO² or carbon dioxide is the fourth most abundant gas
in the earth atmosphere, when co² is at room temperature (±22°C) the gas is
colourless, odourless and non-flammable, because the presence of co² is very
difficult for humans to sense it is important to take precautions against it in order
to guarantee people’s health.
Co² can be emitted in a variety of ways, for example, the normal cell function of humans and
animals continuously emits co². Furthermore, co² is mainly known as an unwanted gas that is produced
during the burning process of fossil fuels. Exposure to carbon dioxide can cause a lot of adverse health
effects on living organism. These health effects may include headaches, dizziness, restlessness, difficult
breathing , sweating, increased heart rate, etc.
The co² concentration with associated health problems are:
• 250 – 400 ppm: this is the normal outdoor air pollution.
• 400 – 1.000 ppm: this is the typical co² pollution in occupied spaces with a good air exchange.
• 1.000 – 2.000 ppm: At this level of contamination, complaints may arise such as drowsiness
and poor air quality.
• 2.000 – 5.000 ppm: this level of co² pollution is associated with headaches, sleepiness, and
stagnant, stale, stuffy air. Poor concentration, loss of attention, increased heart rate and slight
nausea may also be present.
• 5.000 ppm: with such a high degree of pollution, other harmful gases may also be present in
the room. It is also possible that toxicity and oxygen deprivation may occur.
• 40.000 ppm: this co² concentration is immediately harmful due to oxygen deprivation.
2020/21 End Report IoT for small factory 53
Since we are going to implement the co² sensor box in an engineroom we are going to choose
to set the buzzer alarm to go off in time (co² concentration above 2.000ppm), this way people have
time enough to either turn on the ventilation or leave the room in time.
The table below shows at which co² concentration which indicator will be activated and for
how long.
Co² concentration Indicators duration
Between 0 and 400 Green LED 3 seconds on/3 seconds
ppm off
Between 400 and 1.000 Yellow LED 3 seconds on/3 seconds
ppm off
Between 1.000 and Red, green and 3 seconds on/3 seconds
2.000 ppm yellow LED off
co² ppm > 2.000 Buzzer and red LED LED 3 seconds on/3
seconds off
Buzzer 1 second on/5
seconds off
Energy consumption of the sensor box
Since we are still in the process of making an IoT sensor it is
certainly important to take the energy consumption of the sensor box
into account. In the engineroom we do not have the possibility to use a
socket to power the sensor box so therefore we need to work with a
battery, we will make use of a powerbank in this project, since it can
store many times more energy than a battery and it is easy to recharge.
A major disadvantage of the power bank is that it is fairly large and heavy, which greatly increases the
size of the sensor box.
The powerbank we use is the Primo Powerbank 10,000 mAh. it is a portable charger that has
2 usb ports that can deliver a current of 2.1 and 1 ampere respectively and this at a voltage of 5 volts.
In the excel sheet below the energy consumption of the various components is calculated in
order to determine how long the powerbank can power the sensorbox. For each component is listed
what the voltage, current and working hours are per day and also the consumption in WH and Ah are
calculated.
We see from the calculations of the energy consumption that the power bank can only power
the sensor box for a maximum of 5 days. This is because, as mentioned earlier, the sensor an internal
2020/21 End Report IoT for small factory 54
heating element has that heats up the air around the sensor in order to measure the co² concentration.
However, it is also not an option to measure the co² level in intervals (such as one measurement and
then nothing for a few minutes) since we cannot continuously monitor the air quality in this way and
cannot warn the people in time.
Bbecause we use led's we also have to take into account the maximum current that can flow
through the led's to guarantee the longest possible life span. These calculations are also made and
displayed in the excel sheet below
Sensor box case
To improve the aesthetics of the various components and to ensure that the entire sensor
installation is nicely concealed, we have chosen to design a sensor box that ensures that the electronics
are shielded from the engine installation. The 3D version of the box was first designed in SolidWorks
and then implemented in the Ultimaker Cura software in order to obtain a 3D printed version.
PIECE PRECISION PRINTING WEIGHT MATERIAL
TIME
CO² 0,2mm 8 93g PLA
FRONT PLATE hours 8 min
CO² 0,2mm 2 30g ABS
BACK PLATE hours 49 min
2020/21 End Report IoT for small factory 55
Figure 39 co² sensorbox
Connecting the co² value to the MQTT broker
With the aforementioned programme, it is possible to read out the co² value from the MQ-135
sensor into the Arduino IDE sensor. Now it is still the intention to be able to send this value to the
home assistant software in order to use it later in Node-Red. To do this we will use a MQTT (Message
Queuing Telemetry Transport) broker. This broker can be added to the build in Add ons that supports
home assistant. In the Arduino IDE program we now have to write some extra code to read out the
measured value of the MQ-135 sensor.
To display the co² value on the dashboard, we first need to create an entity, for which we can
use the standard integrated entity node in Node-Red. Further, we are going to create a short program
in node red in which we are going to put the co² value in PPM on the dashboard and where we are also
going to generate a telegram alarm message to warn about the high co² concentration.
Figure 40 dashboard value co²
sensor
Figure 41 node red program for the co² value
2020/21 End Report IoT for small factory 56
The total Arduino IDE programme now looks like this:
2020/21 End Report IoT for small factory 57
2020/21 End Report IoT for small factory 58
Branding:
To add sense to our project and add value to our creation developing branding around
the product is essential. In our case we focus on very simple elements such as a logo, name and a
website.
Logo and name:
Logo and name give a visual identity to the project. The goal for both is to be easy to
recognize and remember. They also must transmit a message and be a reflect of our objective and our
product.
The logo must include a common representation of industry but also technology. Our
strategy was to let everyone works on ideas/design and vote for the most appropriate solution during
a meeting.
Figure 42: Logo proposals
2020/21 End Report IoT for small factory 59
The chosen solution (right) is a combination of a classic vision of
industry (the factory) and the cloud and network representing the future.
Deep blue color is seen as a evidence of firmness and strength, it’s also a
regular color in technologies and industry field.
Figure 43: selected
logo
The name of our project is also a perfect reflect of the theme of our project “IoT small
factories” as a wink to IoT we decide to name our project “Industry of Tomorrow”.
2020/21 End Report IoT for small factory 60
Website:
To offer more visibility to the project a dedicated website has been created. On this
website you will find 2 pages, a homepage with a quick presentation of the project and key elements
and on the second page there is a quick overview of the team members.
Figure 44: Website overview
2020/21 End Report IoT for small factory 61
Auto report
An important goal of this project is generating automatic reports as a proof of concept. The
reports are a useful tool for quickly checking some statistics about the day, such as maximum and
minimum temperatures or machine’s usage time. We established daily frequency as it is the most
suitable rate considering the type of data received.
The working principle is reading the data stored at InfluxDB databases, using Node-RED for
processing and structuring this data and finally sending the report to Telegram. It exists the possibility
of creating more tailor-made solutions using add-ons like Jupyter Lab or Home Assistant templates,
but we preferred to keep it simple as we did not need a complex report. Anyway, this solution is also
very flexible and can be used as a base for more detailed reports.
Figure 28: Example of report obtained using the command “/report” directly form Telegram
Temperature of the Aqara temperature sensor and the Dallas sensor, respectively. This data
can be accessed using queries sent to Influx DB, in which it can be specified time range (in our case one
day), data series or functions like mean or maximum values.The report is structured in 3 sections. The
first 2 are the minimum, maximum and mean
The third part of the report is tracking the usage time of the robot arm and 3D printer, as well
as power consumption. The robot arm usage time is measured using a counter node of the motion
messages received from the accelerometer at the robot arm, with a rate of one per second. 3D printer
usage time is tracked in a similar way, checking when the power consumption measured by the Kasa
plug is over a minimum threshold. This data is reset every day after the report is sent at the time
stablished, in our case 20:00.
2020/21 End Report IoT for small factory 62
Once the data is obtained, Node-RED process it and generate formatted messages, as we can
see in the figure above.
These messages are sent by a bot to a Telegram group, in which you can see the reports and
alerts directly at your phone, without the need of being at the laboratory or connected to the same
network. It is also possible to request a report whenever you want sending a message “/report” from
your phone.
The code used can be found at Appendix 2.
Alerts
Firing alarms and instantly sending messages to Telegram when some parameters are out of
their desirable working range is another interesting feature that we have implemented in Node-RED.
These are some examples of possible alarms that are set:
- Low battery of Aqara sensors when it is below 20% of its maximum capacity.
- High or low room and motor temperature.
- High CO2 level.
The code used can be found at Appendix 2.
2020/21 End Report IoT for small factory 63
Project analysis:
The objective here is to go back over all the work done and its management. The
analysis of the project allows us to learn from the actions taken and to improve the management of
future projects. This type of feedback can also serve as a knowledge support for other teams.
Observations:
Positive points Negative points
- Communication - Work regularity
- Team spirit - Time to get into the project
- Work splitting - Lack of time
- Commitment - Limited access to school
- open-mindedness and strength of
proposal
- On time work
The lessons learned from this project are numerous and of diverse types. We all get
new knowledge out of our main study field, learn how to work in group on a “long term” project and
how to handle a situation of diversity / international mixing.
What next?
According to our initial plan we tick most of the objectives: research about
technologies, material definition and requirements, developing solutions to demonstrate the
feasibility of the project, implement it in a similar environment as industry. The coming work might be
focus on reliability, power supply solution and developing a larger network. It still many interesting
challenges to face and solve!
2020/21 End Report IoT for small factory 64
Appendix
Appendix 1: tasks table
Estimated
Notes Task Name Description Duration Resource Names
cost
Project
A Project presentation by the supervisor 0 days
presentation
Álvaro
García[25%];Fabien
First meeting with the team. Main goal is to
AA Meet team 1 day Jumel[25%];Janik 180,00 €
learn to know each other
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
AB Goals definition Define vision, mission 5 days Jumel[25%];Janik 900,00 €
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Structure project Split responsibilities and roles during
AC 2 days Jumel[25%];Janik 360,00 €
team meeting and through the whole project
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Environment Define all the limits all the project, budget, 1 260,00
7 days Jumel[25%];Janik
analysis people… €
Swerts[25%];Yoeri
Reynaerts[25%]
BA Project initiation
Álvaro
Collect information about the concept 1 440,00
BB Collect information 8 days García[25%];Fabien
behind the project €
Jumel[25%];Janik
2020/21 End Report IoT for small factory 65
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Study information about IoT and home 1 440,00
BC Feasibility study 8 days Jumel[25%];Janik
automation €
Swerts[25%];Yoeri
Reynaerts[25%]
Fabien
Identify Foresee and define solutions to facilitate
2 days Jumel[50%];Janik 360,00 €
opportunities / risks the project
Swerts[50%]
CA Project planning
CB WBS Define and draw WBS 2 days Fabien Jumel 360,00 €
CC Tasks definition Write a description for all tasks 1 day Fabien Jumel 180,00 €
CD Create planning Establish the panning 3 days Fabien Jumel 540,00 €
Human resource
CE Split the resources according to the needs 1 day Fabien Jumel 180,00 €
allocation
Conduct a study to define global project
DA Cost management 1 day Fabien Jumel 180,00 €
cost
DB Project execution
Álvaro
Follow specific classes and learn
García[33%];Janik 1 782,00
DC IoT learning information from the internet to get required 10 days
Swerts[33%];Yoeri €
knowledge
Reynaerts[33%]
Álvaro
According to the research and the available García[25%];Fabien
DD Choose machines machines in the laboratory define which one will be 2 days Jumel[25%];Janik 360,00 €
part of the project Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
According to condition based maintenance
DE Select settings 2 days García[25%];Fabien 360,00 €
and previous choices define the setting to monitor
Jumel[25%];Janik
2020/21 End Report IoT for small factory 66
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Define
DF 1 day Jumel[25%];Janik 180,00 €
hardware/software
Create a list with various possibilities for Swerts[25%];Yoeri
each need Reynaerts[25%]
According to collected information, choose
DG Order stuff 1 day Yoeri Reynaerts 180,00 €
stuff and pass an order
DH Stuff delivery 6 days
Yoeri
Communication Develop the program which manage the 2 700,00
DI 15 days Reynaerts[50%];Janik
programming communication between all the elements €
Swerts[50%]
Janik
Swerts[25%];Álvaro
Build a tailor made sensor with the stuff 2 880,00
DJ Build sensor 16 days García[25%];Fabien
previously order €
Jumel[25%];Yoeri
Reynaerts[25%]
Janik
Swerts[25%];Álvaro
Write midterm 2 160,00
DK 12 days García[25%];Fabien
report €
Jumel[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Midterm
DL 0 days Jumel[25%];Janik
presentation
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
Develop data Develop the data storage and sorting in 1 800,00
DM 10 days García[50%];Janik
management order to keep the useful one €
Swerts[50%]
2020/21 End Report IoT for small factory 67
Create laboratory
DN Create a plan of the laboratory 2 days Fabien Jumel 360,00 €
plan
Develop online user
DO Develop an easy and graphic user interface 5 days Janik Swerts 900,00 €
interface
Create auto Set limits and create a system to alert the
DP 2 days Álvaro García 360,00 €
reporting / notification owner in case of failure
Develop some basic branding around the 1 260,00
DQ Develop branding 7 days Fabien Jumel
project (logo, goal, leaflet) €
Álvaro
García[25%];Fabien
Implementation / Implement all the project into the 2 700,00
15 days Jumel[25%];Janik
debug laboratory €
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
Create a manual to instruct user on how García[33%];Fabien 1 782,00
EA Create user manual 10 days
the product works Jumel[33%];Yoeri €
Reynaerts[33%]
EB Project closing
Álvaro
García[25%];Fabien
1 800,00
EC Write final report 10 days Jumel[25%];Janik
€
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Project Do a review of the whole project and figure
ED 1 day Jumel[25%];Janik 180,00 €
review/analysis out the pros/cons
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
Final presentation 0 days García[25%];Fabien
Jumel[25%];Janik
2020/21 End Report IoT for small factory 68
Swerts[25%];Yoeri
Reynaerts[25%]
Álvaro
García[25%];Fabien
Share what are the next steps into the
Inform coordinator 0 days Jumel[25%];Janik
project, what left to do or improve
Swerts[25%];Yoeri
Reynaerts[25%]
2020/21 End Report IoT for small factory 69
Appendix 2: PERT or arrow chart
2020/21 End Report IoT for small factory 70
Appendix 3: GANTT or bars chart
2020/21 End Report IoT for small factory 71
Appendix 4: Project hours follow-up
W1
F 1
J 8-févr Project presentation 2
A 1
G 8-févr Project presentation 2
Y 1
R 8-févr Project presentation 2
J 1
S 8-févr project presentation 2
W2
F 2
J 4-févr PM tasks 8
F 2
J 4-févr Hard/soft ware research 8
F 2 0
J 3-févr Weekly meeting ,5
A 2 0
G 3-févr Weekly meeting ,5
A 2
G 2-févr Software research 3
Y 2 0
R 3-févr Weekly meeting ,5
Y 2
R 0-févr research tailormade sensors 6
Y 2
R 1-févr research DIY sensors 4
J 2
S 1-févr research sensors/communication protocol 2
J 2 0
S 0-févr weekly meeting ,5
J 2
S 3-févr reserach sensors 3
W3
F 0 1
J 3-mars Research / Information about programation 0
F 0
J 4-mars Weekly meeting 1
F 0
J 4-mars Weekly documents 2
A 0
G 6-mars Software and project arquitecture research 4
Y 0
R 3-mars sofrware and protocol research 4
Y 0 0
R 4-mars Weekly meeting ,5
J 4 0
S -mrt weekly meeting ,5
J 6
S -mrt node red programation 3
2020/21 End Report IoT for small factory 72
W4
F 0
J 9-mars sensor research / information and learning 6
F 1
J 0-mars sensor research / information and learning 6
F 1
J 2-mars Weekly meeting (school) 2
F 1 1
J 2-mars Weekly document ,5
A 1
G 1-mars NodeRed tasks and sensor research 4
A 1
G 3-mars Software compatibility 2
Y 0
R 9-mars Weekly meeting (school) 2
Y 1
R 1-mars Node-RED 2
J 1
S 2-mrt node-red 3
J 1
S 3-mrt weekly meeting (school) 2
J 1
S 1-mrt node red tasks and research server 2
W5
F 1 2
J 6-mars WBS update ,5
F 1
J 6-mars Tasks list update 3
F 1 1
J 6-mars document creation ,5
F 1
J 6-mars Plan technobothnia 3
F 1
J 7-mars Project planning 3
F 1
J 9-mars Project planning 4
J 1
S 9-mrt timeline Mid term report 4
F 1
J 8-mars Weekly meeting 1
F 1
J 9-mars Weekly documents 1
A 1
G 6-mars NodeRed 3
A 1
G 8-mars NodeRed 4
A 2
G 1-mars NodeRed 4
A 1
G 8-mars Weekly meeting 1
2020/21 End Report IoT for small factory 73
Y 1 1
R 5-mars Ordering sensors and mcu's ,5
Y 1
R 6-mars NodeRed 6
Y 1
R 8-mars Weekly meeting 1
J 1
S 5-mrt weekly meeting 1
J 1
S 7-mrt research about the different components 4
W6
F 2
J 2-mars Planning MS Project 1
F 2
J 2-mars Human resource management 2
F 2
J 2-mars Cost analysis 2
F 2
J 2-mars Mid term report 3
F 2
J 3-mars MoSCoW 2
F 2
J 3-mars mid term report 6
F 2
J 4-mars mid term report 5
F 2
J 5-mars mid term report 6
F 2
J 6-mars mid term report 5
F 2
J 6-mars weekly meeting 1
A 2
G 3-mars Mid term report 4
A 2
G 4-mars NodeRed tasks 4
A 2
G 5-mars Mid term report 6
A 2
G 6-mars NodeRed tasks 2
A 2
G 6-mars Mid term report 3
Y 2
R 3-mars Mid term report 3
Y 2
R 4-mars Mid term report 3
Y 2
R 5-mars Mid term report 6
Y 2
R 6-mars Mid term report 6
J 2
S 3-mrt mid term report 6
2020/21 End Report IoT for small factory 74
J 2
S 6-mrt mid term report 5
J 2
S 5-mrt mid term report 5
J 2
S 5-mrt mid term report 5
J 2
S 5-mrt mid term report 4
F 2
J 7-mars Cost analysis 4
F 2
J 8-mars Mid term report 7
A 2
G 7-mars Mid term report 6
A 2
G 8-mars Mid term report 7
Y 2
R 7-mars Mid term report 5
Y 2
R 8-mars Mid term report 5
W7
F 2
J 9-mars Mid term presentation 7
F 3
J 0-mars Mid term presentation 8
F 3
J 1-mars Mid term presentation (all groups) 4
F 0
J 1-avr weekly meeting 2
F 0
J 2-avr Documents 1
A 2
G 9-mars Mid term presentation 4
A 3
G 0-mars Mid term presentation 5
A 3
G 1-mars Mid term presentation (all groups) 5
A 0
G 1-avr weekly meeting 1
Y 2
R 9-mars Mid term presentation 7
Y 3
R 0-mars Mid term presentation 6
Y 3
R 1-mars Mid term presentation (all groups) 4
Y 0
R 1-avr weekly meeting 2
Y 0
R 2-avr MQTT on Rpi OS 2
Y 0
R 2-avr Wemos DS18b20 Temp sensor 4
2020/21 End Report IoT for small factory 75
Y 0
R 3-avr Wemos wireless communication 3
J 3
S 0-mrt presentation mid term 5
J 2
S 9-mrt presentation mid term 2
J 3
S 0-mars preparing the mid term presentation 4
J 3
S 1-mars presenting project mid term project 4
W8
F 0
J 8-avr Weekly meeting 2
F 0
J 8-avr Documents 1
F 1
J 1-avr Stakeholders analyse 3
F 0
J 9-avr Camera/motion research 6
J 0
S 9-avr router settings 2
A 0
G 6-avr Router research and purchase 3
A 0
G 8-avr Weekly meeting 1
Y 0
R 8-avr Weekly meeting 2
W9
F 1
J 2-avr Logo research 2
F 1
J 3-avr Market analyze research 2
F 1
J 4-avr Weekly meeting 1
F 1
J 6-avr Sensors research 2
F 1
J 4-avr Weekly documents 1
J 1
S 2-avr information about camera movement and smart socket 4
J 1
S 3-avr look up information about camera/led display 4
J 1
S 4-avr information about the pollution sensor arduino 6
J 1
S 4-avr weekly meeting 1
A 1
G 4-avr weekly meeting 1
A 1
G 5-avr Sensors research 3
2020/21 End Report IoT for small factory 76
A 1
G 6-avr Node-Red 5
A 1
G 7-avr Zigbee2mqtt 3
Y 1
R 4-avr weekly meeting 1
Y 1
R 5-avr CO2 sensor research 3
Y 1
R 7-avr Home assistant research possibilities 5
W10
F 1
J 9-avr Learning sensors 2
F 2
J 0-avr Documents 2
F 2
J 1-avr Meeting + CAD 6
F 2
J 1-avr Meeting documents 1
F 2
J 2-avr Case printing 6
F 2
J 3-avr research case ESP CAM + aqara sensors 3
J 1
S 9-avr information about the cam 5
J 2
S 0-avr information about air quality sensor 6
J 2
S 0-avr adapt the sensor table list 2
J 2
S 1-avr weekly meeting 1
J 2
S 1-avr set up the raspberry pi + home assistant 3
J 2
S 2-avr 3D print the raspberry pi case 2
J 2
S 2-avr implement the sensors in the home automation software 4
A 1
G 9-avr Pairing Zigbee sensors 6
A 2
G 0-avr Order sensors 1
A 2
G 1-avr weekly meeting 1
A 2
G 1-avr Zigbee, MQTT and home assistant 5
Y 2
R 1-avr weekly meeting 1
Y 2
R 1-avr set up the raspberry pi + home assistant 5
Y 2
R 1-avr implement the sensors in the home automation software 2
2020/21 End Report IoT for small factory 77
Y 2
R 2-avr implement the sensors in the home automation software 6
Y 2
R 5-avr installing Ha floorplan 2
Y 2
R 5-avr installing hacs 2
Y 2
R 2-avr Case printing 1
W11
F 2
J 6-avr Layout/home assistant 4
F 2
J 7-avr Home assistant/IP setting 4
J 2
S 6-avr try to set up open VPN 5
J 2
S 7-avr gathering info about floorplan in home assistant 6
J 2
S 8-avr information about esp8266/MQ135 6
J 2
S 9-avr setting up air quality sensor 6
F 2
J 8-avr Research 3
F 2
J 9-avr Pi case/ cam 8
F 3
J 0-avr cam/motion detection 5
F 0
J 2-mai cam/motion detection (indicator + Webhook) 5
A 2
G 6-avr Flashing Zigbee stick 7
A 2
G 7-avr Remote connection and static IP 6
A 2
G 8-avr Data storage 4
A 2
G 9-avr Telegram 8
A 3
G 0-avr Configure MPU6050 4
Y 2
R 6-avr Flashing Zigbee stick 7
Y 2
R 7-avr Remote connection and static IP 5
Y 2
R 6-avr Re configure Home assistant 2
Y 2
R 8-avr Home assistant 6
Y 2
R 9-avr weekly meeting+ Home assistant 6
Y 3
R 0-avr Configure MPU6050 2
2020/21 End Report IoT for small factory 78
Y 3
R 0-avr ESPHOME 4
J 2 0
S 9-avr weekly meeting ,5
W12
F 0
J 3-mai CAD 4
F 0
J 4-mai Cam (stream/detection) 6
F 0
J 5-mai CAD + printing 6
J 0
S 4-mai read in the co² value 5
J 0
S 3-mai figure out how to connect the MQ135 to esp32 node mcu 7
J 0
S 5-mai searching on how to publish air quality sensor to MQTT 6
A 0
G 3-mai Autoreport software research 2
A 0
G 4-mai Autoreport 6
A 0
G 5-mai Telegram and Node-Red 3
A 0
G 6-mai Telegram and Node-Red 4
F 0
J 6-mai PM + website 4
J 0
S 6-mai programming connection MQTT to arduino IDE 4
J 0 calculating dimensions of co² sensor case+estamated
S 7-mai energy consumption 3
A 0
G 7-mai Autoreport and weekly meeting 5
F 0
J 7-mai Layout + meeting + report 4
F 0 5
J 9-mai Report+design ,5
Y 0
R 3-mai Home assistant 4
Y 0 8
R 7-mai meeting + Technobotnia ,5
Y 0
R 8-mai final report 6
W13
J 1 3
S 0-mai soldering the co² sensor with the other components ,5
J 1 2
S 0-mai printing the backplate of the co² sensor box ,5
J 1
S 0-mai writing on the end term report 1
2020/21 End Report IoT for small factory 79
F 1
J 0-mai Final report 4
F 1
J 1-mai Final report 5
J 1
S 1-mai writing co² sensor for end report 1
J 1
S 1-mai rewriting the code for co² sensor 3
J 1
S 1-mai resoldering the co² sensor 4
F 1
J 2-mai Meeting 1
J 1
S 2-mai meeting 1
J 1
S 3-mai printing the frontplate of the co² sensor 4
J 1
S 3-mai trying to get the co² sensor to work 5
J 1
S 4-mai fixing the co² sensor + connect it to mqtt 5
J 1
S 4-mai writing for the end report about co² sensor 1
J 1
S 5-mai connecting co² sensor to MQTT 5
J 1
S 6-mai connecting co² sensor to MQTT 2
J 1
S 6-mai writing the co² sensor part for final report 5
Y 1
R 2-mai meeting + final report 3
Y 1
R 4-mai Final report 4
Y 1
R 6-mai Final report 4
A 1
G 2-mai meeting + autoreport 3
A 1
G 3-mai Final report 4
A 1
G 4-mai Final report 2
W14
J 1
S 7-mai soldering the MQ-135 sensor to the led+buzzer, etc, 3
J 1
S 7-mai writing on the end term report in general 5
Y 1 2
R 8-mai final report + inner meeting what needs to bee done ,5
Y 1
R 8-mai final report 2
J 1
S 8-mai final report co² sensor part 4
2020/21 End Report IoT for small factory 80
J 1
S 9-mai shooting the demonstration video 4
J 1
S 9-mai editing and mergin the videoparts together 4
J 2
S 0-mai editing and mergin the videoparts together 3
J 2
S 0-mai final report
F 2
J 1-mai final report 5
A 1
G 7-mai Final report 5
A 1
G 8-mai Final report 4
A 1
G 9-mai Videos 6
A 2
G 0-mai Final report 2
A 2
G 1-mai Final report 3
A 2
G 2-mai Final report 4
W15
J 2
S 5-mai Presentation 8
A 2
G 5-mai Presentation 8
Y 2
R 5-mai Presentation 8
F 2
J 5-mai Presentation 8
2020/21 End Report IoT for small factory 81
Appendix 5: Weekly meeting report/agenda
2020/21 End Report IoT for small factory 82
2020/21 End Report IoT for small factory 83
2020/21 End Report IoT for small factory 84
2020/21 End Report IoT for small factory 85
2020/21 End Report IoT for small factory 86
Appendix 6: Node-RED code
Next sections include Node-RED code used to generate the auto report and alerts, in json
format. It can be uploaded to Node-RED using the “Import” feature.
6.1. Robot arm time usage calculation (MPU6050)
[{"id":"506943f0.a6076c","type":"tab","label":"Accelerometer","disabled":false,"info":""},{"id
":"d9323db4.96d53","type":"counter","z":"506943f0.a6076c","name":"","init":"0","step":"1","lower"
:"","upper":"","mode":"increment","outputs":2,"x":880,"y":360,"wires":[["1f407a1f.1eb5a6","b09a4
99b.f34738"],[]]},{"id":"1f407a1f.1eb5a6","type":"debug","z":"506943f0.a6076c","name":"","active":
false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","sta
tusVal":"","statusType":"auto","x":1070,"y":420,"wires":[]},{"id":"eaa9b659.cc7bd8","type":"function
","z":"506943f0.a6076c","name":"","func":"if (msg.payload[\"sensor.mpu6050_gyro_x\"] >= -3 |
msg.payload[\"sensor.mpu6050_gyro_x\"] <= -4)\nreturn msg;\nif
(msg.payload[\"sensor.mpu6050_gyro_y\"] >= -2 | msg.payload[\"sensor.mpu6050_gyro_y\"] <= -
3.5)\nreturn msg;\nif (msg.payload[\"sensor.mpu6050_gyro_z\"] >= 0 |
msg.payload[\"sensor.mpu6050_gyro_z\"] <= -1)\nreturn
msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":720,"y":360,"wires":[["d9323db4.9
6d53","a5b93495.6ec428","4c61fbe2.0a8764","c5098ac.c4b5378"]]},{"id":"59acbe1.e16004","type":
"join","z":"506943f0.a6076c","name":"","mode":"custom","build":"object","property":"payload","pr
opertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","c
ount":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x
":550,"y":360,"wires":[["eaa9b659.cc7bd8"]]},{"id":"a5b93495.6ec428","type":"debug","z":"506943f
0.a6076c","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true
","targetType":"full","statusVal":"","statusType":"auto","x":870,"y":420,"wires":[]},{"id":"8675951.81
84d68","type":"poll-
state","z":"506943f0.a6076c","name":"","server":"3e545835.277878","version":1,"exposeToHomeAs
sistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinte
rval":"1","updateIntervalUnits":"seconds","outputinitially":false,"outputonchanged":false,"entity_id"
:"sensor.mpu6050_gyro_x","state_type":"num","halt_if":"","halt_if_type":"str","halt_if_compare":"i
s_not","outputs":1,"x":300,"y":300,"wires":[["59acbe1.e16004"]]},{"id":"eb12528d.adc0f","type":"po
ll-
state","z":"506943f0.a6076c","name":"","server":"3e545835.277878","version":1,"exposeToHomeAs
sistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinte
rval":"1","updateIntervalUnits":"seconds","outputinitially":false,"outputonchanged":false,"entity_id"
:"sensor.mpu6050_gyro_y","state_type":"num","halt_if":"","halt_if_type":"str","halt_if_compare":"i
s_not","outputs":1,"x":300,"y":360,"wires":[["59acbe1.e16004"]]},{"id":"9469f8ee.a49b68","type":"p
oll-
state","z":"506943f0.a6076c","name":"","server":"3e545835.277878","version":1,"exposeToHomeAs
sistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinte
rval":"1","updateIntervalUnits":"seconds","outputinitially":false,"outputonchanged":false,"entity_id"
:"sensor.mpu6050_gyro_z","state_type":"num","halt_if":"","halt_if_type":"str","halt_if_compare":"i
s_not","outputs":1,"x":300,"y":420,"wires":[["59acbe1.e16004"]]},{"id":"e9227f2c.cab32","type":"inj
ect","z":"506943f0.a6076c","name":"Reset
counter","props":[{"p":"reset","v":"true","vt":"bool"}],"repeat":"","crontab":"01 20 * *
*","once":false,"onceDelay":0.1,"topic":"","x":680,"y":280,"wires":[["d9323db4.96d53"]]},{"id":"b09a
2020/21 End Report IoT for small factory 87
499b.f34738","type":"change","z":"506943f0.a6076c","name":"","rules":[{"t":"set","p":"time_gyro","
pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1
120,"y":360,"wires":[[]]},{"id":"c5098ac.c4b5378","type":"api-call-
service","z":"506943f0.a6076c","name":"","server":"3e545835.277878","version":1,"debugenabled":
false,"service_domain":"virtual","service":"turn_on","entityId":"binary_sensor.virtual_arm_move","d
ata":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"none"
,"mustacheAltTags":false,"x":990,"y":200,"wires":[[]]},{"id":"4c61fbe2.0a8764","type":"trigger","z":"
506943f0.a6076c","name":"Watchdog","op1":"","op2":"No data
received","op1type":"nul","op2type":"str","duration":"2","extend":true,"overrideDelay":false,"units"
:"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":940,"y":260,"wires":[["54b3da29.b07ef4
"]]},{"id":"54b3da29.b07ef4","type":"api-call-
service","z":"506943f0.a6076c","name":"","server":"3e545835.277878","version":1,"debugenabled":
false,"service_domain":"virtual","service":"turn_off","entityId":"binary_sensor.virtual_arm_move","
data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"non
e","mustacheAltTags":false,"x":1130,"y":260,"wires":[[]]},{"id":"3e545835.277878","type":"server","
name":"Home Assistant","addon":true}]
6.2. 3D printer time usage calculation (Kasa plug)
[{"id":"1439d4b5.e748fb","type":"tab","label":"Smart
plug","disabled":false,"info":""},{"id":"ba67d52c.c6bbf8","type":"function","z":"1439d4b5.e748fb","n
ame":"","func":"let Power = parseFloat(msg.payload.power);\nlet PowerIdle = 15\nlet c;
//Counter\n\n\nif (Power <= PowerIdle) {\n msg.payload = \"idle\"\n}\nelse {\n c =
global.get(\"time_3D\");\n c = c + 5;\n global.set(\"time_3D\",c);\n msg.payload = \"in
use\";\n}\n\nreturn
msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":640,"y":220,"wires":[[]]},{"id":"b14
711f4.81ecf","type":"kasa","z":"1439d4b5.e748fb","name":"3D_Printer -
HS110(EU)","device":"192.168.0.101","interval":60000,"eventInterval":"5000","payload":"getMeterI
nfo","payloadType":"info","debug":false,"x":430,"y":220,"wires":[["ba67d52c.c6bbf8","5dbf1779.824
548","d9f3f3ad.02892","297d7938.8e97c6"]]},{"id":"6f814fb5.99e0c","type":"debug","z":"1439d4b5.
e748fb","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"paylo
ad","targetType":"msg","statusVal":"","statusType":"auto","x":810,"y":220,"wires":[]},{"id":"8544aa7
9.75a1e8","type":"inject","z":"1439d4b5.e748fb","name":"","props":[{"p":"payload"},{"p":"topic","vt
":"str"}],"repeat":"5","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"getMeterInfo","
payloadType":"str","x":180,"y":220,"wires":[["b14711f4.81ecf"]]},{"id":"13aa3997.92f3f6","type":"inj
ect","z":"1439d4b5.e748fb","name":"Reset
everyday","props":[{"p":"reset","v":"true","vt":"bool"}],"repeat":"","crontab":"01 20 * *
*","once":false,"onceDelay":0.1,"topic":"","x":330,"y":360,"wires":[["8a60ce24.24e81"]]},{"id":"8a60
ce24.24e81","type":"change","z":"1439d4b5.e748fb","name":"","rules":[{"t":"set","p":"time_3D","pt
":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":36
0,"wires":[[]]},{"id":"3ebf0bb5.979eb4","type":"inject","z":"1439d4b5.e748fb","name":"Init
variable","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"once
Delay":0.1,"topic":"","payload":"","payloadType":"date","x":350,"y":400,"wires":[["8a60ce24.24e81"
]]},{"id":"5dbf1779.824548","type":"debug","z":"1439d4b5.e748fb","name":"","active":false,"tosideb
ar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","sta
tusType":"auto","x":510,"y":80,"wires":[]},{"id":"9f0be950.d6cad8","type":"inject","z":"1439d4b5.e7
2020/21 End Report IoT for small factory 88
48fb","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"01 20 * *
*","once":false,"onceDelay":0.1,"topic":"","payload":"eraseStats","payloadType":"str","x":170,"y":26
0,"wires":[["b14711f4.81ecf"]]},{"id":"d9f3f3ad.02892","type":"change","z":"1439d4b5.e748fb","na
me":"","rules":[{"t":"set","p":"wh","pt":"global","to":"payload.total_wh","tot":"msg"}],"action":"","p
roperty":"","from":"","to":"","reg":false,"x":650,"y":280,"wires":[[]]},{"id":"e3ab09a1.026c48","type"
:"api-call-
service","z":"1439d4b5.e748fb","name":"","server":"3e545835.277878","version":1,"debugenabled"
:false,"service_domain":"virtual","service":"turn_on","entityId":"binary_sensor.virtual_plug_print","
data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"non
e","mustacheAltTags":false,"x":910,"y":80,"wires":[[]]},{"id":"2cb323a.ba414dc","type":"api-call-
service","z":"1439d4b5.e748fb","name":"","server":"3e545835.277878","version":1,"debugenabled"
:false,"service_domain":"virtual","service":"turn_off","entityId":"binary_sensor.virtual_plug_print","
data":"","dataType":"jsonata","mergecontext":"","output_location":"","output_location_type":"non
e","mustacheAltTags":false,"x":910,"y":140,"wires":[[]]},{"id":"297d7938.8e97c6","type":"switch","z"
:"1439d4b5.e748fb","name":"","property":"payload.power","propertyType":"msg","rules":[{"t":"gte"
,"v":"15","vt":"num"},{"t":"lt","v":"15","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":7
10,"y":100,"wires":[["e3ab09a1.026c48"],["2cb323a.ba414dc","6f814fb5.99e0c"]]},{"id":"3e545835.2
77878","type":"server","name":"Home Assistant","addon":true}]
6.3. Auto report
[{"id":"9cf79844.811da8","type":"tab","label":"Autoreport","disabled":false,"info":""},{"id":"
b3c7a533.481a68","type":"influxdb
in","z":"9cf79844.811da8","influxdb":"76e662b4.4266ac","name":"Temperature Aqara last
24h","query":"SELECT mean(\"temperature\") AS \"mean_temperature\", max(\"temperature\") AS
\"max_temperature\", min(\"temperature\") AS \"min_temperature\" FROM
\"homeassistant\".\"autogen\".\"%\" WHERE time > now()-24h AND time <
now()","rawOutput":false,"precision":"","retentionPolicy":"","org":"organisation","x":580,"y":820,"w
ires":[["129bd2a.a379a2d","23113da4.d07232"]]},{"id":"debc464b.d338b8","type":"influxdb
in","z":"9cf79844.811da8","influxdb":"76e662b4.4266ac","name":"Temperature motor last
24h","query":"SELECT mean(\"value\") AS \"mean_value\", max(\"value\") AS \"max_value\",
min(\"value\") AS \"min_value\" FROM \"homeassistant\".\"autogen\".\"°C\" WHERE time > now()-
24h AND time <
now()","rawOutput":false,"precision":"","retentionPolicy":"","org":"organisation","x":580,"y":880,"w
ires":[["129bd2a.a379a2d"]]},{"id":"f3c13842.38ff48","type":"function","z":"9cf79844.811da8","nam
e":"Report temp Aqara","func":"let date = new Date();\ndate = date.getDate() + \"/\" +
(date.getMonth()+1) + \"/\" + date.getFullYear();\nvar report = \"DATE: \"+ date + \"\\nTEMPERATURE
AQARA\\n\" +\n\"Max temperature Aqara: \" + msg.payload.temp_aqara[0].max_temperature +
\"°C\" +\n\"\\nMin temperature Aqara: \" + msg.payload.temp_aqara[0].min_temperature + \"°C\"
+\n\"\\nMean temperature Aqara: \" + msg.payload.temp_aqara[0].mean_temperature.toFixed(2) +
\"°C\";\nglobal.set (\"Report_Aq\",report);\nmsg = {payload: report, topic: \"weather
report\"};\nreturn
msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":990,"y":800,"wires":[["66d09559.5
2020/21 End Report IoT for small factory 89
c477c","51d53567.752d9c"]]},{"id":"129bd2a.a379a2d","type":"join","z":"9cf79844.811da8","name":
"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","join
er":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduce
Exp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":790,"y":860,"wires":[["f3c13842.38f
f48","6d183255.36c36c","7c8c1b1d.370024"]]},{"id":"23113da4.d07232","type":"debug","z":"9cf798
44.811da8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"pa
yload","targetType":"msg","statusVal":"","statusType":"auto","x":950,"y":720,"wires":[]},{"id":"e9a0
4197.47ffd","type":"telegram
sender","z":"9cf79844.811da8","name":"","bot":"5a024ad4.82e5f4","haserroroutput":false,"outputs
":1,"x":1630,"y":860,"wires":[[]]},{"id":"66d09559.5c477c","type":"change","z":"9cf79844.811da8","
name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"-
585212061","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Report_Aq","tot":"global
"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","property":"","fro
m":"","to":"","reg":false,"x":1230,"y":800,"wires":[["e9a04197.47ffd"]]},{"id":"6d183255.36c36c","ty
pe":"function","z":"9cf79844.811da8","name":"Report temp motor","func":"var report =
\"TEMPERATURE MOTOR\\n\" +\n\"Max temperature motor: \" +
msg.payload.temp_motor[0].max_value + \"°C\" +\n\"\\nMin temperature motor: \" +
msg.payload.temp_motor[0].min_value + \"°C\" +\n\"\\nMean temperature motor: \" +
msg.payload.temp_motor[0].mean_value.toFixed(2) + \"°C\";\nglobal.set
(\"Report_Mo\",report);\nmsg = {payload: report, topic: \"weather report\"};\nreturn
msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":990,"y":860,"wires":[["6e55656b.e
8542c"]]},{"id":"6e55656b.e8542c","type":"change","z":"9cf79844.811da8","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"-
585212061","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Report_Mo","tot":"globa
l"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","property":"","fro
m":"","to":"","reg":false,"x":1230,"y":860,"wires":[["aaf2c7db.5a54d8"]]},{"id":"aaf2c7db.5a54d8","t
ype":"delay","z":"9cf79844.811da8","name":"","pauseType":"delay","timeout":"25","timeoutUnits":
"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5
","randomUnits":"seconds","drop":false,"x":1410,"y":860,"wires":[["e9a04197.47ffd"]]},{"id":"a71a7f
39.ae629","type":"change","z":"9cf79844.811da8","name":"temp_aqara","rules":[{"t":"set","p":"topi
c","pt":"msg","to":"temp_aqara","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"
x":350,"y":820,"wires":[["b3c7a533.481a68"]]},{"id":"7e3a3ab8.823974","type":"change","z":"9cf798
44.811da8","name":"temp_motor","rules":[{"t":"set","p":"topic","pt":"msg","to":"temp_motor","tot
":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":880,"wires":[["debc464b.d
338b8"]]},{"id":"5b81b0f4.93efd","type":"inject","z":"9cf79844.811da8","name":"","props":[{"p":"pa
yload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 20 * *
*","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":880,"wires
":[["a71a7f39.ae629","7e3a3ab8.823974"]]},{"id":"a15b411.f7ec9c","type":"telegram
command","z":"9cf79844.811da8","name":"","command":"report","bot":"5a024ad4.82e5f4","strict"
:false,"hasresponse":true,"useregex":false,"removeregexcommand":false,"outputs":2,"x":150,"y":82
0,"wires":[["a71a7f39.ae629","7e3a3ab8.823974"],[]]},{"id":"7c8c1b1d.370024","type":"function","z
":"9cf79844.811da8","name":"Report time","func":"var report = \"ROBOT ARM AND 3D PRINTER\"
2020/21 End Report IoT for small factory 90
+\n\"\\nRobot arm motion time: \" + global.get(\"time_gyro\") + \" s\" +\n\"\\n3D printer usage time:
\" + global.get(\"time_3D\") + \" s\" +\n\"\\n3D printer power consumption: \" + global.get(\"wh\") +
\" Wh\";\nglobal.set (\"Report_3D\",report);\nmsg = {payload: report, topic: \"weather
report\"};\nreturn
msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":920,"wires":[["4ce229.1ae
f2dd8"]]},{"id":"4ce229.1aef2dd8","type":"change","z":"9cf79844.811da8","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.content","pt":"msg
","to":"Report_3D","tot":"global"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str
"},{"t":"set","p":"payload.chatId","pt":"msg","to":"-
585212061","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1230,"y":920,"wir
es":[["e1ad9f12.769b5"]]},{"id":"e1ad9f12.769b5","type":"delay","z":"9cf79844.811da8","name":"","
pauseType":"delay","timeout":"50","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rate
Units":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1410
,"y":920,"wires":[["e9a04197.47ffd"]]},{"id":"51d53567.752d9c","type":"debug","z":"9cf79844.811da
8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","t
argetType":"msg","statusVal":"","statusType":"auto","x":1130,"y":720,"wires":[]},{"id":"76e662b4.42
66ac","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"homea
ssistant","name":"homeassistant","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhos
t:8086","rejectUnauthorized":true},{"id":"5a024ad4.82e5f4","type":"telegram
bot","botname":"IoTsmallfactoryBot","usernames":"","chatids":"-
585212061","baseapiurl":"","updatemode":"polling","pollinterval":"300","usesocks":false,"sockshost
":"","socksport":"6667","socksusername":"anonymous","sockspassword":"","bothost":"","botpath":"
","localbotport":"8443","publicbotport":"8443","privatekey":"","certificate":"","useselfsignedcertific
ate":false,"sslterminated":false,"verboselogging":false}]
6.4. Alerts
[{"id":"4ae90896.12f348","type":"tab","label":"Alarms","disabled":false,"info":""},{"id":"5955
a40f.8b95cc","type":"trigger-state","z":"4ae90896.12f348","name":"Low battery Aqara Vibration
","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name","valu
e":""},{"property":"icon","value":""}],"entityid":"sensor.0x00158d000323232c_battery","entityidfilte
rtype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","pro
pertyType":"current_state","comparatorType":"<=","comparatorValueDatatype":"num","comparator
Value":"20","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":fal
se,"state_type":"num","x":240,"y":240,"wires":[["ffe056cf.22c0e8"],[]]},{"id":"e3f7dbcc.8b9a28","typ
e":"telegram
sender","z":"4ae90896.12f348","name":"","bot":"5a024ad4.82e5f4","haserroroutput":false,"outputs
":1,"x":1030,"y":420,"wires":[[]]},{"id":"e7a6e0b9.dfbd6","type":"change","z":"4ae90896.12f348","n
ame":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Low battery Aqara
Vibration
","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","prope
rty":"","from":"","to":"","reg":false,"x":670,"y":240,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"afdabf4c.c1
56e","type":"trigger-state","z":"4ae90896.12f348","name":"Low battery Aqara
Temperature","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":
2020/21 End Report IoT for small factory 91
"name","value":""},{"property":"icon","value":""}],"entityid":"sensor.0x00158d00054ac718_temp","
entityidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetVal
ue":"","propertyType":"current_state","comparatorType":"<=","comparatorValueDatatype":"num","
comparatorValue":"20","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outpu
tinitially":false,"state_type":"num","x":230,"y":300,"wires":[["7e2f38b7.3391a8"],[]]},{"id":"597680af
.9004c","type":"change","z":"4ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Low battery Aqara
Temperature","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"actio
n":"","property":"","from":"","to":"","reg":false,"x":670,"y":300,"wires":[["e3f7dbcc.8b9a28"]]},{"id":
"7e2f38b7.3391a8","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"
pay","op2type":"payl","duration":"6","extend":false,"overrideDelay":false,"units":"hr","reset":"","by
topic":"all","topic":"topic","outputs":1,"x":490,"y":300,"wires":[["597680af.9004c"]]},{"id":"ffe056cf.
22c0e8","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op2t
ype":"payl","duration":"6","extend":false,"overrideDelay":false,"units":"hr","reset":"","bytopic":"all",
"topic":"topic","outputs":1,"x":490,"y":240,"wires":[["e7a6e0b9.dfbd6"]]},{"id":"178c452b.4c465b","
type":"trigger-state","z":"4ae90896.12f348","name":"Temperature room over 30
ºC","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name","v
alue":""},{"property":"icon","value":""}],"entityid":"sensor.0x00158d00054ac718_temperature","enti
tyidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":
"","propertyType":"current_state","comparatorType":">=","comparatorValueDatatype":"num","com
paratorValue":"30","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputiniti
ally":false,"state_type":"num","x":250,"y":380,"wires":[["32d43f2.6fde8c"],[]]},{"id":"58b784c2.3c7d
3c","type":"change","z":"4ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Temperature
room over 30
ºC","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","pro
perty":"","from":"","to":"","reg":false,"x":670,"y":380,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"32d43f2.
6fde8c","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op2ty
pe":"payl","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"al
l","topic":"topic","outputs":1,"x":490,"y":380,"wires":[["58b784c2.3c7d3c"]]},{"id":"a88adcd4.a5d82
","type":"trigger-state","z":"4ae90896.12f348","name":"Temperature room below 5
ºC","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name","v
alue":""},{"property":"icon","value":""}],"entityid":"sensor.0x00158d00054ac718_temperature","enti
tyidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":
"","propertyType":"current_state","comparatorType":"<=","comparatorValueDatatype":"num","com
paratorValue":"5","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitia
lly":false,"state_type":"num","x":250,"y":440,"wires":[["ac265c60.d3643"],[]]},{"id":"34930bfb.24a98
4","type":"change","z":"4ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Temperature
room below 5
ºC","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","pro
perty":"","from":"","to":"","reg":false,"x":670,"y":440,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"ac265c6
2020/21 End Report IoT for small factory 92
0.d3643","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op2
type":"payl","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"
all","topic":"topic","outputs":1,"x":490,"y":440,"wires":[["34930bfb.24a984"]]},{"id":"ed4014bf.d0bd
b8","type":"trigger-state","z":"4ae90896.12f348","name":"Temperature motor over 70
ºC","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name","v
alue":""},{"property":"icon","value":""}],"entityid":"sensor.waterproof_temperature","entityidfilterty
pe":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","proper
tyType":"current_state","comparatorType":">=","comparatorValueDatatype":"num","comparatorVal
ue":"70","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":false,
"state_type":"num","x":250,"y":520,"wires":[["e80e7ac4.5232d8"],[]]},{"id":"67530bc6.397834","typ
e":"change","z":"4ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Temperature
motor over 70
ºC","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","pro
perty":"","from":"","to":"","reg":false,"x":670,"y":520,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"e80e7ac
4.5232d8","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op
2type":"payl","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic"
:"all","topic":"topic","outputs":1,"x":490,"y":520,"wires":[["67530bc6.397834"]]},{"id":"4fb49982.83
a988","type":"trigger-state","z":"4ae90896.12f348","name":"Temperature motor below 0
ºC","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name","v
alue":""},{"property":"icon","value":""}],"entityid":"sensor.waterproof_temperature","entityidfilterty
pe":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","proper
tyType":"current_state","comparatorType":"<=","comparatorValueDatatype":"num","comparatorVal
ue":"0","propertyValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":false,"s
tate_type":"num","x":250,"y":580,"wires":[["763f09eb.1dff58"],[]]},{"id":"ccc1ced7.2a3ae","type":"c
hange","z":"4ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"Temperature
motor below 0
ºC","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","pro
perty":"","from":"","to":"","reg":false,"x":670,"y":580,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"763f09e
b.1dff58","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op2
type":"payl","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"
all","topic":"topic","outputs":1,"x":490,"y":580,"wires":[["ccc1ced7.2a3ae"]]},{"id":"56149e48.66e42
","type":"trigger-state","z":"4ae90896.12f348","name":"High CO2
level","server":"3e545835.277878","exposeToHomeAssistant":false,"haConfig":[{"property":"name",
"value":""},{"property":"icon","value":""}],"entityid":"sensor.co2","entityidfiltertype":"exact","debug
enabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"current_s
tate","comparatorType":">=","comparatorValueDatatype":"num","comparatorValue":"300","propert
yValue":"new_state.state"}],"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"nu
m","x":240,"y":680,"wires":[["87a96311.f0e2e"],[]]},{"id":"f4492636.4268b8","type":"change","z":"4
ae90896.12f348","name":"Telegram
message","rules":[{"t":"delete","p":"payload","pt":"msg"},{"t":"set","p":"payload.chatId","pt":"msg",
"to":"1035051020","tot":"num"},{"t":"set","p":"payload.content","pt":"msg","to":"High CO2
2020/21 End Report IoT for small factory 93
level","tot":"str"},{"t":"set","p":"payload.type","pt":"msg","to":"message","tot":"str"}],"action":"","p
roperty":"","from":"","to":"","reg":false,"x":670,"y":680,"wires":[["e3f7dbcc.8b9a28"]]},{"id":"87a96
311.f0e2e","type":"trigger","z":"4ae90896.12f348","name":"","op1":"","op2":"","op1type":"pay","op
2type":"payl","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic"
:"all","topic":"topic","outputs":1,"x":490,"y":680,"wires":[["f4492636.4268b8"]]},{"id":"3e545835.27
7878","type":"server","name":"Home
Assistant","addon":true},{"id":"5a024ad4.82e5f4","type":"telegram
bot","botname":"IoTsmallfactoryBot","usernames":"","chatids":"-
585212061","baseapiurl":"","updatemode":"polling","pollinterval":"300","usesocks":false,"sockshost
":"","socksport":"6667","socksusername":"anonymous","sockspassword":"","bothost":"","botpath":"
","localbotport":"8443","publicbotport":"8443","privatekey":"","certificate":"","useselfsignedcertific
ate":false,"sslterminated":false,"verboselogging":false}]
2020/21 End Report IoT for small factory 94
Bibliography
Assistant, H. (n.d.). Getting Started, Installation. Retrieved from Home Assistant: https://www.home-
assistant.io/
atotto. (n.d.). espressif/arduino-esp32. Retrieved from GitHub: https://github.com/espressif/arduino-
esp32
Council, Y. E. (n.d.). 10 Big Security Concerns About IoT For Business (And How To Protect Yourself).
Retrieved from Forbes: https://www.forbes.com/sites/theyec/2018/07/31/10-big-security-
concerns-about-iot-for-business-and-how-to-protect-yourself/?sh=2437393d7416
earlephilhower. (n.d.). esp8266/arduino. Retrieved from GitHub:
https://github.com/esp8266/Arduino
Eclipse. (2021). Info about the installation of the Mosquitto software. Retrieved from Website of
Mosquitto: https://mosquitto.org/
Elias, H. (2020, October 7). How do SMEs benefit from Internet of Things? Retrieved from Tech HQ:
https://techhq.com/2020/10/how-do-smes-benefit-from-iot/
Foundation, E. (n.d.). An open source MQTT broker. Retrieved from Eclipse Mosquitto™:
https://mosquitto.org/
integrated, m. (n.d.). Datasheet of the DS18B20 sensor. Retrieved from DS18B20 - Programmable
Resolution 1-Wire Digital Thermometer:
https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
Joel. (n.d.). How IoT Can Help your Small Business? Retrieved from appypie:
https://www.appypie.com/iot-for-small-business
Koenkk. (n.d.). What do I need? Retrieved from Zigbee2mqtt:
https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html
Labs, L. (2018, February 14). What is M2M? Retrieved from Link Labs: https://www.link-
labs.com/blog/what-is-m2m
Liu, T. (n.d.). datasheet DHT22. Retrieved from sparkfun:
https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf
Marius, K. K. (n.d.). Zigbee2mqtt Home assistant. Retrieved from Git Hub:
https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
meganraynicholas. (2019, December 12). Tips for integrating IoT machines and devices into your
factory. Retrieved from IoT Times: https://iot.eetimes.com/tips-for-integrating-iot-machines-
and-devices-into-your-factory/
Nichols, M. R. (2020, June 9). How Small Businesses Benefit From the IoT. Retrieved from IoT Evolution:
https://www.iotevolutionworld.com/iot/articles/445643-how-small-businesses-benefit-
from-iot.htm
2020/21 End Report IoT for small factory 95
Node-RED. (2021). Info about the installation of the Node Red software. Retrieved 2021, from Website
of Node Red: https://nodered.org/
Node-RED. (n.d.). Low-code programming for event-driven applications. Retrieved from Node-RED:
https://nodered.org/
Project, M. I. (2017). A Guide to the Project Management Body of Knowledge PMBOK® Guide. In P. M.
Instituut, 5th edition (p. 592).
Scoop, I. (n.d.). Industry 4.0: the fourth industrial revolution – guide to Industrie 4.0. Retrieved from I
Scoop: https://www.i-scoop.eu/industry-4-0
Smartify. (n.d.). Extended List of Home Automation Devices. Retrieved from Smartify:
https://smartify.in/knowledgebase/extended-list-of-home-automation-devices/
Sonee, S. (2020, August 25). Top IoT Communication Protocols. Retrieved from Hash Studioz:
https://hashstudioz.com/blog/top-iot-communication-protocols-2020/
studio, V. (n.d.). Code editing redefined. Retrieved from Visual Studio Code:
https://code.visualstudio.com/
Taylor, T. (2019, November 2). IoT communication protocols. Retrieved from TechGenix:
https://techgenix.com/iot-communication-protocols/
Team, A. B. (2019, June 6). best-iot-small-business. Retrieved from Avast blog:
https://blog.avast.com/best-iot-small-business
Tutorials, R. N. (n.d.). ESP32 with MPU-6050 Accelerometer, Gyroscope and Temperature Sensor
(Arduino). Retrieved from Random Nerd Tutorials: https://randomnerdtutorials.com/esp32-
mpu-6050-accelerometer-gyroscope-arduino/
Vorne. (n.d.). OEE Factors. Retrieved from OEE: https://www.oee.com/oee-factors.html
Wasnik, M. (2014, February 2). Different Technologies Used in Home Automatio. Retrieved from
International Journal of Engineering Research & Technology:
https://www.ijert.org/research/different-technologies-used-in-home-automation-a-review-
and-comparison-IJERTV3IS20118.pdf
2020/21 End Report IoT for small factory 96