https://github.com/cwi-dis/iotsadooropener

Operates a solenoid to open a door, on web access or when an RFID tag is presented.

https://github.com/cwi-dis/iotsadooropener

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

esp8266-arduino iot iotsa
Last synced: 5 months ago · JSON representation

Repository

Operates a solenoid to open a door, on web access or when an RFID tag is presented.

Basic Info
  • Host: GitHub
  • Owner: cwi-dis
  • License: mit
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 1.34 MB
Statistics
  • Stars: 3
  • Watchers: 7
  • Forks: 1
  • Open Issues: 2
  • Releases: 2
Topics
esp8266-arduino iot iotsa
Created almost 9 years ago · Last pushed 10 months ago
Metadata Files
Readme License

readme.md

iotsaDoorOpener - open a door with RFID or a web browser

build-platformio build-arduino

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

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:

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

CWI Distributed and Interactive Systems Group

GitHub Events

Total
  • Push event: 4
Last Year
  • Push event: 4

Dependencies

.github/workflows/build-arduino.yml actions
  • ArminJo/arduino-test-compile v3 composite
  • actions/checkout v2 composite
.github/workflows/build-platformio.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite