N-Cus-Weather with Azure
Tags: azuretrialhack, azure, devops, programming
Published: 2022-02-17 20:10:41

[Instructions]: # (To submit to the Microsoft Azure Trial Hackathon on DEV, please fill out all sections.)


### Overview of My Project

Development of a fully fledged hardware to software weather station app integration with azure.

**Problem** -- Due to the most of the incoming services on weather people are not able to see and take accurate measurements on **custom area**..

**Solution using Azure** -- So I have developed a hardware integration where we installed a weather station physically on my house and with attachment of all types of sensors like UV Sensor, Lux sensor, rain sensor, temperature, pressure, humidity, air pollution levels sensors and many more. I integrated all those hardware devices with one single unit with Arduino and with the help of IoT then wrote the website code with JavaScript and CSS and using NodeJS and react. I used Azure app services to load them with it and Azure DevOps for cont. monitoring and seeing them through CI/CD pipelines. Then also used Cosmo DB for all weather database storing in key pair format and generating report and doing it further on.

The landing page gives this scenes
![landing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbycyklhhlqw6931y8zj.png)

The temperature record here exactly recorded from sensors and data is kept at Cosmo DB is shown below
![temp](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1dq0a6c05hizka7f4n68.png)

The this week tab shows us the week data which is calculated from the last weeks data and predictions used in our algorithm showing the approx. temperatures of next week
![thisweek](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4zib1d50d2jqa5f3uwxh.png)

The todays highlights' part  shows us the details of the present day where the data is shown and parameters are there which comes from all hardware sensors that we have connected and integrated with Arduino.
![todayhigh](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wb010buln22120ml0d0.png)

When we click the each tile it pops up and gives all detailed detail of data with what it is, and its latest records of data from Azure Cosmo DB. Here, with the time stamp the records are shown here you can see the latest data has been taken presently today that is today itself **2022-02-17** at and the average of the 3 data amongst them is shown at the side.
![tile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npuvqtyi595qr2fahjky.png)

The azure app service where we deployed this whole infrastructure and with our website code looks something like this 
![azure](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3aazc5sdeiqcc1tl3p5.png)
![ms](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fhhnl056in0hwjdvui6z.png)
 
Then all this is kept in **continuous development** of the code to innovate more so we have kept all the things in sync with the **GitHub triggers, DevOps CI/CD pipelines** so that new code when committed it directly launches to production after our review. 
So more automation is there.
![devops](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76nqx9ye8japjz03p5z4.png)
 

The **physical hardware setup** of sensors and weather station is built with full working conditions.

The Arduino code setup file with all the integrated sensors is attached in GitHub repo also.
![code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ozst1gvtlkot8hfyou2k.png)
![sensors](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5gojw3aneomtopj7lop.png)

### Submission Category: 

Computing Captains

Azure Services Involved --> Azure App Service, Azure Static Web Apps, Azure DevOps, Azure CosmoDB.


### Link to Code on GitHub
[Weather-Github](https://github.com/varanasiroshan2001/weather-app)

### Additional Resources / Info

Complete Video Demo of the project --
[YouTube-Demo](https://youtu.be/WjqBbUzbGF0)