Background and Goal
• Meeting rooms within companies and offices premises are often under utilization at an expensive building cost;
• Majority of companies utilizes MS Azure AD as company Active Directory for corporate user identities handling, MS Outlook as email and calendar platforms, and where meeting rooms are seen as resources type of users, owning mailboxes and been handled/booked via MS Outlook (administrated via o365 admin console);
• To improve meeting rooms utilization and provide enhanced location based meeting rooms availability, this project integrates motion sensors into meeting rooms, where motion detection (PIR) and location (Google Wi-Fi Geolocation API) telemetric info is provided to backend non-SQL database (AWS DynamoDB) and applications (AWS Lambda), where this info is transformed into meaningful data for automatic meeting rooms reservation released due no activity/usage and provide to end-users closest available meeting rooms for utilization, based or their location.
• Sensors telemetry data is sent using MQTT (Message Queuing Telemetry Transport)protocol towards a MQTT broker (Mosquitto Server deployed in a AWS EC2 and S3), which in turns is integrated with AWS IoT (using TLS authentication) and backend non-SQL DB as mentioned above. •For prototyping purposes, client app is developed using Python, making using of Google Wi-Fi based Geolocation and AWS API Gateway, also integrated with backend AWS Lambada applications for meeting room lookup purposes.
This is a work in progress with final goal to have a full programmatic“one-click” server-side architecture using AWS Cloud Formation for MQTT Broker/ IoT Core / Cloud Watch and back-end Lambda functions. I will update thisproject continuously. Project Roadmap update will be shared soon.
How to read and use it?
Please consider the enclosed PDF slide-pack presentation for overall details of the project. All documented codes and configuration files attached directly to this project. AWS services configuration / screenshots are available at the slide-pack too.
Summary of the Steps (details at slide-pack)
- Step 1 - Build and Configure IoT Sensor (Slides 4-5)
- Step 2 - Instantiate and Configure EC2 Mosquitto MQTT Broker (Slides 6-7)
- Step 3 - AWS IoT Core Configuration and DynamoDB tables (Slide 8 and 17)
- Step 4 - AWS Lambda Function and CloudWatch event rule (Slides 9-12)
- Step 5 - AWS API Gateway endpoint (Slide 13)
- Step 6 - Desktop App (Slide 14)
- Step 7 - Microsoft Azure AD and o365 Exchange Online (Slides 15-16)