Სარჩევი:

KiKi კლავიატურის ბოტი: 5 ნაბიჯი
KiKi კლავიატურის ბოტი: 5 ნაბიჯი

ვიდეო: KiKi კლავიატურის ბოტი: 5 ნაბიჯი

ვიდეო: KiKi კლავიატურის ბოტი: 5 ნაბიჯი
ვიდეო: POCO X5 PRO - ყველაზე დეტალური მიმოხილვა და ტესტები 2024, ივლისი
Anonim
KiKi კლავიატურის ბოტი
KiKi კლავიატურის ბოტი

მე საკმაოდ ხშირად მჭირდება ჩემი კომპიუტერის მიმაგრება სამსახურიდან, მაგრამ არ მიყვარს მისი მუდმივად ჩართვა. პრობლემა ის არის, რომ ჩემი ძველი კომპიუტერი არ უჭერს მხარს WOL- ს. ის შეიძლება დაიძინოს და გაიღვიძოს კლავიატურის ჩართვის ღილაკით. თუმცა სახლში არავინ არის ძაღლის გარდა, რომ გააჩინოს სიცოცხლე და ასე…

დაიბადა KiKi KeyboardBot.

ის დაუკავშირდება სახლის ასისტენტს MQTT– ით და აქვს ძალიან მარტივი დამოუკიდებელი ვებ გვერდიც, რომელიც არ არის ლამაზი, მაგრამ საქმეს ასრულებს.

მარაგები

3D პრინტერი PLA ბოჭკო

Მავთულის საჭრელები

მავთულის სტრიპტიზორები

გასაყიდი რკინა

Wemos D1 მინი

მიკრო 9G სერვო

ნაბიჯი 1: საქმის კეისის დაბეჭდვა და Servo Horn გაფართოება

საქმის ქეისის ბეჭდვა და Servo Horn გაფართოება
საქმის ქეისის ბეჭდვა და Servo Horn გაფართოება

საქმის დაბეჭდვით დავიწყოთ პირველი, მე მოგაწოდებთ SKP ფაილს, თუკი თქვენ გინდათ შეხედოთ მას Sketchup- ში (Maker Edition). მე ასევე შეფუთული STL ფაილი თუ უბრალოდ გსურთ წავიდეთ წინ და ჩატვირთვა თქვენს slicer და მიიღოს იგი დაბეჭდილი უცვლელი.

მე დავბეჭდე საქმე საყრდენების გარეშე, რადგან პირველი, რაც მე დავბეჭდე, იყო მათი ამოღება შეცდომა, თუმცა საყრდენების ნაკლებობამ კარგად იმუშავა, თუმცა იყო მცირეოდენი ჩამოხშობა, მაგრამ როდესაც ყველაფერი კარგად დამტკიცდა.

მე დავბეჭდე საწოლის ტემპერატურა 50 და ექსტრუდერის ტემპერატურა 200 რაც რეკომენდირებული იყო იმ ბოჭკოსთვის, რომელსაც მე ვიყენებდი.

როგორც მე ასევე ვაწვდი SKP და STL ფაილებს servo horn– ისთვის, servo horn არ დაბეჭდილია სწორად ჩემთვის, საბოლოოდ მე უბრალოდ გავწყვიტე სამონტაჟო ხრახნი და მხოლოდ წებოვანა, კაბელი მიბმული ერთ – ერთ ორიგინალზე რქები, როგორც მე მოუთმენელი ამ სამუშაოს.

ნაბიჯი 2: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

ამოიღეთ 3 პინიანი სათაური Servo ტყვიის ბოლოდან.

ამოიღეთ ტყვია სერვო ჩაღრმავების შემთხვევაში და გაუშვით გვერდით გასასვლელი ხვრელიდან.

ახლა ფრთხილად დადეთ ტყვიის ნაწილი სერვოს მხარეს და დადგით კორპუსზე ისე, რომ ტყვიის ჯვარი ჩაჯდეს ხვრელის შიგნით ხვრელისთვის, მჭიდროდ გაიყვანეთ ტყვიის და ნაზად მიიყვანეთ სერვო სახლში, ეს უნდა იყოს სასიამოვნო მჭიდროდ მორგებული.

ჩააცვით ტყვიის ჩაღრმავება გარედან გარედან და ჩაყარეთ იგი ჩაღრმავებით D1 Mini– სთვის. გააფართოვოს კაბელი უკან და poke ისევ ისე, რომ იგი გამოიყურება საკმაოდ მოწესრიგებული შემთხვევაში.

გადაიტანეთ D1 Mini მის კორპუსში WiFi მოდულით ზემოთ. წამყვანი უნდა იჯდეს მოდულის თავზე და შემდეგ იკვებება PCB– ის ქვეშ.

ახლა თქვენ შეგიძლიათ გაჭრათ სერვო ბილიკი მისაღებ სიგრძეზე.

ამოიღეთ D1 Mini PCB– ის მოპირდაპირე მხრიდან USB ბუდეზე დაჭერით.

ამოღებისთანავე, გამოყავით, ჩამოაცალეთ და კალის ტყვიის სამი მავთული.

მიამაგრეთ ისინი pcb– ის ქვედა მხარეს შემდეგი თანმიმდევრობით.

წითელი -> 5V

ყავისფერი -> GND

ნარინჯისფერი -> D4

სამი ქინძისთავები ერთმანეთის მიმდებარეა, ასე რომ ადვილია ტყვიის მოწესრიგება.

ახლა ნაზად ჩამოყარეთ ტყვიის დაფა ცენტრისკენ, შეინარჩუნეთ იგი ლამაზად და ბრტყლად, გადაახვიეთ დაფის თავზე და ნაზად გადაუსვით დაფა სახლში. ნუ უბიძგებთ D1– ს ბოლომდე, დატოვეთ ის საკმაოდ შორს, ასე რომ ადვილია USB კაბელის შეერთება და გადადით გადატვირთვის ღილაკზე.

თუ თქვენ მოახერხეთ რქის დაბეჭდვა ისე, რომ ის მოერგოს კაპსტანს სერვოზე, მოათავსეთ ის ახლა ისე, რომ რქის ზედა ნაწილი მეტნაკლებად პარალელურად იყოს სამუშაო ზედაპირით. შეასწორეთ ის პატარა ხრახნით, რომელიც მოყვა სერვოს.

თუ თქვენ ვერ შეძელით რქის დაბეჭდვა, გათიშეთ ბორბალი და დააფიქსირეთ იგი ერთ -ერთ მიწოდებულ რქაზე, სუპერ წებოვანა და რამდენიმე პატარა საკაბელო კავშირმა შეასრულა სამუშაო ჩემთვის.

ნაბიჯი 3: მოციმციმე

გადმოწერეთ ინო ფაილი თქვენს არდუინოს პროექტების ფაილში KiKi სახელწოდების საქაღალდეში.

გახსენით ფაილი Arduino IDE– ში.

შეცვალეთ შემდეგი სტრიქონები თქვენი სახლის ასისტენტის დაყენების შესაბამისად..

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (თუ თქვენ შეცვალეთ ნაგულისხმევი პორტი)

26 const PROGMEM char* MQTT_CLIENT_ID = "მასპინძლის სახელი";

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 = "მდებარეობა/კომპიუტერი/სტატუსი"; const char*

30 MQTT_ROBOT_COMMAND_TOPIC = "მდებარეობა/კომპიუტერი/გადამრთველი";

ახლა შეცვალეთ ეს დამატებითი ხაზები თქვენი მოწყობილობების მასპინძლის სახელის დასაყენებლად.

159 wifi_station_set_hostname ("HOSTNAME");

169 თუ (! WifiManager.autoConnect ("HOSTNAME")) {

დააყენეთ თქვენი MQTT სერვერის სრულად კვალიფიციური დომენის სახელი.

175 WiFi.hostByName ("MQTTSERVER", MQTT_SERVER_IP);

შეაერთეთ D1 Mini თქვენს კომპიუტერში და შეარჩიეთ მასზე დამონტაჟებული COM პორტი.

გახსენით სერიული მონიტორი.

ფაილის ატვირთვა.

გადმოტვირთვის დასრულების შემდეგ შეამოწმეთ სერიული მონიტორი.

თუ ეს არის ახალი დაფა, არ იქნება პარამეტრები და თქვენ მოგიწევთ დაუკავშირდეთ მის მიერ შექმნილ უკაბელო AP– ს, შემდეგ შეარჩიეთ სწორი უკაბელო ქსელი და შეიყვანეთ პაროლი.

როდესაც თქვენ შეინახავთ დეტალებს, ის ჩაწერს მათ მოწყობილობას და ხელახლა გამოიყენებს ყოველ ჯერზე, როდესაც ის გადატვირთულია.

ახლა ის დაკავშირებულია თქვენს უკაბელო ქსელთან, სერიულ მონიტორში ნახავთ ხაზს, რომელიც მსგავსია…

192.168.1.xxx ან როგორია თქვენი ქსელის დიაპაზონი.

თუ ამას ბრაუზერთან დაუკავშირდებით, ნახავთ ძალიან მარტივ ვებ გვერდს ერთი ღილაკით, რომელიც დაჭერისას გაააქტიურებს servo arm- ს.

ნაბიჯი 4: სერვო სახლის და გააქტიურებული პოზიციის მორგება

მე ვდებ ცისფერ ნაჭუჭის დიდ ერთეულს საქმის ქვედა მხარეს და შემდეგ ვდებ მას ჩემს სამუშაო მაგიდაზე, რათა სერვო რქა ზის გასაღების ცენტრის ზემოთ დასაჭრელად.

თავდაპირველად მე ვდგავარ ერთ სხვა კლავიშზე და არა ძალაზე, რადგან ყოველ ჯერზე როდესაც ვამოწმებ კომპიუტერს აძინებს.

ჩემი კლავიატურისთვის Logitech K260 მე დავაყენე სახლის პოზიცია 135 -ზე და ეს ზის სერვო რქაზე გასაღების ზემოთ.

მე დავაყენე გააქტიურებული ადგილი 120 -ზე, რომელიც ღილაკს საკმაოდ შორს უბიძგებს იმისათვის, რომ დავრწმუნდე, რომ ის რეალურად გააქტიურებულია.

ცხადია, თქვენ მოგიწევთ ამ პარამეტრების დახვეწა, რომ ისინი ლამაზად მოაწყოთ თქვენს კლავიატურაზე, ეს მხოლოდ სახლის პოზიციის პარამეტრების მორგებაა, ესკიზის ატვირთვა და თვალის დახუჭვა.

მას შემდეგ რაც კმაყოფილი დარჩებით საშინაო პოზიციით და გაააქტიურეთ თქვენი პოზიცია, რადგან ჩემი კლავიატურა სახლის პოზიციიდან დაახლოებით 15 გრადუსით ნაკლებია. თუ თქვენ შეცვლით თქვენი სახლის პოზიციას, პირველ რიგში შეცვალეთ თქვენი გააქტიურებული პოზიცია სახლის პოზიციაზე - 15. ატვირთეთ კოდი D1– ში და ნახეთ როგორ გამოდგება. მის შემუშავებას დიდი დრო არ სჭირდება.

Bluetack– ის გამოყენების უპირატესობა ის არის, რომ ის შესანიშნავად შეინარჩუნებს მოწყობილობას თავის პოზიციების სწორად მორგების შემდეგ, მაგრამ თუ გააქტიურებული პოზიცია ძალიან დაბალია, ის უბრალოდ ამოაგდებს მოწყობილობას თქვენი სამუშაო მაგიდიდან და არ დააზიანებს.

ნაბიჯი 5: შეაერთეთ ის სახლის ასისტენტთან

სახლის ასისტენტის მაგალითზე გახსენით ფაილი, რომელშიც შეინახავთ გადამრთველის პარამეტრებს და დაამატეთ შემდეგი.

- პლატფორმა: mqtt

სახელი: "YOURDEVICE"

state_topic: "მდებარეობა/მოწყობილობა/სტატუსი"

command_topic: "მდებარეობა/მოწყობილობა/გადამრთველი"

payload_on: "ON"

payload_off: "OFF"

ოპტიმისტური: ყალბი

დარწმუნდით, რომ თქვენ შეაკეთეთ YOURDEVICE რაღაც შესაფერისად და რომ მდგომარეობის/ბრძანების თემები ემთხვეოდეს იმას, რაც თქვენ დაყენებული გაქვთ ინო კოდში წინა საფეხურიდან.

ახლა თქვენ გსურთ მოწყობილობის დამატება თქვენს კონფიგურაციაში, ასე რომ ის გამოჩნდება HA ინტერფეისზე.

მე ჩამოვთვლი ჩემს ყველა ჯგუფს და ჯგუფის განმარტებებს კონფიგურაციაში. Yaml ასე რომ უბრალოდ დაამატეთ მოწყობილობა იქ ხაზების გასწვრივ…

სწავლა: სახელი: სწავლა

პირები:

- switch.study_pc

შეამოწმეთ თქვენი კონფიგურაციის უსაფრთხოება შესვლის გზით

/srv/homeassistant/bin/hass -სკრიპტის შემოწმება_კონფიგურაცია -c/სახლში/სახლში/სახლში/სახლში

თუ შეცდომებს ვერ ხედავთ, გააგრძელეთ და გადატვირთეთ HA

systemctl გადატვირთეთ მთავარი ასისტენტი@homeassistant.

როდესაც ყველაფერი დატვირთულია, თქვენ უნდა ნახოთ ახალი ღილაკი HA ინტერფეისზე, რომელიც ჩართავს ან გამორთავს თქვენს კომპიუტერს KiKi– ს მაგიის საშუალებით.

PS, თუ თქვენ წვდებით მანქანას ssh– ით შეგიძლიათ გაააქტიუროთ KiKi wget– ით …

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

ან ჩადეთ იგი bash სკრიპტის ფაილში დარეკეთ სკრიპტში, დაზოგავს არგუმენტების გახსენებას.

გირჩევთ: