| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Arduino как се прави база данни и четене http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=17871 |
Страница 1 от 1 |
| Автор: | koko76bj [ Пет Май 07, 2021 10:15 am ] | ||||||||||||||||||
| Заглавие: | Arduino как се прави база данни и четене | ||||||||||||||||||
Здравейте, написах един код за RFID четец за врата,който си работи нормално.Но не знам как може да се направи една променлива от базата с данни на UID и после да се чете.Не знам дали се изразих правилно.Написах го по "бабешки" начин и не ми харесва много как изглежда.
може ли това да се направи в една променлива? и може ли това с четенето да е по-кратко?
дано ме разберете какво питам. |
|||||||||||||||||||
| Автор: | t_i_t_o [ Пет Май 07, 2021 11:51 am ] |
| Заглавие: | Re: Arduino как се прави база данни и четене |
Сложи ключевете в двумерен масив и после в цикъл един по един ги проверявай с memcmp(), нещо от сорта: #define KEYS_NUM 4 #define KEY_LEN 4 byte keys[KEYS_NUM][KEY_LEN] = { {0x3A, 0xC9, 0x6A, 0xCB}, {0x35, 0x21, 0x8B, 0x17}, ... } for (i = 0; i < KEYS_NUM; i++) { if (!memcmp(keys[i], rfid.uid.uidByte, KEY_LEN)) { digitalWrite(RELAY_DOOR, HIGH); // unlock the door for 2 seconds delay(2000); digitalWrite(RELAY_DOOR, LOW); // lock the door } } Ама най добре да не ги хардкодваш в кода ами да ги записваш в епрома с някакъв мастър ключ... аз така направих преди 10 години за входа на блока. Така няма нужда да ребилдваш и препрограмираш ако искаш да добавиш нов ключ. |
|
| Автор: | koko76bj [ Пет Май 07, 2021 12:03 pm ] |
| Заглавие: | Re: Arduino как се прави база данни и четене |
Няма да се добавят или махат ключове,тези четирите ще са само.Благодаря ти. |
|
| Автор: | TheWizard [ Пет Май 07, 2021 2:58 pm ] |
| Заглавие: | Re: Arduino как се прави база данни и четене |
4 байта е 32 битов инт uint32_t data; rfid_read( &data, 4); for( int i = 0; i < KEY_NUMBERS; i++ ) if ( data == key[i] ) ... ok, break; |
|
| Автор: | t_i_t_o [ Пет Май 07, 2021 3:09 pm ] | |||||||||
| Заглавие: | Re: Arduino как се прави база данни и четене | |||||||||
+1 Това още повече опростява кода, т.е. ключовете може да си ги сложиш в едномерен uint32 масив с 4 елемента и вместо memcmp() да използваш "==". |
||||||||||
| Автор: | itso.t [ Пет Май 07, 2021 4:44 pm ] | |||||||||
| Заглавие: | Re: Arduino как се прави база данни и четене | |||||||||
Хубаво е да могат да се подменят чипове, например ако загубиш или се повреди някой. |
||||||||||
| Автор: | koko76bj [ Пет Май 07, 2021 5:25 pm ] | ||||||||||||||||||
| Заглавие: | Re: Arduino как се прави база данни и четене | ||||||||||||||||||
Това не го разбрах.Къде се прави масива? Извинявам се че задавам такива въпроси но още имам да уча,не съм на вашето ниво. |
|||||||||||||||||||
| Автор: | TheWizard [ Пет Май 07, 2021 5:46 pm ] | |||||||||
| Заглавие: | Re: Arduino как се прави база данни и четене | |||||||||
|
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|