Mundarija:
- 1 -qadam: Crouton
- 2 -qadam: veb -server / muharrir
- 3 -qadam: qurilmani sozlash
- 4 -qadam: mulkni sozlash
- 5 -qadam: Meta -ma'lumotlarni sozlash
- 6 -qadam: Materiallar va asboblar
- 7 -qadam: MCUga tayyorgarlik
- 8 -qadam: MCU uy -joyini tayyorlash
- 9-qadam: Qullarning past tomonli tugmachasini/RESET-ni o'rnatish
- 10 -qadam: Asosiy komponentlarni yig'ish
- 11 -qadam: Keyingi qadamlar
Video: IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 XUSUSIYLASHTIRISH VAZIFASI: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
ASSIMILATE SENSOR/ACTOR Slaves Crouton vizualizatsiyasini aniqlash uchun ishlatiladigan metadatalarni joylashtiradi. Ushbu tuzilma ESP8266 Master -ga veb -server qo'shadi, foydalanuvchi o'zgartirishi mumkin bo'lgan ba'zi konfiguratsiya fayllariga xizmat qiladi, so'ngra vizualizatsiyani qayta aniqlash uchun ushbu fayllardan foydalanadi. Shunday qilib, asboblar paneli nomlari va sozlanishi xususiyatlarning ko'pini o'zgartirish mumkin. Bu kerak edi, masalan. DHT11 harorat va namlik xususiyatlarini e'lon qiladi: agar saytda alohida DHT11 datchiklari bo'lgan bir nechta tugunlar bo'lsa, ularning hammasini harorat deyish mumkin emas (Garaj harorati, Yard harorati …). I2C Bus (16 ta belgi) tomonidan o'rnatilgan metadata uzunligini cheklash mavjud emas va boy qiymatlarni qo'llash mumkin (64 ta belgigacha).
Ixtiyoriy asosiy autentifikatsiya veb -sahifani, shuningdek boshqa manbalar uchun autentifikatsiyadan istisnolar ro'yxatini tuzish mumkin.
Qullarni kerak bo'lganda o'chirib qo'yadigan past burchakli kalit, shuningdek, mavjud bortda ham ishlab chiqilgan.
Texnik eslatma sifatida, qurilishni boshlashdan oldin, global metadata obyekti grafigi tufayli xotira hajmi 70% ni tashkil etdi. Oxirgi AssimilateBus kutubxonasida global o'zgaruvchini SPIFFS -da saqlangan kichikroq JSON fayllariga ajratadigan o'zgarishlar yuz berdi. Bu oyoq izini ~ 50%ga qaytardi, bu JSONning barcha tahlil/binosi uchun xavfsizroq. AssimilateBusSlave kutubxonasi bu o'zgarishlarda o'zgarmaydi (ASSIM_VERSION 2).
XUSUSIYATLARI VA VISION
Hozirgi vaqtda qullar (datchiklar va aktyorlar) mustaqil bo'lib, xususiyatlarni o'qish yoki buyruqlar bo'yicha harakat qilish uchun I2C konventsiyasiga asoslangan. Usta qullardan metadata va xususiyatlarni olib, MQTT brokeriga yuboradi. Bundan tashqari, u veb -serverni ishga tushiradi va JSON fayllariga xizmat ko'rsatadi, ular masterni sozlash va metra ma'lumotlarini/xususiyatlarini sozlash uchun tahrirlanishi mumkin, natijada Crouton iste'mol qiladi. Shaxsiy sensorlar/aktyorlar xo'roz xo'jayin qullar nima qilayotgani haqida oldindan bilmasdan Crouton orqali o'qiladi/buyuriladi.
IOT NETWORK ASSIMILATE maqsadlaridan biri - bu Crouton -ni sozlash, shuning uchun IOT NODE veb -serverlaridan (shu kabi tuzilish) xizmat qiladigan mash -tahrirlovchilar veb -komponentalar sifatida qo'shiladi, ular nima qilayotganini to'liq nazorat qiladi, ya'ni master dasturlanmagan, qullarning asosiy funktsiyalar to'plami bor, lekin Crouton asboblar paneli ishni bajarish uchun zarur bo'lgan barcha biznes qoidalarini o'z ichiga oladi!
Crouton vilkasi narsalarni markazlashtirilmagan boshqarish/sozlash uchun variant sifatida qaraladi. Aslida, har qanday MQTT mijozi/GUI kombinatsiyasi narsalaringizni boshqarishi mumkin, chunki har bir funktsiya (sensorlar va aktyorlar) MQTT so'nggi nuqtalari sifatida namoyon bo'ladi.
1 -qadam: Crouton
Crouton. https://crouton.mybluemix.net/ Crouton - bu IOT qurilmalarini minimal sozlash bilan vizualizatsiya qilish va boshqarish imkonini beruvchi asboblar paneli. Aslida, bu har qanday IOT apparat ixlosmandlari uchun faqat MQTT va JSON yordamida sozlashning eng oson paneli.
ASSIMILATE SLAVES (datchiklar va aktyorlar) o'rnatilgan metadata va xususiyatlarga ega, bu uskuna Crouton asboblar panelini qurishda foydalanadigan InInfo json paketini qurishda foydalanadi. ASSIMILATE NODES va Crouton o'rtasidagi vositachi - bu MQTT brokeridir, u veb -saytlarga mos keladi: chivin demo uchun ishlatiladi.
ASSIMILATE MASTER (bu tuzilish) xususiyatlarni so'raganligi sababli, javob qiymatlarini Crouton yangilanishlari uchun kerakli formatda formatlaydi.
2 -qadam: veb -server / muharrir
Master yuklash paytida (bu tuzilish) o'rnatilgan veb -server ishga tushadi. IP -manzil Serial konsoliga chiqariladi; Oxir -oqibat, bu Crouton boshqaruv panelida e'lon qilinadi.
Belgilangan URL manziliga kirganingizda, ACE EDITOR yuklanadi:
Ace - bu JavaScript -da yozilgan joylashtiriladigan kod muharriri. Bu Sublime, Vim va TextMate kabi mahalliy muharrirlarning xususiyatlari va ishlashiga mos keladi.
Ace o'rnatilgan veb -serverlar bilan mashhur va JSON fayllarini tahrirlash va saqlash uchun yaxshi interfeys beradi.
Chapdagi fayl nomini bosish, faylni ESP8266 -dagi SPIFFS -dan o'qiladi va o'ng tomonda tahrir qilish uchun yuklanadi. Faylni yuqori asboblar panelidan saqlash mumkin.
Faylni yuklash uchun:
- Mahalliy fayl tizimidan Fayl -ni tanlang.
- Matn qutisiga papka yo'lini kiriting (agar kerak bo'lsa).
- Yuklash -ni bosing.
- Sahifani yangilang.
3 -qadam: qurilmani sozlash
Qurilmaning konfiguratsiyasi (ESP8266) device.json fayli orqali amalga oshiriladi.
Ma'lumotlarni SPIFFS (ESP8266 eskiz ma'lumotlarini yuklash) ga yuklamasdan oldin, ba'zi yozuvlarni (wifi_ssid, wifi_key) o'zgartirish kerak bo'ladi.
Veb -serverning ildiziga o'ting (https://192.168.8.104/ kabi konsol chiqishida ko'rsatilgan).
TAKRIRLASH
ACE EDITOR -da config/device.json -ni tanlang.
Yozuvlar:
- www_auth_username: veb -server fayllari uchun avtorizatsiya foydalanuvchi nomi (avtorizatsiya uchun bo'sh).
- www_auth_password: veb -server fayllari uchun avtorizatsiya paroli (agar foydalanuvchi nomi aniqlansa).
- www_auth_exclude_files: avtorizatsiya tekshiruvlaridan chiqarib tashlanadigan fayl yo'llarining nuqta-nuqta bilan ajratilgan ro'yxati (agar foydalanuvchi nomi aniqlangan bo'lsa).
- sensor_interval: MQTT Brokeriga ma'lumotlarni e'lon qilish orasidagi millisekundlar.
- ntp_server_name: foydalaniladigan vaqt serverining nomi.
- time_zone: mahalliy vaqt uchun soatlab ofset.
- wifi_ssid: mahalliy kirish nuqtasi SSID.
- wifi_key: SSID uchun kalit.
- mqtt_broker: MQTT brokerining manzili.
- mqtt_username: MQTT brokeridan foydalanish uchun foydalanuvchi nomi (hech qanday hisob kerak emas).
- mqtt_password: MQTT foydalanuvchi nomidan foydalanish uchun parol.
- mqtt_port: MQTT broker porti.
- mqtt_device_name: MQTT mavzulari va Crouton identifikatori uchun ishlatiladigan ism.
- mqtt_device_description: Crouton -da ko'rsatilgan qurilmaning tavsifi.
- viz_color: Crouton -dagi qurilma kartalarini aniqlash uchun rang (forked versiyada)
4 -qadam: mulkni sozlash
Qullarning har birining ta'riflari.h faylida aniqlangan nvc strukturasi mavjud:
// --------------------------------------- E'LON qilingan XUSUSIYATLARI
nvc rekvizitlari [2] = {{"Namlik", "", to'g'ri}, {"Harorat", "", noto'g'ri}}; // --------------------------------------- Nashr qilingan xususiyatlarni tugatish
Har bir yozuv indeksga ega, birinchisi 0 (nol).
Xususiyat nomini sozlash user_props.json fayli orqali amalga oshiriladi.
Veb -serverning ildiziga o'ting (https://192.168.8.104/ kabi konsol chiqishida ko'rsatilgan).
TAKRIRLASH
ACE EDITOR -da config/user_props.json -ni tanlang (yoki yuklang).
Tuzilishi quyidagicha:
Birinchi kalit, ta'riflar.h faylidagi qulning manzili:
#ADDRESS_SLAVE XX ni aniqlang
- Keyingi darajadagi kalit - bu mulk indeksi.
- Bu kalitning qiymati - ta'riflar faylida ko'rsatilgan mulk nomi o'rniga Croutonda ishlatiladigan Mulk nomi.
5 -qadam: Meta -ma'lumotlarni sozlash
Mumkin bo'lgan sozlashlar miqdori tufayli har bir qul o'z metadata o'zgartirish fayliga ega. Fayllar user_metas_.json formatida bo'lishi kerak.
Qul manzili ATTINY85 eskizidagi definitions.h faylida joylashgan:
#ADDRESS_SLAVE XX ni aniqlang
Metadata bir xil faylda shunday ta'riflangan:
const statik char viz1 PROGMEM = "VIZ_CARD_TYPE";
const statik char viz2 PROGMEM = "2: chart-donut"; const statik char viz3 PROGMEM = "1";
Birinchi qator - metadata elementining nomi.
Ikkinchi qator - bu qiymat. U odatda mulk indeksi qo'shimchasiga ega.
Uchinchi qator - davom bayrog'i. 1 - davom ettirish, 0 - metadata oxiri (VCC_MV).
Veb -serverning ildiziga o'ting (https://192.168.8.104/ kabi konsol chiqishida ko'rsatilgan).
TAKRIRLASH
ACE EDITOR -da config/user_metas_SLAVE_ADDRESS.json -ni tanlang (yoki yuklang). Tuzilishi quyidagicha:
- Ism/qiymat juftlari qatori.
- Ism - bu o'zgartirish kerak bo'lgan metadata elementining nomi.
- Qiymat - bu o'zgarish. O'zgartirish uchun indeks qo'shimchasi tekshiriladi.
6 -qadam: Materiallar va asboblar
ICOS10 (IDC) Shell materiallar ro'yxati
- D1M BLOCK Pin Jig (1)
- D1M BLOCK tayanch va korpus (1)
- Wemos D1 Mini (1)
- Wemos D1 Mini Protoboard qalqoni (1)
- 40P ayol sarlavhalari (8P, 8P, 9P, 9P)
- Erkaklar sarlavhasi 90º (3P, 3P, 3P, 2P, 1P, 2P)
- 1 "Ikki tomonlama protoboard (2)
- 2N7000 NFET (1)
- 6 pinli kafanlangan IDC erkak sarlavhasi (1)
- Ulanish simlari (~ 10)
- 0,5 mm kalaylangan tel (~ 4)
- 4G x 15mm tugmachali o'z -o'zidan tejamkor vintlardek (2)
- 4G x 6 mm o'z -o'zidan tejamkor vintlardek (~ 20)
- Lehim va temir (1)
7 -qadam: MCUga tayyorgarlik
Ushbu qurilishda biz Wemos D1 Mini -dan foydalanamiz. Agar siz ilgari D1M WIFI BLOCK qurgan bo'lsangiz, uni modulli apparat komponenti uchun ishlatishingiz mumkin. Agar yo'q bo'lsa, minimal qism sifatida keyingi qismga o'ting.
MCU'GA TUG'ILGAN PIN -kodlarni lehimlash (PIN -JIG yordamida) Agar siz PIN -JIG -ni chop qila olmasangiz, ko'rsatmalarga amal qilib, improvizatsiya qiling: PIN -JIGning balandligi (ofset) 6,5 mm.
- Ushbu sahifadan PIN JIG -ni chop eting/oling.
- Sarlavha pinlarini taxtaning pastki qismidan (TX o'ng-chap) va lehim moslamasiga o'tkazing.
- Pimlarni qattiq tekis yuzaga bosing.
- Jadvalni panjara ustiga mahkam bosing.
- 4 burchakli pinni lehimlang.
- Agar kerak bo'lsa, taxtani/pimlarni qayta qizdiring va joylashtiring (taxta yoki pim hizalanmagan yoki cho'zilmagan).
- Qolgan pinlarni lehimlang.
ISHLAB CHIQARISH yuklanmoqda
Kod omborini bu erda topish mumkin (oniy tasvir).
Bu erda kutubxonaning ZIP kodini topishingiz mumkin (rasm).
Bu erda "ZIP kutubxonasini import qilish" bo'yicha ko'rsatmalar.
Kutubxona o'rnatilgandan so'ng siz "mqtt_crouton_esp8266_customization_webserver" misolini ochishingiz mumkin.
Bu erda Wemos D1 Mini uchun Arduino -ni sozlash bo'yicha ko'rsatmalar.
Bog'liqliklar: ArduinoJson, TimeLib, PubSubClient, NeoTimer (agar omborlardagi o'zgarishlar buzilsa, qo'shimchalarga qarang).
SPIFFS yuklash
Kod Arduino IDE -ga yuklanganidan so'ng, data/config papkasida device.json -ni oching:
- Wi -Fi SSID yordamida wifi_ssid qiymatini o'zgartiring.
- Wi -Fi kaliti yordamida wifi_key qiymatini o'zgartiring.
- Mqtt_device_name qiymatini o'zingiz tanlagan qurilma identifikatori bilan o'zgartiring (qo'shilish shart emas).
- Qurilma tavsifi bilan mqtt_device_description qiymatini o'zgartiring (Croutonda).
- Qurilmani saqlang.json.
- Ma'lumot fayllarini SPIFFS -ga yuklang.
8 -qadam: MCU uy -joyini tayyorlash
MCU uyi D1 Mini-ning sarlavhalarini, rozetka (sensorlar va aktyorlar) zanjiri bilan aloqa qiladigan qizg'in taxtalarga ulanadi.
HOUSING HEADERS Bu D1 Mini Protoboard -ga asoslangan va bu pinlarni ajratib turadi:
- Ulanish uchun D1M WIFI BLOCK/D1 Mini uchun pinlar.
- D1M WIFI BLOCK/D1 Mini -dan 2 qatorli kontaktlarning to'g'ridan -to'g'ri uzilishi. Bu faqat prototipni yaratishda qulaylik uchun mavjud. Taxminlarga ko'ra, boshqaruv kengashi ushbu sarlavhalarga kirishni to'sib qo'yadi.
- 4 Qiz-taxtalar tomonidan ishlatiladigan maxsus pimlarning uzilishi.
D1M kontaktlarini uy -joy boshlig'iga qo'shish uchun:
- SOKET JIGINI ISHLATGAN SOLDER videosini tomosha qiling.
- Sarlavha pimlarini taxtaning pastki qismidan o'tkazing (TX yuqori chap tomonda).
- Jigarni plastmassa sarlavhasi ustiga qo'ying va ikkala yuzani tekislang.
- Jig va yig'ishni aylantiring va boshini qattiq tekis yuzaga mahkam bosing.
- Jadvalni panjara ustiga mahkam bosing.
- Minimal lehim yordamida 4 burchakli pinni lehimlang (faqat pimlarni vaqtincha tekislang).
- Agar kerak bo'lsa, taxtani/pimlarni qayta qizdiring va joylashtiring (taxta yoki pim hizalanmagan yoki cho'zilmagan).
- Qolgan pinlarni lehimlang.
- Jihozni olib tashlang.
- Lehimlarning ustidagi pinlarni kesib oling.
Qizlar taxtasining uzilishlarini qo'shish uchun:
- 9P 9 ta ayol sarlavhasini kesib tashlang.
- Yuqoridagi rasmda ko'rsatilgandek 9P sarlavhalarini joylashtiring va pastdan lehimlang.
To'g'ridan -to'g'ri uzilishlarni qo'shish uchun:
- 2 ta 8P ayol sarlavhalarini kesib tashlang.
- Yuqorida ko'rsatilganidek, 8P sarlavhalarini joylashtiring va pastdan lehimlang.
Sarlavhalarni pastdan yuqoriga yo'naltirilgan TX pin bilan ulash uchun:
- RST pinidan 4 pim bo'ylab iz va lehim.
- A0 pinidan 4 ta pin bo'ylab iz va lehim.
- D1 pinidan 4 ta pin bo'ylab iz va lehim.
- D2 pinidan 4 ta pin bo'ylab iz va lehim.
- D0 pinidan 2 qatorga va 4 pim bo'ylab iz va lehim.
- D7 pinidan 4 ta pin bo'ylab iz va lehim.
- GND pinidan 4 ta pin bo'ylab iz va lehim.
- 5V pimdan 4 ta pin bo'ylab iz va lehim.
- 3V3 pinidan 4 ta pin bo'ylab 45 ° pastga qarab iz va lehim.
FIKTURNI YIG'ISH
HOUSING HEADERS MCU HOUSING -ga yopishtirilgan va bu BASE PLAYTga yopishtirilgan.
- Uy -joy boshlig'ining uzun tomoni teshikka ishora qilganda, D1M KONTAKTLARINI MCU HOUSING teshiklariga joylashtiring va pastga tushiring.
- To'g'ri hizalanishini ta'minlash uchun yopishtirish paytida MCU ni Kontaktlarga joylashtiring.
- HEADER ramkasini o'rnatish moslamalarining yuqori qismiga qo'ying va 4G x 16 mm o'lchamdagi 2 vint bilan mahkamlang.
- O'rnatilgan armaturani teshik qisqa tomonga qaragan holda joylashtiring va 4G x 6 mm vintlar bilan mahkamlang.
9-qadam: Qullarning past tomonli tugmachasini/RESET-ni o'rnatish
Bu oxirgi ishlab chiqilgan REST qo'shimcha taxtasining yaxshilanishi. Bu qullarni GROUND bilan bog'laydigan past tomonli kalitni qo'shadi. Agar xo'jayin asl holatiga qaytarilsa, qullar ham ishga tushadi va metadata targ'ib qilishni boshlash boshlanadi.
Yig'ilish
- Ichkariga 9P 90 ° erkaklar sarlavhalari (1), 1P 90 ° erkaklar sarlavhalari (2), 2N7000 (3) va lehimlarini tashqaridan joylashtiring.
- Ichkarida, sariq telni YELLOW1dan SARI2gacha va lehimni izlang.
- Ichkarida, SILVER1 dan SILVER2 va lehimgacha bo'lgan yalang'och simni izlang.
- Ichki tomondan, SILVER3 dan SILVER4 gacha bo'lgan yalang'och simni va lehimni izlang.
10 -qadam: Asosiy komponentlarni yig'ish
- SHELL qurilganligiga va kontaktlarning zanglashiga olib keling (kabel va rozetkalar).
- 3V3 I2C DAUGHTER-BOARD-dagi 2P Erkak sarlavhasini 2P 90º 1P erkak sarlavhasi bilan almashtiring.
- 3V3 I2C DAUGHTER-BOARD-ni 3V3 pinli, sarlavhaning yirtilgan uchiga joylashtiring (rasmga qarang).
- LOW-SIDE SWITCH/RESET QIZLI KARTINI simni ichkariga joylashtiring (rasmga qarang).
- QIZLAR QAYTARINI RESETLASH 90º 1P erkaklar sarlavhasi orasidagi Dupont qo'rg'oshini 3V3 I2C qizi-taxtasi o'rtasida kuzatib boring.
- IDC soketini SHELL kabelidan 3V3 I2C qizi-taxtasidagi IDC sarlavhasiga joylashtiring.
- Ehtiyotkorlik bilan SHELLdagi kabellar orasiga QIZLIK-BOSHLIKLAR/HOUSINGni joylashtiring va taglik teshiklarini tekislang.
- BASE MASLAHATINI 4G x 6 mm vintlar bilan qobiqqa mahkamlang.
- O'zingiz yaratgan har qanday ASSIMILATSIY SENSORLARNI biriktiring.
11 -qadam: Keyingi qadamlar
- Brauzeringizni https://crouton.mybluemix.net/crouton/connections manziliga yo'naltiring.
- Broker test.mosquitto.org ekanligiga ishonch hosil qiling.
- Ulanish -ni bosing.
- /Config/device.json fayliga Qurilma nomi kirishini mqtt_device_name sifatida kiriting.
- Qurilma qo'shish -ni bosing.
- Avtomatik ulanish-ni bosing.
- ICOS10 (5V MicroUSB) ni yoqing.
- Crouton boshqaruv paneli orqali tasdiqlang.
Tavsiya:
O'rtamizda xavfsizlik qutisini qanday qilish kerak - elektr simlarini uzatish vazifasi: 7 qadam
O'rtamizda xavfsizlik qutisini qanday qilish kerak - elektr simlarini ulash vazifasi: Bugun men sizga "Bizning oramizda" - elektr simlarini ulash bo'yicha o'yindan keyin qanday qilib xavfsizlik qutisini yasashni ko'rsataman
Arduino tomonidan uy vazifasi taymeri: 5 qadam
Uy vazifasi taymeri Arduino tomonidan ishlab chiqarilgan: Farzandingiz uy vazifasini soatlab yozadimi? Farzandingiz uy vazifasini bajarayotganda boshqalar tomonidan osonlikcha chalg'ib qoladimi? Bugun men ushbu mojaroni eng yaxshi hal qilishga harakat qildim: Arduino tomonidan ishlab chiqarilgan taymer. Nega men bu taymerni emas, balki uni qilishga harakat qilaman
IOT123 - SENSORNI ASSIMILASH: MAX9812: 4 qadam
IOT123 - ASSIMILATE SENSOR: MAX9812: Microphone Amplifier Sound MIC 3.3V / 5V Fixed Gain 20dB.Bu qurilish I2C MAX9812 BRICK -ga asoslangan, agar sozlanishi daromad kerak bo'lsa, men ushbu sensorni MAX4466 -ga almashtirishni maslahat beraman. bu qo'shilgan har
IOT123 - AKTORNI ASSIMILASH: KY019: 4 qadam
IOT123 - ASSIMILAT ACTOR: KY019: U 5V TIL boshqaruv signaliga ega, u DC / AC signalini boshqarishi mumkin, bu qurilish I2C KY019 BRICK ga asoslangan. Agar sizga 2 ta kanal kerak bo'lsa, men bu aktyorni 2CH RELAY BRICK bilan almashtirishni tavsiya qilaman. ASSIMILAT ACTORS/SENSORS - atrof -muhit aktyorlari/senso
IOT123 - SENSORNI ASSIMILASH: MQ2: 4 qadam
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS - bu qo'shimcha apparat va dasturiy ta'minotni ajratish qatlamiga ega bo'lgan atrof -muhit sensorlaridir, bu esa ASSIMILATE SENSOR HUB -ga mutlaqo yangi turlarni qo'shish va o'qishni kodsiz MQTT serveriga yuborish imkonini beradi