https://github.com/cwi-dis/iotsadooropener
Operates a solenoid to open a door, on web access or when an RFID tag is presented.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.0%) to scientific vocabulary
Keywords
Repository
Operates a solenoid to open a door, on web access or when an RFID tag is presented.
Basic Info
Statistics
- Stars: 3
- Watchers: 7
- Forks: 1
- Open Issues: 2
- Releases: 2
Topics
Metadata Files
readme.md
iotsaDoorOpener - open a door with RFID or a web browser
Operates a solenoid to open a door. On web access, or when an RFID tag (such as a keychain fob or a mifare contactless transport card) is presented. RFID cards are programmable (over the net, or using a special "learn" card). A web request can be sent to a programmable URL when a card is presented.
The RFID reader functionality and solenoid functionality are contained in individual iotsa extension modules and can be reused, independently of each other.
Home page is https://github.com/cwi-dis/iotsaDoorOpener. This software is licensed under the MIT license by the CWI DIS group, http://www.dis.cwi.nl.
Software requirements
- Arduino IDE, v1.6 or later.
- The iotsa framework, download from https://github.com/cwi-dis/iotsa.
- The mfrc522 RFID library, originally by Miguel Balboa, https://github.com/miguelbalboa/rfid.
Hardware requirements
- a iotsa board (or, with some work, another esp8266-based board).
- An MFRC522 RFID reader (search for RC522).
- A electromagnetic door opener, usually a solenoid of some kind.
- A 2N7000 or BS170 MOSFET.
- A NeoPixel, if you want visual feedback.
- Possibly a small relay, like SIP-1A05.
Hardware construction
The main challenge in construction is catering for the power consumption of the solenoid. The MOSFET is going to be driven with only 3 volt, meaning it will only let about 50-100 mA of current flow (not the 1A max for which the 2N7000 and BS170 are rated). Whether this is enough for your solenoid you have to test, if it is not you need to add a small relay: the MOSFET will trigger the relay easily, and the relay will trigger the solenoid.
Instructions for constructing the hardware are in the extras subfolder:
- doorOpenerBreadboard.pdf is the schematic for use on a breadboard, without a relay. The Fritzing project is also available as doorOpenerBreadboard.fzz.
- doorOpenerIotsa.pdf shows how to put this version together on the iotsa board itself. Fritzing file is there too.
- doorOpenerIotsaRelay.pdf shows how to put the bits together on a stripboard. Again, also available as Fritzing file.
About enclosures: it may be a good idea to mount only the RFID reader on the outside of the door (and the iotsa board and the connection to the solenoid on the inside). If everything is on the inside the RFID reader may not have enough range to get through the door (or frame). If everything is on the outside it is too easy to open the case and operate the solenoid by shorting power to the solenoid.
If you want to mount in two cases: a 3D-printable model for the RFID enclosure can be found at http://a360.co/2oYSEOF and an enclosure for the iotsa board can be found in the extras folder of the Iotsa library.
Building the software
If you have not changed anything in the design there is nothgin to configure. If you have used different GPIO pins look at the iotsaDoorOpener main program and the iotsaRFID.h and iotsaSolenoid.h include files.
Compile, and flash either using an FTDI or over-the-air.
Operation
Initial installation
The first time the board boots it creates a Wifi network with a name similar to config-iotsa1234. Connect a device to that network and visit http://192.168.4.1. Configure your device name (we will use door as an example), WiFi name and password, and after reboot the iotsa board should connect to your network and be visible as http://door.local.
Visit http://door.local/door and use the Open button to operate the solenoid for 2 seconds. If it does not work you may need to add the relay, see Hardware construction.
Visit http://door.local/rfid to configure RFID cards. The unique ID of the last card presented to the reader is shown here.
You can add and remove cards that will open the door here too.
You can also set a "Master Addition" and "Master Removal" card here. These card will not open the door, but in stead allow you to add other cards (or remove them) without going through the web interface. Present Master Addition and then a new card within a couple of seconds and that new card will be added to the list of known cards.
Normal operation
The LED will flash white once every 5 seconds or so to show that the door opener is working.
When you present a known RFID card or tag to the reader the LED will light up green for 2 seconds and the solenoid will operate.
When you present an unknown card the LED will light up red for two seconds.
When you present the Master Addition card the LED will quickly flash green. You have 2 seconds to present the new card. The LED will go solid green, the door will open, and the new card is now a known card.
When you present the Master Deletion card the LED will quickly flash red. You have 2 seconds to present a known card. The LED will go solid red, and the card is no longer a known card and cannot be used to open the door any more.
Owner
- Name: cwi-dis
- Login: cwi-dis
- Kind: organization
- Location: Amsterdam, the Netherlands
- Website: http://www.dis.cwi.nl
- Repositories: 21
- Profile: https://github.com/cwi-dis
CWI Distributed and Interactive Systems Group
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Dependencies
- ArminJo/arduino-test-compile v3 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/upload-artifact v2 composite