IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Contrôle d'accès intelligent basé sur ESP32


Sujet :

Contribuez

  1. #1
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut Contrôle d'accès intelligent basé sur ESP32
    Brève introduction

    La maison intelligente devient de plus en plus courante avec le développement de la technologie, cet article se concentrera sur les aspects de sécurité du projet de contrôle d'accès intelligent.
    Cet article utilise l'écran tactile de STONE pour envoyer des commandes au MCU afin de contrôler le relais et le module MFRC522.
    Le principe de la lecture de carte : en pilotant le module RFID-RC522, identifier la carte d'identité proche de la carte d'identité, puis déterminer si l'ID existe dans la base de données du mot type, l'ID est la valeur type du mot, si l'existence de la vérification à travers, et ensuite imprimer le nom correspondant, et ensuite piloter la serrure électromagnétique de la même manière.

    Matériel nécessaire

    ESP32
    Serrure électronique KOB
    Relais
    Écran STONE STWI070WT-01
    Module MFRC522

    Fonction réalisée

    1. enregistrement de la carte.
    2. enregistrement du nom d'utilisateur et du mot de passe.
    3. glissement de la carte pour déverrouiller la serrure électronique.
    4. Nom d'utilisateur et mot de passe pour déverrouiller la serrure électronique.

    Schéma de connexion

    Nom : connection.jpg
Affichages : 160
Taille : 1,00 Mo

    GUI design

    Nom : GUI design.png
Affichages : 153
Taille : 225,9 Ko

    Partie du partage du code

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    import mfrc522
    import time
    import _thread
    from os import uname
    from machine import Pin, UART
    #from pyb import UART
    #import machine
     
    suos = Pin(32,Pin.OUT)
    uart2 = UART(2, baudrate=115200, rx=16,tx=17,timeout=10)
     
    ESP32_HSPI_CLOCK = 14
    ESP32_HSPI_SLAVE_SELECT = 15
    ESP32_HSPI_MISO = 12
    ESP32_HSPI_MOSI = 13
    ESP32_MFRC522_RST = 5
     
    rx3 = []
    rx_name = []
    user_id_flag = False
    password_flag = False
    temp_id = ''
    temp_mima = ''
    personnel_id = {'zbw':[236,230,169,47],'lbw':[19,165,93,4]}
    personnel_ps = {'zbw':'zbw3366','lbw':'lbwnb'}
    admin_password = ('yyds')
    button_cmd = [16,1]
    edit1_cmd = [16,112]
    edit2_cmd = [16,113]
    edit3_cmd = [16,114]
     
    if uname()[0] == 'esp32':
    	rdr = mfrc522.MFRC522(ESP32_HSPI_CLOCK, ESP32_HSPI_MOSI, ESP32_HSPI_MISO, ESP32_MFRC522_RST, ESP32_HSPI_SLAVE_SELECT)
     
    def do_write():
    	try:
    		(stat, tag_type) = rdr.request(rdr.REQIDL)
    		if stat == rdr.OK:
    			(stat, raw_uid) = rdr.anticoll()
    			if stat == rdr.OK:
    				print("New card detected")
    				print("  - tag type: 0x%02x" % tag_type)
    				print("  - uid : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]))
    				print("")
    				if rdr.select_tag(raw_uid) == rdr.OK:
    					key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
    					if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK:
    						stat = rdr.write(8, b"\x00\x53\x00\x54\x00\x4F\x00\x4E\x00\x45\x0a\x0b\x0c\x0d\x0e\x0f")
    						rdr.stop_crypto1()
    						if stat == rdr.OK:
    							print("Data written to card")
    						else:
    							print("Failed to write data to card")
    					else:
    						print("Authentication error")
    				else:
    					print("Failed to select tag")
     
    	except KeyboardInterrupt:
    		print("write error")
     
     
    def do_read():
    	while True:
    		try:
    			(stat, tag_type) = rdr.request(rdr.REQIDL)
     
    			if stat == rdr.OK:
    				(stat, raw_uid) = rdr.anticoll()
    				if stat == rdr.OK:
    					print("New card detected")
    					print("  - tag type: 0x%02x" % tag_type)
    					print("  - uid   : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]))
    					print (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])
    					print("")
    					if rdr.select_tag(raw_uid) == rdr.OK: 
    						key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
    						if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK:
    							print("Address 8 data: %s" % rdr.read(8))
    							for ps in personnel_id:
    								if raw_uid[0:4:1] == personnel_id.get(ps):
    									suos.value(1)
    									print(ps)
    									uart_write(ps, *raw_uid[0:4:1])
    									time.sleep(3)
    									uart2.sendbreak()
    									break
    							rdr.stop_crypto1()
    							time.sleep(3)
    							suos.value(0)
    						else:
    							print("Authentication error")
    					else:
    						print("Failed to select tag")
    			if uart2.any()>1:
    				rx2 = []
    				data_name2 = ''
    				bin_data = uart2.read(40)
    				uart2.sendbreak()
    				rx1 = list(bin_data)
    				for item in rx1:
    					rx2.append(chr(item))
    				print(rx2)
    				if rx1[3:5:1] == button_cmd:
    					data_name_len = rx1[6] - 1
    					data_name = rx2[7:data_name_len+7:1]
    					data_name2 = ''.join(data_name)
    					print(data_name2)
    					if data_name2 == 'back3':
    						return
    		except KeyboardInterrupt:
    			print("read error")
     
    def do_read2 (idd):
    	print(idd)
    	while True:
    		try:
    			(stat, tag_type) = rdr.request(rdr.REQIDL)
     
    			if stat == rdr.OK:
    				(stat, raw_uid) = rdr.anticoll()
    				if stat == rdr.OK:
    					print("New card detected")
    					print("  - tag type: 0x%02x" % tag_type)
    					print("  - uid   : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]))
    					print (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])
    					print("")
    					if rdr.select_tag(raw_uid) == rdr.OK: 
    						key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]
    						if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK:
    							print("Address 8 data: %s" % rdr.read(8))
    							personnel_id[idd] = raw_uid[0:4:1]
    							uart_write3(*raw_uid[0:4:1])
    							rdr.stop_crypto1()
    						else:
    							print("Authentication error")
    					else:
    						print("Failed to select tag")
    			if uart2.any()>1:
    				rx2 = []
    				data_name2 = ''
    				bin_data = uart2.read(40)
    				uart2.sendbreak()
    				rx1 = list(bin_data)
    				for item in rx1:
    					rx2.append(chr(item))
    				if rx1[3:5:1] == button_cmd:
    					data_name_len = rx1[6] - 1
    					data_name = rx2[7:data_name_len+7:1]
    					data_name2 = ''.join(data_name)
    					print(data_name2)
    				if data_name2 == 'back1':
    					return
     
    		except KeyboardInterrupt:
    			print("read error")
     
    def uart_write(text, *ids):
    #	print(text, *ids)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardname1","text":"'+str(text)+'"}>ET')
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid1","text":"'+str(ids)+'"}>ET')
    	uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock1","visible":true}>ET')
    	time.sleep(3)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardname1","text":"''"}>ET')
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid1","text":"''"}>ET')
    	uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock1","visible":false}>ET')
     
    def uart_write2(text,text2):
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+text+'"}>ET')
    	time.sleep(3)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+text2+'"}>ET')
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit2","text":"''"}>ET')
     
    def uart_write3(*id2):
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+str(id2)+'"}>ET')
    	time.sleep(3)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"''"}>ET')
     
    def uart_write4(text,text2):
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"login","text":"'+text+'"}>ET')
    	time.sleep(1)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"login","text":"'+text2+'"}>ET')
    	time.sleep(1)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit3","text":"''"}>ET')
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit4","text":"''"}>ET')
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit7","text":"''"}>ET')
     
    def uart_write5():
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+str(id2)+'"}>ET')
    	time.sleep(3)
    	uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"''"}>ET')
     
    def card_zhuce():
    	while True:
    		if uart2.any():
    			user_id = ''
    			password = ''
    			rx2 = []
    			rx_num = 0
    			bin_data = uart2.read(40)
    			uart2.sendbreak()
    			rx1 = list(bin_data)
    			for item in rx1:
    				rx2.append(chr(item))
    				rx_num += 1
    			data_end = rx_num-5
    			data_id_st = rx2[8:13:1]
    			data_id_st2 = ''.join(data_id_st)
    			print(data_id_st2)
    			if data_id_st2 == 'edit1':
    				data_id_st3 = rx2[15:data_end:1]
    				data_id_st4 = ''.join(data_id_st3)
    				print(data_id_st4)
    				if data_id_st4 != '':
    					name = True
    			elif data_id_st2 == 'edit2':
    				data_id_st5 = rx2[15:data_end:1]
    				data_id_st6 = ''.join(data_id_st5)
    				if data_id_st6 == admin_password:
    					admin = True
    					uart_write2('Verification passed!','Please place the card!')
    					do_read2(data_id_st4)
    					return
     
    def mima_zuce():
    	temp_id3 = ''
    	temp_mima3 = ''
    	while True:
    		if uart2.any():
    			user_id = ''
    			password = ''
    			rx2 = []
    			rx_num = 0
    #			data_end = 0
    			bin_data = uart2.read(40)
    			uart2.sendbreak()
    			rx1 = list(bin_data)
    			for item in rx1:
    				rx2.append(chr(item))
    				rx_num += 1
    #				if (rx2[rx_num] == 'T') and (rx2[rx_num-1] == 'E') and (rx2[rx_num-2] == '>'):
    #					break
    			data_end = rx_num-5
    			data_id_st = rx2[8:13:1]
    			data_id_st2 = ''.join(data_id_st)
    			print(data_id_st2)
    			if rx1[3:5:1] == button_cmd:
    				data_name_len = rx1[6] - 1
    				data_name = rx2[7:data_name_len+7:1]
    				data_name2 = ''.join(data_name)
    				print(data_name2)
    				if data_name2 == 'back2':
    					return
    			if data_id_st2 == 'edit3':
    				data_id_st3 = rx2[15:data_end:1]
    				data_id_st4 = ''.join(data_id_st3)
    				print(data_id_st4)
    				user_id_flag = True
    				temp_id3 = data_id_st4
    #				personnel_ps[temp_id] = raw_uid[0:4:1]
    			elif data_id_st2 == 'edit4':
    				data_id_st5 = rx2[15:data_end:1]
    				data_id_st6 = ''.join(data_id_st5)
    				print(data_id_st6)
    #				if personnel_ps.get(temp_id) == data_id_st6:
    				password_flag = True
    				temp_mima3 = data_id_st6
    #					personnel_ps[temp_id] = password_flag
     
    #			print(rx2,user_id_flag,password_flag)
     
    			elif data_id_st2 == 'edit7':
    				data_id_st5 = rx2[15:data_end:1]
    				data_id_st6 = ''.join(data_id_st5)
    				if (data_id_st6 == admin_password) and (password_flag == True) and (user_id_flag == True):
    					admin = True
    					personnel_ps[temp_id3] = temp_mima3
    					password_flag = False
    					user_id_flag = False
    					uart_write4('Verification passed!','login was successful!')
     
     
    def password_loin():
    	temp_id2 = ''
    	temp_mima = ''
    	while True:
    		if uart2.any():
    			user_id = ''
    			password = ''
    			rx2 = []
    			rx_num = 0
    #			data_end = 0
    			bin_data = uart2.read(40)
    			uart2.sendbreak()
    			rx1 = list(bin_data)
    			for item in rx1:
    				rx2.append(chr(item))
    				rx_num += 1
    #				if (rx2[rx_num] == 'T') and (rx2[rx_num-1] == 'E') and (rx2[rx_num-2] == '>'):
    #					break
    			data_end = rx_num-5
    			data_id_st = rx2[8:13:1]
    			data_id_st2 = ''.join(data_id_st)
    			print(data_id_st2)
    			if rx1[3:5:1] == button_cmd:
    				data_name_len = rx1[6] - 1
    				data_name = rx2[7:data_name_len+7:1]
    				data_name2 = ''.join(data_name)
    				print(data_name2)
    				if data_name2 == 'back4':
    					return
    			if data_id_st2 == 'edit5':
    				data_id_st3 = rx2[15:data_end:1]
    				data_id_st4 = ''.join(data_id_st3)
    				print(data_id_st4)
    				if data_id_st4 in personnel_ps:
    					user_id_flag = True
    					temp_id2 = data_id_st4
    			elif data_id_st2 == 'edit6':
    				data_id_st5 = rx2[15:data_end:1]
    				data_id_st6 = ''.join(data_id_st5)
    				print(data_id_st6)
    				print(temp_id2)
    				print(personnel_ps)
    				if personnel_ps.get(temp_id2) == data_id_st6:
    					password_flag = True
     
    #			print(rx2,user_id_flag,password_flag)
    					print(user_id_flag,password_flag)
    					if (password_flag == True) and (user_id_flag == True):
    						uart_write(temp_id2,temp_id2)
    						password_flag = False
    						user_id_flag = False
    						suos.value(1)
    						uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock2","visible":true}>ET')
    						uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit5","text":"''"}>ET')
    						uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit6","text":"''"}>ET')
    						time.sleep(3)
    #						uart_write('student','')
    						suos.value(0)
    						uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock2","visible":false}>ET')
    						uart2.sendbreak()
     
    while True:
    	if uart2.any()>1:
    		rx2 = []
    		data_name2 = ''
    		bin_data = uart2.read(40)
    #		time.sleep(1)
    		uart2.sendbreak()
    #		time.sleep(1)
    		rx1 = list(bin_data)
    		for item in rx1:
    			rx2.append(chr(item))
    		print(rx2)
    		if rx1[3:5:1] == button_cmd:
    			data_name_len = rx1[6] - 1
    			data_name = rx2[7:data_name_len+7:1]
    			data_name2 = ''.join(data_name)
    			print(data_name2)
    			if data_name2 == 'card1':
    				card_zhuce()
    			elif data_name2 == 'password1':
    				mima_zuce()
    			elif data_name2 == 'card2':
    				do_read()
    			elif data_name2 == 'password2':
    				password_loin()

    Démonstration vidéo


  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    2 539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 2 539
    Points : 3 293
    Points
    3 293
    Par défaut
    Salut,

    Merci.

    Il y a plusieurs type de carte ESP32, tu as utilisée laquelle ?

    Tu l'as programmée en Python, c'est ça ?

    Combien t'as couté l'écran ?

  3. #3
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 646
    Points : 51 316
    Points
    51 316
    Billets dans le blog
    19
    Par défaut
    Impressionnant !!

    Merci pour le partage, faudra que je regarde ces écrans de plus près

  4. #4
    Membre expert

    Homme Profil pro
    mad scientist :)
    Inscrit en
    septembre 2019
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 704
    Points : 3 309
    Points
    3 309
    Par défaut
    Belle réalisation pour une fois pas de C++, ça change !
    Ces écrans série sont de mieux en mieux on dirait

  5. #5
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Salut,

    Merci.

    Il y a plusieurs type de carte ESP32, tu as utilisée laquelle ?

    Tu l'as programmée en Python, c'est ça ?

    Combien t'as couté l'écran ?
    J'utilise la carte ESP32-WROOM-32.
    Je programme en micropython et mon compilateur est THONNY.
    Leurs LCDs sont disponibles dans différentes configurations et modèles, et vous pouvez consulter leur site web pour le prix exact.

  6. #6
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Impressionnant !!

    Merci pour le partage, faudra que je regarde ces écrans de plus près
    Merci beaucoup, si vous avez de meilleures suggestions, n'hésitez pas à m'en faire part.

  7. #7
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Jay M Voir le message
    Belle réalisation pour une fois pas de C++, ça change !
    Ces écrans série sont de mieux en mieux on dirait
    Merci pour votre réponse et vos encouragements ! Je suis très heureux !
    Je vais utiliser le Raspberry Pi pour d'autres projets après cela, alors restez à l'écoute !

  8. #8
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    5 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 5 092
    Points : 15 256
    Points
    15 256
    Par défaut
    Salut à tous.

    Merci Paulli pour ce montage destiné à la domotique, qui est fort intéressant.

    Citation Envoyé par F-leb
    faudra que je regarde ces écrans de plus près
    Un problème de myopie ?

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  9. #9
    Membre expert
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    2 539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 2 539
    Points : 3 293
    Points
    3 293
    Par défaut
    Ok merci.

  10. #10
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Salut à tous.

    Merci Paulli pour ce montage destiné à la domotique, qui est fort intéressant.

    @+
    Merci ! Je vais continuer !

  11. #11
    Membre expérimenté

    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2013
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : mai 2013
    Messages : 504
    Points : 1 557
    Points
    1 557
    Par défaut Sureté et sécurité sont dans un bateau, l'alimentation tombe à l'eau...
    Bonjour,

    Cela change agréablement des Leds qui clignotent

    Cependant en terme de sureté, utiliser l'ISN (Id Serial Number) de la carte n'offre pas une grande garantie puisque c'est plus facile à copier (voire à simuler par un smartphone si la gamme de fréquences RFID utilisée est compatible NFC) qu'une clef physique.
    Les protocoles utilisés en contrôle d'accès sont généralement des échanges sans transmission de secret. Cela demande des cartes ou jetons RFID plus complexes (par exemple MIFARE DESFire).

    Il y a aussi le comportement en cas de coupure d'alimentation qui impose des compromis entre sureté et sécurité (incendie par exemple). La sureté aurait tendance à dire verrouillé par défaut et la sécurité ouvert par défaut

    Je pense qu'en général cela excède les ressources que le particulier est prêt à investir en temps, compétences et argent.

    Il n'en reste pas moins que les cartes permettent des gestions fines (révocation, zonage, comptage (+/-), droits temporels etc.) qu'une clef physique ne saura jamais résoudre.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  12. #12
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Vous soulevez un très bon point, je fais juste quelque chose sur mon propre hobby.
    Je suis un amateur et j'apprends sur le sujet, maintenant je ne peux peut-être pas le faire très bien, mais je vais continuer à apprendre et j'espère que bientôt je pourrai le faire très bien.

  13. #13
    Membre expérimenté

    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2013
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : mai 2013
    Messages : 504
    Points : 1 557
    Points
    1 557
    Par défaut Commencer
    Bonjour Paulli,

    Ce n'était pas une critique, loin de là. Pour avoir sécurisé de nombreux bâtiments (contrôle d'accès, vidéoprotection et détection en système intégré) en partant de rien, je me suis vite aperçu que c'était un vrai métier et non une collection de techniques éparses. Et je me souviens des installateurs tellement habitués à utiliser le seul n° de série des cartes qu'ils nous les retournaient en nous disant qu'elles ne fonctionnaient pas car elles ne répondaient jamais la même chose (nous avons dû leur faire des sessions de formation )

    C'est un domaine technique très intéressant. Par exemple, quand il faut vérifier que le détenteur de la carte présentée est bien le légitime porteur en faisant de la reconnaissance faciale, on mesure l'étendue des possibilités (et problèmes).

    Bon courage..
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  14. #14
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2021
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Australie

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : juin 2021
    Messages : 45
    Points : 64
    Points
    64
    Par défaut
    Merci, je vais continuer à essayer de faire mieux.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/12/2020, 14h28
  2. Réponses: 5
    Dernier message: 09/04/2019, 22h36
  3. Microsoft vous redonne plus de contrôle sur l'accès à vos données sur Office 365
    Par Stéphane le calme dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 22/04/2015, 23h51
  4. Contrôle d'accès sur serveur privé en HTTP
    Par m3z91 dans le forum GIT
    Réponses: 3
    Dernier message: 19/11/2013, 22h52
  5. Réponses: 0
    Dernier message: 14/06/2010, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo