G
G
Gleb Lukashonok2020-06-03 18:22:46
Web development
Gleb Lukashonok, 2020-06-03 18:22:46

What is the best way to make an ACS?

Good day to all! I work in the field of security (access control, video surveillance) and learn programming. It is certainly interesting to study programming, but just sorting arrays is not the point.
There are many different access control software available: Perco, Sigur, Elecra-AC, Epicur, 3V, etc. but! Each has its pros and cons, respectively. That's how the idea came to connect work with learning and create your own access control system. First thoughts:
- software for setting up equipment and client software
- you need some kind of controller (hardware) to control the lock, etc.
I decided to take the Raspberry Pi as a basis, because. you can connect equipment to it, and even make a web server directly on it, so as not to make applications for different operating systems.
To the point of the question:
This sphere may be narrow, but it does not stand still. If earlier these were cards as identifiers, now these are cards, a fingerprint, face recognition (car number plates). Over time, alcohol testing, document scanning, etc. were added to all this. Those. you will have to constantly add some chips and / or change something for a specific customer.
1. What database is better to choose for such a task? There will be a lot of calls to it, such as recording events and, accordingly, viewing them by the operator (or maybe not one, at the same time)
2. If this is a web server, then what technologies are best suited for this? Django? Node.js?
3. Priorities - the ability to configure work with bluetooth, nfc, onvif, wiegand, usb and blah blah blah (let's say python has a lot of libraries for this), scalability and of course the speed of work xD After rereading
my text, I understand that it is very soapy, but I hope I conveyed the essence ..
Please suggest options for implementation and / or tell me where I'm wrong.
Thank you!

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Armenian Radio, 2020-06-03
@gbg

0) In the "adult" industry, the use of various kinds of raspberry mock-ups is not economically justified. The main reason is that they do not have an industrial design. They are not protected from EMP, from static electricity, from food needles, from thunderstorms. All this will have to be added from above - otherwise your vaunted BUSINESS can be broken by a flash from a camera.
1) A LOT of requests - the concept is highly extensible. This task needs to be addressed at a very early stage of architecture development, however, this requires experience. Therefore, at the training stage, this task can be abandoned. Believe me, postgres installations with default settings (except one) are enough to serve 200-500 simultaneous connections. which bring down requests every second. What do you think is "a lot"?
2) At the stage of study, while there is no experience, the easiest way is to take what you know best.
3) Speed ​​of work + work with iron. I heard something about C++. However, if you do not know him, you will simply add problems to yourself.
Conclusion - such a system will be tough for you, provided that you know how to make each part of it separately. Have you made at least a simple lock that can be opened via the Internet? SSL tied to it? Two-factor authentication? fail2ban?
The tasks that you set for yourself fit into several developers, and even then with difficulty - here are the front, and back, and devops, since we are talking about loads, and iron development.

K
Konstantin Tolmachev, 2020-06-03
@dark_tke

As a home project, in principle, a good idea, too dreary, and in fact unrealistic for one developer. You are tired of writing drivers for hardware compatibility with something from ACS equipment, there are a lot of nuances, the same NFC protocol, if described normally, is very, very many lines of code. Even using the ACR122U and its SDK. Secondly, you want to make a kind of combine with everything in the world, and the poor raspberry simply will not survive such abuse, this is not for her. The same recognition of whatever it was, an extremely resource-intensive task.
If on topic:
1. Use databases that will make as few requests to the SD card as possible. For example Redis, which will live in RAM.
2. Doesn't matter. Initially, you need to decide on the stack for the backend, and given your idea, this is an extremely non-trivial task, and at least use clean html and js there.
3. As I wrote above, you want a combine, and this, excuse me, is nonsense. Not on this kind of equipment. Implement one thing. For example, recognition, or biometrics, or cards, still didn’t go anywhere, if you do everything at once, there will be a non-working Frankenstein

D
d-stream, 2020-06-03
@d-stream

1. What database is better to choose for such a task? There will be a lot of calls to it, such as recording events and, accordingly, viewing them by the operator (or maybe not one, at one time)
A lot, this is when you need to track chipped fans at the stadium during the World Cup in case of fire)
And so - any DBMS will do it.
2. If this is a web server, what technologies are best suited for this? Django? Node.js?
Of course, you can build a web server with fake whistles, put selenium in each controller just in case and let the controller parse the site with fake whistles and put your request there, and then recognize the picture "can" or "cannot" open the lock))
I think you need to start with the realization that ACS is a multi-level model, starting from hardware (weigand, touchmemory, etc.), through lower-level transport (RS232/422/etc) to the "higher" type ethernet, wifi, bt .. ..
Well, or in a different perspective - a model of real-time and offline events.
A little higher - schedules, timesheets, fines
ps By the way, an ACS user can be a transport: he passes through the central entrance of the main building, presenting a smart card, and a list of fresh permissions for a remote autonomous building of a working hostel is added to his card ... and back - he drags an event log from the hostel to the center on the map)

D
Dmtm, 2020-06-04
@Dmtm

>- you need some kind of controller (hardware) to control the lock, etc.
ali is full of relays controlled by rs-232/485
server for control - a regular desktop
to light a sweetheart remotely is enough for a start

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question