Isi kandungan:

IOT123 - HUB SENSOR ASSIMILATE: LAMAN WEB PENYESUAIAN ICOS10: 11 Langkah
IOT123 - HUB SENSOR ASSIMILATE: LAMAN WEB PENYESUAIAN ICOS10: 11 Langkah

Video: IOT123 - HUB SENSOR ASSIMILATE: LAMAN WEB PENYESUAIAN ICOS10: 11 Langkah

Video: IOT123 - HUB SENSOR ASSIMILATE: LAMAN WEB PENYESUAIAN ICOS10: 11 Langkah
Video: SCP-610 The Flesh that Hates - A Biological Nightmare of Flesh 2024, November
Anonim
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10
IOT123 - ASSIMILATE SENSOR HUB: PENGGUNA PELABURAN ICOS10

Hamba ASSIMILATE SENSOR / ACTOR menanamkan metadata yang digunakan untuk menggambarkan visualisasi di Crouton. Binaan ini menambah pelayan web ke Master ESP8266, menyajikan beberapa fail konfigurasi yang dapat diubah suai oleh pengguna, kemudian menggunakan fail tersebut untuk mentakrifkan semula visualisasi. Oleh itu, nama kad papan pemuka dan sebilangan besar sifat yang boleh dikonfigurasi dapat diubah. Ini perlu, mis. DHT11 menerbitkan sifat Suhu dan Kelembapan: jika laman web mempunyai beberapa nod dengan sensor DHT11 yang berasingan, semuanya tidak boleh disebut Suhu (Garage Temp., Yard Temp…). Batasan panjang metadata yang ditetapkan oleh Bus I2C (16 chars) tidak wujud dan nilai yang lebih kaya dapat diterapkan (hingga 64 chars).

Pengesahan Asas Pilihan boleh disesuaikan untuk laman web pengeditan, serta senarai pengecualian dari Pengesahan untuk sumber lain.

Suis sisi rendah yang mematikan hamba apabila perlu, juga telah dikembangkan di papan anak perempuan yang ada.

Sebagai catatan teknikal, sebelum memulakan ini, jejak memori adalah 70% kerana grafik objek metadata global. Perpustakaan AssimilateBus terbaru telah mengalami perubahan yang mematikan pembolehubah global menjadi fail JSON yang lebih kecil yang disimpan ke SPIFFS. Ini telah membawa jejak kembali kepada ~ 50%, yang lebih selamat untuk semua penghuraian / bangunan JSON. Perpustakaan AssimilateBusSlave tetap sama (ASSIM_VERSION 2) sepanjang perubahan ini.

CIRI-CIRI DAN VISI

Pada masa ini, hamba (sensor dan pelakon) mandiri dan bergantung pada mesej I2C berdasarkan konvensyen untuk membaca sifat atau bertindak berdasarkan perintah. Master mengambil metadata dan harta dari hamba dan menghantarnya ke broker MQTT. Ia juga memulakan pelayan web dan menyajikan fail JSON yang dapat diedit untuk mengkonfigurasi induk dan menyesuaikan metadata / sifat yang akhirnya dimakan oleh Crouton. Sensor / pelakon individu dibaca / diperintahkan melalui Crouton tanpa tuan mempunyai pengetahuan terlebih dahulu mengenai apa yang dilakukan oleh hamba.

Salah satu tujuan RANGKAIAN IOT ASSIMILATE adalah untuk menyesuaikan Crouton sehingga penyusun mashup yang disajikan dari pelayan web IOT NODE (seperti binaan ini), ditambahkan sebagai komponen web yang akan memberikan kawalan sepenuhnya terhadap perkara yang dilakukan iaitu master tidak diprogramkan, hamba mempunyai set ciri asas tetapi papan pemuka Crouton menyertakan semua peraturan perniagaan yang diperlukan untuk menjalankannya!

Garpu Crouton dilihat sebagai pilihan untuk kawalan / konfigurasi perkara yang terdesentralisasi. Pada hakikatnya, setiap kombinasi klien / GUI MQTT dapat menguruskan barang-barang anda, kerana setiap fungsi (sensor dan pelakon) terpapar sebagai titik akhir MQTT.

Langkah 1: Crouton

Crouton
Crouton
Crouton
Crouton

Crouton. https://crouton.mybluemix.net/ Crouton adalah papan pemuka yang membolehkan anda memvisualisasikan dan mengawal peranti IOT anda dengan persediaan minimum. Pada asasnya, ia adalah papan pemuka paling mudah untuk disiapkan bagi mana-mana peminat perkakasan IOT yang hanya menggunakan MQTT dan JSON.

ASSIMILATE SLAVES (sensor dan pelakon) telah menyertakan metadata dan sifat yang digunakan oleh master untuk membina paket json deviceInfo yang digunakan Crouton untuk membina papan pemuka. Perantara antara ASSIMILATE NODES dan Crouton adalah broker MQTT yang mesra websockets: Nyamuk digunakan untuk demo.

Oleh kerana ASSIMILATE MASTER (build ini) meminta sifat, ia membentuk nilai respons dalam format yang diperlukan untuk kemas kini Crouton.

Langkah 2: Pelayan / Penyunting Web

Pelayan Web / Penyunting
Pelayan Web / Penyunting
Pelayan Web / Penyunting
Pelayan Web / Penyunting

Sebagai Master boot (build ini) pelayan web terbenam dimulakan. Alamat IP dikeluarkan ke Konsol Serial; akhirnya ini akan diterbitkan ke papan pemuka Crouton.

Apabila anda melayari URL yang dinyatakan, ACE EDITOR akan dimuat:

Ace adalah penyunting kod yang boleh disisipkan yang ditulis dalam JavaScript. Ia sesuai dengan ciri dan prestasi editor asli seperti Sublime, Vim dan TextMate.

Ace terkenal dengan pelayan web terbenam dan memberikan antara muka yang baik untuk mengedit dan menyimpan fail JSON.

Mengklik pada nama fail di sebelah kiri akan membaca fail dari SPIFFS di ESP8266, dan memuatkan kandungan untuk diedit di sebelah kanan. Fail boleh disimpan dari bar alat atas.

Untuk memuat naik fail:

  1. Pilih Fail dari sistem fail tempatan anda.
  2. Masukkan jalur folder (jika diperlukan) di kotak teks.
  3. Klik Muat naik.
  4. Muat semula halaman.

Langkah 3: Penyesuaian Peranti

Penyesuaian Peranti
Penyesuaian Peranti

Konfigurasi peranti (ESP8266) diambil melalui fail device.json.

Sebilangan entri ini (wifi_ssid, wifi_key) perlu diubah sebelum anda memuat naik data ke SPIFFS (ESP8266 Sketch Data Upload).

Semak imbas ke root pelayan laman web (ditunjukkan dalam output konsol seperti

PENGEDARAN

Dalam ACE EDITOR pilih config / device.json.

Penyertaannya adalah:

  • www_auth_username: nama pengguna kebenaran untuk fail pelayan web (kosong kerana tidak diberi kebenaran).
  • www_auth_password: kata laluan kebenaran untuk fail pelayan web (jika nama pengguna ditentukan).
  • www_auth_exclude_files: senarai fail fail yang dipisahkan separa titik dua untuk dikecualikan daripada pemeriksaan kebenaran (jika nama pengguna ditentukan).
  • sensor_interval: milisaat antara penerbitan data ke MQTT Broker.
  • ntp_server_name: nama pelayan masa yang akan digunakan.
  • time_zone: pengimbangan dalam jam untuk waktu tempatan anda.
  • wifi_ssid: SSID Titik Akses tempatan anda.
  • wifi_key: kunci untuk digunakan untuk SSID.
  • mqtt_broker: alamat broker MQTT.
  • mqtt_username: nama pengguna yang akan digunakan untuk broker MQTT (kosong untuk tidak memerlukan akaun).
  • mqtt_password: kata laluan untuk digunakan dari nama pengguna MQTT.
  • mqtt_port: port broker MQTT.
  • mqtt_device_name: nama yang akan digunakan untuk topik MQTT dan pengenalan Crouton.
  • mqtt_device_description: deskripsi de3 peranti yang ditunjukkan dalam Crouton.
  • viz_color: warna untuk mengenal pasti kad peranti di Crouton (dalam versi bercabang)

Langkah 4: Penyesuaian Harta Tanah

Penyesuaian Harta Tanah
Penyesuaian Harta Tanah
Penyesuaian Harta Tanah
Penyesuaian Harta Tanah
Penyesuaian Harta Tanah
Penyesuaian Harta Tanah

Setiap hamba mempunyai susunan struktur nvc yang ditentukan dalam fail definitions.h:

// --------------------------------------- HARTA YANG DITERBITKAN

nvc props [2] = {{"Kelembapan", "", benar}, {"Suhu", "", false}}; // --------------------------------------- HARTA YANG DITERBITKAN TAMAT

Setiap entri mempunyai indeks dengan yang pertama adalah 0 (sifar).

Penyesuaian nama harta tanah dilakukan melalui fail user_props.json.

Semak imbas ke root pelayan laman web (ditunjukkan dalam output konsol seperti

PENGEDARAN

Dalam ACE EDITOR pilih config / user_props.json (atau muat naik satu).

Strukturnya adalah:

Kunci pertama adalah Alamat Slave dalam fail definisi.h seperti yang dikenal pasti oleh:

#tentukan ADDRESS_SLAVE XX

  • Kekunci tahap seterusnya adalah Indeks Harta.
  • Nilai kunci itu adalah Nama Harta yang akan digunakan di Crouton dan bukannya Nama Harta yang ditentukan dalam fail definisi.

Langkah 5: Penyesuaian Metadata

Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata
Penyesuaian Metadata

Oleh kerana kemungkinan banyak penyesuaian, setiap hamba mempunyai fail pengubahsuaian metadata sendiri. Fail hendaklah dalam format user_metas_.json.

Alamat hamba terdapat dalam fail definisi.h dalam lakaran ATTINY85:

#tentukan ADDRESS_SLAVE XX

Metadata ditentukan dalam fail yang sama seperti ini:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

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

Baris pertama adalah nama item metadata.

Baris kedua adalah nilai. Umumnya mempunyai akhiran indeks harta tanah.

Baris ketiga adalah bendera kesinambungan. 1 - teruskan, 0 - akhir metadata (VCC_MV).

Semak imbas ke root pelayan laman web (ditunjukkan dalam output konsol seperti

PENGEDARAN

Dalam ACE EDITOR pilih config / user_metas_SLAVE_ADDRESS.json (atau muat naik satu). Strukturnya adalah:

  • Pelbagai pasangan nama / nilai.
  • Nama adalah nama item metadata yang akan diubah.
  • Nilai adalah perubahan. Akhiran indeks diperiksa untuk penggantian.

Langkah 6: Bahan dan Alat

Bahan dan Alat
Bahan dan Alat
Bahan dan Alat
Bahan dan Alat
Bahan dan Alat
Bahan dan Alat

ICOS10 (IDC) Rang Undang-Undang Bahan Shell

  1. Pin Jig BLOK D1M (1)
  2. Pangkalan dan perumahan BLOK D1M (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 Mini Protoboard Shield (1)
  5. Header Wanita 40P (8P, 8P, 9P, 9P)
  6. Header Lelaki 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "protoboard dua sisi (2)
  8. 2N7000 NFET (1)
  9. Header Lelaki IDC 6 Pin Berbungkus (1)
  10. Kawat cangkuk (~ 10)
  11. Kawat Kalengan 0.5mm (~ 4)
  12. Skru pengetuk sendiri kepala butang 4G x 15mm (2)
  13. Skru kaunter penyekat diri 4G x 6mm (~ 20)
  14. Pateri dan Besi (1)

Langkah 7: Persediaan MCU

Image
Image
Persediaan MCU
Persediaan MCU

Dalam binaan ini kita menggunakan Wemos D1 Mini. Sekiranya sebelum ini anda membina D1M WIFI BLOCK, anda boleh menggunakannya untuk komponen perkakasan modular. Sekiranya tidak, ikuti minimum yang berikut.

MENJUAL PIN HEADER PADA MCU (menggunakan PIN JIG) Sekiranya anda tidak dapat mencetak PIN JIG cukup ikuti arahan dan lakukan improvisasi: ketinggian (offset) PIN JIG adalah 6.5mm.

  1. Cetak / dapatkan PIN JIG dari halaman ini.
  2. Masukkan pin pengepala melalui bahagian bawah papan (TX kanan-kiri) dan ke jig solder.
  3. Tekan pin ke permukaan rata yang keras.
  4. Tekan papan ke bawah dengan kuat ke jig.
  5. Pateri 4 pin penjuru.
  6. Panaskan dan pasangkan semula papan / pin jika diperlukan (papan atau pin tidak sejajar atau paip).
  7. Selesaikan sisa pin.

MENGGUNAKAN FIRMWARE

Repositori kod boleh didapati di sini (gambar).

ZIP perpustakaan boleh didapati di sini (gambar).

Arahan untuk "Mengimport Perpustakaan ZIP" di sini.

Setelah perpustakaan dipasang, anda boleh membuka contoh "mqtt_crouton_esp8266_customization_webserver".

Arahan untuk menyediakan Arduino untuk Wemos D1 Mini di sini.

Ketergantungan: ArduinoJson, TimeLib, PubSubClient, NeoTimer (lihat lampiran jika melanggar perubahan di repositori).

MENGGUNAKAN SPIFFS

Setelah kod dimasukkan ke Arduino IDE, buka device.json dalam folder data / config:

  1. Ubah nilai wifi_ssid dengan SSID WiFi anda.
  2. Ubah nilai wifi_key dengan Kunci WiFi anda.
  3. Ubahsuai nilai mqtt_device_name dengan Pengenalan Peranti pilihan anda (tidak perlu bergabung).
  4. Ubah nilai mqtt_device_description dengan Perihalan Peranti pilihan anda (dalam Crouton).
  5. Simpan peranti.json.
  6. Muat naik fail data ke SPIFFS.

Langkah 8: Persiapan Perumahan MCU

Image
Image
Persiapan Perumahan MCU
Persiapan Perumahan MCU
Persiapan Perumahan MCU
Persiapan Perumahan MCU

Perumahan MCU memperlihatkan header untuk D1 Mini untuk dipasang dan header untuk papan anak perempuan yang berkomunikasi dengan litar Socket (sensor dan pelakon).

KEPALA PERUMAHAN Ini berdasarkan pada Protoboard Mini D1, dan memecahkan pin ini:

  1. Pin untuk D1M WIFI BLOCK / D1 Mini untuk disambungkan.
  2. Pecahan Langsung dari 2 baris kenalan dari D1M WIFI BLOCK / D1 Mini. Ini hanya tersedia untuk kemudahan semasa membuat prototaip. Diharapkan papan anak perempuan akan menyekat semua akses ke tajuk ini.
  3. 4 Penembusan pin khusus yang digunakan oleh papan anak perempuan.

Untuk menambahkan Kenalan D1M ke HEADER PERUMAHAN:

  1. Tonton SOLDER MENGGUNAKAN video SOCKET JIG.
  2. Masukkan pin pengepala melalui bahagian bawah papan (TX kiri atas di bahagian atas).
  3. Masukkan jig ke atas header plastik dan ratakan kedua permukaan.
  4. Balikkan jig dan pemasangan dan tekan header dengan kuat ke permukaan rata yang keras.
  5. Tekan papan ke bawah dengan kuat ke jig.
  6. Pateri pin 4 sudut menggunakan solder minimum (hanya penjajaran pin sementara).
  7. Panaskan dan pasangkan semula papan / pin jika diperlukan (papan atau pin tidak sejajar atau paip).
  8. Selesaikan sisa pin.
  9. Tanggalkan jig.
  10. Potong pin di atas penjual.

Untuk menambahkan Breakouts papan anak perempuan:

  1. Potong header Wanita 9P 4.
  2. Di bahagian atas, masukkan Header 9P seperti yang ditunjukkan, dan solder di bawah.

Untuk menambahkan Breakouts Langsung:

  1. Potong 2 header Wanita 8P.
  2. Di bahagian atas, masukkan Header 8P seperti yang ditunjukkan, dan solder di bawah.

Untuk menyambungkan tajuk, di bahagian bawah dengan pin TX berorientasi ke atas:

  1. Jejak dan pateri dari pin RST melintasi 4 pin.
  2. Jejak dan pateri dari pin A0 melintasi 4 pin.
  3. Jejak dan pateri dari pin D1 melintasi 4 pin.
  4. Jejak dan pateri dari pin D2 melintasi 4 pin.
  5. Jejak dan pateri dari pin D0 ke bawah 2 baris dan melintasi 4 pin.
  6. Jejak dan pateri dari pin D7 melintasi 4 pin.
  7. Jejak dan pateri dari pin GND melintasi 4 pin.
  8. Jejak dan pateri dari pin 5V melintasi 4 pin.
  9. Jejak dan pateri dari pin 3V3 turun 45 ° merentasi 4 pin.

MENGUMPULKAN Lekapan

KEPALA PERUMAHAN dilekatkan pada MCU HOUSING dan ini dilekatkan pada PEMAIN BASE.

  1. Dengan sisi panjang KEPALA PERUMAHAN menunjuk ke lubang, masukkan HUBUNGAN D1M ke dalam bukaan di MCU HOUSING dan tekan ke bawah.
  2. Masukkan MCU ke MCU HUBUNGAN semasa melekatkan untuk memastikan penjajaran yang betul.
  3. Letakkan HEADER FRAME di bahagian atas lekapan pemasangan dan lekatkan dengan 2 skru 4G x 16mm.
  4. Letakkan lekapan pemasangan dengan lubang yang dihalakan ke sisi pendek dan lekatkan dengan skru 4G x 6mm.

Langkah 9: Membina Papan Anak-Anak Beralih / RESET sisi rendah

Membina Daughter-Switch Switch / RESET sisi rendah hamba
Membina Daughter-Switch Switch / RESET sisi rendah hamba
Membina Daughter-Switch Switch / RESET sisi rendah hamba
Membina Daughter-Switch Switch / RESET sisi rendah hamba
Membina Papan Anak-Anak Beralih / RESET sisi rendah
Membina Papan Anak-Anak Beralih / RESET sisi rendah

Ini adalah peningkatan papan anak perempuan REST yang dibangunkan terakhir. Ini menambah suis sisi rendah yang menghubungkan hamba ke GROUND. Sekiranya master diset semula, hamba juga akan melakukan, dan inisialisasi menyebarkan metadata akan dimulakan lagi.

PERHIMPUNAN

  1. Di bahagian dalam, masukkan Header Lelaki 9P 90 ° (1), Header Lelaki 1P 90 ° (2), 2N7000 (3), dan solder di luar.
  2. Di bahagian dalam, jejak wayar kuning dari KUNING1 hingga KUNING2 dan pateri.
  3. Di bahagian dalam, jejak wayar kosong dari SILVER1 hingga SILVER2 dan solder.
  4. Di bahagian dalam, jejak wayar kosong dari SILVER3 ke SILVER4 dan solder.

Langkah 10: Menyusun Komponen Utama

Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
Menyusun Komponen Utama
  1. Pastikan SHELL telah dibina dan litar diuji (kabel dan soket).
  2. Tukar header Lelaki 2P pada Papan Ketik 3V3 I2C dengan Header Lelaki 2P 90º 1P.
  3. Masukkan 3V3 I2C DAUGHTER-BOARD, dengan pin 3V3 di hujung header yang tidak rata (lihat gambar).
  4. Masukkan LEMBARAN LEMBUTAN / RESET DAUGHTER-BOARD, dengan wayar ke bahagian dalam (lihat gambar).
  5. Jejak pendahuluan Dupont antara Header Lelaki 90º 1P pada RESET DAUGHTER-BOARD ke 3V3 I2C DAUGHTER-BOARD.
  6. Masukkan Soket IDC dari KABEL SHELL ke dalam Header IDC pada PAPAN DAUGHTER 3V3 I2C.
  7. Masukkan DAUGHTER-BOARDS / PERUMAHAN dengan hati-hati antara kabel di SHELL dan sejajarkan lubang asas.
  8. Kencangkan BAS ASSEMBLY ke SHELL dengan skru 4G x 6mm.
  9. Lampirkan sebarang SENSOR ASSIMILAT yang telah anda buat.

Langkah 11: Langkah Seterusnya

Image
Image
Langkah seterusnya
Langkah seterusnya
Langkah seterusnya
Langkah seterusnya
  1. Arahkan penyemak imbas anda di
  2. Pastikan broker adalah test.mosquitto.org.
  3. Klik Sambung.
  4. Masukkan input nama Peranti sebagai nama mqtt_device_ dalam fail /config/device.json.
  5. Klik Tambah Peranti.
  6. Klik Sambung automatik.
  7. Nyalakan ICOS10 anda (5V MicroUSB).
  8. Sahkan melalui papan pemuka Crouton.

Disyorkan: