Оглавление:

KiKi The Keyboard Bot: 5 шагов
KiKi The Keyboard Bot: 5 шагов

Видео: KiKi The Keyboard Bot: 5 шагов

Видео: KiKi The Keyboard Bot: 5 шагов
Видео: КАК ПИСАТЬ БИТЫ В FL STUDIO НОВИЧКУ? / FL STUDIO 20 ЗА 5 МИНУТ 2024, Декабрь
Anonim
KiKi - клавиатура-бот
KiKi - клавиатура-бот

Мне довольно часто нужно подключаться к компьютеру с работы, но я не люблю оставлять его включенным все время. Проблема в том, что мой старый компьютер не поддерживает WOL. Однако его можно перевести в режим сна и снова разбудить с помощью клавиши питания на клавиатуре. Однако, когда дома никого нет, кроме собаки, которая бы подтолкнула его к жизни и так …

Так родился KiKi KeyboardBot.

Он будет связываться с домашним помощником через MQTT, а также имеет встроенную очень простую автономную веб-страницу, это некрасиво, но выполняет свою работу.

Запасы

3D-принтер PLA нить

Кусачки

Инструмент для зачистки проводов

Паяльник

Wemos D1 Mini

Сервопривод Micro 9G

Шаг 1: Печать корпуса, корпуса и удлинителя сервопривода

Печать корпуса, корпуса и удлинителя сервопривода
Печать корпуса, корпуса и удлинителя сервопривода

Прежде всего, начните с распечатки корпуса. Я предоставляю файл SKP, если вы захотите поработать с ним в Sketchup (Maker Edition). Я также упаковал файл STL, если вы просто хотите продолжить, загрузить его в свой слайсер и распечатать без изменений.

Я напечатал корпус без опор, как первый, который я напечатал, их было сложно удалить, хотя отсутствие опор работало нормально, было небольшое провисание, но как только все было установлено, все в порядке.

Я печатал с температурой слоя 50 и температурой экструдера 200, что было рекомендовано для нити, которую я использовал.

Как и в случае, я также предоставляю файлы SKP и STL для сервопривода, сервопривод не распечатал для меня должным образом, в конце концов я просто отрезал монтажное кольцо и просто приклеил, кабель привязал его к одному из оригинальных рога, так как мне не терпелось заставить это работать.

Шаг 2: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

Снимите 3-штырьковый разъем с конца провода сервопривода.

Проденьте провод через выемку сервопривода в корпусе и через выходное отверстие сбоку.

Теперь осторожно положите провод на сторону сервопривода и поместите его над корпусом так, чтобы провод сидел в углублении внутри отверстия для сервопривода, туго натяните провод и осторожно подтолкните сервопривод домой, это должно быть хорошо плотное прилегание.

Проденьте поводок в выемку на внешней стороне корпуса и проденьте его в выемку для D1 Mini. Сверните кабель и снова проткните его, чтобы он выглядел довольно аккуратно в футляре.

Вставьте D1 Mini в корпус модулем WiFi вверх. Провод должен находиться над модулем, а затем возвращаться под печатную плату.

Теперь вы можете отрезать сервопровод до приемлемой длины.

Снимите D1 Mini, надавив на него с противоположной стороны печатной платы к USB-разъему.

Как только он будет удален, разделите, зачистите и залудите три провода провода.

Припаяйте их к нижней стороне печатной платы в следующем порядке.

Красный -> 5 В

Коричневый -> GND

Оранжевый -> D4

Все три штифта прилегают друг к другу, поэтому свинец легко содержать в чистоте.

Теперь аккуратно сложите провод под доской по направлению к центру, чтобы он оставался ровным и ровным, перекатите его по верхней части доски и аккуратно сдвиньте доску на место. Не нажимайте на D1 до упора, оставьте его достаточно далеко, чтобы можно было легко подключить USB-кабель и добраться до кнопки сброса.

Если вам удалось напечатать рупор так, чтобы он поместился на шпиле сервопривода, установите его сейчас так, чтобы верх рупора был более или менее параллелен рабочему столу. Закрепите его на месте маленьким винтом, поставляемым с сервоприводом.

Если вам не удалось напечатать рог, отрежьте наконечник и прикрепите его к одному из прилагаемых рожков, суперклей и пара небольших кабельных стяжек сделали всю работу за меня.

Шаг 3: мигает

Загрузите ino-файл в свой файл проектов Arduino в папку с именем KiKi.

Откройте файл в среде Arduino IDE.

Отредактируйте следующие строки, чтобы они соответствовали вашей настройке Home Assistant.

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (если вы изменили порт по умолчанию)

26 const PROGMEM char * MQTT_CLIENT_ID = "HostName";

27 const PROGMEM char * MQTT_USER = "MQTTUSER";

28 const PROGMEM char * 28 MQTT_PASSWORD = "MQTTPASS";

Для тем MQTT STATE и COMMAND мне нравится заказывать его местоположение / устройство / (статус / переключатель), но вы можете использовать любое соглашение, которое вам нравится.

29 const char * MQTT_ROBOT_STATE_TOPIC = "местоположение / pc / status"; const char *

30 MQTT_ROBOT_COMMAND_TOPIC = "местоположение / компьютер / переключатель";

Теперь отредактируйте эти дополнительные строки, чтобы установить имя хоста вашего устройства.

159 wifi_station_set_hostname ("HOSTNAME");

169 if (! WifiManager.autoConnect ("HOSTNAME")) {

Установите полное доменное имя вашего сервера MQTT.

175 WiFi.hostByName («MQTTSERVER», MQTT_SERVER_IP);

Подключите D1 Mini к компьютеру и выберите COM-порт, на котором он установлен.

Откройте Serial Monitor.

Загрузите файл.

После завершения загрузки проверьте серийный монитор.

Если это новая плата, настроек не будет, и вам нужно будет подключиться к беспроводной AP, которую она создает, затем выберите правильную беспроводную сеть и введите пароль.

Когда вы сохраните данные обратно, он запишет их на устройство и будет повторно использовать их каждый раз при перезапуске.

Теперь он подключен к вашей беспроводной сети, и вы увидите на последовательном мониторе строку, похожую на…

192.168.1.xxx или какой-либо диапазон вашей сети.

Если вы подключитесь к нему с помощью браузера, вы увидите очень простую веб-страницу с одной кнопкой, нажатие которой активирует сервомеханизм.

Шаг 4: Регулировка исходного и активного положения сервопривода

Я наклеиваю большой кусок синей липкой пленки на нижнюю часть корпуса, а затем прижимаю его к своему рабочему столу, чтобы рожок сервопривода находился над центром клавиши, которую нужно нажимать.

Первоначально я выстраиваюсь на одну из других клавиш, а не на кнопку питания, так как каждый раз, когда я тестирую, он переводит компьютер в спящий режим.

Для моей клавиатуры Logitech K260 я установил исходное положение на 135, и он расположен прямо над клавишей сервопривода.

Я установил активированное местоположение на 120, что позволяет нажимать кнопку достаточно далеко, чтобы убедиться, что она действительно активирована.

Очевидно, вам придется повозиться с этими настройками, чтобы правильно настроить их для вашей клавиатуры, это всего лишь случай настройки сначала настройки исходного положения, загрузки эскиза и просмотра его.

Как только вы довольны исходным положением, переходите и устанавливайте активированное положение, для моей клавиатуры оно примерно на 15 градусов вниз от исходного положения. Если вы измените свое исходное положение, попробуйте сначала установить активированное положение в исходное положение - 15. Загрузите код в D1 и посмотрите, как это работает. Это совсем не займет много времени.

Преимущество использования bluetack заключается в том, что он будет идеально удерживать устройство на месте после того, как вы правильно отрегулируете свои позиции, но если активированное положение будет слишком низким, оно просто снесет устройство с вашего стола и не повредит.

Шаг 5: Подключение к Home Assistant

На вашем экземпляре домашнего помощника откройте файл, в котором вы храните настройки переключателя, и добавьте следующее.

- платформа: mqtt

имя: "ВАШЕ УСТРОЙСТВО"

state_topic: "местоположение / устройство / статус"

command_topic: "местоположение / устройство / переключатель"

payload_on: "ВКЛ"

payload_off: "ВЫКЛ."

оптимистичный: ложный

Убедитесь, что вы отредактировали ВАШЕ УСТРОЙСТВО на что-то подходящее, и что темы состояния / команд совпадают с тем, что вы установили в ino-коде на предыдущем шаге.

Теперь вам нужно добавить устройство в конфигурацию, чтобы оно отображалось в интерфейсе высокой доступности.

Я перечисляю все свои группы и определения групп в файле configuration.yaml, поэтому просто добавьте туда устройство в соответствии со строками…

Study: name: Study

сущности:

- switch.study_pc

Убедитесь, что ваша конфигурация безопасна, введя

/ SRV / homeassistant / bin / hass --script check_config -c /home/homeassistant/.homeassistant/

Если вы не видите ошибок, перезапустите HA.

systemctl перезапустите домашний помощник @ homeassistant.

Как только все загрузится, вы должны увидеть новую кнопку на вашем интерфейсе высокой доступности, которая будет включать или выключать ваш компьютер с помощью магии KiKi.

PS, если вы получаете доступ к машине через ssh, вы можете активировать KiKi с помощью wget…

wget -qO- https:// IP-адрес kiki /? Req = 1> / dev / null

или вставьте его в файл сценария bash, вызывая сценарий, избавляя от необходимости запоминать аргументы.

Рекомендуемые: