Я разрабатываю приложение для портативного считывателя Motorola MC9190 RFID.Возможно ли записать и прочитать символ ASCII в теге RFID UHF?
Я нуждаюсь в чтении и записи информации как читаемый человеком в теге RFID UHF. Поэтому я решил написать информацию в символах ASCII.
При проведении некоторых исследований я обнаружил, что можно записать символ ASCII в память метки RFID, но он поддерживает меньшее количество символов. Я бы не возражал, пока не было менее 10 символов.
ссылки:
http://blog.atlasrfidstore.com/types-of-memory-in-gen-2-uhf-rfid-tags
Теперь, я немного смущен, как я пишу и читать ASCII символов непосредственно в считыватель.
Это код для записи в шестнадцатеричном символе.
private void writeButton_Click(object sender, EventArgs e)
{
string dataToWrite="ABCDEF9876";
Symbol.RFID3.TagAccess.WriteAccessParams m_WriteParams;
m_WriteParams.AccessPassword = 0;
m_WriteParams.MemoryBank = MEMORY_BANK.MEMORY_BANK_USER;
m_WriteParams.ByteOffset = 0;
m_WriteParams.WriteDataLength = 6;
byte[] writeData = new byte[m_WriteParams.WriteDataLength];
for (int index = 0; index < m_WriteParams.WriteDataLength; index += 2)
{
writeData[index] = byte.Parse(dataToWrite.Substring(index * 2, 2),
System.Globalization.NumberStyles.HexNumber);
writeData[index + 1] = byte.Parse(dataToWrite.Substring((index + 1) * 2, 2),
System.Globalization.NumberStyles.HexNumber);
}
m_WriteParams.WriteData = writeData;
string m_SelectedTagID = "ABCDEF"; //for example
RunWriteOperation(m_SelectedTagID,m_WriteParams);
}
void RunWriteOperation(string m_SelectedTagID,Symbol.RFID3.TagAccess.WriteAccessParams m_WriteParams)
{
if (m_SelectedTagID != String.Empty)
{
m_ReaderAPI.Actions.TagAccess.WriteWait(m_SelectedTagID,m_WriteParams, null);
}
}
Если я хочу писать в ASCII, он должен быть закодирован как байты ASCII, которые я предполагаю. Итак, вместо цикла for, если я заменил следующий код, будет ли он успешно записываться?
string dataToWrite="HELLOWORLD";
byte[] writeData = ASCIIEncoding.ASCII.GetBytes(dataToWrite);
Поскольку у меня нет читателя со мной, я не смог проверить сейчас.
Если он получает успех при чтении тега, как настроить считыватель для декодирования как символа ASCII и отображать его или мне нужно будет программно преобразовать?
Поскольку я новичок в технологии RFID, я не уверен, что правильно провел исследование. Пожалуйста, поправьте меня, если я ошибаюсь.
код вы показываете не будет работать, он ожидает, что 'dataToWrite' быть шестнадцатеричная строка, которая "HelloWorld" не является. Метод Encoding.GetBytes() даст вам байты, которые образуют строку в данной кодировке, да. Обратное делается через Encoding.GetString(), используя ту же кодировку, что и для кодирования. – CodeCaster
Упс. Ты прав. См. Мое редактирование. –
Итак, вы прочитали остальную часть моего комментария? Какой у Вас вопрос? – CodeCaster