Простой путь к созданию горячих клавиш

0:00, 19 мая 2020
Без рубрики 'Простой путь к созданию горячих клавиш
0 4 мин.

Шаг 3: программное обеспечение

Ниже представлен код, который необходимо залить в Arduino. Перед началом загрузки нужно убедиться, что установлена библиотека Adafruit NFC. Подробнее о ней здесь.

#define IRQ 6 // this trace must be cut and rewired!
#define RESET 8

Adafruit_NFCShield_I2C nfc(IRQ, RESET);

//////////////////////////////////// SETUP

void setup() {
// set up Serial library at 9600 bps
Serial.begin(9600);

// find Adafruit RFID/NFC shield
nfc.begin();

uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print(«Didn’t find PN53x board»);
while (1); // halt
}
// Got ok data, print it out!
Serial.print(«Found chip PN5»); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print(«Firmware ver. «); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print(‘.’); Serial.println((versiondata>>8) & 0xFF, DEC);

// configure board to read RFID tags
nfc.SAMConfig();
Keyboard.begin(); //initiate the Keyboard
}

/////////////////////////////////// LOOP

unsigned digit = 0;

void loop() {
uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)

// wait for RFID card to show up!
Serial.println(«Waiting for an ISO14443A Card …»);

// Wait for an ISO14443A type cards (Mifare, etc.). When one is found
// ‘uid’ will be populated with the UID, and uidLength will indicate
// if the uid is 4 bytes (Mifare Classic) or 7 bytes (Mifare Ultralight)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

uint32_t cardidentifier = 0;

if (success) {
// Found a card!

Serial.print(«Card detected #»);
// turn the four byte UID of a mifare classic into a single variable #
cardidentifier = uid;
cardidentifier
cardidentifier
cardidentifier
Serial.println(cardidentifier);

if (cardidentifier == 606061173) {
Keyboard.write(‘m’);
Keyboard.write(‘y’);
Keyboard.write(‘p’);
Keyboard.write(‘a’);
Keyboard.write(‘s’);
Keyboard.write(‘s’);
Keyboard.write(‘w’);
Keyboard.write(‘o’);
Keyboard.write(‘r’);
Keyboard.write(‘d’);
delay(5000); //makes sure the password isn’t repeated
}
}
}

READ  5 невероятно простых способов сделать мангал своими руками

Как только код загружен, открываем монитор последовательного порта, установленный на 9600 бод. На секунду подносим NFC-карту к считывателю и убираем. Монитор должен выдать сообщение «Card detected #card number». Заменяем полученным номером текущий номер карты в строке «cardidentifier == ».

Теперь меняем участок кода, отвечающий за ввод пароля. Как видим, по умолчанию пароль представляет собой комбинацию «mypassword». Заменяем её на наш текущий пароль входа в операционную систему (количество символов пароля меняется простым добавлением/уменьшением строк с командой «Keyboard.write).

Перезагружаем итоговый код в Arduino, и теперь, стоит лишь нам поднести эту NFC-карту к ридеру, как пароль мгновенно будет введён в поле ввода. Жмём Enter и радуемся.

Распаковываем Orange Pi One

Давайте начнем с проверки того что я получил. Платформа Orange Pi One лежала в антистатическом пакете, поставляется вместе с информационным листом о соответствии нормативным требованиям и безопасности, но нет руководства, вместо этого компания предлагает посетить сайт  чтобы получить доступ к информации по использованию платы.

Нажмите чтобы увеличить

В верхней части платы есть наиболее интересные порты: Ethernet, micro USB и USB, HDMI, слот micro SD, разъем питания, кнопка питания, 40-контактный “Raspberry Pi” совместимый разъем, процессор Allwinner H3 и один чип оперативной памяти Samsung. 3-контактный разъем для подключения последовательной консоли можно найти в непосредственной близости (как видно на рисунке снизу) с RJ45 портом.

Нажмите чтобы увеличить

В нижней части платы находится еще один чип оперативной памяти Samsung (512 Мб всего) и интерфейс камеры.

Нажмите чтобы увеличить

Для сравнения размеров, я сфотографировал Orange Pi One, Orange Pi 2 mini, Raspberry Pi 2 и Raspberry Pi Zero.

Нажмите чтобы увеличить

READ  Используйте соломинку для хранения украшений

В то время как официальные цены для Raspberry Pi ($5), Orange Pi One ($9.99) и C.H.I.P ($9) немного отличаются, я в конечном итоге платил примерно одинаковую цену за все три платы включая доставку: $12.77 за Raspberry Pi Zero, $13.38 за Orange Pi One и $14.22 за C.H.I.P. Компьютер C.H.I.P не показан на фото выше, так как я его еще не получил. Производительность Orange Pi One будет намного больше чем у остальных благодаря его четырехъядерному процессору.

Оцените статью
Понравилась статья?
Комментарии (0)
Комментариев нет, будьте первым кто его оставит
Добавить комментарий
Ваш e-mail не будет опубликован. Обязательные поля помечены *