Проекты с подключением по USB как HID устройство
На главную
Обзор программ
Обзор плат
Проекты на базе:
Arduino Nano
Arduino Uno
Arduino Pro Micro
Arduino Mega
Digispark
Проекты с использованием:
Потенциометр
Джойстик
Кнопка
Реле
RGB
Дисплей
SD карта
Электрон.
ключЭнкодер
Сдвиг. регистор
Д. температуры
Д. влажности
Д. растояния
Д. газа
Батарея
Средства связи:
Bluetooth
Android
GSM
USB
I2C (TWI)
SPI ICSP
UART
One Wire
Парал.
интерфейсДвигатели:
Шаговый мотор
Постоянного тока
Servo
Еще:
О нас
Oбъявление
Обратная связь
YouTube канал
Проекты с подключением по USB как HID устройство
Кнопка Лентяйка для World of Tanks на базе Digispark ATtiny 85
Здравствуйте друзья!
Сегодня у меня геймерская тема.
И я раcскажу об этом устройстве, как оно работает и как его сделать своими руками.
Открыть полностью
Автокликер своими руками на базе Digispark Attiny85. С рандомной задержкой между кликами.
Дешевый и простой в использовании настраиваемый автокликер, который не станет кричать через неделю, мол пробная версия закончилась:)
После прошивки, плата Digispark определяется компьютером, как компьютерная мышь…
Открыть полностьюСамодельная клавиатура с макросами на базе Arduino Pro Micro
Это клавиатура на 30 кнопок, на одну такую кнопку, можно запрограммировать какое то действие, или даже последовательность из нескольких действий.
Можно забиндить любые функции: для программ, для игр, для командной строки, да для чего угодно!
Открыть полностью
Крутой менеджер паролей своими руками на Arduino Pro Micro Atmega32u4 с защитой от кражи.
Эта статья является инструкцией, для изготовления самодельного менеджера паролей. В который можно загружать до 25 аккаунтов. Для безопасности данных пришлось добавить четырехзначный пароль, для доступа к списку аккаунтов, а также двухступенчатый таймер, на тот случай если будет введен неверный пароль.
Открыть полностью
Безопасно храните свои конфиденциальные данные при совместном использовании эскиза | Документация Arduino
Узнайте, как обмениваться эскизами, не раскрывая конфиденциальные данные, такие как учетные данные Wi-Fi и ключи API.
ПОСЛЕДНЯЯ РЕДАКЦИЯ:
11.11.2022, 08:56
Часто в вашем эскизе есть некоторые конфиденциальные данные, которые вы хотели бы сохранить в тайне, которые могут случайно стать общедоступными при публикации на GitHub или когда вы поделиться своим эскизом с кем-то еще через URL. Эта конфиденциальная информация может включать имена и пароли сетей Wi-Fi, ключ API и т. д. Но теперь вы можете добавить секретную вкладку в свой эскиз и хранить там свои личные данные.
Эта функция была разработана специально для Arduino Create Editor. Если вы еще не пробовали, следуйте этому руководству, чтобы начать — все, что вам нужно, это идентификатор Arduino. Как это работает?
Давайте начнем с примера, чтобы вы могли понять, как это работает.
Перейдите на панель Библиотеки и введите ‘Wifi101’ на вкладке поиска, затем нажмите на пример ConnectWithWPA . Вы также можете нажать на эту ссылку и добавить пример в свой альбом для рисования.
share_secure_sketches_img_1
Как видите, есть несколько идентификаторов, таких как
SECRET_SIID
и
SECRET_PSW
. Если вы сейчас нажмете на вкладку «Секрет», вы увидите несколько полей ввода, где вы можете заполнить свои данные.
Если у вас есть MKR1000, вы можете загрузить на него этот скетч и посмотреть, как ваша плата подключается к Интернету (только убедитесь, что вы подключены к сети Wi-Fi 2 ГГц).
share_secure_sketches_img_2 share_secure_sketches_img_3
Как добавить секретные значения в собственный скетч
Напишите свой скетч как обычно.
share_secure_sketches_img_4
В эскизе замените строки, содержащие конфиденциальные данные, написав
SECRET_NAMEYOUWANT
.
Например, если ваша строка"psw"
, вы должны заменить ее на
СЕКРЕТ_PSW
. Убедитесь, что все эти идентификаторы указаны заглавными буквами.
share_secure_sketches_img_5
Вкладка «Секрет» будет создана автоматически , как только вы наберете
SECRET_SOMETHING
. Перейдите на вкладку «Секрет» и заполните поля конфиденциальными значениями.
share_secure_sketches_img_6
Вот и все! Если вы поделитесь этим эскизом с кем-либо через URL-адрес или загрузите его, значения на вкладке будут пустыми.
share_secure_sketches_img_7
Кроме того, вы также можете нажать кнопку вкладки и добавить вкладку «Секрет» прямо оттуда. Эти инструкции будут представлены для быстрого ознакомления.
share_secure_sketches_img_8
Если вы хотите добавить еще одно поле, скажем, для хранения пин-кода для вашей SIM-карты или токена API, мы можем добавить необязательное поле. Все, что нам нужно сделать, это добавить это в начало нашего скетча:
1const char optional[] = SECRET_OPTIONAL;
Итак, скажем, мы используем
SECRET_SSID
и
SECRET_PASS
, этот будет просто добавлен таким же образом.
img редактора
Теперь, если мы перейдем на вкладку Secret , она будет видна, и вы сможете ввести свои дополнительные учетные данные.
img секретной вкладки
Скачать скетч
Если вы скачаете скетч, мы автоматически создадим файл с именем arduino_secrets.h и добавим его в ZIP-файл. Если вы откроете скетч в Desktop IDE, вы сможете заполнить эту вкладку своими секретами, как обычно.
share_secure_sketches_img_9
Технические подробности
Все введенные вами значения будут считаться строками.
Секреты хранятся в виде простых текстовых значений и будут доступны только тогда, когда пользователь войдет в свою учетную запись и просматривает свои собственные эскизы в своих личных альбомах для рисования.
Вы сможете удалить вкладку «Секрет», просто удалив идентификаторы
SECRET_XX
из файла .ino.
Дополнительные уроки
Дополнительные руководства можно найти на странице документации Arduino Cloud.
Андреа Гранди – Как безопасно хранить секреты Arduino
Вы только что получили новую плату Arduino (возможно, с поддержкой Wi-Fi), написали полезное приложение и собираетесь поделиться им на GitHub.
Если ваш код выглядит так:
#includeсимвол ssid[] = "myessid" char pass[] = "мой пароль" ...
сделай а не поделись! Вы раскроете всем свой ESSID, пароль и, возможно, другие секреты.
Сохранить секреты во внешнем файле
Создать отдельный файл с именем arduino_secrets.h
:
#define SECRET_SSID "myessid" #define SECRET_PASS "мой пароль"
и изменить основной файл следующим образом:
#includeh> #include символ ssid[] = SECRET_SSID проход символа [] = SECRET_PASS ...
Примечание: с использованием соглашения об именах SECRET_...
также полезно, если вы используете Веб-редактор Arduino https://create.arduino.cc/projecthub/Arduino_Genuino/store-your-private-data-safely-when-sharing-a-sketch-e7d0f0, потому что эти значения будут автоматически добавлены на секретную вкладку и будет виден только вам, даже если вы поделитесь своим проектом.
Исключить файл секретов из git
Перемещение секретов в arduino_secrets.h
было бы бессмысленно, если бы мы отправили этот файл на GitHub. Чтобы избежать этой ошибки, добавьте arduino_secrets.h
к .gitignore
(создайте его в корне проекта, если он еще не существует).
Добавьте пример для файла секретов
Если вы просто скроете исходный arduino_secrets.h
, другие пользователи, которые захотят повторно использовать ваш код, могут не знать, что вставить внутрь. Создайте пример файла с именем arduino_secrets.h.example
с фиктивными значениями:
#define SECRET_SSID "foo" #define SECRET_PASS "foo"
и документ, что это нужно переименовать в arduino_secrets.h
Что делать, если мне нужно создать свой код в CI?
Если вы хотите создать свой код в среде CI, полный исходный код должен быть там, но в то же время вы все равно не хотите отправлять свои секреты на GitHub. Что делать тогда?
Храните свои секреты в переменных среды
Создайте переменную среды в своем CI (или установите ее локально на своем компьютере, если хотите создать ее локально) для каждого секрета:
export WIFI_SSID_NAME="myessid" экспорт WIFI_PASSWORD="мой пароль"
Создайте Makefile
Добавьте Makefile
в свой проект, подобный этому:
#!/bin/bash ВЫВОД = "arduino_secrets.h" ардуино_секреты: @echo "Создание $(ВЫВОД)" @[ -e $(ВЫВОД) ] && rm $(ВЫВОД) @echo "#define SECRET_SSID \"$(WIFI_SSID_NAME)\"" >> $(ВЫВОД) @echo "#define SECRET_PASS \"$(WIFI_PASSWORD)\"" >> $(OUTPUT)
Если вы запустите make
, вы сгенерируете файл с именем arduino_secrets.