Iot Jury
Iot Jury
Semester V
Group Members:
Archna Singh (BFT/21/22)
Asmita Bala (BFT/21/410)
Shambhavi Arya (BFT/21/44)
1.1. Problem Statement: Machine health monitoring through various sensors and collection of real-time
data
The current state of industrial sewing machines is marred by a critical issue: frequent breakdowns caused
by an excessive flow of electrical current. This recurrent problem not only disrupts production processes
but also results in significant financial losses due to downtime, repair costs, and potential damage to
materials in progress.
The root cause of these breakdowns is the lack of an effective current monitoring and regulation system
within the sewing machines. The absence of mechanisms to detect and mitigate excess current flow in
real-time exacerbates the risk of equipment failure, posing a significant challenge to the sustainable and
efficient operation of sewing processes.
Hence, the central problem to be addressed is the design and implementation of a reliable current
monitoring and regulation system for industrial sewing machines. This system should be capable of
promptly identifying instances of excessive current flow and initiating appropriate corrective actions to
prevent breakdowns. The ultimate aim is to enhance the operational resilience of sewing machines,
minimize unplanned downtimes, and reduce the economic impact associated with repairs and material
wastage.
○ The ACS712T is part of the Allegro Microsystems' ACS712 series, a family of Hall
effect-based linear current sensors designed for accurate and precise current
measurement.
○ Leveraging the Hall effect, these sensors generate a linear output proportional to the
current flowing through a nearby conductor.
○ The ACS712T variant is known for its high precision, low-noise performance, and
user-friendly interface.
○ Engineers and hobbyists often integrate ACS712T sensors into their projects for reliable
and real-time current monitoring, benefiting from the sensor's compact form factor and
ease of use.
● FL-3FF-S-Z relay
○ FL: This could be an abbreviation related to the type, function, or series of the relay. For
example, it might stand for "Flasher" or refer to a specific series.
○ 3FF: This part of the code might indicate the relay's form factor, package type, or pin
configuration. "3FF" could potentially refer to a 3 Form Factor, which is a common
terminology in relay configurations.
○ S-Z: These letters may provide additional details about the relay's features or
specifications. Without specific information, it's challenging to determine the exact
meaning of these letters.
● Jumper wire
○ Jumper wires are essential components in electronics and prototyping, commonly used to
establish electrical connections between various components on a breadboard or between
different points on a circuit.
○ These wires typically consist of insulated copper conductors with male or female
connectors at each end, allowing for easy and temporary connections.
● Socket board 20 A
○ It is an electrical device designed to provide multiple power outlets for devices and
appliances with a total current rating of up to 20 amps.
○ The board typically includes multiple sockets, allowing users to connect several electrical
devices simultaneously.
○ These socket boards are commonly used in households, offices, and other locations where
multiple devices need to be powered from a single power source.
○ It's important to ensure that the total current drawn from all connected devices does not
exceed the specified ampere rating to avoid overloading the circuit.
○ Socket boards are convenient for organizing and powering various electronic gadgets and
appliances in a centralized and accessible manner.
○ Users should always adhere to safety guidelines and the manufacturer's recommendations
when using electrical socket boards.
● Wire 1 m
○ A versatile open-source development board that combines the ESP8266 Wi-Fi module
with an integrated USB and serial converter.
○ This compact and cost-effective board is widely used in Internet of Things (IoT) projects
and prototyping.
○ Key features of the NodeMCU ESP8266 include its ability to connect to Wi-Fi networks,
making it suitable for wireless communication and IoT applications.
Bill of Materials
● Device Management:
○ Fogwing enables users to register, manage, and monitor IoT devices remotely.
○ This includes features such as device provisioning, authentication, and configuration.
● Data Ingestion and Storage:
○ The platform allows users to collect, store, and manage data generated by IoT devices.
○ This data can include sensor readings, telemetry data, and other information.
● Connectivity:
○ Fogwing provides connectivity options for various IoT devices.
○ This often includes support for common IoT communication protocols such as MQTT
(Message Queuing Telemetry Transport).
● Real-time Monitoring and Dashboards:
○ Users can monitor the status and performance of their IoT devices in real-time through
dashboards.
○ This feature is essential for tracking the health and behavior of IoT deployments.
● Data Analytics:
○ Fogwing may offer tools and features for analyzing the data collected from IoT devices.
○ This could involve real-time analytics, historical analysis, and the extraction of actionable
insights from the data.
3.3. Create a Device Type: Define the device type for the ESP8266 module.
3.4. Get Fogwing Credentials:Obtain the necessary credentials (Device ID, Access Key, Secret Key) from
Fogwing for the device. These credentials are used to authenticate the ESP8266 module with the Fogwing
platform.
3.5. Programming ESP8266:
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <ACS712.h> // Include ACS712 library
PubSubClient client(espClient);
ACS712 sensor(A0, 5.0, 1023, 66); // Initialize ACS712 sensor object for 30A variant on pin A0
void setup() {
Serial.begin(115200);
delay(100);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // Initially, set the relay pin to HIGH (Closed position)
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi!");
void loop() {
float acCurrent = sensor.mA_AC(); // Measure AC current using ACS712 library
if (!client.connected()) {
reconnect();
}
}
void reconnect() {
while (!client.connected()) {
if (client.connect(clientID, username, mqttPassword)) {
Serial.println("Connected to MQTT broker");
} else {
Serial.print("Failed, rc=");
Serial.println(client.state());
delay(2000);
}
}
}
3.6. Data collection process on Fogwing platform:
Ideal Data
When the machine is working at maximum speed.
When the machine is connected to the main but the power supply is off.
When the machine is running at medium speed.
Blynk is a platform designed to simplify the development of Internet of Things (IoT) projects by
providing a user-friendly interface for building mobile applications to control and monitor connected
devices. The platform is particularly popular among makers, hobbyists, and developers involved in IoT
and home automation projects. Here's a brief overview of the key features and components of the Blynk
platform:
● Cloud Connectivity:
○ Blynk provides a cloud-based infrastructure that facilitates communication between the
mobile app and the connected IoT devices.
○ This allows for remote monitoring and control over the internet.
● Blynk Library:
○ The Blynk library provides a set of APIs for various programming languages (Arduino,
Python, Node.js, etc.) to enable seamless integration of Blynk functionality into the
firmware of IoT devices.
● Energy System:
○ Blynk employs an "energy" system where users are allocated a certain amount of energy
for free, and additional energy can be purchased if needed.
○ Each widget added to the mobile app consumes a specific amount of energy.
Overall, Blynk simplifies the process of creating IoT applications, making it accessible to a broad
audience with varying levels of programming expertise. It is well-suited for projects ranging from simple
home automation setups to more complex industrial IoT applications.
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(vibrationPinAnalog, INPUT);
}
void loop() {
Blynk.run();
int totalValue = 0;
for (int i = 0; i < windowSize; i++) {
totalValue += analogRead(vibrationPinAnalog);
delay(10); // Adjust delay between readings
}
_____________________________________________________________________________________
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <ACS712.h> // Include ACS712 library
ACS712 sensor(A0, 3.3, 1023, 185); // Initialize ACS712 sensor object for 30A variant on pin A0
void setup() {
Serial.begin(115200);
delay(100);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // Initially, set the relay pin to HIGH (Closed position)
Blynk.begin(auth, ssid, pass); // Connect to Wi-Fi and Blynk using your Auth Token, Wi-Fi SSID, and
password
void loop() {
Blynk.run(); // Run Blynk
float voltage = 230.0; // Assuming standard voltage (modify according to your region)
float power = (acCurrent / 1000.0) * voltage; // Calculate power in watts
float powerConsumption = power * (interval / 3600000.0); // Calculate power consumption in kWh
// Send AC current, power, and power consumption data to Blynk virtual pins V0, V1, and V2
Blynk.virtualWrite(V0, acCurrent);
Blynk.virtualWrite(V1, power);
Blynk.virtualWrite(V2, powerConsumption);
Serial.print("Current: ");
Serial.println(acCurrent);
if (!relayOff) {
Serial.println("Turning off relay");
digitalWrite(relayPin, LOW); // Turn off the relay
relayOff = true;
relayOffStartTime = currentMillis;
} else if (currentMillis - relayOffStartTime >= relayOffDuration) {
Serial.println("Turning on relay");
digitalWrite(relayPin, HIGH); // Turn on the relay after relayOffDuration
relayOff = false;
}
_____________________________________________________________________________________
The prototype of the proposed system during the on-state and the off-state of the sewing machine,
respectively. The ACS712 current sensor was placed in the circuitry of the main power supply in fig. 5.1.
(a) and (b), while the LM393 vibration sensor was placed right on the motor’s surface to ensure that the
vibration produced by the motor can be sensed effectively, shown in fig. 5.2. (a) and (b).
Fig. 5.1. (a) Fig. 5.1. (b)
Fig. 5.5. (a), (b) and (c) shows the notification message from Blynk as displayed on the mobile dashboard.
When the user opens the Blynk application, the Blynk server will retrieve the data from the Blynk cloud
to display the measurement values on all widgets added to the page.
Fig. 5.5. (a) Notification message from Blynk Fig. 5.5. (b) Graphical User Interface in
application displayed on the mobile dashboard. T Blynk Application