Skip to content

Borda Academy 2021 Intership Project about Smart Office Technologies. Capacity calculation per room and office. Hotdesk and Meeting Room Rezervation. Note that this Repo only contains the hardware part of the project.

Notifications You must be signed in to change notification settings

Yusufss4/zone-based-indoor-positioning-and-hotdesk

Repository files navigation

Contributors Forks Stargazers Issues


Logo

Intership Project Indoor Positioning and Hotdesk

Borda Academy 2021 Project Co-Working Smart Office Hardware Part
Watch Video · Report Bug · Request Feature

Index
About the Project · Products · Part List · How to Run · MQTT · Team

About the Project

In this project there are three different task in the hardware section. These are;

  1. Capacity Calculation Per Room. Detecting a person if they are in the room and send information according to that.
  2. Capacity Calculation Per Office. Detecting a person if they are in the office or not using gateways.
  3. Hotdesk and Meeting Room Scheduling. Controlling e-papers according to the information coming from the server.

Project Diagram

Products

There are five different products in the project but only four of them can be coded and one of them can be only configured.

ESP32 In Room Scanner

Explanation

ESP32 - In Room Scanner first scans the bluetooth devices and creates a buffer filled with RSSI signals and MAC addresses of the scanned devices. Later duplicate signals are being averaged and removed from the buffer and passed to the new buffer. Later in the publish MQTT function this buffer is transformed to JSON format and sent along with the MAC address of the device itself to differentiate the rooms (devices) from each other. This information will be processed by the server application and with the threshold value determined for each room the server will decide if the person is in the room and if it is in the room which person it is and send the number of people in the room information to the /nrom topic.

Connection Diagram

Connection Diagram

Box Design

Box Design

Product

Product

ESP8266 Door Lighting Controller

ESP8266 always listens to the topic /nrom and whenever a message comes first by looking at the MAC addresses sent with the message it decides if the message is intended for it or not. If it is intended for that specific device according to the number of people information in the message it lights the NeoPixel LEDs. If the capacity is reached all LEDs will light in the color of red.

Connection Diagram

ESP8266 Door Lighting Controller Connection Diagram

Box Design

ESP8266 Door Lighting Controller Box Design

Product

Product

ESP32 E-Paper Controller

E-paper controller ESP32 constantly listens to the publishments coming to the MQTT topic to which it is subscribed. When there is Publishment, it runs the bluetooth functions and does a scan. When it matches the UUID advertised by the shelf label with the UUID data received by MQTT, it establishes a connection with the shelf label. If the connection is successful, it sends the data to the electronic shelf label. If not, it will scan again and try to connect. MQTT sends a warning message to the broker if it cannot find a UUID value to match by scanning.

Connection Diagram

Connection Diagram

Box Design

Box Design

Product

Product

E-Paper

Electronic Shelf Label is ready for a connection request by ESP32 by constantly making advertisements. The shelf labels used for the hot desk have two different screens. Reserved and Available screens. According to the data received by ESP32, the shelf label display is updated. The shelf labels used for the Meeting Room also have two different screens. Busy and Next event screens. According to the data received by ESP32, the shelf label display is updated.

Screen Design

Product

Box Design

E-Paper Box Design E-Paper Box Design

Product

Product

Required Parts (BOM)

All the required parts are determined for 2 Hotdesk, 2 Beacon, 2 Room and one Office. If you want to increase the number of rooms that you want to install you have to multiply the ESP8266 Door Light and ESP32 In Room Scanner equipments by two. Each room has one ESP8266 and one ESP32.

BOM For ESP8266 Door Lighting Controller

Name How Piece How Many Where
ESP32 Main Controller 1 1 Per Room/Device Near the door
NeoPixel 24 Ring Capacity Indicator 1 1 Per Room/Device Near the door
5V Adapter Power for ESP32 1 1 Per Room/Device Near the door
4x6cm Soldering Prototype Board ESP32 Placement 1 1 Per Room/Device Near the door
470R 1/4W Resistor NeoPixel Signal Resistor 1 1 Per Room/Device Near the door
5.5x2.21mm DC Power Jack Power for ESP32 1 1 Per Room/Device Near the door
1x40 Male Header 80 Pin 90 Degree ESP32 Placement 1 1 Per Room/Device Near the door
1x40 Female Header 40 Pin 180 Degree ESP32 Placement 1 1 Per Room/Device Near the door
1000uF Capacitor NeoPixel Current Protection 1 1 Per Room/Device Near the door
6x6x5 Push Button WiFi Access Point Reset 1 1 Per Room/Device Near the door
Blue LED MQTT Indicator 1 1 Per Room/Device Near the door
3D Printed Box Upper-Piece Box Upper 1 1 Per Room/Device Near the door
3D Printed Box Lower-Piece Box Base Plate 1 1 Per Room/Device Near the door
50mm Lens or Glass To See Onboard Leds 1 1 Per Room/Device Near the door

BOM For ESP32 - In Room Scanner

Name How Piece How Many Where
ESP32 DevkitV4 Main Controller 1 1 Per Room/Device Inside the Room
ESP32 Taoglas 2.4Ghz External Antenna for ESP32 1 1 Per Room/Device Inside the Room
5V Adapter Power for ESP32 1 1 Per Room/Device Inside the Room
4x6cm Soldering Prototype Board ESP32 Placement 1 1 Per Room/Device Inside the Room
5.5x2.21mm DC Power Jack Power for ESP32 1 1 Per Room/Device Inside the Room
1x40 Male Header 80 Pin 90 Degree ESP32 Placement 1 1 Per Room/Device Inside the Room
1x40 Female Header 40 Pin 180 Degree ESP32 Placement 1 1 Per Room/Device Inside the Room
6x6x5 Push Button WiFi Access Point Reset 1 1 Per Room/Device Inside the Room
LEDs Status LEDs 3 1 Per Room/Device Inside the Room
3D Printed Box Upper-Piece Box Upper 1 1 Per Room/Device Inside the Room
3D Printed Box Lower-Piece Box Base Plate 1 1 Per Room/Device Inside the Room

BOM For ESP32 - E-Paper Controller

Name How Piece How Many Where
ESP32 DevkitV4 Main Controller 1 1 Per Room/Device Inside the Room
5V Adapter Power for ESP32 1 1 Per Room/Device Inside the Room
4x6cm Soldering Prototype Board ESP32 Placement 1 1 Per Room/Device Inside the Room
5.5x2.21mm DC Power Jack Power for ESP32 1 1 Per Room/Device Inside the Room
1x40 Male Header 80 Pin 90 Degree ESP32 Placement 1 1 Per Room/Device Inside the Room
1x40 Female Header 40 Pin 180 Degree ESP32 Placement 1 1 Per Room/Device Inside the Room
6x6x5 Push Button WiFi Access Point Reset 1 1 Per Room/Device Not Added Yet
LEDs Status LEDs 3 1 Per Room/Device Not Added Yet
3D Printed Box Upper-Piece Box Upper 1 1 Per Room/Device Inside the Room
3D Printed Box Lower-Piece Box Base Plate 1 1 Per Room/Device Inside the Room

Other Parts

Name How Piece How Many Where
MTag2901 2.9" ESL Tag Room Status Screen 1 1 per Room Near the door
MTag2901 2.7" ESL Tag Hotdesk Status Screen 2 1 per Table On the table
CR2450 3V Battery Battery for ESL 2 2 per ESL In ESL
CR2477 3V Battery Battery for E7 Beacon 2 1 per People In Beacon
G1-C Gateway BLE Office Covarage 1 1 per Office Middle of Office
E7 Plus Beacon BLE Advertisement 2 1 per People On People's Pocket
Extension cable To Extend Power 2 As you require Near Power

How to Build and Run

ESP32 In-Room Scanner and ESP8266 Door Light Controller

  1. You can run the project without all the Leds, power adapters, buttons, cables etc. just by uploading code to the necessary controller boards like ESP32 and ESP8266.
  2. Download the code for each device. Each document is divided in the files too.
  3. Download the ESP32 and ESP8266 Packages for board manager in Arduino IDE.
  4. For ESP32 click Tools->Partition Scheme->Huge APP (3MB/No OTA) so that code can compile.
  5. You have to use a MQTT Broker for publishing and subscribing topics. From the MQTT Config change the connections to whatever broker you are using.
  6. If you are using a broker that requires a certificate uncomment the certificate and transform the WifiClient to WiFiClientSecureso that ESP32 or ESP8266 can transfer the certificates. ,
  7. Pull the Button Pin to the 3.3V if you did not connect the button so that WiFi manager does not reset the WiFi credentials.
  8. ESP32 In-Room Scanner and ESP8266 uses WifiManager so to connect the devices to the WiFi, if the device is not connected the Access Point will be opened, first you should connect to the wifi network created by device, name will be Fora - [Mac Address of Device] and later a web page application will be opened if you connect to that Access Point. Later you can connect to any wifi.
  9. After connecting both ESP32 and ESP8266 to WiFi and MQTT Broker you can test the device using the MQTTLens application.
  10. If you made all the connections like buttons, leds, neopixel etc. you can test the PCB by running the code PCBTester in the Demo files.

ESP32 E-Paper Controller and E-Paper

MQTT Connections / Topics

  • Topic and Data Type documentation can be reached from here.
  • To connect the devices you have to use a MQTT Broker. For the connections steps please follow How to Run steps.

Some of the alternatives for the MQTT Broker:

  • Deployed RabbitMQ
  • Adafruit IO
  • EMQX
  • HiveMQ (Not Stable)

General Diagram showing the communication can be seen below.

MQTT Diagram

Team Behind the Hardware

Yusuf Savaş Utku Urkun Ata Korkusuz

Berkay Arslan Zeynep Bilge Emine Acar

Eymen Topçuoğlu

About

Borda Academy 2021 Intership Project about Smart Office Technologies. Capacity calculation per room and office. Hotdesk and Meeting Room Rezervation. Note that this Repo only contains the hardware part of the project.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published