Мазмуну:

KiKi баскычтобу Bot: 5 кадам
KiKi баскычтобу Bot: 5 кадам

Video: KiKi баскычтобу Bot: 5 кадам

Video: KiKi баскычтобу Bot: 5 кадам
Video: The Limba - Kiki (Lyric video) 2024, Июль
Anonim
KiKi баскычтобу Bot
KiKi баскычтобу Bot

Мен көбүнчө жумуштан компьютериме тиркелишим керек, бирок аны дайыма калтырууну жактырбайм. Көйгөй менин эски компьютерим WOLду колдобойт. Бирок аны уктап, клавиатуранын кубат баскычы менен кайра ойготсо болот. Бирок үйдө иттен башка эч ким жок, аны жашоого алып келет …

KiKi KeyboardBot төрөлгөн.

Бул MQTT аркылуу үйдүн жардамчысына шилтеме берет жана абдан жөнөкөй өз алдынча веб -баракчасы бар, ал сулуу эмес, бирок бул ишти бүтүрөт.

Жабдуулар

3D PrinterPLA жипчеси

Сым кескичтер

Wire Stripers

Кандооч

Wemos D1 Mini

Micro 9G Servo

1 -кадам: Делону басып чыгаруу жана Серво мүйүзүн кеңейтүү

Капты Кап жана Серво Мүйүзүн Кеңейтүү Басып чыгаруу
Капты Кап жана Серво Мүйүзүн Кеңейтүү Басып чыгаруу

Биринчиден, баштыкты басып чыгаруу менен, мен аны Sketchup (Maker Edition) менен карап көргүң келсе, SKP файлын берем. Мен дагы STL файлын пакеттеп койдум, эгерде сиз аны улантып, кескичке жүктөп, өзгөртүүсүз басып чыгарууну кааласаңыз.

Мен корпусту тирөөчсүз басып чыгардым, анткени мен биринчи жолу басып чыгардым, бул аларды жок кылуу үчүн ката болчу, бирок колдоолордун жетишсиздиги жакшы иштеди, кичине салбырап калды, бирок баары өз айыпына жеткенде.

Мен керебеттин температурасы 50 жана экструдердин темп -расы 200 менен басып чыгардым, бул мен колдонгон жипке сунушталган.

Мен дагы SVP жана STL файлдарын servo мүйүзү менен камсыздайм, servo мүйүз мен үчүн туура басылган жок, аягында мен монтаж ферлин кесип, жөн эле чаптадым, кабель аны оригиналдын бирине байлады мүйүздөр, мен бул иштөөгө чыдамсыздык менен.

2 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

3 пин башын Servo коргошунунун аягынан алып салыңыз.

Корпустагы корпустун тешиги аркылуу капталдагы чыгуу тешиги аркылуу өтүңүз.

Эми кылдаттык менен коргошун сервонун капталына жаткызып, корпустун үстүнө отургузуп коюңуз, коргошун тешиктин ичиндеги тешиктин ичинде отурат, коргошун бекем тартып, акырындык менен сервону үйгө түртүп салыңыз, бул жакшы болушу керек тыкан ылайыктуу.

Коргошунду корпустун сыртындагы оюкка кийинтирип, D1 Mini үчүн тешиктен өткөрүңүз. Кабелди артка жылдырып, кайра тыккыла, ошондо ал абдан тыкан көрүнөт.

WiFi модулу менен D1 Mini'ни анын корпусуна өйдө сүрүңүз. Коргошун модулдун үстүнө отуруп, анан ПКБнын астында кайра азыктануусу керек.

Сиз азыр servo коргошун алгылыктуу узундукка кесип аласыз.

PCBдин карама -каршы тарабынан USB розеткасына түртүп берүү менен D1 Mini'ди алып салыңыз.

Аны алып салгандан кийин коргошундун үч зымын бөлүп, сыйрып, калайлап коюңуз.

Аларды төмөндөгүдөй тартипте pcbдин асты жагына ээрчиңиз.

Кызыл -> 5V

Браун -> GND

Апельсин -> D4

Үч казык бири -бирине жанаша жайгашкандыктан коргошунду тыкан кармоо оңой.

Тактайдын астындагы коргошун акырындык менен борборго карай бүктөп, тактайдын үстүнө жылдырып, акырын үйгө жылдырыңыз. D1ди аягына чейин киргизбеңиз, USB кабелин туташтыруу оңой болгондуктан, аны жетишерлик тыкылдатып коюңуз жана сиз баштапкы абалга келтирүү баскычына жете аласыз.

Эгерде сиз мүйүздү басып чыгарууга жетишкен болсоңуз, анда ал серводогу капстанга туура келет, азыр мүйүздүн үстү жумуш чокусуна аздыр -көптүр параллель болуп турушу үчүн азыр тактаңыз. Аны servo менен келген кичинекей бурама менен оңдоңуз.

Эгерде сиз мүйүздү басып чыгара албасаңыз, анда фермени кесип, берилген мүйүздөрдүн бирине оңдоп коюңуз, супер клей жана кичинекей кабелдик галстуктар мен үчүн бул ишти кылды.

3 -кадам: Жаркыроо

Ino файлын arduino долбоорлор файлына KiKi папкасына түшүрүңүз.

Файлды Arduino IDEде ачыңыз.

Төмөнкү саптарды Үй Жардамчыңыздын жөндөөлөрүнө ылайыкташтырыңыз.

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 = "location/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 портун тандаңыз.

Сериялык мониторду ачыңыз.

Файлды жүктөө.

Жүктөө аяктагандан кийин сериялык мониторду текшериңиз.

Эгерде бул жаңы такта болсо, анда эч кандай жөндөөлөр болбойт жана ал түзгөн зымсыз APге туташууга туура келет, андан кийин туура Зымсыз тармакты тандап, сырсөздү киргизиңиз.

Чоо-жайын кайра сактаганда, ал аларды түзмөккө жазат жана кайра башталган сайын кайра колдонот.

Эми ал зымсыз тармагыңызга туташты, сиз сериялык монитордон окшош линияны көрөсүз …

192.168.1.xxx же тармагыңыздын диапазону кандай.

Эгер сиз буга браузер менен туташсаңыз, бир баскычы бар абдан жөнөкөй веб -баракчаны көрөсүз, ал басылганда серво колун иштетет.

4 -кадам: Servo Home жана Активдештирилген Позицияны тууралоо

Мен иштин астына чоң блютакты жабыштырам, андан кийин аны столума сүртөм, андыктан servo мүйүз басуу үчүн ачкычтын ортосунан жогору турат.

Башында мен башка ачкычтардын бирине тизилип турам, бирок кубаттуулукту эмес, мен текшерген сайын ал компьютерди уктап калат.

Менин клавиатурам үчүн Logitech K260 мен үйдүн абалын 135 деп койгом жана бул баскычтын жогору жагында жайгашкан servo мүйүзүндө.

Мен активдештирилген жерди 120га койдум, ал баскычты анын активдештирилгенин текшерүү үчүн жетишерлик ылдый басат.

Албетте, бул клавиатурага ыңгайлуу орнотуу үчүн, бул жөндөөлөрдү карап көрүшүңүз керек болот, бул жөн гана үйдүн абалын жөндөө, эскизди жүктөө жана аны кароо.

Үй позициясы менен бактылуу болгондон кийин, активдештирилген абалды коюңуз, менин клавиатурам үчүн үй абалынан 15 градус төмөн. Эгерде сиз үй позицияңызды өзгөртсөңүз, биринчи кезекте активдештирилген позицияңызды үй позициясына тууралоого аракет кылыңыз - 15. D1ге кодду жүктөп бериңиз жана ал кандайча иштээрин көрүңүз. Аны иштеп чыгуу үчүн такыр көп убакыт талап кылынбайт.

Блютэкти колдонуунун пайдасы - бул позицияларыңызды туура жөнгө салгандан кийин, аппаратты эң сонун түрдө сактап калат, бирок эгер активдештирилген позиция өтө төмөн болсо, анда ал жөн гана аппаратты үстөлүңүздөн ыргытат жана эч кандай зыян келтирбейт.

5 -кадам: Үйдүн жардамчысына илинип коюңуз

Үй жардамчыңыздын мисалында, которгуч жөндөөлөрүңүз сакталган файлды ачыңыз жана төмөнкүлөрдү кошуңуз.

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

аты: "YOURDEVICE"

state_topic: "жайгашуу/түзмөк/абал"

command_topic: "жайгашуу/түзмөк/которуштуруу"

payload_on: "ON"

payload_off: "ӨЧҮК"

оптимисттик: жалган

YOURDEVICE түзмөгүңүздү ылайыктуу нерсеге түзөтүп жатканыңызга жана штаттын/буйруктун темалары мурунку кадамдагы ino кодуңузга дал келгенине ынануу.

Эми сиз түзмөгүңүздү HA интерфейсинде көрүнүшү үчүн конфигурацияңызга кошкуңуз келет.

Мен конфигурация.yaml ичиндеги бардык топторумду жана топтун аныктамаларын тизмелеп берем, ошондуктан түзмөктү ошол жерге кошуп койгула …

изилдөө: аты: Окуу

жактар:

- switch.study_pc

Кирүү менен конфигурацияңыздын коопсуз экендигин текшериңиз

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

Эгерде сиз эч кандай ката көрбөсөңүз, HAны кайра баштаңыз

systemctl home-assistant@homeassistant'ти өчүрүп күйгүзүңүз.

Баары жүктөлгөндөн кийин, сиз HA интерфейсинде жаңы баскычты көрүшүңүз керек, ал сиздин компьютерди KiKi сыйкыры аркылуу күйгүзүп же өчүрөт.

PS, эгер сиз машинага ssh аркылуу кирсеңиз, KiKi'ди wget менен жандандырсаңыз болот …

wget -qO- https:// ip of kiki/? Req = 1>/dev/null

же bash скрипт файлына жазыңыз, скриптке чалыңыз, аргументтерди эстеп калуудан сактайт.

Сунушталууда: