Перейти к публикации
iT4iT.CLUB

Small_d

Пользователи
  • Публикации

    9
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    14

Все публикации пользователя Small_d

  1. С выбором ком порта разобрался, надо было добавить всего лишь одну строку. После: //Сканирование UID ключа private void scaner() { Добавить serialPort1.PortName = cbPorts.Text; Далее дописываем serialPort1.Open(); string uidkey = serialPort1.ReadLine(); serialPort1.Close(); textBox1.Text = uidkey; } Теперь другая проблема. При выборе неверного компорта и нажатия кнопки Сканировать ключ, прога ждет ключа, но мы отсканировать не можем, в итоге висяк. На кнопки н реагирует и т.д. Т.е. нужно сделать таймер секунд на 10, после чего закрывать компорт. Ну и вывести сообщение, выберите другой компорт.
  2. Всем привет. По ходу написания своего диплома, написал небольшую форму на С# для администрирования базы данных. В форме выводится таблица, возможно изменять данные ключей, добавлять и удалять ключи. Для работы нужна вторая ардуинка с RFID модулем, чисто как читалка для ключа. Все работает, но есть один нюанс. COM порт, у меня указан конкретно под мое устройство в самом проекте в свойствах SerialPort1. Собственно нужна помощь, в доработке. На форму можно добавить combobox с выводом доступных ком портов. При выборе которого, считывание происходило бы именно с него. На данный момент сделана просто защита от дурака с помощью Button.Enable, т.е. при нажатии кнопки сканировать ключ, все кнопки затухают до тех пор пока не поднесешь ключ к сканеру, поднес, ключ записался в поле ключ, кнопки стали доступны, далее добавляешь, удаляешь или изменяешь данные. На данный момент, после нажатия кнопки сканировать ключ, программа будет ждать ключа и больше ни на что не реагировать. Поднесли ключ, можно дальше работать. Хотелось бы, что бы при запуске, можно было выбрать ком порт. Выбранный порт записался бы в SerislPort1 NamePort. При нажатии кнопки Сканировать ключ, если ком порт не верный выводилось предупреждение, типа выберите правильный ком порт. Если верный, то появляется надпись поднесите ключ к сканеру. Проект могу скинуть в личку, писал в MS Visual Studio 2015. Сдача диплома с 15 июня, можно конечно и так, но хочется продумать мелочи. Выложить готовый проект для всеобщего пользования буду готов после доделки и после сдачи)) Дабы антиплагиат мне все не испортил Загрузка компортов при запуске формы(cbPorts - это combobox) private void Form1_FormLoad(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); cbPorts.Items.Clear(); cbPorts.Items.AddRange(ports); } Кнопка Сканировать ключ //Кнопка сканирования RFID ключа private void btnScan_Click(object sender, EventArgs e) { scaner(); } //Сканирование UID ключа private void scaner() { serialPort1.Open(); string uidkey = serialPort1.ReadLine(); serialPort1.Close(); textBox1.Text = uidkey; } Как сделать, что бы сканирование ключа происходило исходя из выбранного выше компорта в комбобоксе?
  3. Работает и без роутера, только пришлось отдельно установить на комп DHCP сервер. Разницы ведь нет, кто будет раздавать?
  4. не для ардуинки, а для скетча, ардуино получит другой адрес, а в скетче укажи адрес который на компе в данный момент.
  5. @melfis открой не настройки, а сведения подключения и посмотри какой IP сейчас у твоего компа.
  6. melfis, как подключен эзернет шилд? Через роутер или напрямую к компу? Через роутер, проверяйте IP сервера в скетче Если на прямую, то надо сперва DHCP сервер поднять, чтоб комп раздал IP на эзернет шилд. Без DHCP патч корд другой нужен, кроссовер. Вроде)) Поправьте, если ошибаюсь. В скетче указать IP сервера, т.е. компа Пользователь по умолчанию root, но можно в базе и своего создать, только права ему дать нужные, ну и пароль, если есть. У меня работало либо с роутером, который раздавал IP, либо с поднятым DHCP сервером на компе, чтоб исключить лишнее звено (роутер). Без них так же выдавало 0.0.0.0 и соответственно ничего не работало.
  7. melfis, ошибки кодировки в консоли, скорее всего скорость не выставил. Поставь 115200 бод, вместо 9600. В скетче скорость указана. С остальным похоже на мои проблемы, почитай над твоими постами сообщения от Kitsum, особенно про сторожевой таймер. Возможно твоя ардуинка тоже с ним не пашет, тогда удали из скетча соответствующие строчки, см. выше... Мне помогло.
  8. @Kitsum, благодарю. Скетч залился, кодировка UTF8 ни в какую не захотела работать, то одно кракозябрами, то другое, а вот при смене кодировки в базе и на страничке в ср1251 все отображается отлично и описание ключей и сам текст полей оформления. Другая проблема возникла, собрал схему с одной кнопкой, одним реле, и переключателем режимов, как нарисовано на второй странице темы, где пример с базой выложен. 1. Как понять, считывает ли ключ rfid датчик или нет? Дело в том, что в консоль у меня выводится только ip ардуинки и приглашение на сайт, причем не важно приложил я метку или нет. Через каждые 10-15 секунд (точно не засекал) выдает ip с приветствием и срабатывает реле. Т.е. получается, что дверь сама постоянно открывается. Но на кнопку реагирует как надо, нажимаем, идет тройной зумер и в консоль выводится сообщение, дверь открыта, дверь закрыта, реле открывается соответственно. Через какое то время, снова реле открывается само и ip с приглашением выдается. 2. При считывании UID метки стандартным скетчем, где выдает в dec и hex формате, dec выглядит так - 12, 345, 67, 89 , т.е. записать мастер ключ в базу, я должен просто слитно, 123456789, убрав пробелы и запятые? Или еще как то сконвертить надо? Опять же вопрос возник потому что в консоль ключи не выводит, как на примере.
  9. Добрый день. Понравился данный вариант исполнения системы СКУД. Для меня важна система хранения ключей именно в базе MySQL. База импортировалась отлично, и php тоже. Правда в базе в дескрипшене проблемы с кодировками. На странице добавления ключей, русский текст читаем, а в описании знаки вопроса ????? При смене кодировок, либо вообще ничего не читается, либо читается все кроме поля дескрипшен, или там только латинские? А вот при попытке залить скетч вываливается ошибка на этой строчке: // Читаем ключ for (byte i = 0; i < 4; i++) key += mfrc522.uid.uidByte; Подскажите, что подправить, или опять где то очепятка в скетче при заливке на форум? Благодарю.
×
×
  • Создать...