{"id":26385299,"url":"https://github.com/gituser143/maskit","last_synced_at":"2026-05-07T10:34:41.355Z","repository":{"id":68544391,"uuid":"288196791","full_name":"Gituser143/Maskit","owner":"Gituser143","description":"A smart COVID-19 mask detection system built for use in public workspaces!","archived":false,"fork":false,"pushed_at":"2021-10-13T07:36:57.000Z","size":20995,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-24T17:35:02.883Z","etag":null,"topics":["attendance-monitoring","aws-iot-core","covid-19","face-mask-detection","hacktoberfest","image-classification","iot","mqtt","pi-camera","raspberry-pi","rfid"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gituser143.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-08-17T14:06:54.000Z","updated_at":"2021-10-13T07:36:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc2a5b9b-a022-4835-adf1-63dfb34a2ca4","html_url":"https://github.com/Gituser143/Maskit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Gituser143/Maskit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gituser143%2FMaskit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gituser143%2FMaskit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gituser143%2FMaskit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gituser143%2FMaskit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gituser143","download_url":"https://codeload.github.com/Gituser143/Maskit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gituser143%2FMaskit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32733681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["attendance-monitoring","aws-iot-core","covid-19","face-mask-detection","hacktoberfest","image-classification","iot","mqtt","pi-camera","raspberry-pi","rfid"],"created_at":"2025-03-17T07:41:32.401Z","updated_at":"2026-05-07T10:34:41.337Z","avatar_url":"https://github.com/Gituser143.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Maskit\n======\n\nA smart COVID-19 mask detection system built for use in public workspaces!\n\nAs COVID-19 grows to be threat to reopening of economies, we must ensure to take preventive measures while moving about in public spaces, especially workspaces like colleges and offices. Our project aims to help ensure a few of the directed standard operating procedures (SOPs) to tackle COVID-19. We do so by ensuring employees/students/personals in public spaces are wearing their masks to avoid spread of germs and the virus.\n\nWe add this safety check to security mechanisms that already exist in workspaces (ID scanners). Most office workspaces make use of an RFID scanner which validates identity of an individual before providing access into the office. Maskit is a similar such device, which can identify and validate a person’s identity through RFID scans and additionally verify if the person is or is not wearing a mask. If the said person does have a valid identity (allowed to enter premises) and is following SOPs by wearing a mask which covers his/her mouth and nose, only then do we allow the person entry into the premises.\n\nIn performing such checks, we aim to smoothen and enforce guidelines which help people avoid the spread of the treacherous virus.\n\nArchitecture\n============\n\n![arch](images/arch.png)\n\nThe architecture of the project has been visualized above. We make use of a Raspberry Pi as the primary micro controller. The Pi is connected to 2 sensors, an RFID Scanner and a Camera Module. The Pi is also connected to 1 actuator, the Servo Motor (the door).\n\nAdditionally, the Pi connects to a close proximity Fog Server through a secure socket connection. It also connects to the Cloud through an active MQTT connection.\n\nFor simplicity of reading, the following terms are abbreviated.\n\n| Word             | Abbreviation |\n|------------------|--------------|\n| Raspberry Pi     | Pi           |\n| Pi Camera Module | Pi Cam       |\n| Servo Motor      | Servo        |\n| Fog Server       | Server       |\n\nWorkflow\n--------\n\n-\tRFID Scanner: The RFID scanner is used to scan ID Cards/RFID tags to verify identity of employees/students that wish to enter the workspace premises. Scanned RFID details are sent to the Pi for further processing and validation.\n\n-\tCamera Module: On successful RFID validations, the camera captures an image of the card holder and stores the image in the Pi for later classification.\n\n-\tFog Server: The fog server is used to run compute intensive image classification algorithms which are not possible on the Pi. On capturing an image, the Pi sends the image to this server, through a secure connection (TCP Socket with SSL encryption). Upon receiving this image, the fog server, runs the classification algorithm on this image, to determine whether or not, the card holder is wearing a mask.\n\n-\tMQTT Broker (Cloud): The MQTT Broker runs as a hosted IoT core service on AWS. We make use of this to log details about employees/students that move in and out of the workspace.\n\n-\tActuators: The only actuator present here, is the Servo Motor, which is used to simulate the function of opening a door and allowing access for an employee/student.\n\nPrerequisites\n=============\n\n-\tRaspberry Pi\n\n-\tPi Camera Module\n\n-\tRFID Scanner (RC522)\n\n-\tServo Motor\n\n-\tAWS account (For attendance logging using AWS IoT Core)\n\nRequired Setup\n==============\n\nHardware\n--------\n\nConnect the servo motor to the Pi according to the given pin layout.\n\n| Servo Pin   | Raspberry Pi PIN |\n|-------------|------------------|\n| VCC (3.3 V) | 1                |\n| Ground      | 6                |\n| Data        | 11               |\n\nConnect the RFID scanner to the Pi according to the below pin layout.\n\n| RFID Pin    | Raspberry Pi PIN |\n|-------------|------------------|\n| SDA         | 24               |\n| SCK         | 23               |\n| MOSI        | 19               |\n| MISO        | 21               |\n| IRQ         | No connection    |\n| GND         | 30               |\n| RST         | 22               |\n| VCC (3.3 V) | 17               |\n\n-\tConnect the Pi camera module to the Pi using the camera socket.\n\nNetwork\n-------\n\n-\tConnect the Pi to the same network the server runs on.\n\n-\tGenerate required certificates for AWS IoT core to recognise the Pi as a \"thing\". Instructions for this setup and generation of certificates can be found [here](https://youtu.be/kPLafcrng-c).\n\n-\tAfter generation of certificates, variables in client.py, `logToCloud()` must be set accordingly.\n\n#### NOTE: Ignore the last two steps if logging to AWS using MQTT is not needed (Additionally, comment out the `logToCloud()` function in client.py and all associated calls to the function).\n\nUsage\n=====\n\nClone the repo.\n\n```\ngit clone https://github.com/Gituser143/Maskit.git\n```\n\n### NOTE: Place the `server/` directory in the server and the `pi/` directory on a raspberry Pi.\n\nServer configuration\n--------------------\n\nNavigate into `server/` on the server and generate an SSL certificate. Fill in the required fields.\n\n```\ncd server\nopenssl req -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem\n```\n\nThe above command places a `cert.pem` in your local directory.\n\nInstall requirements on server.\n\n```\npip3 install -r requirements.txt\n```\n\nStart the server.\n\n```\npython3 server.py\n```\n\nClient configuration\n--------------------\n\nNavigate into the `pi/` directory on a raspberry Pi.\n\n```\ncd pi\n```\n\nInstall requirements on Pi.\n\n```\npip3 install -r requirements.txt\n```\n\nStart client.\n\n```\npython3 client.py\n```\n\n### Voila! That should be all!\n\nCredits\n=======\n\n-\t[Chandrika Deb](https://github.com/chandrikadeb7) for the brilliant [Face Mask Detection](https://github.com/chandrikadeb7/Face-Mask-Detection) model.\n\n-\t[Rishab Kattimani](https://github.com/RishabKattimani) for the awesome [YouTube video](https://youtu.be/kPLafcrng-c) explaining a use case of AWS IoT core with Raspberry Pi.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgituser143%2Fmaskit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgituser143%2Fmaskit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgituser143%2Fmaskit/lists"}