ADMS-Real-time-project
This project is very diverse and based upon many languages and libraries such as C++, Python, JavaScript, PHP and MQTT
Advance_database_monitoring_and_controlling_system_LJK
[email protected]) , Nitya Pragneshbhai Parikh([email protected])
Credentials: Parth Vijaykumar Soni(This project is based upon controlling and monitoring the system which allows user to control the system from any corner of the world through webportal.
Features
User Features
- Users can operate device using RFID cards allocated to them on the bases of their role in LJK organization.
- Each user is provided by an unique card having prepaid balance of hours. After completion of the balance user need to contact admin for recharge it again.
- User can operate device from webportal hosted over internet (http://adms.ljinstitutes.org/) by logging in using proper credentials provided to them by superuser(i.e Administrator), in case if they forgot their cards.
- In webportal(http://adms.ljinstitutes.org/) user can only monitor and control specific building of organization on the bases of their role.
- Locking and unlocking of a individual system or of a building in which systems are installed can also done via user from webportal.
- User can moniter system's various entities, like if a system is an Air Conditioner, user can monitor it's temperature, humidity and power consumption.
- Users need not to search for A.C's remote, as the device is supplied with IR sensor.
Administrator Features
- The administrator have the crendential to control all the buildings.
- Admin also possess control to recharge the user's hours using webportal.
- Admin has right to block the user or change the user role in the handling of devices.
- He/She can also lock/unlock whole building or an individual room.
- An Administrator also possess the credentials for c-panel for changing the code or database
- Administartor role can be played by only one faculty of L.J institutes of engineering and technology. However, c-panel's credentials are only provided to the webportal engineers who can handels technical functions of it.
- Admin can also generate report for an individual room's consumption, temperature and humidity in the form of pdf, excel or can print directly.
Working Flow
We used this device to control two A.C., both of them share common device
-
When the device is turned on, at the very first moment it will try to connect with broker server.
-
If it connects to the sever a long buzz sound will be played to indicate the user about the connection, else it will retry every five seconds.
-
User with his/her unique card provided by admin, in order to operate the device tap on the surface of it.
-
After Scanning the card, the credentials of the user along with necessary information of device(i.e. status of device, device id, it's IP address, and broker IP address) is send by the device to a broker server via ethernet.
-
This communication between device and broker server is interfaced by mqtt publish-subscribe functionality.
-
The device publish a message on a topic which is subscribed by the various clients on the side of the broker and vice versa.
-
Broker decodes the message received from device and send it to the main server hosted over the internet.
-
Main server receives the request and check for user authentication and other details of device such as status of device(on/off , lock/unlock), available hours for user.
-
Server then revert back with following response: 1) True = If user is validated and everything match with conditions on server side. 2) False = If device is not found 3) Access denied = 4) Communication error = If the card is not validated 5) Invalid card = If card id of user is not match with
-
If the received response from server is "True" then broker sends the payload to the device to turn on the first A.C. via mqtt protocols.
-
Device works as per the payload.
-
Payload consists of single integer value each of them represents the following: 1) 0: 2) 1: 3) 2: 4) 3: 5) 4: 6) 7:
-
After first A.C. turned on, to switch on the second ac user need to press a toggle button, provided on the side of rectangular device.
-
Second A.C. will only turn on if and only if first A.C. is on, if first A.C. is not on then pressing the side button will not make any impact.
-
To turn "on" the A.C. 2 card number of user is required, but, as the user already scanned the card at the first time while turning "on" first A.C., the card number is now saved in the device and hence for this reason the device will send card number for the second A.C. implicitly.
-
So, now when the button is pressed the same message which was send for first A.C. is now send for second A.C. to broker via mqtt interfacing.
-
Like wise the broker will send the message to the server and sever will response with the same message as mentioned in point number 9.
-
By receiving the sever reponse the broker will generate the appropriate payload as mentioned in point 12.
-
One intriguing question might arise that "how the deivce identify two different A.C. ?". To