Uncategorized

Security for the Industrial IoT: The Case for Information-Centric Networking

Industrial production plants traditionally include sensors for monitoring or documenting processes, and actuators for enabling corrective actions in cases of misconfigurations, failures, or dangerous events. With the advent of the IoT, embedded controllers link these `things' to local networks that often are of low power wireless kind, and are interconnected via gateways to some cloud from the global Internet. Inter-networked sensors and actuators in the industrial IoT form a critical subsystem while frequently operating under harsh conditions. It is currently under debate how to approach inter-networking of critical industrial components in a safe and secure manner.
In this paper, we analyze the potentials of ICN for providing a secure and robust networking solution for constrained controllers in industrial safety systems. We showcase hazardous gas sensing in widespread industrial environments, such as refineries, and compare with IP-based approaches such as CoAP and MQTT. Our findings indicate that the content-centric security model, as well as enhanced DoS resistance are important arguments for deploying Information Centric Networking in a safety-critical industrial IoT. Evaluation of the crypto efforts on the RIOT operating system for content security reveal its feasibility for common deployment scenarios.

Read full paper

Marine IoT Systems with Space-Air-Sea Integrated Networks: Hybrid LEO and UAV Edge Computing

Marine Internet of Things (IoT) systems have grown substantially with the development of non-terrestrial networks (NTN) via aerial and space vehicles in the upcoming sixth-generation (6G), thereby assisting environment protection, military reconnaissance, and sea transportation. Due to unpredictable climate changes and the extreme channel conditions of maritime networks, however, it is challenging to efficiently and reliably collect and compute a huge amount of maritime data. In this paper, we propose a hybrid low-Earth orbit (LEO) and unmanned aerial vehicle (UAV) edge computing method in space-air-sea integrated networks for marine IoT systems. Specifically, two types of edge servers mounted on UAVs and LEO satellites are endowed with computational capabilities for the real-time utilization of a sizable data collected from ocean IoT sensors. Our system aims at minimizing the total energy consumption of the battery-constrained UAV by jointly optimizing the bit allocation of communication and computation along with the UAV path planning under latency, energy budget and operational constraints. For availability and practicality, the proposed methods were developed for three different cases according to the accessibility of the LEO satellite, “Always On," “Always Off" and “Intermediate Disconnected", by leveraging successive convex approximation (SCA) strategies. Via numerical results, we verify that significant energy savings can be accrued for all cases of LEO accessibility by means of joint optimization of bit allocation and UAV path planning compared to partial optimization schemes that design for only the bit allocation or trajectory of the UAV.

Read full paper

Introduction to IoT

The Internet of Things has rapidly transformed the 21st century, enhancing decision-making processes and introducing innovative consumer services such as pay-as-you-use models. The integration of smart devices and automation technologies has revolutionized every aspect of our lives, from health services to the manufacturing industry, and from the agriculture sector to mining. Alongside the positive aspects, it is also essential to recognize the significant safety, security, and trust concerns in this technological landscape. This chapter serves as a comprehensive guide for newcomers interested in the IoT domain, providing a foundation for making future contributions. Specifically, it discusses the overview, historical evolution, key characteristics, advantages, architectures, taxonomy of technologies, and existing applications in major IoT domains. In addressing prevalent issues and challenges in designing and deploying IoT applications, the chapter examines security threats across architectural layers, ethical considerations, user privacy concerns, and trust-related issues. This discussion equips researchers with a solid understanding of diverse IoT aspects, providing a comprehensive understanding of IoT technology along with insights into the extensive potential and impact of this transformative field.

Read full paper

Towards Smart Healthcare: Challenges and Opportunities in IoT and ML

The COVID-19 pandemic and other ongoing health crises have underscored the need for prompt healthcare services worldwide. The traditional healthcare system, centered around hospitals and clinics, has proven inadequate in the face of such challenges. Intelligent wearable devices, a key part of modern healthcare, leverage Internet of Things technology to collect extensive data related to the environment as well as psychological, behavioral, and physical health. However, managing the substantial data generated by these wearables and other IoT devices in healthcare poses a significant challenge, potentially impeding decision-making processes. Recent interest has grown in applying data analytics for extracting information, gaining insights, and making predictions. Additionally, machine learning, known for addressing various big data and networking challenges, has seen increased implementation to enhance IoT systems in healthcare. This chapter focuses exclusively on exploring the hurdles encountered when integrating ML methods into the IoT healthcare sector. It offers a comprehensive summary of current research challenges and potential opportunities, categorized into three scenarios: IoT-based, ML-based, and the implementation of machine learning methodologies in the IoT-based healthcare industry. This compilation will assist future researchers, healthcare professionals, and government agencies by offering valuable insights into recent smart healthcare advancements.

Read full paper

Fostering new Vertical and Horizontal IoT Applications with Intelligence Everywhere

Intelligence Everywhere is predicated on the seamless integration of IoT networks transporting a vast amount of data streams through many computing resources across an edge-to-cloud continuum, relying on the orchestration of distributed machine learning models. The result is an interconnected and collective intelligent ecosystem where devices, systems, services, and users work together to support IoT applications. This paper discusses the state-of-the-art research and the principles of the Intelligence Everywhere framework for enhancing IoT applications in vertical sectors such as Digital Health, Infrastructure, and Transportation/Mobility in the context of intelligent society (Society 5.0). It also introduces a novel perspective for the development of horizontal IoT applications, capable of running across various IoT networks while fostering collective intelligence across diverse sectors. Finally, this paper provides comprehensive insights into the challenges and opportunities for harnessing collective knowledge from real-time insights, leading to optimised processes and better overall collaboration across different IoT sectors.

Read full paper

Basic Syntax and Semantics

“`

Python is a versatile and powerful programming language that emphasizes readability and simplicity. In this chapter, we will explore the basic syntax and semantics of Python, focusing on indentation, comments, and line continuation. By the end of this chapter, you will understand how to structure your Python code properly.

Python Indentation

Unlike many other programming languages that use braces {} to define code blocks, Python relies on indentation. This means that the grouping of your code depends on how it is indented. Proper indentation is not optional in Python—it is a requirement for the code to execute.

Example: Proper Indentation

if True:
print('This is indented properly')
print('Another indented line')
```

“`

In the example above, the lines following the if statement are indented, making them part of the same block. If you fail to indent correctly, Python will raise an error.

Incorrect Indentation Example

if True:
```

print(‘This will cause an error’) # Missing indentation

“`

Error: IndentationError: expected an indented block

Tips for Proper Indentation

  • Use 4 spaces per level of indentation (this is the Python convention).
  • Avoid mixing spaces and tabs.
  • Many code editors, such as VS Code and PyCharm, can help you format your code correctly.

Comments in Python

Comments are essential for making your code readable and maintainable. Python supports two types of comments:

Single-line Comments

Single-line comments begin with a # symbol. Everything after the # on the same line is ignored by Python.

Example:

# This is a single-line comment
```

print(‘Hello, World!’) # This comment explains the line

“`

Multi-line Comments

Python does not have a specific syntax for multi-line comments. Instead, you can use a series of single-line comments or a string literal (usually triple quotes) that is not assigned to a variable.

Example 1: Using multiple #

# This is a comment
```

# spanning multiple lines

# to explain the code

“`

Example 2: Using a string literal

"""
```

This is a multi-line comment. It is often used for documentation. “””

“`

Line Continuation in Python

In Python, you can split long lines of code into multiple lines using a backslash \. This is especially useful for improving readability.

Example:

total = 1 + 2 + 3 + \
    4 + 5 + 6
```

print(total) # Output: 21

“`

Alternatively, you can use parentheses for implicit line continuation. This is often preferred because it eliminates the need for a backslash.

Example:

total = (1 + 2 + 3 +
     4 + 5 + 6)
```

print(total) # Output: 21

“`

Exercises

To solidify your understanding of Python’s basic syntax and semantics, try the following exercises:

Exercise 1: Fix the Indentation Error

The following code has an indentation error. Fix it to make it work:

if 5 > 3:
```

print(‘Five is greater than three!’)

“`

Exercise 2: Add Comments

Write a Python script with at least three single-line comments explaining what the code does. For example:

# This program calculates the sum of two numbers
```

number1 = 10 number2 = 20

# Adding the two numbers

sum = number1 + number2 print(sum) # Displaying the result

“`

Exercise 3: Use Line Continuation

Rewrite the following code using both backslash \ and parentheses:

result = 10 + 20 + 30 + 40 + 50 + 60
```

“`


With this foundational knowledge, you are now ready to explore more advanced Python topics. Remember, good coding practices such as proper indentation and clear comments will make your code easier to understand and maintain.

“`


Study of a Parallel Resonant Circuit (RLC Circuit)

Objective:

We aim to study the properties of a passive circuit composed of two branches:

  1. One capacitive branch.
  2. One branch consisting of a resistor and an inductor in series.

When a sinusoidal voltage EE with an effective value and angular frequency ω\omega (or frequency ff) is applied to the circuit:

E=ZIE = ZI

Application of a “Notch Circuit”:

Parallel RLC circuits are often called “notch circuits” because they present high impedance at a particular frequency f0f_0, preventing signals at that frequency from passing to certain parts of the circuit. Notch circuits are used in:

  • Electronics: Audio systems for equalization, and color televisions for separating audio, chrominance, and luminance frequencies.
  • Electricity: Centralized remote controls to avoid frequency dispersion on the network.

Characteristics of a Notch Circuit:

To better understand the functioning of notch circuits, we perform measurements in the lab. A Bode plotter helps visualize the output voltage of the notch filter relative to the generator frequency. We observe that the circuit exhibits high impedance at a certain frequency, leading to significant attenuation at that point on the curve.

Complex Impedance Expression:

We know that:

Z=1jωC+RjωLR2+(ωL)2Z = \frac{1}{j \omega C} + \frac{R – j \omega L}{R^2 + (\omega L)^2}

Resonant Frequency Determination:

The resonant condition occurs when the imaginary part of the admittance cancels out, giving:

ω0=1LC\omega_0 = \frac{1}{\sqrt{LC}}

The theoretical resonant frequency:

f0th=ω02πf_{0th} = \frac{\omega_0}{2\pi}

With actual values:

ω0=79056.94rad/s,f0th=12.89kHz,fopractical=13kHz\omega_0 = 79056.94 \, \text{rad/s}, \quad f_{0th} = 12.89 \, \text{kHz}, \quad f_{opractical} = 13 \, \text{kHz}

The difference between theoretical and practical results arises due to measurement and equipment errors.


Quality Factor of the Inductive Branch:

The quality factor QQ is given by:

Q=ω0LRQ = \frac{\omega_0 L}{R}

For R0=0ΩR_0 = 0 \Omega:

Q=83.85Q = 83.85

For R0=348.2ΩR_0 = 348.2 \Omega:

Q=4.11Q = 4.11

Practical Tasks:

  1. Circuit Assembly: Assemble the circuit as shown.
  2. Internal Resistance Measurement: R=18.5ΩR = 18.5 \Omega, L=0.019HL = 0.019 \, H.
  3. Resonant Frequency Measurement and Comparison: Compare theoretical and practical results.
  4. Current and Phase Values Around Resonance:
Frequency (kHz) VsV_s (V) Φ\Phi (degrees) II (A)
2 1.3 10 0.066
4 0.7 6 0.033
13 0 0 0

Observations:

  • The current II decreases to zero at resonance frequency f0=13kHzf_0 = 13 \, \text{kHz} and increases for frequencies above f0f_0.
  • The phase Φ\Phi decreases for f<f0f < f_0 and becomes negative for f>f0f > f_0.

Conclusion:

At resonance, both current and phase are zero. The quality factor greatly affects the precision of the resonant frequency and the bandwidth, which is evident from the curves.

Comparing Linux and Windows

comparing Linux and Windows
1. Cost and Licensing
Windows: A paid operating system that requires a license for each device, making it costlier for individuals and businesses.
Linux: Free and open-source, available to download and use at no cost, with the freedom to modify its source code.
2. Stability and Performance
Windows: Despite regular improvements, Windows can occasionally suffer from crashes due to software conflicts or system updates.
Linux: Known for its reliability and often used in servers and large networks, Linux can handle heavy workloads more smoothly.
3. Security
Windows: As one of the most popular OSs, Windows is more vulnerable to viruses and malware, making it a frequent target for hackers.
Linux: Generally more secure, with permission management that limits virus access and widespread use in secure network environments.
4. Customization and Flexibility
Windows: Customization options are somewhat limited, relying mostly on preset system settings provided by Microsoft.
Linux: Highly customizable, allowing users to adjust virtually any part of the system. Different distributions (e.g., Ubuntu, Fedora, Debian) are tailored for various user needs.
5. Software and Application Support
Windows: Supports a wide array of commercial software like Adobe Photoshop and Microsoft Office, and is popular among gamers.
Linux: While there are open-source alternatives, commercial software support is more limited. However, tools like Wine enable running some Windows apps on Linux.
6. User Interface and Experience
Windows: Known for its user-friendly, consistent interface, which is accessible for users with little technical expertise.
Linux: May be challenging for beginners, although some distributions (like Ubuntu) provide easy-to-navigate graphical interfaces.
7. Updates and Maintenance
Windows: Regularly updated by Microsoft, sometimes requiring a restart to install updates.
Linux: Offers flexible update management, where users control updates without typically needing a reboot, ideal for continuous use environments.
Primary Use Cases
Windows: Dominates in personal, educational, and office use, preferred by non-technical users.
Linux: Common in server environments, technical fields, and projects requiring high security and stability, also frequently used in IoT devices.

dc

$$f(t) = \mathcal{F}^{-1}\{F(\omega)\} = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} \, d\omega$$

ALIMENTATION STABILISEE OU REGULEE

Définition

Un redresseur simple alternance monophasé est un redresseur supprimant les alternances négatives et conservant les alternances positives d’une entrée monophasée. La fréquence en sortie du redresseur est alors égale à la fréquence d’entrée.

Si v(t) est la tension d’entrée et vs(t) la tension en sortie du redresseur, on obtient alors une tension de sortie qui ressemble à la suivante :

$$ f(t) = \mathcal{F}^{-1}\{F(\omega)\} = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} \, d\omega $$

\[
\mathcal{F}\{f(t)\} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} \, dt
\]
\[
\mathcal{F}\{f(t)\} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} \, dt
\]

\[
f(t) = \mathcal{F}^{-1}\{F(\omega)\} = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} \, d\omega
\]

\[
f(t) = \mathcal{F}^{-1}\{F(\omega)\} = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} \, d\omega
\]

F{f(t)}=F(ω)=−∞f(t)etdt

La tension d’entrée utilisée pour illustrer le chapitre est une tension sinusoïdale. En effet, la tension à redresser est souvent le réseau monophasé domestique (le réseau 50Hz d’EDF en France, par exemple).C:\Documents and Settings\fouad\Bureau\dioddd\diode+ttttttttttp\Redresseur-Redresseur simple alternance monophasé 1 - Wikiversité_fichiers\Redresseur_monophase_simple_alternance.png

Il existe deux types de redresseurs simple alternance :

  • les redresseurs non commandés, constitués d’une diode en série avec la charge
  • les redresseurs commandés, constitués d’un thyristor en série avec la charge, qui permettent de faire varier les grandeurs électriques en sortie du convertisseur
  • Redresseur simple alternance non commandé
  • Ce type de redresseur est réalisé en mettant simplement une diode en série avec la charge comme le montre le schéma suivant :

Les redresseurs monophasés simple alternance non commandés conservent la partie positive du signal d’entrée et coupent la partie négative. Leur comportement dépend cependant du type de charge.

Nous allons étudier leur comportement avec différents types de charges :

  • une charge purement résistive
  • une charge inductive
  • une charge inductive et une diode de roue libre
  • une charge comprenant une force électromotrice C:\Documents and Settings\fouad\Bureau\dioddd\diode+ttttttttttp\Redresseur-Redresseur simple alternance monophasé 1 - Wikiversité_fichiers\400px-Redresseur_monophase_resistif.png

Charge purement résistive

Une diode en série avec une résistance pure peut jouer le rôle de redresseur.On suppose que v(t) = \sqrt2Vsin(\omega t)et T = \frac{2\pi}\omegaest la période de v(t).


Calcul de la valeur moyenne du courant de sortie du redresseur :
Lorsque la diode conduit, on a, d’après la 
loi d’Ohm :

i(t) = \frac {v(t)}R = \frac {\sqrt2Vsin(\omega t)}R

La diode est passante jusqu’à ce que le courant qui la traverse s’annule. Or i(t) s’annule pour \scriptstyle{t =} \textstyle{\frac T2}. À partir de cet instant, la diode est bloquée.

Par conséquent, le courant traversant la charge est :

  • Pour~0<t<\frac T2 \qquad i(t) = \frac {v(t)}R = \frac {\sqrt2Vsin(\omega t)}R
  • Pour~\frac T2<t<T \qquad i(t) = 0

La valeur moyenne du courant i(t) est donc :

<i(t)> = \frac1T\int_0^T i(t)\mathrm dt = \frac1T\int_0^{\frac T2} \frac {\sqrt2Vsin(\omega t)}R\mathrm dt

donc

La présence de la diode impose que le courant ait un signe constant. La valeur moyenne de ce courant est imposé par les paramètres de la source et de la charge résistive.

<i(t)> = \frac \sqrt2 \pi \frac VR


Calcul de la valeur moyenne de la tension de sortie du redresseur :
La 
loi des mailles donne v(t) = v_s(t) + v_D(t)~. On a alors, en supposant que vD(t) est nulle lorsque la diode conduit :

  • Pour~0<t<\frac T2 \qquad v_s(t) = v(t) = \sqrt2Vsin(\omega t)
  • Pour~\frac T2<t<T \qquad v_s(t) = 0

La valeur moyenne de la tension vs(t) est donc :

<v_s(t)> = \frac1T\int_0^T v_s(t)\mathrm dt = \frac1T\int_0^{\frac T2} \sqrt2Vsin(\omega t)\mathrm dt

Donc

<v_s(t)> = \frac \sqrt2 \pi V

La valeur moyenne de la tension de sortie est positive. On peut également remarquer que cette valeur moyenne dépend uniquement des paramètres de la tension d’entrée.

Définition

Un redresseur double alternance monophasé est un redresseur redressant les alternances négatives et conservant les alternances positives d’une entrée monophasée. La fréquence en sortie du redresseur est alors le double de la fréquence d’entrée.

Si V(t) est la tension d’entrée et Vs(t) la tension en sortie du redresseur, on obtient alors une tension de sortie qui ressemble à la suivante 

C:\Documents and Settings\fouad\Bureau\dioddd\diode+ttttttttttp\Redresseur-Redresseur double alternance monophasé - Wikiversité_fichiers\Redresseur_monophase_double_alternance_courbe.png

La tension d’entrée utilisée pour illustrer le chapitre est une tension sinusoïdale. En effet, la tension à redresser est souvent le réseau monophasé domestique (le réseau 50Hz d’EDF en France, par exemple).

Il existe deux types de redresseurs simple alternance :

  • les redresseurs double alternance non commandés ou ponts de diodes, composés de diodes
  • les redresseurs double alternance commandés, composés de thyristors

Dans les montages qui suivent, la charge, qui est souvent de type inductif, est représentée par une source de courant.

Pont de Graëtz non commandéC:\Documents and Settings\fouad\Bureau\dioddd\diode+ttttttttttp\Redresseur-Redresseur double alternance monophasé - Wikiversité_fichiers\Redresseur_monophase_double_alternance.png

Ce type de redresseur est réalisé en utilisant un montage en pont de Graëtz avec des diodes comme le montre le schéma suivant :

Le fonctionnement de ce montage est basé sur les fonctions Max et Min vues en introduction. En effet, les diodes D1 et D2 conduisent quand V(t), la tension d’entrée, est positive. Les diodes D3 et D4 conduisent quand V(t) est négative.

Supposons que la tension d’entrée est de la forme :

V(t) = V\sqrt2sin(\omega t)

et \omega = \frac{2\pi}T


Calcul de la valeur moyenne de la tension de sortie :
Entre 0 et 
\textstyle{\frac T2}D1 et D2 conduisent, on a alors Vs(t) = V(t). Entre \textstyle{\frac T2}et TD3 et D4 conduisent, on a alors Vs(t) = − V(t).

La tension de sortie est donc périodique de période \textstyle{\frac T2}. La valeur moyenne de la tension de sortie est :

<V_s(t)> = \frac1{\left(\frac T2\right)}\int_0^{\frac T2}V(t)\mathrm dt = \frac1{\left(\frac T2\right)}\int_0^{\frac T2}V\sqrt2sin(\omega t)\mathrm dt

Finalement,

<V_s(t)> = \frac {2\sqrt2}\pi V