Мазмуну:
- Жабдуулар
- 1 -кадам: Бул кантип иштейт?
- 2 -кадам: Программалар
- 3 -кадам: Circuit Layout
- 4 -кадам: Кол өнөрчүлүк
- 5 -кадам: чиркей
- 6 -кадам: Arduino IDE
- 7 -кадам: Ngrok
- 8-кадам: Node-RED
- 9 -кадам: Бүтүрүү
Video: Smart Pet Feeder: 9 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Үй жаныбарыңыз барбы?
- Жок: бирин асырап ал! (жана бул үйрөткүчкө кайтып келиңиз).
- Ооба: жакшы иш!
Үйгө убагында баруу үчүн пландарын жокко чыгарбай, сүйүктүүңүзгө тамак берип, суу берсеңиз жакшы болмок эмес беле? Биз мындан ары тынчсызданбагыла деп айтабыз.
Бул долбоордо биз алыстан башкарылуучу (веб аркылуу) тамак -аш жана суу диспенсерлерин жасадык.
Онлайн тактасы аркылуу сиз маалыматтарды көрүп, диспенсерлерди башкара аласыз:
- Танктардагы тамактын жана суунун деңгээлин караңыз.
- Табактардагы тамактын жана суунун деңгээлин караңыз.
- Учурда жаныбар жеп же ичип жатабы?
- Тамактандырууну графикке коюңуз (идиште тамак жетиштүү болсо, аппарат тамак бербейт).
- Идиш бошогондо автоматтык түрдө суу чачыңыз.
- Тамакты/сууну кнопканы басуу менен бөлүп бериңиз.
- Телефонуңузга push эскертмелерин алыңыз (Telegram колдонмосу аркылуу).
Биз кимбиз?
IDC Herzliyaдагы компьютер илимдеринин студенттери Том Кауфман менен Катя Фичман тарабынан түзүлгөн.
Бул долбоор IOT курсу үчүн жасалган.
Жабдуулар
Электроника
- 2 X ESP8266 (Wemos d1 mini).
- Өткөргүч зымдар.
- 2 X Breadboard.
- 4 X Ultrasonic сенсор.
- 2 X жүктөө клеткасы.
- 2 X Load cell amplifier (HX711).
- Серво (180 °).
- Servo (үзгүлтүксүз айлануу).
- 2 X 6V электр менен камсыздоо.
Бөлүктөр
- Cornflakes диспенсери (Amazon шилтемеси).
- 3D басып чыгарылган тамак -аш диспенсеринин воронкасы (https://www.thingiverse.com/thing:3998805).
- 3D басып чыгарылган тамак -аш диспенсеринин серво тиркемеси (https://www.thingiverse.com/thing:3269637).
- 3D басып чыгарылган тамак -аш таратуучу стенд (бул долбоор үчүн иштелип чыккан:
- 3D басылган жүк клеткасынын базасы жана табак (бул долбоор үчүн иштелип чыккан:
- Суу диспенсери (Amazon окшош нерсеге шилтеме).
- Зым (суу диспенсеринин туткасын сервого туташтыруу үчүн).
- 3 X УЗИ сенсорунун стенди.
1 -кадам: Бул кантип иштейт?
ESP8266 такталары сенсорлордун окуусун Mosquitto (MQTT брокери) аркылуу Node-REDге жөнөтөт.
Node-RED маалыматтарды иштетет, ошого жараша аракеттерди жасайт (ошондой эле таратуу буйруктарын ESP8266 такталарына Mosquitto аркылуу жөнөтөт) жана маалымат тактасында маалыматты көрсөтөт.
Бардык эсептөөлөр Node-REDде жүргүзүлөт, андыктан бул долбоорду кайталоо жана коддоону колуңузга кир келтирбестен, параметрлерди жана каалоолоруңузга жараша маалыматтарды иштетүүнү өзгөртүү оңой болмок.
2 -кадам: Программалар
Arduino IDE
Жүктөп алуу жана орнотуу (шилтеме:
Mosquitto
Жүктөп алуу жана орнотуу (шилтеме:
Node.js
Жүктөп алуу жана орнотуу (шилтеме:
Түйүн-КЫЗЫЛ
Көрсөтмөлөрдү аткарыңыз:
ngrok
Жүктөө:
Telegram
Смартфонуңузга тиркемени орнотуңуз.
3 -кадам: Circuit Layout
* Эки аппарат тең бирдей схемаларга ээ
Суу диспенсери
-
УЗИ сенсору (суу сактагыч үчүн)
- GND - Г.
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
УЗИ сенсор (үй жаныбарынын табактан алыстыгы үчүн)
- GND - Г.
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Уячаны жүктөө
- Жашыл - A+ (HX711)
- АК - A- (HX711)
- КАРА - E- (HX711)
- КЫЗЫЛ - E+ (HX711)
-
HX711 (жүктөө клеткасынын күчөткүчү)
- GND - Г.
- VCC - 5V
- DT - D4
- SCK - D3
-
Серво (180 °)
- GND - Г.
- VCC - 5V
Тамак таратуучу
-
УЗИ сенсору (азык танк үчүн)
- GND - Г.
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
УЗИ сенсор (үй жаныбарынын табактан алыстыгы үчүн)
- GND - Г.
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Уячаны жүктөө
- Жашыл - A+ (HX711)
- АК - A- (HX711)
- КАРА - E- (HX711)
- КЫЗЫЛ - E+ (HX711)
-
HX711 (жүктөө клеткасынын күчөткүчү)
- GND - Г.
- VCC - 5V
- DT - D4
- SCK - D3
-
Серво (үзгүлтүксүз айлануу)
- GND - Г.
- VCC - 5V
- КОНТРОЛДОО - D8
4 -кадам: Кол өнөрчүлүк
Суу диспенсери
- Сервону диспенсердин астыңкы бөлүгүнүн үстүнө жабыштырыңыз (сүрөттө көрсөтүлгөндөй).
- Суу бөлүштүргүчтүн кичине тешигин бургулаңыз.
- Серво башын туткасына зым менен туташтырыңыз (серво башы 0 позицияда экенин текшериңиз жана зымдын бекем экенин текшериңиз).
- УЗИ сенсорун резервуардын ички жагына чаптаңыз, анын чокусуна жакын (сенсор ылдый карайт).
- Суу баскычынын астындагы бир УЗИ сенсорун сыртка чаптаңыз (суу идишинин көрсөткүчтөрүнө таасир бербеши үчүн анын жетишерлик бийик экенин текшериңиз).
Тамак таратуучу
- Сервону анын кармагына сайыңыз (3D басылган бөлүгү).
- Воронканы (3D басылган бөлүгү) танк кармагычка (3D басылган бөлүгү) чаптаңыз.
- Цистерна кармагычты диспенсердин стендине туташтырыңыз (3D басылган бөлүгү) жана танкты ордуна коюңуз.
- Айлануучу бөлүктү (3D басып чыгарылган) ордуна жана диспенсердин ийрүүчү резина бөлүгү аркылуу киргизиңиз.
- Серво кармагычтын бөлүгүн диспенсердин стендине бурап коюңуз.
- Танктын капкагынын ички жагына бир УЗИ сенсорун чаптаңыз (сенсор ылдый карайт).
- УЗИ сенсорун үй жаныбарыңыз жей турган жерге караган танктын кармагычынын капталына чаптаңыз.
Уячаларды жүктөө
3D басылган базага жана табакка ар бир жүктөө клеткасын чаптаңыз (жүктөө клеткасынын жебеси ылдый карайт)
5 -кадам: чиркей
Open Mosquitto (Windows колдонуучулары: Mosquitto папкасына өтүңүз, cmd ачыңыз жана киргизиңиз: "mosquitto -v").
* ЭЭМдин ички IP дарегин алуу үчүн cmd иштетип, "ipconfig" киргизиңиз.
6 -кадам: Arduino IDE
Arduino IDEди ачыңыз жана бул колдонмонун "Arduino IDEге ESP8266 кошумчасын орнотуу" бөлүгүн аткарыңыз:
Tools-> Boardго өтүп, "LOLIN (WEMOS) D1 R2 & mini" тандаңыз.
Sketch-> Include Library-> Add. ZIP Library… бөлүмүнө өтүңүз жана "Libraries.rar" файлына 3 китепкананы кошуңуз.
"HX711Calibration" эскизин ачыңыз, аны ESP8266га жүктөңүз, иштетиңиз жана инструкцияларды аткарыңыз (коддун башында жана сериялык монитордо), жүктөө клеткаларын калибрлөө үчүн (сериялык монитордун өткөрүмдүүлүк ылдамдыгы 115200 baud).
* Калибрлөө коэффициентин жана нөлдүк ордун жазыңыз (кийинчерээк колдонуу үчүн).
IDE аркылуу "FoodDispenser" жана "WaterDispenser" эскиздерин ачыңыз жана төмөнкү өзгөрмөлөрдү жөндөөлөрүңүз менен өзгөртүңүз ("Settings.h" файлында):
- WIFI_SSID
- WIFI_PASSWORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* MQTT_SERVERге "Mosquitto" кадамынан ички IP дарегин киргизиңиз.
Эскиздерди эки ESP8266ге жүктөңүз (ар бир тактага бирден код).
* Байкаңыз, биз esp8266 "HX711" китепканасы менен айкалышканда бузулгандан бери эң кеңири таралган "pubsubclient" китепканасын эмес, "AsyncMqttClient" китепканасын колдондук.
* Эгерде сиз кодго өзгөртүүлөрдү киргизүүнү чечсеңиз, кайра чалуу функцияларынын ичинде "кечиктирүү" жана "түшүмдүүлүк" функцияларын колдонбогонуңузду текшериңиз, анткени ал бузулууга алып келет.
7 -кадам: Ngrok
Жүктөлүп алынган файлды ачыңыз ("Программалар" кадамындагы шилтемеден).
"Ngrok.exe" ачыңыз жана "ngrok http 1880" буйругун аткарыңыз.
* Сизге эң жакын аймакты тандай аласыз (au, eu, ap, us, jp, in, sa). Демейки - биз.
Мисалы, "ngrok http --region = eu 1880" командасын иштетүү (аймакты Европага коюу).
Эми сиз веб -дарегиңизди тышкы колдонуу үчүн көрөсүз (биз бул дарекке YOUR_NGROK_ADDRESS деп кайрылабыз).
8-кадам: Node-RED
Node-REDти ачыңыз (Windows колдонуучулары: cmd ачып, "node-red" деп жазыңыз) жана https:// localhost: 1880ге өтүңүз (эгер ал иштебесе, cmd терезесинен "Сервер азыр жазылган" дарегин издеңиз) ") чуркап.
Менюну ачыңыз (жогорку оң бурчта) жана "Палитраны башкаруу" баскычын басыңыз.
"Орнотуу" өтмөгүнө өтүңүз, бул модулдарды издеңиз жана орнотуңуз:
- түйүн-кызыл-салым-улантуу.
- түйүн-кызыл-салым-cron-плюс.
- түйүн-кызыл-салым-ui жетектеген.
- түйүн-кызыл-тактасы.
- түйүн-кызыл-салым-телеграмма.
Менюга өтүү-> Импорттоо жана агым файлын жүктөө (тиркелген RAR файлын чыгарып, json файлын жүктөө).
Агым жөнүндө түшүндүрмөлөр үчүн тиркелген сүрөттөрдү караңыз.
Бул түйүндөрдү жөндөөлөрүңүз менен өзгөртүүгө туура келет:
- "Telegram жөнөтүүчү" түйүнүнүн профилин боттун колдонуучу аты жана энбелгиси менен жаңыртыңыз (бул колдонмону колдонуңуз:
- Агымдын түбүндө "Ngrok Address" жана "Telegram Chat Id" түйүндөрүнүн жүктөмдөрүн өзгөртүңүз (жогорудагы шилтемедеги Telegram колдонмосун колдонуу менен чаттын идентификаторун алыңыз).
-
Агымдын төмөнкү бөлүгүндө орнотуулар түйүндөрү бар - аларды муктаждыктарыңызга жараша өзгөртүңүз:
- Үй жаныбарын жеп/ичүү эскертмелерин иштетүү.
- Тамактануу/ичүү эскертүүсүн иштетүү үчүн канча аралык бар экенин аныктаңыз.
- Табактарды жана цистерналарды иштетүүнү аныктаңыз.
- Таркатуу убактысын өзгөртүү (диспенсиялар канча убакытка созулат - автоматтык режим жана баскычты басуу).
- Тамак идишинин ашуу босогосунун пайызын аныктаңыз (идиште тамак жетиштүү болсо, автоматтык тамак берүүнү токтотуңуз).
Агымды жайылтуу (жогорку оңдо).
* Биринчи жайгаштырууда гана, мүчүлүштүктөрдү оңдоо терезесинде 'persistance.json' файлы жоголгону жөнүндө эскертүү пайда болот. Бул тууралуу тынчсызданбаңыз, анткени учурда сиз тамактандыруу убактысын белгилейсиз же автоматтык суу алмаштыргычты алмаштырасыз, ал бул файлды баштапкы абалга келтирет жана сизге мындан ары бул эскертүү берилбейт.
Куралдар тактаңызды https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (эгер сиз сервер менен бир эле LANга туташкан болсоңуз) же YOUR_NGROK_ADDRESS/ui (бардык жерден) боюнча көрө аласыз.
9 -кадам: Бүтүрүү
Бул окуу куралы маалыматтуу жана окууга, түшүнүүгө жана ишке ашырууга оңой болгон деп үмүттөнөбүз.
Бизден эч нерсе сурабаңыз.
Сунушталууда:
SmartPET - Smart Pet Feeder: 7 кадам (сүрөттөр менен)
SmartPET - Smart Pet Feeder: Эй! Мен Максим Вермееренмин, Howestтин 18 жаштагы MCT (Мультимедиа жана байланыш технологиясы) студентимин. Мен өзүмдүн долбоорум катары акылдуу үй жаныбарларын багууну тандап алдым. Эмне үчүн мен муну жасадым? Менин мышыгымдын кээ бир салмак көйгөйлөрү бар, Ошентип, мен машина жасоону чечтим
Smart Pet Feeder: 11 кадам
Smart Pet Feeder: Мен Бельгиядагы Howest Kortrijk академиясынын студентимин. Мен өзгөчө мышыктар менен иттер үчүн фидер жасадым. Мен бул долбоорду итим үчүн жасадым. Көп учурда мен кечинде итиме тамак берүү үчүн үйдө эмесмин. Ушундан улам менин итим тамагын алуу үчүн күтүүгө туура келет. Менен
Smart Feeder: 4 кадам
Smart Feeder: Үй жаныбарына ээ болуу абдан кызыктуу. Бирок качан гана сиз көңүлдүү эс алууга баргыңыз келсе жана өзүңүз менен эң жакын досуңузду ала албасаңыз, анда үй жаныбарыңызды баккан адамды табышыңыз керек. Менде бул маселе көп болгон жана өзүмдүн үй жаныбарымды куруу идеясын алдым
SMART FISH FEEDER "DOMOVOY": 5 кадам (Сүрөттөр менен)
SMART FISH FEEDER "DOMOVOY": Фидер " DOMOVOY " Аквариум балыктарын график боюнча автоматтык түрдө азыктандыруу үчүн иштелип чыккан
Smart Cat Feeder: 8 кадам (Сүрөттөр менен)
Smart Cat Feeder: Эгерде сиз мышыгыңыз күн сайын эртең менен сизге кыйкыргандан чарчап жатсаңыз, анда мышык үчүн азыктандыруучу кура аласыз. Бизге 2 банка керек Витаминдер бөтөлкөсүMG996 servo мотор Zip галстуктары Калын зым Кош кошулган табак Стирофамдын бир бөлүгү Электр тасмасы Arduino же окшош микроконтроллер/микрокомпьютер