Агуулгын хүснэгт:

IoT гэрийн тэжээвэр амьтдын хаалга: 6 алхам (зурагтай)
IoT гэрийн тэжээвэр амьтдын хаалга: 6 алхам (зурагтай)

Видео: IoT гэрийн тэжээвэр амьтдын хаалга: 6 алхам (зурагтай)

Видео: IoT гэрийн тэжээвэр амьтдын хаалга: 6 алхам (зурагтай)
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Долдугаар сарын
Anonim
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга
IoT гадаа тэжээвэр амьтдын хаалга

Энэхүү зааварчилгаагаар би тахианы махны автомат хаалга бүтээх санаа авсан юм. Тахианы махны хаалгыг таймер дээр байрлуулаад зогсохгүй утсаа эсвэл компьютероороо хянахын тулд хаалгыг интернетэд холбохыг хүссэн. Энэ хаалгыг миний тахианы махны зориулалтаар барьсан боловч олон төрлийн гэрийн тэжээвэр амьтдын хувьд бусад төрлийн орон сууцанд хялбархан ашиглах боломжтой. Та миний ашиглаж байсан хуучин машины антенны мотороос гадна янз бүрийн төрлийн 12V мотор ашиглаж болно.

Adafruit IO ба IFTTT -ийг ESP8266 -тай холбож, холбосны дараа миний тахианы өрөөний хаалгыг онлайнаар хянах боломжтой болно. Хаалгыг онгойлгож эсвэл хааж болно.

1) Яг тодорхой цагт би adafruit.io дээр ордог

2) Утасныхаа товчлуурыг дарахад

3) Тодорхой дугаар руу мессеж илгээх замаар

4) adafruit.io дээрх товчлуур дээр дарж

5) Физик товчлуур дарахад

Эдгээр функцууд дээр тахианы махны хаалга IFTTT програмаар дамжуулан миний утас руу түлхэх мэдэгдэл илгээх боломжтой бөгөөд хаалга онгойдоггүй, хаагддаг гэх мэт ямар нэгэн асуудал гардаг.

Миний тахианы байшин миний WiFi чиглүүлэгчээс 500 футын зайд байрладаг тул би энэ төслийг хэрэгжүүлэхийн тулд 433MHz RFM69HCW дамжуулагч, хүлээн авагчийг ESP8266 -тай хослуулан ашигласан. Интернэтэд холбогдсон тоног төхөөрөмж бүхий хар доторх дамжуулагч хайрцаг, моторыг хянадаг гадаа саарал хүлээн авагч хайрцаг байдаг.

Энэхүү зааварчилгаа нь миний тахианы өрөөний хаалгыг онгойлгох эсвэл хаах 12V моторыг удирдахад шаардлагатай техник хэрэгслийг бий болгох үйл явцыг танд өгөх болно.

Би дараах хэсгүүдийг ашигласан.

Adafruit 32u4 нь 433MHz RFM69HCW - 25 доллар

Adafruit MCP23017 I2C 16 оролт/гаралтын порт өргөтгөгч IC - 2.95 доллар

Adafruit Feather HUZZAH нь ESP8266 WiFi - 16.95 доллар

Adafruit Radio FeatherWing 433MHz RFM69HCW - 10 доллар

1.6 мм зузаантай ПХБ -ийн Adafruit SMA холбогч - $ 2.50

Adafruit uFL SMA антенны холбогч - $ 0.75

Adafruit RGB түлхэх товчлуур - 10.95 доллар

12V цахилгаан хангамж - 7 доллар

5V USB тэжээлийн хангамж - 7 доллар

Микро USB кабель - 5 доллар

4 сувгийн реле самбар (2 суваг ашиглах боломжтой)- 7 доллар

DC -DC Бак хөрвүүлэгч (зөвхөн нэгийг нь ашигласан боловч 5 ширхэгээр ирдэг) - 20 доллар

Reed Switch (хаалганы унтраалга соронзон мэдрэгч) - 9 доллар

2x 433MHz олон талт антен - 6 доллар

uFL to SMA кабелийн адаптер (зөвхөн нэгийг нь ашигласан боловч 2 багцаар ирдэг) - 5 доллар

Усны хамгаалалттай гадаа ABS төслийн хайрцаг - 11 доллар

Хар ABS төслийн хайрцаг - 10 доллар

20x4 хэмжээтэй Blue Character LCD - 10 доллар

12V автомашины антен мотор - ebay дээр ~ 25 доллар

Утас ба резистор

Алхам 1: Гадна хүлээн авагч

Гадна хүлээн авагч
Гадна хүлээн авагч
Гадна хүлээн авагч
Гадна хүлээн авагч

Гадна хүлээн авагч нь 433MHz RFM69HCW бүхий Adafruit 32u4 -ээс бүрдэх бөгөөд 12В моторын хүчийг асаах, унтраах цөөн хэдэн релетэй холбогддог. Эдгээр модулиуд болон 12V-аас 5V DC-DC хөрвүүлэгч нь ус нэвтэрдэггүй саарал төслийн хайрцгийн дотор байдаг. Эцэст нь хэлэхэд, 32u4 Arduino микроконтроллерийн нэг тээглүүрт холбогдсон хаалганы унтраалга мэдрэгч байдаг бөгөөд хаалга онгойсон эсвэл онгойлгох ёстой эсэхийг мэдэрдэг.

15 секунд тутамд доторх дамжуулагч "Нээлттэй" эсвэл "Хаах" илгээх болно. Хүлээн авсан тушаалыг үндэслэн Arduino 32u4 нь реле асаах эсвэл унтраах болно. Хуучин машины антенны мотор болох миний сонгосон моторын хувьд мотор хэрхэн утастай байсан тул би хоёр реле асаах эсвэл унтраах шаардлагатай болсон. Үндсэндээ хүчийг асаах реле байсан бөгөөд дараа нь мотор сунах эсвэл татагдах эсэхийг хянах өөр нэг реле байв.

Нээлттэй эсвэл хаалттай дамжуулалтыг хүлээн авсны дараа гадаа хүлээн авагч нь "sensorOpen" эсвэл "sensorClosed" гэсэн хариулт өгч хаалганы унтраалгын мэдрэгчийн статусыг харуулна. Хамгийн тохиромжтой нь "нээлттэй" команд нь "sensorOpen" хариуг буцааж өгөх боловч хэрэв хаалга гацах эсвэл мотор гацах юм бол тэдгээр нь таарахгүй болно. Тэд таарахгүй байвал доторх дамжуулагч энэ мэдээллийг харуулах бөгөөд түлхэх мэдэгдэл таны утас руу илгээгдэх болно.

Алхам 2: Гадна хүлээн авагчийн техник хангамжийг холбох

Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох
Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох
Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох
Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох
Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох
Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох

Гадна хүлээн авагчийн тоног төхөөрөмжийг холбох нь тийм ч хэцүү биш юм. Миний ашигласан тээглүүрүүдийг хялбархан харахын тулд би доорхи бүдүүвч схемийг оруулсан болно.

Дээр хэлсэнчлэн миний ашигласан моторт хоёр реле шаардлагатай байсан. Би хавчаарын зургийг орууллаа. 12В -ийг улаан утсаар холбосон хоёр дахь мотор нь сунгагдсан тохиолдолд татагдах болно. Хэрэв та 12В -ийг улаан, ногоон утсанд нэгэн зэрэг холбовол мотор сунах болно.

Миний дээр холбосон зэгс унтраалга нь ердийн хаалттай унтраалгаар холбогдсон байх ёстой. Ердийн нээлттэй ба ердийн хаалттай хоёрын ялгааг миний хавсаргасан зураг дээр тайлбарласан болно. Програм хангамжийг ашиглан 32u4 дээрх оролтын зүү дээр дотоод татах эсэргүүцэл суурилуулсан тул хаалганы унтраалгыг оролтын зүү болон газардуулгатай холбоход л хангалттай.

Та Adafruit 32u4 дээр антен холбох шаардлагатай болно. Adafruit -ийн энэ алхамыг маш сайн тайлбарласан хичээлийг үзээрэй. Илүү сайн хүрээтэй байхын тулд би утасны оронд гаднах антен ашиглахаар шийдсэн.

Алхам 3: Дотор дамжуулагч

Дотор дамжуулагч
Дотор дамжуулагч
Дотор дамжуулагч
Дотор дамжуулагч
Дотор дамжуулагч
Дотор дамжуулагч

Дотор дамжуулагч нь Adafruit Radio FeatherWing 433MHz RFM69HCW -ээс бүрдэх бөгөөд ESP8266 WiFi бүхий Adafruit өд HUZZAH дээр овоолсон болно. Эдгээр модулиуд нь 20x4 тэмдэгт дэлгэцтэй, хар төслийн хайрцаг доторх RGB мөнгөн товчлууртай холбогдсон байна.

Дэлгэц нь NTC синхрончлогдсон цаг, RSSI хүч чадал (радио дохионы хүчийг хэмждэг), тахианы махны хаалга онгойх цаг, тахианы махны хаалга хаагдах хугацаа, хаалганы одоогийн байдалтай. Хаалга хаагдахад товчлуур нь улаан, хаалга нээлттэй байхад ногоон өнгөтэй болно.

Хэрэв гаднах хүлээн авагч хүчээ алдах эсвэл ямар ч шалтгаанаар 433MHz дохиог дамжуулах боломжгүй бол дэлгэц болон RGB товчлуур нь алдааны хоёр горимын эхний хэсэгт орно. Эхний алдааны горимд дэлгэц дээр "ERROR! Гадна хүлээн авагчийг дахин асааж үзнэ үү" гэж хэлэх болно. мөн товчлуур нь өнгөгүй болно. Хэрэв хаалганы унтраалга мэдрэгч нь хаалгыг зохих ёсоор хааж, онгойлгоогүй гэж үзвэл дэлгэц болон RGB товчлуур нь алдааны хоёр горимд орох болно. Алдааны хоёрдахь горимд дэлгэц дээр "ERROR! Door or switch sensor error" гэж хэлэх болно. мөн товчлуур нь өнгөгүй болно. Асуудал өөрөө шийдэгдэх үед дэлгэц болон RGB товчлуур хэвийн байдалдаа орно. Хэрэв эдгээр алдааны горимуудын аль нэг нь тохиолдвол та утсандаа түлхэх мэдэгдэл хүлээн авах боломжтой болно (би дараа нь энэ тохиргоог давах болно).

Алхам 4: Дотор дамжуулагчийн техник хангамжийг холбох

Дотор дамжуулагчийн тоног төхөөрөмжийг холбох
Дотор дамжуулагчийн тоног төхөөрөмжийг холбох
Дотор дамжуулагчийн тоног төхөөрөмжийг холбох
Дотор дамжуулагчийн тоног төхөөрөмжийг холбох

Adafruit Radio FeatherWing 433MHz RFM69HCW -ийг ESP8266 WiFi бүхий Adafruit өд HUZZAH дээр оройлсны дараа IAC зүү SDA ба SCL гэсэн 2 зүү үлдсэн байна. Тиймээс би MCP23017 нэгдсэн хэлхээ (IC) -тэй явсан. Энэ бол I2C дээрх аливаа микроконтроллерт 16 хүртэлх нэмэлт оролт/гаралтын зүү холбодог үнэхээр гайхалтай IC юм. Нэмж дурдахад, Adafruit-RGB-LCD-Shield нэртэй урьдчилан бичсэн номын сан байдаг бөгөөд энэ IC-ийг энэхүү Adafruit бүтээгдэхүүнд техникийн хувьд зориулагдсан тэмдэгт дэлгэцээр ашигладаг боловч энэ төсөлд маш сайн ажилладаг.

MCP23017 -ийг тэмдэгт дэлгэцээр ашиглах санаа нь маш сайн бичсэн зааварчилгаанаас үүдэлтэй юм. Үүнийг шалгаж үзээрэй!

Би үүнийг зааж өгсөн бөгөөд олон товчлуур, RGB дэлгэцийг IC -т холбохын оронд зөвхөн RGB LED, нэг өнгийн дэлгэцтэй IC товчлуурыг холбосон. Энэ нь IC -ийн PIN 1 -ийг (ихэвчлэн RGB дэлгэцийн цэнхэр арын гэрэлд ашигладаг) миний монохром дэлгэцийн арын гэрэлтүүлэг, PIN 28 (ихэвчлэн RGB дэлгэцийн ногоон арын гэрэлтүүлэгт ашигладаг) болгон улаан LED гэж тодорхойлох боломжийг олгодог. товчлуур, PIN 27 (ихэвчлэн RGB дэлгэцийн улаан арын гэрэлтүүлэгт ашиглагддаг) товчлуурын дотор ногоон LED байна. ПИН 24 нь товчлуурын нэг талд, нөгөө тал нь газардуу холбогдсон байв. Дээрх хавсралт дээрх товчлуурын товчлуурыг харж болно (би цэнхэр катодыг салгасан).

Дэлгэцийг холбоход туслах холбоосыг ашиглахаас гадна би бүх зүйлийг холбоход туслах бүдүүвч схемийг оруулсан болно.

Энэхүү Adafruit зааварчилгаанд тайлбарласны дагуу FeatherWing 433MHz RFM69HCW -ийн орой дээр гурван зүү богиносгох хэрэгтэй болно. Та мөн FeatherWing 433MHz RFM69HCW -д антен холбох шаардлагатай болно. Adafruit -ийн энэ алхамыг маш сайн тайлбарласан хичээлийг үзээрэй. Илүү сайн хүрээтэй байхын тулд би утасны оронд хажуугийн SMA холбогчтой гадаад антен ашиглахаар шийдсэн.

Алхам 5: Adafruit. IO болон IFTTT -тэй холбогдох

Adafruit. IO болон IFTTT -тэй холбогдож байна
Adafruit. IO болон IFTTT -тэй холбогдож байна
Adafruit. IO болон IFTTT -тэй холбогдож байна
Adafruit. IO болон IFTTT -тэй холбогдож байна

Adafruit IO:

Хэрэв та дансгүй бол Adafruit. IO -д бүртгүүлэхийн тулд энэхүү Adafruit хичээлийн зааврыг дагана уу. Та тэжээл, хяналтын самбар гэж юу болохыг унших хэрэгтэй.

Энгийнээр хэлэхэд, хяналтын самбар нь график хэрэглэгчийн интерфэйстэй адил бөгөөд тэжээл нь таны өгөгдлийг интернетэд хадгалах боломжтой болгодог. Та 1 Хяналтын самбар, 4 хангамж үүсгэх шаардлагатай болно. Би тахианы махыг хэрхэн зөв бичихээ мэдэхээс өмнө өөрийнхөө нэрийг нэрлэсэн тул буруу бичсэнийг уучлаарай. Хэрэв та тэжээлийн нэрсийг arduino кодын нэрээр өөрчлөхийг хүсэхгүй байгаа бол миний хийсэн нэрийг ашиглаарай.

Эхлээд дөрвөн тэжээл үүсгэнэ үү:

1) "Тахианы махны эргэлт" Энэ нь Нээлттэй/Хаалттай унтраалгад зориулагдсан болно

2) "Chicken Coup Timer" Энэ нь нээлттэй таймерд зориулагдсан болно

3) "Тахианы махны эргэлтийн таймер 2" Энэ нь ойрхон тоолуурт зориулагдсан болно

4) "Тахианы махны эргэлтийн алдааны мессеж" Энэ нь алдааны мэдэгдлүүдэд зориулагдсан болно

Дараа нь Chicken Coup нэртэй хяналтын самбар үүсгээд цэнхэр + товчлуурыг ашиглан 4 блок нэмнэ үү. Дээрх зургийг үзээд ямар төрлийн блокуудыг байрлуулах ёстойг, мөн блокуудын нэрийг харна уу. Шилжүүлэгчийн статусыг яг "Нээлттэй", "Хаалттай" гэж нэрлэсэн эсэхийг шалгаарай.

IFTTT:

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

Нэгдүгээрт, хэрэв танд данс байхгүй бол IFTTT данс үүсгэнэ үү. Хэрэв та миний үүсгэсэн урьдчилан хийсэн апплетуудыг ашиглахыг хүсвэл миний данс руу ороод хүссэн апплетуудаа асаана уу. Үгүй бол та өөрөө үүсгэж, дээр үүсгэсэн adafruit тэжээлд бүртгүүлэх эсвэл нийтлэх шаардлагатай болно.

Алхам 6: Код оруулах, WiFi SSID болон нууц үгийг засварлах

Дотоод дамжуулагч руу код оруулахын тулд та Adafruit зааварчилгааны энэ хуудсыг үзэх шаардлагатай болно.

Гадна хүлээн авагч руу код байршуулахын тулд та Adafruit зааварчилгааны энэ хуудсыг үзэх шаардлагатай болно.

Та RFM69 номын сан, Adafruit_RGBLCDShield номын сан, simpleDSTadjust гэж нэрлэгддэг NTC цагийн номын сан, ticker номын санг суулгах шаардлагатай болно. Үүнийг хэрхэн яаж хийх талаар эндээс олж болно.

Arduino IDE -ийг нээгээд "Outdoor_Receiver.ino" кодыг гадаа Arduino 32u4 руу USB кабелиар байршуулна уу.

Дараа нь "Indoor_Transmitter.ino" -г нээгээд config.h табыг нээгээд WiFi нэр (SSID) болон нууц үгээ ишлэл дотор оруулна уу. Дараа нь энэхүү сургалтын хуудсыг дагаж Adafruit. IO хэрэглэгчийн нэр болон IO түлхүүрээ аваад config.h таб руу оруулна уу.

Хэрэв та Adafruit IO тэжээлийн нэрийг өөрчилсөн бол Indoor_Transmitter үндсэн таб дахь кодыг засах шаардлагатай болно. Дараахь зүйлийг засах:

AdafruitIO_Feed *toggleSwitch = io.feed ("Тахианы махны эргэлт");

AdafruitIO_Feed *таймер = io.feed ("Тахианы махны эргэлтийн таймер");

AdafruitIO_Feed *timer2 = io.feed ("Тахианы мах эргүүлэх таймер 2");

AdafruitIO_Feed *алдаа = io.feed ("Тахианы махны эргэлтийн алдааны мессеж");

Энэ бол таны хийх ёстой бүх зүйл байх ёстой! Хэрэв та хоёр ноорог хэрхэн ажилладаг талаар илүү ихийг мэдэхийг хүсч байвал би кодыг тайлбарлав. Асуух зүйл байвал надад мэдэгдээрэй. Амжилт хүсье!

Зөвлөмж болгож буй: