ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Гол санаанууд эсвэл энэ нийтлэл юуны тухай юм

Бид цуврал нийтлэлээ үргэлжлүүлнэ ShioTiny - нүдээр програмчлах боломжтой чип дээр суурилсан хянагч ESP8266.

Энэ нийтлэлд угаалгын өрөө эсвэл өндөр чийгшил бүхий бусад өрөөнд агааржуулалтын хяналтын төслийн жишээг ашиглан програмыг хэрхэн яаж барих талаар тайлбарласан болно. ShioTiny.

Цувралын өмнөх нийтлэлүүд.

ShioTiny: жижиг автоматжуулалт, интернетийн зүйлс эсвэл "амралтаас зургаан сарын өмнө"
ShioTiny: зангилаа, холболт, үйл явдал эсвэл зургийн програмын онцлог

лавлагаа

Хоёртын програм хангамж, хянагчийн хэлхээ ба баримт бичиг
Бүрэлдэхүүн хэсгүүдийн заавар, тайлбар
MQTT брокер cloudmqtt.com-г тохируулж байна
Android-д зориулсан MQTT хяналтын самбар

Танилцуулга

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

Өмнөх нийтлэлүүдийн уншигчдын асуулт, захидал намайг ShioTiny зангилаа хэрхэн ажилладагийг харуулахын тулд агааржуулалтын хяналтын жишээ болох жижиг төсөл хэрэгжүүлэхэд түлхэц болсон.

Хянагч төрсөн анхны санаа ShioTiny - шахуурга, усалгааны станц - хүн бүрт тохиромжгүй, хүн бүрийн сонирхлыг татахгүй. Тиймээс би олон хүнд ойлгомжтой, ашигтай агааржуулалтын хяналтын системийг жишээ болгон авсан.

Төслийн санаа нь минийх биш, гэхдээ би хэлэх болно Би эндээс авсан тэгээд дасан зохицсон ShioTiny.

Эхлээд юу хүсч байгаагаа ойлгоорой

Сайжруулах үйл явц нь эцэс төгсгөлгүй юм. Мөн энэ өмч олон сайхан санаа, төслийг сүйрүүлсэн. Хөгжүүлэгч нь төгс биш ч ажиллаж байсан зүйлийг гаргахын оронд үргэлжлүүлэн сайжруулсаар байв. Өрсөлдөгчид үүнийг тойрч гарах хүртэл тэр үүнийг сайжруулж, хамгийн тохиромжтой биш (мөн ихэнхдээ үнэхээр муу) байсан ч ажиллах шийдлийг гаргасан.

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

Бидний төлөвлөгөө ийм байх болно. Чийгшил нь заримдаа мэдэгдэхүйц нэмэгдэж болох өрөө байдаг гэж бодъё. Жишээлбэл, угаалгын өрөө эсвэл гал тогооны өрөө гэх мэт. Чийглэг нь тааламжгүй зүйл бөгөөд түүнтэй тэмцэх арга нь дэлхийтэй адил эртний юм: өрөөг агааржуулах. Агааржуулах хэд хэдэн арга байдаг. Гэхдээ бид фенүүдтэй хар арьстнууд гэх мэт чамин, хуучирсан аргуудаас татгалзаж, жирийн шүтэн бишрэгчидтэй зууралдах болно. Манай нутагт фенүүд нь хямд бөгөөд олоход хялбар байдаг.

Нэг үгээр хэлбэл, бид сэнсийг хянахыг хүсч байна: үүнийг асааж, үүний дагуу унтраа. Илүү нарийн, бид үүнийг шаардлагатай үед асааж, унтраахыг хүсч байна.

Ямар нөхцөлд сэнс асаах, ямар нөхцөлд унтрах ёстойг тодорхойлоход л үлддэг.

Энд бүх зүйл тодорхой байна: чийгшил нь тодорхой хязгаараас давсан бол сэнс асч, агаарыг гадагшлуулдаг; Агаарын чийгшил хэвийн болсон - сэнс унтарна.

Анхааралтай уншигч "өгөгдсөн" гэдэг үгийг шууд л анзаарах болно. Хэн өгсөн бэ? Тодорхойлсноор?

Та босго чийгшлийг хэд хэдэн аргаар тохируулж болно. Бид тэдгээрийн хоёрыг авч үзэх болно: эхнийх нь хувьсах эсэргүүцлийг ашиглах, хоёр дахь нь MQTT протоколоор дамжуулан сүлжээгээр дамжуулан. Эдгээр аргууд тус бүр нь давуу болон сул талуудтай бөгөөд үүнийг дараа нь авч үзэх болно.

Ойлгохгүй байгаа хүмүүст би "босго чийгшил" нь сэнсийг асаах ёстой чийгийн түвшин гэдгийг тайлбарлах болно.

Дараагийн асуулт бол хэрэглэгчдэд сэнсийг шууд асаах эрхийг өгөх ёстой юу? Энэ нь чийгшлийн түвшингээс үл хамааран товчлуур дээр дарахад уу? Ийм боломжийг бид хангах болно. Эцсийн эцэст, сэнс нь зөвхөн өндөр чийгшилтэй үед төдийгүй өрөөнөөс, жишээлбэл, "өмхий" гэж нэрлэгддэг эвгүй үнэрийг арилгахад хэрэгтэй байж магадгүй юм.

Тиймээс бид юу хүсч байгаагаа, тэр ч байтугай хэрхэн ажиллахыг бага зэрэг ойлгодог. Агааржуулалтын хяналтын системийн бүх функцийг товч жагсаацгаая.

  • чийгшлийн босго түвшинг тогтоох (хоёр сонголт);
  • чийгшлийн түвшинг хэмжих;
  • автомат сэнс асаах;
  • автомат сэнс унтрах;
  • гараар сэнс идэвхжүүлэх (товчлуураар).

Тэгэхээр төлөвлөгөө тодорхой байна. Манай хөтөлбөрт дээрх бүх чиг үүргийг хэрэгжүүлэх шаардлагатай байна. Бид энэ “төлөвлөгөө”-ний үндсэн дээр ажиллана. Эхлээд төхөөрөмжийн блок диаграммыг зуръя.

Төхөөрөмжийн блок диаграмм

Ерөнхийдөө бид ийм хоёр схемтэй болно. Эхнийх нь чийгшлийн босго түвшинг хувьсах эсэргүүцлээр тогтоосон сонголтод зориулагдсан. Хоёрдахь схем нь MQTT протоколоор дамжуулан сүлжээгээр босго чийгшлийн түвшинг тогтоох хувилбарт зориулагдсан болно.

Гэхдээ эдгээр хэлхээ нь зөвхөн нэг элементээр ялгаатай байх болно - хувьсах резистор "чийгшлийн босго түвшинг тогтоох" тул бид зөвхөн нэг блок диаграммыг зурах болно. Мэдээжийн хэрэг, ГОСТ-ийн дагуу блок диаграмм нь өөр өөр харагдаж байна. Гэхдээ бидон инженерүүд дээр биш, харин залуу үеийнхэнд анхаарлаа хандуулж байна. Тиймээс харагдах байдал илүү чухал юм.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Тэгэхээр бид зурган дээр юу харж байна вэ? Сэнс нь релетэй холбогдсон байна Relay1 хянагч ShioTiny. Сэнс нь өндөр хүчдэлийн төхөөрөмж гэдгийг анхаарна уу. Тиймээс, хэрэв хэн нэгэн үүнийг өөрөө хийвэл болгоомжтой байгаарай. Өөрөөр хэлбэл, хуруугаа эсвэл хэмжих хэрэгслийг хэлхээнд наахаасаа өмнө ядаж сэнсний хүчийг унтраа. Мөн хоёр дахь тэмдэглэл. Хэрэв таны фен илүү хүчтэй бол 250W, дараа нь шууд холбоно уу ShioTiny үнэ цэнэтэй биш - зөвхөн эхлүүлэгчээр дамжуулан.

Бид сэнсээ ялгасан. Одоо сэнсийг "гараар асаах" товчийг дарна уу. Энэ нь оролттой холбогдсон байна Оролт1. Энд өөр тайлбарлах зүйл алга.

Температур ба чийгшил мэдрэгч DHT-11 (эсвэл DHT-22 эсвэл тэдгээрийн аналог). Түүний холболтын хувьд хянагч дээр тусгай оролт байдаг. ShioTiny. Зураг дээр харж байгаагаар ийм мэдрэгчийг холбох нь бас асуудал биш юм.

Эцэст нь, чийгшлийн босго түвшинг тогтоодог хувьсах эсэргүүцэл. Илүү нарийвчлалтай хэлбэл, хувьсах болон тогтмол эсэргүүцэлээс бүрдэх хуваагч. Холболтод ямар ч асуудал байхгүй, гэхдээ суулгасан ADC гэдгийг тайлбарлая ESP8266 дээд тал нь 1 вольтоор бүтээгдсэн. Тиймээс ойролцоогоор 5 дахин их хүчдэл хуваагч хэрэгтэй.

MQTT протоколыг ашиглан сүлжээгээр чийгшлийн босго түвшинг тогтоосон тохиолдолд энэ хуваагч шаардлагагүй гэдгийг дахин сануулъя.

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

Сонголт нэг, хамгийн энгийн

Энгийн зүйлээс эхэлцгээе: реле асаах Relay1 тогтоосон хугацаанд чийгшлийн босго хэмжээ хэтэрсэн үед.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Таны харж байгаагаар ямар ч төвөгтэй зүйл байхгүй: зөвхөн дөрвөн зангилаа, тайлбарын зангилааг тооцохгүй. DHT11 - энэ бол температур, чийгшлийн мэдрэгч өөрөө юм (өөр сольж болно DHT22).

Тогтмол CONST - чийгшлийн босго түвшин, хувиар.

Харьцуулагч - хоёр тоог харьцуулах зангилаа бөгөөд хэрэв өгөгдсөн нөхцөл хангагдсан бол 1, хангагдаагүй бол 0 гарна.

Манай тохиолдолд ийм нөхцөл байх болно A>Bхаана A мэдрэгчээр хэмжсэн чийгшлийн түвшин ба B - ижил чийгшлийн босго түвшин.

Хэмжсэн чийгийн түвшин даруй (A) чийгшлийн босго хэмжээнээс хэтрэх болно (B), харьцуулагчийн гаралтын яг тэнд A>B 1 гарч ирэх ба реле асах болно. Үүний эсрэгээр, чийгшлийн түвшин хэвийн хэмжээнд буцаж ирмэгц (жишээ нь. A<=B), харьцуулагчийн гаралтын яг тэнд A>B 0 гарч ирэх ба реле унтарна.

Бүгд ойлгомжтой юу? Тохиромжгүй хүмүүсийн хувьд үүнийг дахин уншина уу эсвэл зааварт байгаа нэгжийн ажиллагааны тайлбарыг харна уу.

Мэдрэгчээс авсан өгөгдөл гэдгийг анхаарна уу DHT11 ойролцоогоор 10 секунд тутамд шинэчлэгддэг. Тиймээс реле нь 10 секунд тутамд нэгээс олон удаа асаах, унтраах боломжгүй болно.

Бүх зүйл сайхан байх болно, гэхдээ бид хувьсах резистор ашиглан чийгшлийн босго түвшинг тогтоохыг хүсч байна. Юу ч илүү хялбар байж чадахгүй!

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Тогтмол зангилааг ADC зангилаагаар орлуулъя. Эцсийн эцэст бид хувьсах резистор бүхий хүчдэл хуваагчийг ADC-д холбосон.

ADC оролтын хүчдэл 0-1 вольт хооронд хэлбэлздэг. Гэхдээ мэдрэгчийн гаралтын чийгшил 0-100% хооронд хэлбэлздэг. Бид тэдгээрийг хэрхэн харьцуулах вэ? Энэ бол энгийн. ADC зангилаа ShioTiny зөвхөн оролтын хүчдэлийг хэмжихээс гадна яаж хийхийг мэддэг масштаб ба шилжилт.

Өөрөөр хэлбэл, ADC1 зангилааны (ADC) гаралт нь утгатай байх болно X, томъёогоор тооцоолно

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

хаана ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл) — ADC оролтын хүчдэл (0-ээс 1V хүртэл); k - хүрээ (ADC хүрээ) ба b-офсет (ADC офсет). Тиймээс, хэрэв та тохируулсан бол k = 100 байна и b = 0, дараа нь өөрчлөх үед ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл) 0-ээс 1 хүртэлх зайд, утга X ADC зангилааны гаралт нь 0-ээс 100-ийн хооронд хэлбэлзэх болно. Өөрөөр хэлбэл, 0-ээс 100% хүртэлх чийгшлийн өөрчлөлтийн мужтай тоон хувьд тэнцүү байна.

Эсвэл зүгээр л, хувьсах эсэргүүцлийн гулсагчийг эргүүлснээр та чийгшлийн босго түвшинг 0-ээс 100 хүртэл тохируулж болно. Цорын ганц таагүй зүйл бол дэлгэцийн төхөөрөмж байхгүй байна. Гэхдээ практик дээр хэрэв та хувьсах эсэргүүцэлтэй моторын 6 хуваагдлыг хийвэл (0%, 20%, 40%, 60%, 80%, 100%) - чийгшлийн босго түвшинг тогтооход хангалттай.

Бид магадлалаа хэрхэн тогтоох вэ? k - хүрээ (ADC хүрээ) ба b-офсет (ADC офсет)? Тийм ээ, уурын манжингаас илүү хялбар! Хулганы заагчаа зангилаа руу чиглүүл ADC1 дугаартай нэн даруй та тохиргооны цонхыг харах болно. Та түүнд хэрэгтэй бүх зүйлийг хийж болно. Бидний хувьд энэ нь зураг дээрх шиг цонх байх болно.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Тиймээс бидэнд хамгийн энгийн ажлын шийдэл байна. Үүнийг сайжруулж эхэлцгээе.
Дашрамд хэлэхэд, хамгийн энгийн шийдэл нь нэг давуу талтай - энэ нь интернет шаарддаггүй. Энэ нь бүрэн бие даасан байдаг.

Хоёрдахь сонголт бол товчлуурыг холбоно уу

Бүх зүйл ажилладаг, бүгд аз жаргалтай байдаг. Гэхдээ азгүй, бид агааржуулалтыг хүчээр асааж чадахгүй. Бид үүдэнд аль хэдийн тохиролцсон Оролт1 Бид чийгшил мэдрэгчээс үл хамааран сэнсийг хүчээр асаах, унтраах товчлуурыг холбох болно.
Манай програмын диаграммд энэ товчлуурыг боловсруулах цаг болжээ.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Товчлуур товших процессын блокыг улбар шар шугамаар тодруулсан. Энэ нь гаралтын утга нэгээс хэтэрсэн үед (ногоон шугам, зангилааны гаралт) дахин тохируулдаг товчлуур даралтын тоолуур юм. CT).

Энд байгаа бүх зүйл өмнөх шигээ ажилладаг: тоолуур CT оролттой холбогдсон товчлуурын даралтыг тоолно Оролт1. Өөрөөр хэлбэл, энэ тоолуурын гаралтын утга нь товчлуурыг дарах бүрт 1-ээр нэмэгддэг.

Энэ утга нь хоёртой тэнцүү (өөрөөр хэлбэл 1-ээс их) болмогц шууд харьцуулагчийн гаралт дээр A>B 1 гарч ирэх бөгөөд энэ 1 тоологчийг дахин тохируулна CT тэг хүртэл. Энэ нь харьцуулагч, диаграмын доод хэсэг гэсэн үг!

Тиймээс манай товчлуур 0 ба 1 гэсэн хоёр төлөвтэй байна. Хэрэв бидэнд илүү олон төлөв (3 эсвэл 4 ба түүнээс дээш) шаардлагатай бол бид зөвхөн тогтмолыг өөрчлөх хэрэгтэй болно. CONST нэгээс нөгөөд шилжих.

Тиймээс бид сэнсийг асаах хоёр нөхцөлтэй: өгөгдсөн чийгшлийн түвшинг давж, товчлуурыг нэг удаа дарах. Хэрэв аль нэг нөхцөл хангагдсан бол сэнс асах болно. Мөн товчлуурыг дахин дарах хүртэл ажиллах болно И чийгшлийн түвшин хэвийн хэмжээнд эргэж ирэхгүй.

Мэдээжийн хэрэг та алгоритмыг улам хүндрүүлж чадна, гэхдээ бид үүнийг хийхгүй - бид хүссэн хүмүүст бүтээлч орон зай үлдээх болно.

Гурав дахь сонголт, интернетэд холбогдох

Бидний тайлбарласан бүх зүйл үнэхээр ажиллах боломжтой. Үзэсгэлэнгийн талаар юу хэлэх вэ? Эцсийн эцэст, ямар ч батгатай хипстер хакерууд ухаалаг гар утсаараа удирдахын оронд товчлуурыг эргүүлж, товчлуурыг дардаг хүнийг инээх болно! Бариулыг мушгих нь "моод биш" юм. Гэхдээ ухаалаг утсан дээрээ хуруугаараа мөлхөж, хуруугаа цусаар үрж байгаа нь энэ бол хипстер-хакер-крекерийн хүслийн оргил үе юм (би бүгдийг нь хэзээ ч ялгаж чадахгүй - тиймээс миний буруу байсан бол уучлаарай).

Гэхдээ бид эдгээр хүмүүст эелдэг хандъя. Интернетээр дамжуулан удирдах нь бодит давуу талтай. Нэгдүгээрт, энэ нь харагдах байдал юм. Бүх платформд зориулсан маш олон програмууд байдаг бөгөөд энэ нь танд хэд хэдэн засвар хийснээр манай Карлсон хянагчийг бүрэн ашиглах боломжтой хяналтын самбар үүсгэх боломжийг олгодог. Хоёрдугаарт, энэ нь өрөөний чийгшлийн төлөвийг алсаас хянах боломж юм. Гуравдугаарт, та зөвхөн сэнс юу хийж байгааг харахаас гадна эргэлдэж байгаа эсэхээс гадна чийгшлийн түвшин ямар байгааг харж болно. Дараа нь сэнс автоматаар эсвэл гараар асаав. Ерөнхийдөө таны хүссэн бүх зүйл.

Мэдээжийн хэрэг, зарим шүтэн бишрэгчид маш их анхаарал хандуулдаг нь нэр төрийн хэрэг юм. Гэхдээ энэ бол зүгээр л жишээ.

Тиймээс интернетэд холбогдохын тулд бид технологийг ашиглах болно MQTT мөн ижил нэртэй протокол.
Энэ технологийн давуу талыг ашиглахын тулд бидэнд хэрэгтэй MQTT брокер. Энэ бол үйлчилдэг тусгай сервер юм MQTT үйлчлүүлэгчидЖишээ нь ShioTIny болон таны ухаалаг гар утас.

Технологийн мөн чанар MQTT Үйлчлүүлэгчдийн аль нэг нь MQTT брокер (сервер) -д тодорхой нэрээр дур мэдэн мэдээлэл нийтэлдэг. сэдэв нэр томъёонд MQTT). Бусад үйлчлүүлэгчид нэрээ ашиглан дурын өгөгдөлд бүртгүүлж болно (сэдэв) болон шинээр хэвлэгдсэн өгөгдлийг хүлээн авах. Өөрөөр хэлбэл, бүх өгөгдөл солилцох нь үйлчлүүлэгч-брокер-үйлчлүүлэгчийн зарчмыг баримталдаг.

Я би тэгэхгүй дэлгэрэнгүй мэдээлэлд анхаарлаа төвлөрүүл. Энэ нь хэрхэн ажилладаг талаар Интернетэд маш олон нийтлэл, зааварчилгаа байдаг. MQTT хяналтын самбар үүсгэх ямар програмууд байдаг. Бид хэрхэн өгөгдөл хүлээн авч, нийтлэх боломжтойг танд харуулах болно ShioTiny.

Би брокерын хувьд ашиглаж байсан www.cloudmqtt.com, гэхдээ зарчим нь хаа сайгүй ижил байдаг.

Тиймээс, бид таныг бүртгүүлсэн гэж үзэх болно MQTT брокер. Ерөнхийдөө брокер танд хэрэглэгчийн нэр, нууц үг (зөвшөөрөл авах), холболт хийх портыг өгөх болно (эсвэл танаас гаргаж ирэхийг шаардах болно). Холбохын тулд ShioTiny к MQTT брокер хоёр аргаар боломжтой - тогтмол холболт болон дамжуулан TLS (SSL).

Эдгээр бүх параметрүүдийг ShioTiny таб дээр оруулсан Networking, бүлэг MQTT сервертэй холбогдох.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Хэрвээ чиний MQTT брокер зөвшөөрөл шаарддаггүй - нэвтрэх болон нууц үгээ бүү оруул (эдгээр талбарыг хоосон орхи).

Үзүүлэлт MQTT сэдвийн угтвар тусдаа тайлбар шаарддаг.

MQTT параметрийн угтвар нь сэдвийн нэрэнд хавсаргасан тэмдэгт мөр юм (сэдэв) MQTT брокерыг нийтлэх, бүртгүүлэх үед. суулгах MQTT угтвар Удирдлагын хувьд та үүнийг оруулах талбарт оруулахад л хангалттай"MQTT сэдвийн угтвар»(«MQTT сэдвийн угтвар"). Угтвар нь үргэлж ташуу зураасаар эхэлдэг ("/")! Хэрэв та оролтын талбарт ташуу зураас оруулахгүй бол автоматаар нэмэгдэх болно. Та угтварт тэмдэгт ашиглах боломжгүй "#" и "+". Өөр ямар ч хязгаарлалт байхгүй.

Жишээлбэл, хэрэв та "параметрийг нийтэлсэн бол"байдал"(эсвэл бүртгүүлэх) ба таны угтварыг "/шиотини/", дараа нь энэ параметрийг нэрээр брокер дээр нийтлэх болно "/шиотини/статус" Хэрэв танд хоосон угтвар байгаа бол брокер дээрх бүх параметрүүд ташуу зураасаар эхэлнэ ("/"): "байдал"гэж нийтлэх болно"/төлөв".

Тиймээс бид таныг бүртгүүлсэн гэдэгт итгэлтэй байна MQTT брокер нэвтрэх, нууц үг, порт хүлээн авсан. Дараа нь та эдгээр параметрүүдийг таб дээр оруулсан болно Networking, бүлэг MQTT сервертэй холбогдох хянагч ShioTiny.

Угтварыг " гэж тохируулсан гэж бид таамаглаж байна./өрөө/".

Бүх гол параметрүүдийн статусыг нийтэлж эхэлцгээе: реле Бодит 1, гараар солих төлөв, автомат сэлгэн залгах төлөв, эцэст нь босго болон одоогийн чийгшлийн түвшин. За, урамшуулал бол өрөөний температур юм. Үүнийг яаж хийх вэ, зургийг үзнэ үү.

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Таны харж байгаагаар өмнөх хувилбараас ялгаатай нь зөвхөн зангилаанууд юм "MQTT Publish" Угтварыг харгалзан дараах параметрүүдийг нийтлэв.
ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Таны харж байгаагаар системийн бүх төлөв байдал бидний гарын алган дээр байна!

Гэхдээ бид зөвхөн харахыг төдийгүй бас хянахыг хүсдэг. Би юу хийх хэрэгтэй вэ? Маш энгийн. Бид чийгшлийн босго түвшинг ашиглахаас татгалзах болно ADC болон хувьсах резистор ба бид чийгшлийн хамгийн босго түвшинг дагуу тохируулна MQTT шууд ухаалаг гар утаснаасаа!

ShioTiny: нойтон өрөөний агааржуулалт (жишээ төсөл)

Бид ADC зангилааг хэлхээнээс салгаж, тэнд гурван шинэ зангилаа оруулав. FLASH дэлгүүр, FLASH сэргээх и MQTT тайлбарлана.

Зангилааны функц MQTT тайлбарлана ойлгомжтой: энэ нь параметр хүлээн авдаг /өрөө/trigHset (чийгшлийн босго түвшин) s MQTT брокер. Гэхдээ энэ нь дараа нь өгөгдөлтэй юу хийх вэ? Зүгээр л тэдгээрийг зангилаа руу өгнө FLASH дэлгүүр, энэ нь эргээд энэ өгөгдлийг нэрийн дор тогтворгүй санах ойд хадгалдаг trigH. Үүний дараа зангилаа FLASH сэргээх нэрээр тогтворгүй санах ойноос өгөгдлийг уншдаг trigH тэгээд дараа нь юу болохыг бид аль хэдийн мэдэж байгаа.

Яагаад ийм бэрхшээлтэй тулгардаг вэ? Хүлээн авсан өгөгдлийг яагаад харьцуулагчийн оролт руу шууд илгээж болохгүй гэж?

Нөхөр С.Холмс хэлэхдээ - энэ бол анхан шатны! Таны төхөөрөмжийг асаасны дараа нэгдэх болно гэдэгт хэн ч баталгаа өгөхгүй MQTT брокер. Мөн чийгшлийг хэмжих шаардлагатай. Мөн сэнс асаалттай байх ёстой. Гэхдээ чийгшлийн босго түвшний талаар мэдээлэлгүй бол энэ нь боломжгүй юм! Тиймээс манай төхөөрөмж асаалттай үед тогтворгүй санах ойноос өмнө нь хадгалсан босго чийгийн түвшинг гаргаж авч шийдвэр гаргахад ашигладаг. Тэгээд холболт тогтоосон үед MQTT брокер мөн хэн нэгэн шинэ үнэ цэнийг нийтлэх болно /өрөө/trigHset, дараа нь энэ шинэ утгыг ашиглана.

Дараа нь та хүссэн бүхнээ гаргаж чадна. Жишээлбэл, чийгшилээс гадна температурын бүртгэлийг нэвтрүүлэх. Эсвэл "ухаалаг" гэрэлтүүлгийн удирдлагыг нэмнэ үү (бидэнд хоёр реле, хоёр оролт ашиглагдаагүй хэвээр байна). Бүгд таны гарт!

дүгнэлт

Тиймээс бид ShioTiny дээр суурилсан энгийн хянагчийг хэрэгжүүлэх хэд хэдэн жишээг авч үзсэн. Магадгүй энэ нь хэн нэгэнд ашигтай байх болно.

Ердийнх шиг, санал, хүсэл, асуулт, үсгийн алдаа гэх мэт - имэйлээр: [имэйлээр хамгаалагдсан]

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх