Talaan ng mga Nilalaman:
- Hakbang 1: Crouton
- Hakbang 2: Ang Webserver / Editor
- Hakbang 3: Pagpapasadya ng Device
- Hakbang 4: Pagpapasadya ng Ari-arian
- Hakbang 5: Pagpapasadya ng Metadata
- Hakbang 6: Mga Kagamitan at Kasangkapan
- Hakbang 7: Paghahanda ng MCU
- Hakbang 8: Paghahanda ng Pabahay ng MCU
- Hakbang 9: Pagbuo ng Mga Alipin na Mababang panig na Paglipat / I-reset ang Daughter-board
- Hakbang 10: Pagtitipon ng mga Pangunahing Bahagi
- Hakbang 11: Susunod na Mga Hakbang
Video: IOT123 - ASSIMILATE SENSOR HUB: WEBSEREVER NG ISANG CUSTOMIZATION NG ICOS10: 11 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang ASSIMILATE SENSOR / ACTOR Slaves ay naka-embed na metadata na ginagamit para sa pagtukoy ng mga visualization sa Crouton. Ang build na ito ay nagdaragdag ng isang webserver sa ESP8266 Master, naghahatid ng ilang mga config file na maaaring mabago ng gumagamit, pagkatapos ay ginagamit ang mga file na iyon upang muling tukuyin ang mga visualization. Kaya't ang mga pangalan ng mga dashboard card at karamihan sa mga mai-configure na pag-aari ay maaaring mabago. Ito ay kinakailangan hal. ang DHT11 ay naglalathala ng mga katangian ng Temperatura at Humidity: kung ang isang site ay may maraming mga node na may magkakahiwalay na mga sensor ng DHT11 lahat sila ay hindi matatawag na Temperatura (Garage Temp., Yard Temp…). Ang paghihigpit sa haba ng metadata na itinakda ng I2C Bus (16 chars) ay hindi umiiral at maaaring ilapat ang mga mas mayamang halaga (hanggang sa 64 chars).
Ang Opsyonal na Pangunahing Pagpapatotoo ay maaaring i-configure para sa pag-edit ng webpage, pati na rin isang listahan ng pagbubukod mula sa Pagpapatotoo para sa iba pang mga mapagkukunan.
Ang isang mababang-gilid na switch na nagpapagana sa mga alipin kung kinakailangan, ay binuo din sa isang mayroon nang anak na babae-board.
Bilang isang teknikal na tala, bago simulan ang pagbuo ng memorya ng bakas ng paa ay 70% dahil sa isang pandaigdigang graph ng object ng metadata. Ang pinakabagong AssimilateBus library ay nagkaroon ng mga paglabag sa pagbabago na decouple ang global variable sa mas maliit na mga file ng JSON na nai-save sa SPIFFS. Ibinalik nito ang bakas sa paa sa ~ 50%, na mas ligtas para sa lahat ng pag-parse / gusali ng JSON. Ang AssimilateBusSlave library ay mananatiling pareho (ASSIM_VERSION 2) sa buong mga pagbabagong ito.
TAMPOK AT PANANAW
Sa kasalukuyan ang mga Alipin (sensor at artista) ay nasa sarili at umaasa sa mga nakabatay sa mga mensahe ng I2C upang basahin ang mga katangian o kumilos sa mga utos. Kinukuha ng Master ang metadata at mga pag-aari mula sa mga alipin at ipinapadala ito sa isang broker ng MQTT. Nagsisimula rin ito ng isang webserver at naghahatid ng mga file na JSON na maaaring mai-edit upang mai-configure ang master at ipasadya ang metadata / mga pag-aari na kalaunan ay natupok ng Crouton. Ang mga indibidwal na sensor / aktor ay binabasa / inuutusan sa pamamagitan ng Crouton nang walang master na mayroong anumang paunang kaalaman sa kung ano ang ginagawa ng mga alipin.
Ang isa sa mga layunin ng ASSIMILATE IOT NETWORK ay upang ipasadya ang Crouton upang ang mga mashup editor ay nagsilbi mula sa IOT NODE webservers (tulad ng build na ito), ay idinagdag bilang mga webcomponent na magbibigay ng kumpletong kontrol sa kung ano ang ginagawa ng bagay na hal na hindi na-program ang master, ang mga alipin ay may pangunahing mga hanay ng tampok ngunit ang dashboard ng Crouton ay nagtatanim ng lahat ng mga patakaran sa negosyo na kinakailangan upang mapatakbo ang bagay!
Ang tinidor ng Crouton ay nakikita bilang isang pagpipilian para sa desentralisadong kontrol / pagsasaayos ng mga bagay. Sa kakanyahan ang anumang kumbinasyon ng MQTT client / GUI ay maaaring mangasiwa ng iyong mga bagay, dahil ang bawat pag-andar (sensor at aktor) ay nakalantad bilang mga endpoint ng MQTT.
Hakbang 1: Crouton
Crouton https://crouton.mybluemix.net/ Ang Crouton ay isang dashboard na hinahayaan kang mailarawan at makontrol ang iyong mga IOT device na may kaunting pag-set up. Mahalaga, ito ang pinakamadaling dashboard upang mai-set up para sa anumang mahilig sa hardware ng IOT na gumagamit lamang ng MQTT at JSON.
Ang ASSIMILATE SLAVES (sensor at aktor) ay may naka-embed na metadata at mga katangian na ginagamit ng master upang buuin ang aparatoInfo json packet na ginagamit ng Crouton upang maitayo ang dashboard. Ang tagapamagitan sa pagitan ng ASSIMILATE NODES at Crouton ay isang MQTT broker na friendly sa websockets: Ginagamit ang lamok para sa demo.
Habang ang ASSIMILATE MASTER (build na ito) ay humihiling ng mga pag-aari, ini-format nito ang mga halaga ng tugon sa kinakailangang format para sa mga pag-update ng Crouton.
Hakbang 2: Ang Webserver / Editor
Tulad ng Master boots (build na ito) nagsimula ang isang naka-embed na webserver. Ang IP Address ay output sa Serial Console; sa kalaunan ay mai-publish ito sa dashboard ng Crouton.
Kapag nag-browse ka sa nakasaad na URL, mai-load ang ACE EDITOR:
Ang Ace ay isang naka-embed na editor ng code na nakasulat sa JavaScript. Tumutugma ito sa mga tampok at pagganap ng mga katutubong editor tulad ng Sublime, Vim at TextMate.
Sikat ang Ace sa mga naka-embed na webserver at nagbibigay ng isang mahusay na interface para sa pag-edit at pag-save ng mga file na JSON.
Ang pag-click sa isang filename sa kaliwa ay babasahin ang file mula sa SPIFFS sa ESP8266, at mai-load ang nilalaman para sa pag-edit sa kanan. Ang file ay maaaring mai-save mula sa tuktok na toolbar.
Upang mag-upload ng isang file:
- Piliin ang File mula sa iyong lokal na file system.
- Magpasok ng isang path ng folder (kung kinakailangan) sa textbox.
- I-click ang I-upload.
- I-refresh ang pahina.
Hakbang 3: Pagpapasadya ng Device
Ang pagsasaayos ng aparato (ang ESP8266) ay isinasagawa sa pamamagitan ng file ng device.json.
Ang ilan sa mga entry na ito (wifi_ssid, wifi_key) ay kailangang mabago bago mo i-upload ang data sa SPIFFS (ESP8266 Sketch Data Upload).
Mag-browse sa ugat ng webserver (ipinapakita sa output ng console tulad ng
EDITING
Sa ACE EDITOR piliin ang config / device.json.
Ang mga entry ay:
- www_auth_username: pahintulot sa username para sa mga file ng webserver (walang laman para sa hindi pahintulot).
- www_auth_password: password ng pagpapahintulot para sa mga file ng webserver (kung tinukoy ang username).
- www_auth_exclude_files: na-delimitadong listahan ng mga file path na semi-colon upang maibukod mula sa mga tseke sa pagpapahintulot (kung tinukoy ang username).
- sensor_interval: ang milliseconds sa pagitan ng pag-publish ng data sa MQTT Broker.
- ntp_server_name: ang pangalan ng time server na gagamitin.
- time_zone: ang offset sa oras para sa iyong lokal na oras.
- wifi_ssid: ang SSID ng iyong lokal na Access Point.
- wifi_key: ang susi na gagamitin para sa SSID.
- mqtt_broker: ang address ng broker ng MQTT.
- mqtt_username: ang username na gagamitin para sa MQTT broker (walang laman para sa hindi kailangan ng account).
- mqtt_password: ang password na gagamitin mula sa MQTT username.
- mqtt_port: ang MQTT broker port.
- mqtt_device_name: ang pangalan na gagamitin para sa mga paksa ng MQTT at pagkilala sa Crouton.
- mqtt_device_description: ang de3scription ng aparato na ipinakita sa Crouton.
- viz_color: ang kulay upang makilala ang mga card ng aparato sa Crouton (sa forked na bersyon)
Hakbang 4: Pagpapasadya ng Ari-arian
Ang bawat isa sa mga Alipin ay may isang nvc struct array na tinukoy sa mga kahulugan.h file:
// ----
nvc props [2] = {{"Humidity", "", true}, {"Temperature", "", false}}; // --------------------------------------- END Published PROPERTIES
Ang bawat isa sa mga entry ay may index na ang una ay 0 (zero).
Ang pagpapasadya ng pangalan ng pag-aari ay aksyunan sa pamamagitan ng file ng user_props.json.
Mag-browse sa ugat ng webserver (ipinapakita sa output ng console tulad ng
EDITING
Sa ACE EDITOR piliin ang config / user_props.json (o mag-upload ng isa).
Ang istraktura ay:
Ang unang susi ay ang Address ng Alipin sa mga Definition.h file na tinukoy ng:
# tukuyin ang ADDRESS_SLAVE XX
- Ang susunod na antas ng mga susi ay ang Index ng Pag-aari.
- Ang halaga ng susi na iyon ay ang Pangalan ng Ari-arian na gagamitin sa Crouton sa halip na ang Pangalan ng Ari-arian na tinukoy sa file ng mga kahulugan.
Hakbang 5: Pagpapasadya ng Metadata
Dahil sa dami ng posibleng pagpapasadya, ang bawat alipin ay may sariling file na pagbabago ng metadata. Ang mga file ay dapat nasa format na user_metas_.json.
Ang address ng alipin ay matatagpuan sa mga Definition.h file sa ATTINY85 sketches:
# tukuyin ang ADDRESS_SLAVE XX
Ang metadata ay tinukoy sa parehong file tulad nito:
const static char viz1 PROGMEM = "VIZ_CARD_TYPE";
const static char viz2 PROGMEM = "2: tsart-donut"; const static char viz3 PROGMEM = "1";
Ang unang linya ay ang pangalan ng item na metadata.
Ang pangalawang linya ay ang halaga. Karaniwan itong mayroong isang panlapi na indeks ng pag-aari.
Ang pangatlong linya ay ang pagpapatuloy na watawat. 1 - magpatuloy, 0 - pagtatapos ng metadata (VCC_MV).
Mag-browse sa ugat ng webserver (ipinapakita sa output ng console tulad ng
EDITING
Sa ACE EDITOR piliin ang config / user_metas_SLAVE_ADDRESS.json (o mag-upload ng isa). Ang istraktura ay:
- Isang hanay ng mga pares ng pangalan / halaga.
- Pangalan ang pangalan ng item ng metadata upang mabago.
- Ang halaga ay ang pagbabago. Sinusuri ang panlapi ng index para sa kapalit.
Hakbang 6: Mga Kagamitan at Kasangkapan
ICOS10 (IDC) Shell Bill ng Mga Materyales
- D1M BLOCK Pin Jig (1)
- D1M BLOCK base at pabahay (1)
- Wemos D1 Mini (1)
- Wemos D1 Mini Protoboard Shield (1)
- 40P Mga Header ng Babae (8P, 8P, 9P, 9P)
- Lalake Header 90º (3P, 3P, 3P, 2P, 1P, 2P)
- 1 "Dobleng panig na protoboard (2)
- 2N7000 NFET (1)
- 6 Pin Shrouded IDC Lalaki Header (1)
- Hookup wire (~ 10)
- 0.5mm Tinned Wire (~ 4)
- 4G x 15mm Button ulo na pag-tap ng mga tornilyo (2)
- 4G x 6mm self tapping countersunk screws (~ 20)
- Panghinang at Bakal (1)
Hakbang 7: Paghahanda ng MCU
Sa build na ito ginagamit namin ang Wemos D1 Mini. Kung dati kang nakabuo ng isang D1M WIFI BLOCK, maaari mo itong gamitin para sa modular na bahagi ng hardware. Kung hindi, bilang isang hubad na minimum sundin ang susunod na seksyon.
Pag-iimbak ng mga PIN ng HEADER SA MCU (gamit ang PIN JIG) Kung hindi mo mai-print ang isang PIN JIG sundin lamang ang mga tagubilin at mag-improvise: ang taas (offset) ng PIN JIG ay 6.5mm.
- I-print / kumuha ng PIN JIG mula sa pahinang ito.
- Pakainin ang mga pin ng header sa ilalim ng board (TX kanan-kaliwa) at sa solder jig.
- Pindutin ang mga pin pababa sa isang matigas na patag na ibabaw.
- Mahigpit na pindutin ang board papunta sa jig.
- Paghinang ang 4 na mga pin ng sulok.
- Painitin at muling ipwesto ang mga board / pin kung kinakailangan (ang board o mga pin ay hindi nakahanay o plumb).
- Paghinang ng natitirang mga pin.
PAG-UPLOAD NG FIRMWARE
Ang repository ng code ay matatagpuan dito (snapshot).
Ang isang ZIP ng library ay matatagpuan dito (snapshot).
Mga tagubilin para sa "Pag-import ng isang ZIP Library" dito.
Kapag na-install na ang library maaari mong buksan ang halimbawang "mqtt_crouton_esp8266_customization_webserver".
Mga tagubilin para sa pag-set up ng Arduino para sa Wemos D1 Mini dito.
Mga Dependency: ArduinoJson, TimeLib, PubSubClient, NeoTimer (tingnan ang mga kalakip kung lumalabag sa mga pagbabago sa mga repository).
MAG-UPLOAD SA SPIFFS
Kapag na-load na ang code sa Arduino IDE, buksan ang device.json sa folder ng data / config:
- Baguhin ang halaga ng wifi_ssid sa iyong WiFi SSID.
- Baguhin ang halaga ng wifi_key gamit ang iyong WiFi Key.
- Baguhin ang halaga ng mqtt_device_name gamit ang iyong ginustong Pagtukoy sa Device (hindi kinakailangan ng pagsali).
- Baguhin ang halaga ng mqtt_device_description gamit ang iyong ginustong Paglalarawan ng Device (sa Crouton).
- I-save ang aparato.json.
- I-upload ang mga file ng data sa SPIFFS.
Hakbang 8: Paghahanda ng Pabahay ng MCU
Inilantad ng MCU Housing ang mga header para sa D1 Mini na mai-plug in at mga header para sa mga board ng anak na babae na nakikipag-usap sa Socket (sensor at aktor) circuit.
MGA PAMUMUNO SA BAHAY Ito ay batay sa isang D1 Mini Protoboard, at sinisira ang mga pin na ito:
- Mga Pin para sa D1M WIFI BLOCK / D1 Mini upang kumonekta.
- Direktang Mga Breakout ng 2 mga hanay ng mga contact mula sa D1M WIFI BLOCK / D1 Mini. Magagamit lamang ito para sa kaginhawaan habang prototyping. Inaasahan na hahadlangan ng mga board ng anak ang lahat ng pag-access sa mga header na ito.
- 4 Mga Breakout ng mga tukoy na pin na ginamit ng mga board ng anak na babae.
Upang idagdag ang Mga contact sa D1M sa PAMUNO NG BAHAY:
- Panoorin ang SOLDER NA GAMIT ANG video ng SOCKET JIG.
- Pakanin ang mga pin ng header sa ilalim ng board (TX sa kaliwang bahagi sa itaas na bahagi).
- Feed jig sa ibabaw ng plastic header at i-level ang parehong mga ibabaw.
- Lumiko sa jig at pagpupulong at matatag na pindutin ang header sa isang matigas na patag.
- Mahigpit na pindutin ang board papunta sa jig.
- Paghinang ng 4 na mga pin ng sulok gamit ang kaunting panghinang (pansamantalang pagkakahanay lamang ng mga pin).
- Painitin at muling ipwesto ang mga board / pin kung kinakailangan (ang board o mga pin ay hindi nakahanay o plumb).
- Paghinang ng natitirang mga pin.
- Tanggalin ang jig.
- Gupitin ang mga pin sa itaas ng mga nagbebenta.
Upang idagdag ang Mga Breakout ng Daughter-board:
- Gupitin ang 4 na 9P Mga header ng babae.
- Sa itaas, ipasok ang 9P Header tulad ng ipinakita, at maghinang sa ibaba.
Upang idagdag ang Mga Direktang Breakout:
- Gupitin ang 2 off 8P Mga header ng babae.
- Sa itaas, ipasok ang 8P Header tulad ng ipinakita, at maghinang sa ibaba.
Upang ikonekta ang mga header, sa ibaba na may naka-orient na pin na TX:
- Subaybayan at maghinang mula sa RST pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa A0 pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa D1 pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa D2 pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa D0 pin pababa sa 2 mga hilera at sa 4 na mga pin.
- Subaybayan at maghinang mula sa D7 pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa pin ng GND sa 4 na mga pin.
- Subaybayan at maghinang mula sa 5V pin sa 4 na mga pin.
- Subaybayan at maghinang mula sa 3V3 pin pababa 45 ° sa 4 na mga pin.
PAGTIPON NG FIXTURE
Ang HOUSING HEADERS ay nakakabit sa MCU HOUSING at ito ay nakakabit sa BASE PLATE.
- Sa mahabang bahagi ng HOUSING HEADERS na itinuro ang butas, ipasok ang D1M CONTACTS sa mga bukana sa MCU HOUSING at itulak ang flush.
- Ipasok ang MCU sa MCU CONTACTS habang nakakabit upang matiyak ang tamang pagkakahanay.
- Ilagay ang HEADER FRAME sa tuktok ng mga assemble fixture at affix na may 2 ng 4G x 16mm screws.
- Ilagay ang mga naka-assemble na fixture na may butas na nakatutok patungo sa maikling bahagi at nakakabit sa mga 4G x 6mm na turnilyo.
Hakbang 9: Pagbuo ng Mga Alipin na Mababang panig na Paglipat / I-reset ang Daughter-board
Ito ay isang pagpapahusay ng REST anak na babae-board na binuo huling pagbuo. Nagdaragdag ito ng isang mababang-gilid na switch na nag-uugnay sa mga alipin sa GROUND. Kung ang master ay na-reset, ang mga alipin ay magkakaroon din, at ang inisyal na pagpapalaganap ng metadata ay magsisimulang muli.
ASSEMBLY
- Sa loob, ipasok ang 9P 90 ° Mga Male Header (1), 1P 90 ° Male Header (2), ang 2N7000 (3), at ang panghinang sa labas.
- Sa loob, subaybayan ang isang dilaw na kawad mula sa YELLOW1 hanggang YELLOW2 at panghinang.
- Sa loob, subaybayan ang isang hubad na kawad mula sa SILVER1 hanggang sa SILVER2 at panghinang.
- Sa loob, subaybayan ang isang hubad na kawad mula sa SILVER3 hanggang sa SILVER4 at panghinang.
Hakbang 10: Pagtitipon ng mga Pangunahing Bahagi
- Tiyaking ang SHELL ay naitayo at sinubukan ang circuit (cable at sockets).
- Ipagpalit ang 2P Male header sa 3V3 I2C DAUGHTER-BOARD gamit ang 2P 90º 1P Male Header.
- Ipasok ang 3V3 I2C DAUGHTER-BOARD, gamit ang 3V3 pin sa basag na dulo ng mga header (tingnan ang larawan).
- Ipasok ang LOW-SIDE SWITCH / RESET DAUGHTER-BOARD, gamit ang kawad sa loob (tingnan ang larawan).
- Subaybayan ang isang lead ng Dupont sa pagitan ng 90º 1P Male Header sa RESET DAUGHTER-BOARD sa 3V3 I2C DAUGHTER-BOARD.
- Ipasok ang IDC Socket mula sa SHELL CABLE sa IDC Header sa 3V3 I2C DAUGHTER-BOARD.
- Maingat na ipasok ang DAUGHTER-BOARDS / HOUSING sa pagitan ng mga cable sa SHELL at ihanay ang mga butas sa base.
- I-fasten ang BASE ASSEMBLY sa SHELL gamit ang 4G x 6mm screws.
- Maglakip ng anumang ASSIMILATE SENSORS na iyong nagawa.
Hakbang 11: Susunod na Mga Hakbang
- Ituro ang iyong browser sa
- Tiyaking ang broker ay test.mosquitto.org.
- I-click ang Connect.
- Ipasok ang input ng Pangalan ng aparato bilang mqtt_device_name sa /config/device.json file.
- I-click ang Magdagdag ng Device.
- I-click ang Awtomatikong kumonekta.
- Palakasin ang iyong ICOS10 (5V MicroUSB).
- I-verify sa pamamagitan ng dashboard ng Crouton.
Inirerekumendang:
Isang IoT Halloween Kalabasa - Kontrolin ang mga LED Sa Isang Arduino MKR1000 at Blynk App ???: 4 Mga Hakbang (na may Mga Larawan)
Isang IoT Halloween Kalabasa | Kontrolin ang Mga LED Sa Isang Arduino MKR1000 at Blynk App ???: Kamusta Lahat, Ilang linggo na ang nakalilipas ay ang Halloween at pagsunod sa tradisyon na inukit ko ang isang magandang kalabasa para sa aking balkonahe. Ngunit sa labas ng aking kalabasa, napagtanto ko na nakakainis na lumabas tuwing gabi upang sindihan ang kandila. At ako
Bumuo ng isang Apple HomeKit Temperature Sensor Device Gamit ang isang ESP8266 at isang BME280: 10 Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor Device Gamit ang isang ESP8266 at isang BME280: Sa itinuturo ngayon, gagawa kami ng mababang temperatura na temperatura, halumigmig at kahalumigmigan sensor batay sa alinman sa AOSONG AM2302 / DHT22 o BME280 temperatura / kahalumigmigan sensor, YL-69 moisture sensor at ang platform ng ESP8266 / Nodemcu. At para sa pagpapakita
Bumuo ng isang Apple HomeKit Temperature Sensor (DHT22) Device Gamit ang isang RaspberryPI at isang DHT22: 11 Mga Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor (DHT22) Device Gamit ang isang RaspberryPI at isang DHT22: Naghahanap ako ng isang mababang sensor ng temperatura / kahalumigmigan na magagamit ko upang masubaybayan kung ano ang nangyayari sa aking crawlspace, dahil nalaman kong sa tagsibol na ito ay basang-basa ito , at nagkaroon ng maraming mamasa-masa. Kaya't naghahanap ako para sa isang makatwirang naka-presyo na sensor na kaya kong
Bumuo ng isang Apple HomeKit Temperature Sensor (BME280) Gamit ang isang RaspberryPI at isang BME280: 5 Hakbang
Bumuo ng isang Apple HomeKit Temperature Sensor (BME280) Gamit ang isang RaspberryPI at isang BME280: Naglalaro ako sa paligid ng mga IOT device sa huling ilang buwan, at nag-deploy ng halos 10 magkakaibang mga sensor upang subaybayan ang mga kondisyon sa paligid ng aking bahay at maliit na bahay. At orihinal kong sinimulan ang paggamit ng AOSONG DHT22 temperate halumigmig na sens
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan)
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: Ito ay sinadya bilang isang gabay sa sinumang paghihinang ng kanilang sariling Arduino mula sa isang kit, na maaaring mabili mula sa A2D Electronics. Naglalaman ito ng maraming mga tip at trick upang matagumpay itong mabuo. Malalaman mo rin ang tungkol sa kung ano ang lahat ng iba't ibang mga sangkap