Mündəricat:

IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 Addım
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 Addım

Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 Addım

Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 Addım
Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 IDC PANEL ASSEMBLY 2024, Iyul
Anonim
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER

ASSIMILATE SENSOR/ACTOR Slaves, Croutonda vizualizasiyanı təyin etmək üçün istifadə olunan metadata yerləşdirir. Bu quruluş, ESP8266 Master -a bir veb server əlavə edir, istifadəçi tərəfindən dəyişdirilə bilən bəzi konfiqurasiya fayllarına xidmət edir, sonra vizualizasiyanı yenidən təyin etmək üçün həmin fayllardan istifadə edir. Beləliklə, tablosuna kartların adları və konfiqurasiya edilə bilən xüsusiyyətlərin əksəriyyəti dəyişdirilə bilər. Bu lazım idi, məsələn DHT11, Temperatur və Rütubət xüsusiyyətlərini dərc edir: bir saytın ayrı DHT11 sensoru olan bir neçə qovşağı varsa, hamısına Temperatur deyilə bilməz (Qaraj İstiliyi, Yard Temp…). I2C Bus (16 simvol) tərəfindən təyin olunan metadata uzunluğu məhdudiyyəti mövcud deyil və daha zəngin dəyərlər tətbiq oluna bilər (64 işarəyə qədər).

İsteğe bağlı Əsas Doğrulama, redaktə olunan veb səhifəsi və digər mənbələr üçün Doğrulamadan kənarlaşdırma siyahısı üçün konfiqurasiya edilə bilər.

Lazım olduqda qulları aşağı salan aşağı tərəfli bir keçid də mövcud bir qızıl taxtada hazırlanmışdır.

Texniki qeyd olaraq, bu işə başlamazdan əvvəl qlobal metadata obyekti qrafiki səbəbindən yaddaş sahəsi 70% idi. Ən son AssimilateBus kitabxanasında, qlobal dəyişəni SPIFFS -də saxlanılan daha kiçik JSON fayllarına ayıran dəyişikliklər oldu. Bu, bütün JSON təhlil/bina üçün daha təhlükəsiz olan izi ~ 50%-ə qədər geri qaytardı. AssimilateBusSlave kitabxanası bu dəyişikliklər boyunca eyni olaraq qalır (ASSIM_VERSION 2).

XÜSUSİYYƏTLƏRİ VİZYON

Hal -hazırda Qullar (sensorlar və aktyorlar) özünəməxsusdur və mülkləri oxumaq və ya əmrlər üzərində hərəkət etmək üçün konvensiyaya əsaslanan I2C mesajlarına güvənirlər. Usta qullardan metadata və xassələri götürüb MQTT brokerinə göndərir. Həm də bir veb serveri işə salır və ustanı konfiqurasiya etmək və nəticədə Crouton tərəfindən istehlak edilən metadata/xassələri fərdiləşdirmək üçün düzəldilə bilən JSON fayllarına xidmət edir. Fərdi sensorlar/aktyorlar, qulların nə etdikləri barədə əvvəlcədən məlumatı olmayan Crouton vasitəsilə oxunur/əmr olunur.

IOT NETWORK ASSIMILATE -in məqsədlərindən biri, Crouton -u fərdiləşdirməkdir ki, IOT NODE veb -serverlərindən (bu quruluş kimi) xidmət edən yığma redaktorları, işin tam nəzarətini təmin edəcək veb komponentləri kimi əlavə olunsun, yəni ustanın proqramlaşdırılmaması, qulların əsas xüsusiyyət dəstləri var, ancaq Crouton tablosu işi idarə etmək üçün lazım olan bütün iş qaydalarını özündə cəmləşdirir!

Crouton çəngəl şeylərin mərkəzləşdirilməmiş idarə edilməsi/konfiqurasiyası üçün bir seçim olaraq görülür. Əslində hər hansı bir MQTT müştəri/GUI birləşməsi əşyalarınızı idarə edə bilər, çünki hər bir funksiya (sensorlar və aktyorlar) MQTT son nöqtələri kimi açılır.

Addım 1: Crouton

Crouton
Crouton
Crouton
Crouton

Crouton. https://crouton.mybluemix.net/ Crouton, IOT cihazlarınızı minimum quraşdırma ilə görselleştirmenize və idarə etməyə imkan verən bir tablosudur. Əslində, yalnız MQTT və JSON istifadə edərək hər hansı bir IOT hardware həvəskarı üçün qurmaq üçün ən asan tablosudur.

ASSIMILATE SLAVES (sensorlar və aktyorlar), ustanın Croutonun tablosunu qurmaq üçün istifadə etdiyi cihazı qurmaq üçün istifadə etdiyi metadata və xüsusiyyətlərə malikdir. ASSIMILATE NODES və Crouton arasındakı vasitəçi, webockets dostu olan bir MQTT brokeridir: Demo üçün ağcaqanad istifadə olunur.

ASSIMILATE MASTER (bu quruluş) xassələri istədiyi üçün Crouton yeniləmələri üçün cavab dəyərlərini lazımi formatda formatlayır.

Addım 2: Veb Server / Redaktor

Veb server / redaktor
Veb server / redaktor
Veb server / redaktor
Veb server / redaktor

Master çəkildikcə (bu quruluş) quraşdırılmış bir veb serveri işə salınır. IP ünvanı Serial Konsoluna verilir; nəticədə bu Crouton tablosuna nəşr olunacaq.

Qeyd olunan URL -ə baxdığınız zaman ACE EDITOR yüklənəcək:

Ace, JavaScript -də yazılmış gömülü kod redaktorudur. Sublime, Vim və TextMate kimi yerli redaktorların xüsusiyyətlərinə və performansına uyğun gəlir.

Ace, quraşdırılmış veb serverləri ilə məşhurdur və JSON fayllarını redaktə etmək və saxlamaq üçün yaxşı bir interfeys verir.

Solda bir fayl adına tıklandıqda, fayl ESP8266 üzərindəki SPIFFS -dən oxunacaq və sağdakı redaktə üçün məzmun yüklənəcək. Fayl üst alətlər çubuğundan saxlanıla bilər.

Fayl yükləmək üçün:

  1. Yerli fayl sisteminizdən Fayl seçin.
  2. Mətn qutusuna bir qovluq yolu daxil edin (lazım olduqda).
  3. Yüklə vurun.
  4. Səhifəni yeniləyin.

Addım 3: Cihaz Özelleştirme

Cihazın fərdiləşdirilməsi
Cihazın fərdiləşdirilməsi

Cihazın konfiqurasiyası (ESP8266) device.json faylı vasitəsilə həyata keçirilir.

Veriləri SPIFFS -ə (ESP8266 Sketch Data Upload) yükləməzdən əvvəl bu girişlərdən bəzilərinin (wifi_ssid, wifi_key) dəyişdirilməsi lazımdır.

Veb serverinin kökünə baxın (https://192.168.8.104/ kimi konsol çıxışında göstərilir).

Redaktə

ACE EDITOR -da config/device.json seçin.

Girişlər bunlardır:

  • www_auth_username: veb server faylları üçün icazə istifadəçi adı (icazə verilməməsi üçün boşdur).
  • www_auth_password: veb server faylları üçün icazə şifrəsi (istifadəçi adı təyin olunarsa).
  • www_auth_exclude_files: avtorizasiya yoxlamalarından istisna ediləcək fayl yollarının nöqtəli nöqtə ilə ayrılmış siyahısı (istifadəçi adı təyin olunarsa).
  • sensor_interval: MQTT Brokerinə məlumatların nəşri arasındakı milisaniyələr.
  • ntp_server_name: istifadə ediləcək vaxt serverinin adı.
  • time_zone: yerli vaxtınız üçün saatlarla ofset.
  • wifi_ssid: yerli giriş nöqtənizin SSID -si.
  • wifi_key: SSID üçün istifadə olunan açar.
  • mqtt_broker: MQTT broker ünvanı.
  • mqtt_username: MQTT broker üçün istifadə ediləcək istifadəçi adı (heç bir hesaba ehtiyac yoxdur).
  • mqtt_password: MQTT istifadəçi adından istifadə etmək üçün parol.
  • mqtt_port: MQTT broker portu.
  • mqtt_device_name: MQTT mövzuları və Crouton identifikasiyası üçün istifadə ediləcək ad.
  • mqtt_device_description: Croutonda göstərilən cihazın de3scription.
  • viz_color: Croutondakı cihaz kartlarını müəyyən etmək üçün rəng (forked versiyada)

Addım 4: Əmlakın Fərdiləşdirilməsi

Əmlakın fərdiləşdirilməsi
Əmlakın fərdiləşdirilməsi
Əmlakın fərdiləşdirilməsi
Əmlakın fərdiləşdirilməsi
Əmlakın fərdiləşdirilməsi
Əmlakın fərdiləşdirilməsi

Kölələrin hər biri, definitions.h faylında müəyyən edilmiş bir nvc struktura malikdir:

// --------------------------------------- YAYIMLANAN ƏMLAKLAR

nvc rekvizitləri [2] = {{"Nəmlik", "", doğru}, {"Temperatur", "", yalan}}; // --------------------------------------- YAYIMLANAN ƏMLAKLARI SONLA

Girişlərin hər birində 0 (sıfır) olan bir indeks var.

Mülkiyyət adının fərdiləşdirilməsi user_props.json faylı vasitəsilə həyata keçirilir.

Veb serverinin kökünə baxın (https://192.168.8.104/ kimi konsol çıxışında göstərilir).

Redaktə

ACE EDITOR -da config/user_props.json seçin (və ya birini yükləyin).

Quruluş belədir:

İlk açar, tanımlar.h faylında Qulun Ünvanıdır:

#ADDRESS_SLAVE XX təyin edin

  • Açarların növbəti səviyyəsi Əmlak İndeksidir.
  • Bu açarın dəyəri, təriflər sənədində təyin olunan Mülkiyyət Adı yerinə Croutonda istifadə ediləcək Mülkiyyət Adıdır.

Addım 5: Metadata Fərdiləşdirmə

Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi
Metadata fərdiləşdirilməsi

Mümkün olan fərdiləşdirmələrin miqdarına görə, hər bir qulun öz metadata dəyişiklik faylı var. Fayllar user_metas_.json formatında olmalıdır.

Kölə ünvan ATTINY85 eskizlərində definitions.h faylında tapılır:

#ADDRESS_SLAVE XX təyin edin

Metadata eyni faylda bu şəkildə təyin olunur:

const statik xarakter viz1 PROGMEM = "VIZ_CARD_TYPE";

const statik char viz2 PROGMEM = "2: chart-donut"; const statik char viz3 PROGMEM = "1";

Birinci sətir metadata elementinin adıdır.

İkinci sətir dəyərdir. Ümumiyyətlə bir əmlak indeksi şəkilçisinə malikdir.

Üçüncü sətir davam bayrağıdır. 1 - davam et, 0 - metadatanın sonu (VCC_MV).

Veb serverinin kökünə baxın (https://192.168.8.104/ kimi konsol çıxışında göstərilir).

Redaktə

ACE EDITOR -da config/user_metas_SLAVE_ADDRESS.json seçin (və ya birini yükləyin). Quruluş belədir:

  • Ad/dəyər cütlükləri.
  • Ad, dəyişdiriləcək metadata elementinin adıdır.
  • Dəyişiklik dəyərdir. İndeks şəkilçisi əvəz edilməsi üçün yoxlanılır.

Addım 6: Materiallar və Alətlər

Alətlər və materiallar
Alətlər və materiallar
Alətlər və materiallar
Alətlər və materiallar
Alətlər və materiallar
Alətlər və materiallar

ICOS10 (IDC) Shell Materials Bill

  1. D1M BLOCK Pin Jig (1)
  2. D1M BLOCK bazası və korpusu (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 Mini Protoboard Qalxanı (1)
  5. 40P Qadın Başlıqları (8P, 8P, 9P, 9P)
  6. Kişi Başlığı 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "İki tərəfli protoboard (2)
  8. 2N7000 NFET (1)
  9. 6 Pin Kəfənli IDC Kişi Başlığı (1)
  10. Bağlama teli (~ 10)
  11. 0.5mm Kalaylı Tel (~ 4)
  12. 4G x 15mm Düymə başlı özünü vurma vintləri (2)
  13. 4G x 6mm özünü vurma havşa vintləri (~ 20)
  14. Lehim və Dəmir (1)

Addım 7: MCU Hazırlanması

Image
Image
MCU Hazırlığı
MCU Hazırlığı

Bu quruluşda Wemos D1 Mini istifadə edirik. Daha əvvəl bir D1M WIFI BLOCK qurmusunuzsa, modul hardware komponenti üçün istifadə edə bilərsiniz. Əks təqdirdə, minimum olaraq növbəti bölməni izləyin.

BAŞLIĞIN PİNLƏRİNİ MCU ÜZRƏ LAYİHLƏŞTİRMƏK (PIN JIG -dən istifadə etməklə) Bir PIN JIG çap edə bilmirsinizsə, sadəcə təlimatları izləyin və doğaçlama edin: PIN JIG -in hündürlüyü (ofset) 6.5 mm -dir.

  1. Bu səhifədən bir PIN JIG yazdırın/alın.
  2. Başlıq sancaqlarını lövhənin altından (TX sağdan sola) və lehim cihazına daxil edin.
  3. Pimleri sərt düz bir səthə bastırın.
  4. Lövhəni yapışqan üzərinə möhkəm bir şəkildə basın.
  5. 4 künc pinini lehimləyin.
  6. Lazım gələrsə lövhəni/sancaqları yenidən qızdırın və yenidən yerləşdirin (lövhə və ya sancaqlar hizalanmamış və ya şaquli deyil).
  7. Qalan sancaqları lehimləyin.

FİRMA AYARININ YÜKLƏNMƏSİ

Kod anbarını burada tapa bilərsiniz (anlıq görüntü).

Kitabxananın bir ZIP ünvanını burada tapa bilərsiniz (anlıq görüntü).

"ZIP Kitabxanasının idxal edilməsi" üçün təlimatlar burada.

Kitabxana quraşdırıldıqdan sonra "mqtt_crouton_esp8266_customization_webserver" nümunəsini aça bilərsiniz.

Wemos D1 Mini üçün Arduino qurmaq üçün təlimatlar burada.

Asılılıqlar: ArduinoJson, TimeLib, PubSubClient, NeoTimer (depolardakı dəyişikliklər pozularsa əlavələrə baxın).

SPIFFS YÜKLƏ

Kod Arduino IDE -yə yükləndikdən sonra data/config qovluğunda device.json açın:

  1. WiFi SSID ilə wifi_ssid dəyərini dəyişdirin.
  2. WiFi Açarınızla wifi_key dəyərini dəyişdirin.
  3. Mqtt_device_name dəyərini istədiyiniz cihaz identifikasiyası ilə dəyişdirin (qoşulmağa ehtiyac yoxdur).
  4. İstədiyiniz Cihaz Təsviri ilə mqtt_device_description dəyərini dəyişdirin (Croutonda).
  5. Cihazı saxla.json.
  6. Məlumat fayllarını SPIFFS -ə yükləyin.

Addım 8: MCU mənzil hazırlığı

Image
Image
MCU mənzil hazırlığı
MCU mənzil hazırlığı
MCU mənzil hazırlığı
MCU mənzil hazırlığı

MCU Housing, D1 Mini-nin başlıqlarını Soket (sensorlar və aktyorlar) dövrəsi ilə əlaqə quran qız lövhələri üçün bağlayır.

KONUT BAŞIQLARI Bu, D1 Mini Protoboard -a əsaslanır və bu sancaqları ayırır:

  1. Qoşulmaq üçün D1M WIFI BLOCK/D1 Mini üçün pinlər.
  2. D1M WIFI BLOCK/D1 Mini -dən 2 sıra kontaktların birbaşa kəsilməsi. Bunlar yalnız prototip hazırlayarkən rahatlıq üçün mövcuddur. Qız lövhələrinin bu başlıqlara bütün girişləri maneə törətəcəyi gözlənilir.
  3. 4 Qız lövhələrinin istifadə etdiyi xüsusi sancaqların qırılması.

D1M Əlaqələrini KONUT BAŞLIĞINA əlavə etmək üçün:

  1. SOKET JİGİNDƏN İSTİFADƏ EDƏN LƏHİM videosuna baxın.
  2. Başlıq pinlərini lövhənin altından keçirin (üst tərəfdə TX yuxarı sol).
  3. Plastik başlığın üstünə keçid qoyun və hər iki səthi düzəldin.
  4. Jig və montajı çevirin və başlığı sərt düz bir səthə möhkəm basdırın.
  5. Lövhəni yapışqan üzərinə möhkəm bir şəkildə basın.
  6. Minimum lehim istifadə edərək 4 künc pinini lehimləyin (pinlərin müvəqqəti hizalanması).
  7. Lazım gələrsə lövhəni/sancaqları yenidən qızdırın və yenidən yerləşdirin (lövhə və ya sancaqlar hizalanmamış və ya şaquli deyil).
  8. Qalan sancaqları lehimləyin.
  9. Jigeri çıxarın.
  10. Lehimlərin üstündəki sancaqları kəsin.

Daughter-board Breakouts əlavə etmək üçün:

  1. 9P qadın başlıqlarından 4 -ü kəsin.
  2. Üstdə, göstərildiyi kimi 9P başlıqlarını daxil edin və aşağıya lehimləyin.

Direct Breakouts əlavə etmək üçün:

  1. 2 ədəd 8P qadın başlıqlarını kəsin.
  2. Üstdə, göstərildiyi kimi 8P başlıqlarını daxil edin və aşağıya lehimləyin.

Başlıqları aşağıya doğru yönəldilmiş TX pinlə bağlamaq üçün:

  1. 4 pin arasında RST pinindən iz və lehim.
  2. 4 pin arasında A0 pinindən iz və lehim.
  3. D1 pinindən 4 sancaq arasında iz və lehim.
  4. D2 pinindən 4 sancaq arasında iz və lehim.
  5. D0 pinindən 2 satır aşağı və 4 sancaq boyunca iz və lehim.
  6. D7 pinindən 4 sancaq arasında iz və lehim.
  7. 4 pin arasında GND pinindən iz və lehim.
  8. 5V pinindən 4 sancaq arasında iz və lehim.
  9. 3V3 pinindən 4 pin arasında 45 ° aşağıya doğru iz və lehim.

FİQTURUN MONTAJI

Evin başlıqları MCU HOUSING -ə yapışdırılır və bu da BAZA PLAKA -na yapışdırılır.

  1. KONUT BAŞLIĞININ uzun tərəfi çuxura işarə edərkən, D1M KONTAKTLARINI MCU HOUSING -in boşluqlarına daxil edin və aşağıya doğru itələyin.
  2. Düzgün hizalanmasını təmin etmək üçün yapışdırarkən MCU KONTAKTLARINA MCU daxil edin.
  3. HEADER Çərçivəsini montaj armaturlarının üstünə qoyun və 2 ədəd 4G x 16 mm vintlə yapışdırın.
  4. Yığılmış armaturları çuxuru qısa tərəfə baxaraq yerləşdirin və 4G x 6mm vintlər ilə yapışdırın.

Addım 9: Qulların Aşağı Yan Anahtarı/RESET Qız lövhəsinin qurulması

Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi
Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi
Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi
Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi
Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi
Qulların aşağı tərəfli keçidinin qurulması/RESET qız lövhəsi

Bu, son qurulan REST qızı lövhəsinin bir təkmilləşdirməsidir. Bu, qulları GROUND-a bağlayan aşağı tərəfli bir keçid əlavə edir. Master sıfırlanırsa, qullar da işə başlayacaq və metadatanı yayan başlanğıc yenidən başlayacaq.

MONTAJ

  1. İçəriyə 9P 90 ° Kişi Başlıqları (1), 1P 90 ° Kişi Başlığı (2), 2N7000 (3) daxil edin və xaricdən lehimləyin.
  2. İçərisində, SARI 1 -dən SARI 2 -ə qədər sarı bir teli izləyin və lehimləyin.
  3. İçəridə, SILVER1 -dən SILVER2 -ə qədər bir çılpaq teli və lehimi izləyin.
  4. İçəridə, SILVER3 -dən SILVER4 -ə qədər bir çılpaq teli və lehimi izləyin.

Addım 10: Əsas komponentlərin yığılması

Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
Əsas komponentlərin yığılması
  1. SHELL -in qurulduğundan və dövrənin sınandığından əmin olun (kabel və prizlər).
  2. 3V3 I2C DAUGHTER-BOARD üzərindəki 2P Kişi başlığını 2P 90º 1P Kişi Başlığı ilə dəyişdirin.
  3. 3V3 I2C DAUGHTER-BOARD-ı 3V3 pinlə başlıqların cırılmış ucuna daxil edin (şəkilə bax).
  4. LOW-SIDE SWITCH/RESET DAUGHTER-BOARD, telin içəriyə daxil olması ilə daxil edin (şəkilə bax).
  5. QIZ SALINDIRMA QAYDASINDAKI 90º 1P Kişi Başlığı ilə 3V3 I2C QIZLI KARTINA qədər bir Dupont liderini izləyin.
  6. IDC Soketini SHELL CABLE-dən 3V3 I2C DAUGHTER-BOARD üzərindəki IDC Başlığına daxil edin.
  7. QUZAQDAKI kabellər arasına diqqətlə QIZ QIZLIĞI/KONUTUNU daxil edin və əsas delikləri hizalayın.
  8. BAZA MONTAJINI 4G x 6mm vintlər ilə QABĞA bağlayın.
  9. Etdiyiniz hər hansı bir ASSIMILATE SENSORS əlavə edin.

Addım 11: Növbəti addımlar

Image
Image
Növbəti addımlar
Növbəti addımlar
Növbəti addımlar
Növbəti addımlar
  1. Brauzerinizi https://crouton.mybluemix.net/crouton/connections ünvanına yönəldin.
  2. Brokerin test.mosquitto.org olduğundan əmin olun.
  3. Bağlan düyməsini basın.
  4. /Config/device.json faylına mqtt_device_name olaraq Cihaz adı girişini daxil edin.
  5. Cihaz əlavə et vurun.
  6. Avtomatik əlaqə düyməsini basın.
  7. ICOS10 -u (5V MicroUSB) gücləndirin.
  8. Crouton tablosundan yoxlayın.

Tövsiyə: