#Trending NodeMCU Projects
Explore tagged Tumblr posts
technology-123s-blog · 10 months ago
Text
Exiting NodeMCU Based Projects for Academic Students
Tumblr media
Exiting NodeMCU-Based Projects for Academic Students
0 notes
adalidda · 4 years ago
Photo
Tumblr media
Illustration Photo: Connecting two Arduino based microcontroller devices, an Uno R3 and ESP8266 NodeMCU 12E to demonstrate a network enabled smart sensor platform (credits: ~~ zorro ~~ / Flickr Creative Commons Attribution 2.0 Generic (CC BY 2.0))
Digital Challenge - Solutions to build an Artificial Intelligence of Things system
GE Hydro France is looking for solutions to Build an AIOT (Artificial Intelligence of Things) system of systems:
GE Hydro are looking for mature companies, comfortable with IIOT/Artificial Intelligence/Tiny Machine Learning & Arduino with strong knowledge in embedded devices /electronics and libraries building to help them achieve a promise that the component will share its Health condition.
In this challenge, they expect an industrialized solution on a specific chosen GE use-case to accelerate their developments with external skilled resources. If the experience is a success, GE Hydro France will pursue on other asset types
CHALLENGE CONTEXT
‘Today, we are living in a world of expectation and are addicted to connectivity and structured information. GE Smart components is a response to these trends. However, to acquire information is difficult and associated costs are more than ever a concern for our customers.
PROBLEM STATEMENT AND AS-IS SITUATION
GE Hydro addresses sensing and data collection with Condition Monitoring Systems on critical components of the plant. Raw analog data are collected with cables & processed on a local server where they build features and interpretations but this strategy becomes difficult on smaller components where the return on investment is not profitable.
CURRENT CHALLENGES
Today, microcontrollers are evolving fast and become a great platform to collect, process and classify information at low cost, but GE Hydro assets are working in harsh environment and ‘off the shelf’ IOTs are not well industrialized to survive and do not exhibit sufficient reliability and cybersecurity to become Industrial IOTs.
SUCCESS CRITERIA
Time to Market, set-up time, deployment costs and solution versatility to GE Hydro’s Assess families.
DIGITAL CHALLENGE OWNER PROFILE
As part of GE Renewables Energy, GE’s Hydro business provides a comprehensive range of various solutions (Large & Small new Hydro Projects, Storage, Digital solutions), from design to commissioning, as well as Services for the maintenance and upgrades of all the plants through their life cycle.
DIGITAL CHALLENGE OWNER RESPOSIBILITES
Resources and manpower to work with innovators to implement the technology solution Mentoring and follow-up Access to facilities (GE workbench) and knowledge Technical reviews and sign off meetings to ensure the implementation phase runs according to plan If the pilot project is successful, opportunity to bid to implement the solution on other assets for GE Hydro
DIGIFED AND THE DIGITAL CHALLENGE OWNERS OFFER YOU:
The opportunity to respond to a real-world industry challenge adding a relevant use case to your unique value proposition. Up to €110k in funding – representing 70% of your project’s declared budget. Added value to your product, through high-level technical expertise, innovation support and access to pilot sites to deploy your solution If the pilot project is successful, opportunity to bid to implement the full solution for the Digital Challenge Owner Innovation management support focusing on sustainable business development – to help your innovation get to the market via DigiFed and the Smart Anything Everywhere ecosystem. Digital Innovation Hub (DIH) services to identify technical partners, commercial opportunities in Europe and receive tailored help, webinars and boot camps through the DigiFed project.
Submit your pre-selection form before 27th October 2020
Check more https://adalidda.com/posts/HePoex7nPhohyB3F7/digital-challenge-solutions-to-build-an-artificial
0 notes
juniperpublishers-ttsr · 5 years ago
Text
Weather Monitoring System Using Internet of Things - Juniper publishers
Journal of Trends in Technical and Scientific Research
Tumblr media
Abstract
In this research, a foundation is set for an efficient solution for tracking the weather conditions of a specific location and making the information available anywhere in the world. The technological advances behind this is Internet of Things (IoT), which is an efficient and effective solution for linking the things to the web and to connect the entire world of things in a network. Here things could be like electronic gadgets, sensors, and automotive electronic devices. The system functions with tracking and monitoring environmental circumstances such as temperature, relative humidity, light intensity, pressure and quantity of rainfall with sensors and whenever these scores exceed a selected threshold limit for each an e-mail, an SMS alerts the appliance owner to take the required steps
Keywords: Smart Environment; Internet of Things  Weather Monitoring System  Cloud
    Introduction
Present technological innovations focus primarily on managing and tracking various operations. To achieve human needs, these are increasingly emerging. To monitor and evaluate the circumstances in case of exceeding the prescribed level of parameters (e.g. noise, gas and radiation levels), an effective environmental monitoring system is needed. When objects such as environment embedded with sensor devices, microcontroller and multiple software applications become an environment of self-protection and self-monitoring, it is also called a smart environment. In such an environment the alarm or LED alerts automatically occur when some incident happens. The impacts on livestock, crops and humans due to the environmental modifications can be tracked and regulated by a smart monitoring system for the environment. By making the environment interactive with other objectives by using embedded intelligence, this is one of the applications that targets smart environment. Human needs are dependent on the type of information collected by the sensor devices, different kinds of monitoring systems. The two categories to which applications are categorized are based on event detection and spatial process estimation. Initially, sensor systems are implemented in the environment to detect parameters (e.g., temperature, humidity, pressure, LDR, noise, CO and radiation levels, etc.) while acquiring, computing and controlling information (e.g., noise and gas levels variations in the specified levels).Sensor devices are positioned at various places to gather information to predict the behavior of a specific area of interest. Here Internet of Things (IoT) is the concept of linking all the sensors to the internet [1]. The primary purpose of this document is to develop and execute an effective monitoring system whereby the necessary parameters are remotely controlled using the internet and the information collected from the sensors are stored in the cloud and analyzed there and then an email, an SMS alerts whenever the threshold limit exceeds [2].
    Materials and Methods
Problem Statement
The satellite weather reporting system provides the current condition that does not give the exact location condition. The drawbacks are in conventional approach where the devices are costly and have no visualization of information. There is no such automatic tool to offer the alert signal in case of any abnormalities, so it is difficult to regulate this abnormality
Proposed Model
Weather conditions are tracked in the home’s external environment or any buildings and information are transferred to the cloud server. The benefits will be that this system will manually transmit the real-time environment information. It is possible to view the information in any part of the world. This application isto monitor and update the condition of the surroundings regularly. Conditions of the environment can be tracked by gathering the data from the sensors and deposited in the cloud and analyzed there and then an email, an SMS alerts if the situation of the environment becomes abnormal.
Environment Monitoring System
An IOT application is used to monitor the environment that helps monitor the environmental condition of any local area or a surrounding area, and with the help of the internet everyone can view the condition. This application is more efficient, quicker in offering conditions for the environment [3]. It enables people or government to take remedial action if the environmental condition becomes abnormal. Environmental condition monitoring system offers a technique for verifying the condition and changes occurs over the surrounding. In this system we use Arduino, sound sensor, gas sensor, temperature sensor, moisture sensor, pressure sensor, IOT module. The humidity and temperature sensor will track climate change and provide information. It is helpful for agriculture [4]. To monitor pollution over the atmosphere, the gas and sound sensor are used. Currently, pollution from air and noise makes the environment more susceptible. Using this module, we can identify the polluted area and expressly create people’s consciousness for living in the pollution. Changes in the climate system cannot be accurately defined and sometimes accidentally defined, but with the help of an IOT module we can characterize more approximate changes in an environment and update them in the cloud. This system uses many modules as follows:
Sensor Module:
The sensor network is linked to a hefty amount of small sensor nodes that can be used as an effective tool for collecting information for different applications under different situations [5,6]. Different sensors are integrated into this study that has its distinctive way of collecting information from the surroundings. An integrated circuit sensor (LM35) used to evaluate temperature with an electrical output proportional to the temperature (in oC). If the temperature goes up, the fan is going on and vice versa. The factor of scale is .01V / oC. The LM35 requires no external calibration or trimming and retains a +/-0.4oC accuracy at room temperature and +/-0.8oC over 0 oC to+ 100 oC range.
System utilizes moisture sensors DHT11. It provides outstanding quality, quick response, capacity to prevent interference, and cost-effectiveness. On the calibration of humidity, this sensor is highly precise.
MQ-6 gas sensor’s sensitive material is SnO, which has lower conductivity in clean air. The MQ-6 gas sensor is highly sensitive to Propane, Butane and LPG, as well as natural gas response. The Sensor could be used to detect various fuel gases, particularly methane; it is appropriate for separate applications at a low price.
The sound sensor module offers a straight-forward sound monitoring technique and is generally used for sound power detectiondetection. This module can be used for apps for safety and tracking. Its precision for comfort of use can be readily adapted.
The BMP180 is an I2C standard device and a pressure sensor. It’s a 4-pin tool, i.e., SDA, SCL, VIN, GND. The connection between Vin and GND is 3.3V and GND. SDA connects to the nodemcu D2 pin and SCL connects to the nodemcu D3 pin.
Power Module:
The Power for the system can be provided via the adapter or the USB. Use the USB cable or an external power supply to power the Arduino board. Source of power can be selected automatically.
Controller Module:
This implementation is controlled by Arduino UNO. The Arduino board transforms to digital data the analog data produced by the sensor. Arduino is generated to monitor or comprehend the environment or surroundings by receiving feedback from a variety of sensors and can impact its atmosphere by controlling lights, engines, and other actuators. The board’s microcontroller is programmed using the Arduino programming language and Arduino development environment. Arduino projects can be separated or when operating on a desktop they can interact with software.
IoT Module:
The IoT board is intended to satisfy a range of online application demands with different benefits that allow the embedded system designer to readily, rapidly and seamlessly add internet connectivity to their applications. The module’s UART update feature and webpage management make them excellent for online wireless applications like environmental sensors and information from moveable battery-operated wireless sensor network devices. Lumisense IoT board is designed with SIM900 GPRS modem for active internet connection so that it is equipped with a controller for processing all UART data based on GPRS online data.
Light Dependent Resistor (LDR):
An LDR is a light-controlled variable resistor. The LDR’s strength is reduced by the increasing light intensity falling on it. It has an analog output that is an input to the nodemcu’s A0 pin.
Raindrop Module:
It is used for rain detection. It can also be used to measure rain intensity. It has both digital and analog output. This module analyses the moisture by means of analog output pin and gives a digital output when the moisture limit exceeds too much. The more water or less resistance implies the reduced voltage of the output. Whereas, the less water implies higher resistance, i.e, high output voltage on the analog pin. For instance, a totally dry board will result in five volts of module output. The module’s analog output is linked to the nodemcu’s A0 pin.
Working of the Analog Pin (A0):
The Nodemcu board has only 1 analog pin, but two analog output devices, viz, LDR and Raindrop module, are multiplexed to the A0 using two diodes in this project. The circuit of multiplexing is shown in Figure 1 below. Here the Raindrop Vcc sensor is connected to the nodemcu D7 and the LDR input is connected to the nodemcu D8. When D7 is high, D8 is low, making LDR off and module raindrop on. Thus,the raindrop sensor output reaches the nodemcu A0 through the diode. Similarly, when D8 is high and D7 is low, the LDR is on and the raindrop module is off creating a route for the LDR output to achieve the nodemcu A0 through the second diode.
Execution
Arduino is driven by a USB cable and the four sensors are linked to the Arduino board and the information collected from the sensors is stored in the cloud and analyzed there and then an email, an SMS alerts whenever the threshold limit exceeds. The IoT module is also linked to the Arduino board to receive feedback from the sensors and is driven by the adapter. The USB cable givespower to the Arduino board and then transfers information from Arduino board to the computer
Results
Once the sensor measures are downloaded to the cloud, the values are evaluated and then the threshold limit exceeds an e-mail, an SMS and a tweeter post are posted. Some findings of the study are as follows Figures 2 & 3.
Algorithm 1:Analog Pin Multiplexing Input: LDR D8, raindrop D7; Output: Analog pin A0 loop { if (digitalRead(D7) == HIGH) { A0=raindrop sensor value; digitalWrite(D7, LOW); } else if (digitalRead(D8) == HIGH) { A0=LDR value; digitalWrite (D8, LOW); } }
Algorithm 2:E-mail, SMS Input: temp, humidity, press, LDR, rain; Output: email, sms loop { temp=temperature value measured; humidity=humidity value measured; press=pressure value measured; LDR=light intensity measured; rain=rain value measured; if (temp && humidity && press && LDR && rain) { publish all the measured value to the cloud bluemixserial.println(temp); serial.println(humidity); serial.println(press); serial.println(LDR); serial.println(rain); } else { serial.println(” error! check the sensors.”); } if(temp>=40) { email=” The current temperature is” + temp; sms=” The current temperature is” + temp; } if(humidity>=50) { email=” The current humidity is” + humidity; sms=” The current humidity is” + humidity; } if(rain>=200) { email=” It’s raining outside. Bring your umbrella”; sms=” It’s raining outside. Bring your umbrella”; } if(LDR>=150) {post only once in a day { email=” Good Morning”; sms=” Good Morning”; } } }
    Conclusion
This System monitors the changes happening over the environment and provides enough ways for the users to access the information from anywhere through cloud. The temperature and humidity sensor will monitor and gives the details about the changes happening over the climate. The gas and sound sensor are used for monitoring the pollution over environment. The Monitored condition will be updated in the cloud.
To Know More About Trends in Technical and ScientificResearch Please click on: https://juniperpublishers.com/ttsr/index.php
To Know More About Open Access Journals Please click on: https://juniperpublishers.com/index.php
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes
svsembedded · 4 years ago
Text
Gas Alert System with IoT and Telegram App Using ESP32
youtube
IOT - Gas Alert System with IoT and Telegram app | Gas Alert System with IoT and Telegram App Using ESP32. ****************************************************************** If You Want To Purchase the Full Project or Software Code Mail Us: [email protected] Title Name Along With You-Tube Video Link Project Changes also Made according to Student Requirements http://svsembedded.com/ è https://www.svskits.in/ M1: +91 9491535690 è M2: +91 7842358459 ****************************************************************** 1. Gas Alert System with IoT and Telegram, 2. Gas Leakage Notificaction System. Using SMS, Twitter, 3. Notifications and Alarms on your smartphone using Telegram, 4. Home and Industrial Safety IoT on LPG Gas Leakage, 5. Gas Leakage Detector using Arduino with GSM Module, 6. Moisture sensor for IoT and Telegram Alert - Arduino Project, 7. Design of Gas Detection and Monitoring System using IoT, 8. Gas Leakage Detection and Automatic Gas Booking Alert, 9. Improving Smart Home Concept with the Internet of Things, 10. smart gas level monitoring, booking gas leakage detector over iot, 11. gas leakage detection and prevention kit provision with iot, 12. iot based gas leakage detection system pdf, 13. Building a Hill Fire Detection IoT with LoRa Part 1: Introduction, 14. IOT Based Garbage Management System - International, 15. A Cost-Effective IoT System for Monitoring Indoor Radon Gas, 16. Gas Detection System-Powered By IoT, 17. IoT Based Public Notification System - Arduino Project Hub, 18. Home Automation using Telegram - IJARCCE, 19. Top 10 IoT Sensor Types & How They're Being Used - BehrTech, 20. Home Security Using IOT and Machine Learning, 21. Import telegram group - Rhode Island Dental, 22. How to Use Telegram Instant Messaging on Raspberry Pi, 23. Wireless smoke detection sensor - Auroras srl, 24. IoT Based Smart Door Lock System - joics, 25. Iot Enabled Pipeline Leakage Detection and Real Time Alert, 26. Cash and Communication: New Trends in the Middle East and North, 28. IOT Based Distance Measuring System Using ESP32 29. QR Code Based Door Lock System using ESP32-CAM 30. RFID Based Automated Smart Shopping Trolley Using Raspberry Pi 31. ESP32CAM QR Code Reader | ESP32-CAM-QR Code Scanner 32. ESP32 CAM Based Video Surveillance Robot Over WiFi | Ai-Thinker ESP32-CAM Arduino IDE 33. ESP32-CAM Video Streaming Camera Over WiFi | Security Camera System for Home - IP (ESP32 - OV2640) 34. Arduino RGB LED Control using Bluetooth Android App 35. BarCode Scanner Interfacing with Arduino + USB Host Shield Module + 16x2 LCD Display 36. Arduino Joystick Control Car | Wireless Joystick Controlled Robot Car using 433Mhz RF and Arduino 37. Efficient Accident Vehicle Detection and Notification System Based on Raspberry Pi 3 38. ESP32 Home Automation Using in Built Bluetooth |Control Home Appliance Using ESP32 BLE + Android App 39. NodeMCU | ESP8266 | Arduino | IoT Based Railway Track Crack and Obstacle Detection Robot - GSM - GPS 40. ARM LPC2148 Based Smart City & IOT based Garbage Management System 41. Remote Patient Monitoring: Wearable Healthcare Devices Through IoT with Remote Patients 42. WiFi Based DC Motor Speed and Direction Control using NodeMCU 43. 14 Days With a Quarantine Tracker Wristband - Home Quarantine Location Tracking fixed Wristband 44. IVRS Based Home Automation with Immediate Voice & SMS Feedback Using Arduino TTS - GSM SIM800L DTMF 45. Control LED'S Using Arduino with SIM800L DTMF and SMS feature 46. IoT Applications on Secure Smart Shopping System using ESP32 | RFID 47. Wireless DC Motor Speed and Direction Control using Arduino with IR Remote 48. IoT Project : Home Automation and Weather Monitor Using NodeMCU with Cayenne 49. SMS Monitor || P10 LED Scrolling Text Display || Arduino || SIM800L 50. Home Security System Based on Smoke, Fire, Pir and Door Sensor's Alert Using MSP430G2553 LANCHPAD 51. Analog Clock Display using Arduino with TFT LCD 52. Smart Wristband buzzes to stop me touching my face 53. ESP32 Based Web Server for Temperature and Humidity Monitor using DHT11 Sensor 54. ESP32 Web Server Home Automation Control AC Appliances 55. Arduino TFT LCD Touch Screen GSM Mobile Phone 56. Arduino Fingerprint Sensor Based Door Lock Security System | Interfacing R307 Fingerprint Scanner 57. Tracking down the Vehicle Collision Detection and Messaging System using GPS and GSM
0 notes
svsembedded · 4 years ago
Text
Telegram App Controlled Home Automation Using ESP32 | IOT
youtube
Telegram App Controlled Home Automation Using ESP32 | IOT ,Telegram controlled Home Automation using NodeMCU | Google home esp32. ****************************************************************** If You Want To Purchase the Full Project or Software Code Mail Us: [email protected] Title Name Along With You-Tube Video Link Project Changes also Made according to Student Requirements http://svsembedded.com/ è https://www.svskits.in/ M1: +91 9491535690 è M2: +91 7842358459 ****************************************************************** 1. Telegram controlled Home Automation using ESP32, 2. Home Automation using Telegram Application , 3. IOT DIY Home Automation Arduino - Using Telegram, 4. How to Set Up Home Automation Through the Telegram, 5. Home Automation using Telegram IOT, 6. DIY Home Automation Arduino - Using Telegram, 7. Controlling Electrical Appliances Through Telegram Message, 8. Alcohol Sensing Alert System with IoT and Telegram App Using ESP32, 9. ESP8266 and Telegram Bot: Home Automation, 10. Home Automation using Telegram IOT – svsembedded, 11. How to Set Up Home Automation Through the Telegram , 12. Home Automation using Telegram – ResearchGate, 13. Controlling LED using ESP8266 and Telegram Bot - IoT Project, 14. Build a Bot to Communicate With Your Smart Home Over, 15. Control Home appliance by Telegram app using Raspberry Pi, 16. REALIZATION OF A LOW COST SMART HOME SYSTEM , 17. Webpage And Telegram Bot Controlled Home Automation, 18. Home automation with Telegram BOT | Raspberry PI Projects, 19. Raspberry Pi and Telegram Based Simple Home Automation, 20. Telegram: Control ESP32/ESP8266 Outputs with Arduino IDE, 21. Home Automation using Internet of things (IoT) – Simform, 22. Circuit Diagram for Telegram Controlled Home Automation, 23. Home automation using IoT and a chatbot using natural, 24. IoT Design Pro - Telegram controlled Home Automation, 25. Telegram controlled Home Automation using Arduino, 26. Wireless Home Automation System using IOT and Its Working, 27. Home Switching using IoT System via Telegram, 28. Telegram NodeMCU based Home Automation | IoT Starters, 29. Nodemcu Control Home Appliances Using Google Assistant, 30. Buy Raspberry Pi Telegram Bot, GPS Module, Flex Sensor , 31. google assistant controlled home automation - IEEE VEC, 32. Social Media Controlling Home Automation using Adafruit io and IFTTT, 33. Iot Based Web Controlled Home Automation Using Raspberry Pi, 34. Design, Implementation and Practical Evaluation of an IoT, 35. Secured Home Automation using OTP Authentication with Iot, 36. How to Start a Home Automation Company - IoT For All, 37. Home automation: Smart houses with connected products, 38. Remote Control of Home Appliances using Embedded IoT, 39. Control LED using Raspberry Pi with Telegram Bot – IoTbyHVM, 40. Home Automation With the ESP8266 Build Home Automation, 41. Development of Canny Home security system using Telegram, 42. Build A Clap- And Gesture-Controlled Robot, 43. Make A Digital Distance Meter With Arduino, 44. Decode An IR Remote For Home Automation, 45. Build A Model Of Satellite Dish Antenna Angle Controller, 46. Control Light Animations Using Android App, 47. Make Your Own Smart Wireless Biometric Lock, 48. Build GPS-Based Timer For Your Radio Set, 49. Make This Joystick-Controlled Robot, 50. Make This Joystick-Controlled Industrial Automation System, 51. Make This Noise Detector For A Noise-Free Zone, 52. Monitor Process And Graphical Trending Using MATLAB, 53. Build This IoT-Based Smart Home Controller Using Blynk, 54. Make Your Own Password Locker, 55. Measure Difficult Angles With This Digital Protractor, 56. Try Making This TFT-Based GPS Analogue Clock Using Arduino, 57. Design Your Own Digital Photo Frame, 58. Enjoy This Wireless 3D Mouse And Keyboard, 59. This IR Remote Can Control Up To Eight Devices, 60. Making This Versatile Arduino-Based Frequency Generator Is Simple, 61. Arduino Based Liquid Vending Machine, 62. Smart Water Meter To Help Control Water Wastage, 63. Basic Installation Of Access Control System, 64. ATmega328 Analogue I/O Port Expander Using I2C Bus, 65. Configure Arduino Uno As Square Wave Generator, 66. Make A Simple Capacitive Touch Keyboard With Arduino, 67. Make This Handy Zener Meter For Faster Testing, 68. OTP Based Wireless Smart Lock System
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes
netmetic · 5 years ago
Text
Developing an IoT Smart Home Prototype with Solace PubSub+
MakeUofT is Canada’s largest makeathon. Similar to a hackathon, it’s a place where projects come to life; a makeathon focuses on hardware-based projects where students build something from scratch through hardware and software integration.
The theme for MakeUofT 2020 was connectivity and machine learning. As a prime sponsor of the event, Solace challenged participants to make the best use of Solace PubSub+ Event Broker to stream events and information across cloud, on-premises, and IoT environments.
Joshua, a Mechatronics Engineering student at the University of Waterloo, participated with his group members in the MakeUofT 2020 hackathon and chose Solace’s technology to make their project. Below, he shares how he and his group designed and developed their project.
Inspiration for the Project
I have always been interested in the Internet of Things (IoT). In a nutshell, IoT boils down to having multiple devices (or “things”) connected together over a network to create automated process. Besides, the theme for MakeUofT 2020 was connectivity. So, it is quite natural for us to have an IoT project.
Home automation is an up and rising trend gaining more interest these days, anything from automatically controlling lighting, climate, entertainment systems to controlling appliances, home security and access control alarm systems in the house falls under the umbrella of a smart home. After thorough research and consideration, we decided to build a smart home prototype where we could create custom automated processes within the house.
What It Does
For our smart home implementation, we wanted to have a synchronized interaction between a web application and the IoT device in our smart home. This was achieved by having users click a button on a website which in return triggered an automated smart home process that would run on the hardware side of our smart home. Due to the time limitation of the hackathon, we decided to automate the following processes:
Playing music (we a chose a Star Wars theme song!)
Opening and closing a door
Turning on a fan
Ringing the alarm
Turning on lights that changed color
We also included a party mode which simultaneously ran all these processes at once.
Our Design and Implementation
Our design implementation included interactions between
AWS API Gateway
A Lambda function on AWS
Solace PubSub+ Event Broker
Arduino
Publisher
The workflow starts with the user clicking a button on the web application. This interaction triggers a GET request through the API gateway based on the button clicked.
k815wcmr99.execute-api.us-east-1.amazonaws.com/test/publictosolace?topic=openDoor
The API gateway triggered an AWS lambda function written in Python. This function’s sole purpose was to publish to a specific Solace topic based on the message body in the GET request. For example, if the message from the GET body request was “openDoor”, then the openDoor topic is published to the Solace PubSub+ Event Broker. This is synonymous to saying the web application is the “Publisher” of events.
Message = event[‘queryStringParameters’][‘topic’] if message == “openDoor”: solace_topic = “openDoor” # Publishes message to the MQTT bridge publish(client, solace_topic)
For more details on how the web page interaction was mapped to topics, check out this github repository
Subscriber
Our NodeMCU, programmed using the Arduino IDE, subscribed to various Solace topics. Based on the topic subscription, the NodeMCU performed a specific callback function that in return executed a certain behavior.
On the hardware side of our smart home, we used a NodeMCU (ESP8266). A NodeMCU works like typical Arduino UNO board, but what makes it different is that it has WiFi access which enabled us to connect to the Solace message broker. The NodeMCU was also used to connect to the different hardware components that performed various smart home functions. This included motors for our fan and door, a multicolor LED for our color-changing lights, a piezo buzzer for the music and alarm system, and an OLED display.
The Solace PubSub+ Event Broker has support for MQTT as a messaging protocol and it acted as a bridge that helped us easily connect our web services components to the hardware components of our project. From a web services standpoint, using an AWS lambda makes it very simple to publish to a topic as the Solace PubSub+ Event Broker took care of sending that data to subscribers. The publish/subscribe (pub/sub) pattern made it easy to get the NodeMCU to subscribe to different Solace topics and the Solace PubSub+ Event Broker took care of sending data to the NodeMCU whenever data was published to one of those topics from the web application.
Note that following this pub/sub pattern, we were also able to set up our architecture to easily expand on our smart home in the future. It allows us to send one command to multiple devices and take an action on it (this is how we easily implemented the party mode!). This architectural approach can also easily allow us to capture events and perform analytics to make recommendations for smart home users in the future.
Below is the code of our callback function that was set for the MQTT client. Note how easy it was for us to perform a specific smart home task based on the topic that was published.
//MQTT Callback void callback(char* topic, byte* payload, unsigned int length) { //Make a copy of the payload byte message[length + 10]; memcpy (message, payload, length); message[length] = “\0”; //Make a copy of the topic char t[sizeof(topic)* 4]; strncpy(I, topic, sizeof(topic)* 4); String topicString(t); //function call based on topic string if (topicString.equals(“light”)) {lightDisplay(); } else if (topicString.equals(“fan”)) {turnOnFan(1000); } else if (topicString.equals(“music”)) {firstSection(); } else if (topicString.equals(“openDoor”)) {openDoor(); } else if (topicString.equals(“closeDoor”)) {closeDoor(); } else if (topicString.equals(“alarm”)) {alarmMode(); } else if (topicString.equals(“party”)) {partyMode(); } else {} }
What’s Next
To further expand on this project, we would like to create custom Alexa skills where when users say a specific phrase, it triggers automated processes within the house. This would allow us to simulate a real-life example of how custom smart home commands could be implemented. For this design, the Alexa skill would trigger the AWS lambda which would publish to Solace PubSub+ Event Broker.
What I Learned
Through this project, I finally got hands-on experience with IoT and learned about the complexity and detail required for the various components of an IoT system to work correctly. I have also developed an understanding of the importance of a message broker like Solace PubSub+ Event Broker as it simplifies the connectivity between hardware and software along with allowing an easy expansion of our architecture through the decoupling of different components by following the pub/sub pattern. Furthermore, I learned about the various platforms that Solace PubSub+ Event Broker can be used with and about its many IoT applications that I look forward to exploring in the future.
You can watch a video of the project in action, and see our code in GitHub here.
Joshua Kurien is a first-year Mechatronics Engineering student at the University of Waterloo. He is passionate about the fields of IoT, robotics and machine learning and is interested in using these technologies to develop solutions to real-world problems.
The post Developing an IoT Smart Home Prototype with Solace PubSub+ appeared first on Solace.
Developing an IoT Smart Home Prototype with Solace PubSub+ published first on https://jiohow.tumblr.com/
0 notes