Orodha ya maudhui:

IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS: Hatua 8
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS: Hatua 8

Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS: Hatua 8

Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS: Hatua 8
Video: Indefinite Pitch PREMIERES. Mod.1 - Into The Circle [Linderluft Records] 2024, Julai
Anonim
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS

Mtumwa wa ASSIMILATE SENSOR / ACTOR hutia metadata ambayo hutumiwa kwa ufafanuzi wa taswira huko Crouton. Ujenzi huu ni tofauti kidogo na zile zilizopita; hakuna mabadiliko ya vifaa. Firmware sasa inasaidia kuhudumia wahariri wa kawaida (matajiri) ambao wanaweza kuunganishwa katika muundo wa hivi karibuni wa AssimilateCrouton. Uangalifu zaidi utapewa kuelezea firmware na dashibodi ya MQTT katika nakala hii.

Moja ya faida za kutumikia vifaa vya wavuti kutoka kwa kifaa ambacho wanadhibiti, ni kwamba udhibiti wa hali ya juu zaidi wa kifaa umepunguzwa kwenye mtandao ambao kifaa hicho kimeunganishwa na: Kituo chako cha Ufikiaji cha WiFi. Ingawa mara tu unapotumia seva ya MQTT na uthibitishaji kuna kufanana kwa ulinzi, kwenye mitandao ya umma ukiacha Kivinjari chako kwa muda mfupi (tovuti ya AssimilateCrouton) mtu anaweza kuruka na kudhibiti vifaa vyako vya kiotomatiki. Kipengele hiki cha CORS WebComponent hufanya iweze kuwa na usomaji tu (temp, viwango vya mwanga, unyevu) zilizoonyeshwa hadharani na kuagiza kazi (on / off, ratiba) inapatikana tu kutoka kwa mtandao wa kifaa.

Kwenye kifaa, huduma zote za wavuti na Uthibitishaji na Uwekaji katika SPIFFS bado zinasaidiwa, lakini umakini maalum umefanywa kwa msaada wa CORS (Sharing Resource Sharing Resource) kwa Polymer WebComponents (Crouton inatumia Polymer 1.4.0).

Katika AssimilateCrouton (uma wa Crouton uliotumiwa kwa Kushawishi Mtandao wa IOT) mabadiliko ni pamoja

  • msaada wa kadi ya Kifaa (kifaa cha assim) ambayo kati ya mambo mengine inaonyesha na inaficha, kwa mtumiaji, kadi za kibinafsi za kifaa
  • info info kwenye kadi zote zinazoonyesha toast ya habari muhimu ya muktadha kwa kadi
  • msaada kwa waundaji wa wavuti wa CORS, katika kesi hii iliyohifadhiwa kwenye seva ya wavuti kwenye kifaa (ESP8266).

Hatua ya 1: CROUTON

CROUTON
CROUTON
CROUTON
CROUTON

Crouton ni dashibodi ambayo hukuruhusu kuibua na kudhibiti vifaa vyako vya IOT na usanidi mdogo. Kwa kweli, ni dashibodi rahisi kusanidi kwa yeyote anayependa vifaa vya IOT akitumia MQTT na JSON tu.

Watumishi wa ASSIMILATE (sensorer na waigizaji) wameingiza metadata na mali ambazo bwana hutumia kujenga kifurushi cha kifaaInfo json ambacho Crouton hutumia kujenga dashibodi. Mpatanishi kati ya NODES ASSIMILATE na Crouton ni broker wa MQTT ambaye ni rafiki wa wavuti: Mbu hutumiwa kwa onyesho.

Kama ASSIMILATE MASTER inaomba mali, inaunda maadili ya majibu katika muundo unaohitajika wa sasisho za Crouton. Fomu ya AssimilateCrouton inaongeza huduma ambazo zinakuwezesha kutenganisha sheria za biashara zinazoendesha kifaa chako, yaani, kifaa cha IOT hakihitaji sheria zozote za biashara, ni bomba tu kwa mawasiliano ya MQTT / I2C kwa watendaji na sensorer zenye busara (ATTINY zilizodhibitiwa).

Hatua ya 2: ASSIMILATE CROUTON

KUZINGATIA CROUTON
KUZINGATIA CROUTON

MABADILIKO YA CROUTON

Mabadiliko kutoka kwa toleo lenye uma ni pamoja na:

  • ikiwa ncha ya mwisho ina mali ya njia iliyofafanuliwa, Wavuti ya Wavuti ya kadi itafanya HTMLImport kwa rasilimali ya CORS (seva ya wavuti kwenye ESP8266 katika jengo hili).
  • rasilimali zozote zinazotiririka kutoka kwa (utegemezi wa) CORS WebComponent zinarejelewa kama zinatumiwa kutoka kwa wavuti ya Crouton; wanaposhindwa kupakia kisingizio cha ubadilishaji kinabadilisha njia na mizigo ikiwa kutoka kwa wavuti.
  • wakati wa sasa wa ndani unaonyeshwa juu-kulia, muhimu kwa upangaji wa uhakiki.

KULINDA POLYMER NA KORO

Majani ya mti wa utegemezi wa Polymer inaweza kuwa mwenyeji katika CORS. Kwa sababu utegemezi wa mizizi unaweza kutumika mara kadhaa katika programu, haziwezi kutajwa kutoka kwa maeneo 2 (wavuti na kifaa) kwa sababu Loader ya Moduli ya Polymer inawachukulia kama rasilimali 2 tofauti na makosa mengi ya usajili haraka hupunguza maombi.

Kwa sababu hii WebComponent kwa kadi (faili ya HTML katika 1.4.0) na faili inayohusishwa ya CSS ndio faili pekee zilizopangishwa kwenye kifaa. Utegemezi mwingine hurejelewa kama Wavuti ya Wavuti imeshikiliwa kwenye folda ya "html" kwenye wavuti inayotokana, ambayo inafanya iwe rahisi kukuza Wavuti kutoka kwa folda hiyo hadi tayari kupakia kwa SPIFFS kwenye ESP8266. AssimilateCrouton itafanya kazi ya jinsi ya kupata faili sahihi.

AJIRA

Muumba wa edfungus wa Crouton wa asili aliandika chanzo katika Pug / Chini na alikuwa na zana ya vifaa vya NPM / Grunt. Nilitoa Pug / Chini kama HTML / css na kuhariri tu / kusambaza faili zilizotolewa. Hii ilivunja zana ya zana ya NPM / Grunt. Kurekebisha hii imefunikwa katika sehemu ya BAADAYE.

Unaweza kujaribu dashibodi ya eneo lako kwenye sanduku lako la DEV:

  • Kutoka kwa mstari wa amri kwenye folda ya mizizi
  • npm kuanza
  • server-lite imewekwa kwa https:// localhost: 10001

Tuma kwa webserver tuli:

  • nakili folda zote isipokuwa node_modules
  • nakala index.html (na labda web.config)

BAADAYE

Moja ya malengo makuu ni kuboresha hadi Polymer3 na ufanye kazi kutoka kwa Polymer CLI. Kuongeza wahariri wa hali ya juu na mfumo wa watengenezaji wa IOT kukuza yao ni kipaumbele cha juu. Hatimaye mfumo wa otomatiki wa hali ya juu utaendeshwa kabisa kutoka kwa wateja wa MQTT waliojitenga kama AssimilateCrouton.

Mfano wa pakiti ya Info ya kifaa iliyotumiwa kwa AssimilateCrouton:

{
"kifaa cha habari": {
"endPoints": {
"CC_device": {
"jina la kifaa": "ash_mezz_A3",
"aina ya kadi": "kifaa cha assim",
"ssid": "Corelines_2",
"ip_addr": "192.168.8.104",
"ncha za mwisho": [
{
"kichwa": "Taa za Kukua",
"aina ya kadi": "crouton-rahisi-toggle",
"mwisho": "badilisha"
},
{
"jina": "Taa za Mpandaji",
"aina ya kadi": "crouton-assim-weekview",
"mwisho": "CC_switch"
}
]
},
"CC_switch": {
"aina ya kadi": "assim-weekview",
"info": "Washa au zima taa kwa muda wa dakika 15",
"njia": "https://192.168.8.104/cors",
"jina": "Taa za Mpandaji",
"muda wa dakika": 15,
"maadili": {
"thamani": ""
}
},
"badilisha": {
"jina": "Kukua Taa",
"aina ya kadi": "crouton-rahisi-toggle",
"info": "Washa au zima taa kwa msingi wa muda",
"lebo": {
"uwongo": "ZIMA",
"kweli": "ON"
},
"ikoni": {
"uwongo": "sun-o",
"kweli": "sun-o"
},
"maadili": {
"thamani": 0
}
}
},
"hadhi": "nzuri",
"jina": "ash_mezz_A3",
"maelezo": "Ofisi ya Ashmore, Mezzanine, Eneo A2",
"rangi": "# 4D90FE"
}
}

tazama rawdeviceInfo.json iliyohifadhiwa na ❤ na GitHub

Hatua ya 3: Mkutano wa Vifaa

BUNGE LA VIFAA
BUNGE LA VIFAA
BUNGE LA VIFAA
BUNGE LA VIFAA
BUNGE LA VIFAA
BUNGE LA VIFAA

Kwa kuwa hakuna mabadiliko ya vifaa, hapa kuna viungo vya habari inayofaa:

  • Bunge la Shell
  • Vifaa na Zana
  • Maandalizi ya MCU
  • Maandalizi ya Makazi ya MCU
  • Kujenga Watumishi Kubadilisha / kuweka upya Bodi ya binti
  • Kukusanya Sehemu kuu

Hatua ya 4: MOTO

MAMLAKA
MAMLAKA
MAMLAKA
MAMLAKA
MAMLAKA
MAMLAKA
MAMLAKA
MAMLAKA

MABADILIKO MAKUU JENGO HILI

Ili programu ya AssimilateCrouton iweze kutumia rasilimali za CORS kutoka kwa kifaa, vichwa vya majibu vilihitaji kusanidiwa kwa njia fulani. Hii ilitekelezwa katika toleo hili la firmware (static_server.ino => server_file_read ()).

Pia grafu kuu ya utegemezi kwa Polymer inahitajika kutoka kwa asili moja. Mkakati ulitumika kuongeza kishikiliaji cha kutisha (corsLinkOnError) kwenye faili za SPIFFS CORS kupakia tena rasilimali kutoka kwa wavuti ya AssimilateCrouton wakati hazipatikani kwenye kifaa.

Kuna mikataba 2 mipya iliyoongezwa kwenye mfumo wa faili wa SPIFFS kwa kubadilisha viini mwisho ambavyo vimeundwa kwenye kifaaInfo - ambacho AssimilateCrouton hutumia kuunda kadi za dashibodi:

  • /config/user_card_base.json Ufafanuzi wa mwisho na vigeugeu vya wakati wa kukimbia ukibadilishwa kwanza:,,. Hapa ni kawaida ambapo kadi ya kifaa cha assim itaongezwa. Hii haijawasiliana tena na kifaa.
  • /config/user_card_#.json Endpoint ufafanuzi na vigezo vya wakati wa kukimbia ukibadilishwa kwanza:,,. Hapa ni kawaida ambapo wahariri matajiri kama kadi ya maoni ya wiki-wiki wataongezwa wakiwa wamefungwa kwa mtumwa wa I2C (muigizaji / sensa) inayohusiana na #.

Mchoro / maktaba

Katika hatua hii mradi umewekwa kama mfano kwa maktaba ya AssimilateBus Arduino. Hii ni kufanya faili zote muhimu ziweze kupatikana kutoka Arduino IDE. Sifa kuu za sanaa ni:

  • mqtt_crouton_esp8266_cors_webcomponents.ino - sehemu kuu ya kuingia.
  • assimilate_bus.h / assimilate_bus.cpp - maktaba ambayo inashughulikia mawasiliano ya I2C na Sura ya watumwa / Waigizaji.
  • VizJson.h / VizJson.cpp - maktaba ambayo huunda / huunda JSON yoyote iliyochapishwa kupitia MQTT
  • config.h / config.cpp - maktaba ambayo inasoma / masanduku / huandika faili za usanidi kwenye SPIFFS
  • static_i2c_callbacks.ino - vikwazo vya I2C vya mali kupokelewa na mzunguko wa maombi ya watumwa kuwa kamili static_mqtt.ino - kazi za MQTT
  • static_server.ino - kazi za webserver
  • static_utility.ino - kazi za msaidizi

Kazi za tuli za INO zilitumika (badala ya maktaba) kwa sababu anuwai, lakini haswa ili kazi za Webserver na MQTT zicheze vizuri pamoja.

RASILIMALI ZA MITAMBO

Maelezo ya kina ya faili za SPIFFS zinaweza kupatikana hapa.

  • favicon.ico - rasilimali inayotumiwa na Mhariri wa Ace
  • usanidi

    • kifaa.json - usanidi wa kifaa (Wifi, MQTT…)
    • mtumwa_metas _ #. json - imetengenezwa wakati wa kukimbia kwa kila nambari ya anwani ya mtumwa (#)
    • kadi ya mtumiaji _ #. json - ncha ya mwisho ya desturi kuunganishwa katika kifaa cha Maelezo kwa kila nambari ya anwani ya mtumwa (#)
    • user_card_base.json - ncha ya mwisho ya desturi ya kuunganishwa katika kifaaInfo kwa kifaa
    • mtumiaji_meta _ #. json - metadata ya kawaida hupitiliza ile ya watumwa kwa kila nambari ya anwani ya mtumwa (#)
    • user_props.json - majina ya mali ya kawaida ili kupindua zile zilizo kwenye metadata ya watumwa
  • cors

    • kadi-webcomponent.css - karatasi ya mitindo kwa kadi anuwai anuwai
    • kadi-webcomponent.html - sehemu ya wavuti kwa kadi anuwai anuwai
  • mhariri

    • assimilate-logo-p.webp" />
    • edit.htm.gz - gzip ya Ace HTML HTML
    • edit.htm.src - HTML asili ya Mhariri wa Ace
    • favicon-32x32-p.webp" />

KUPAKUA MAMLAKA

  • Hifadhi ya nambari inaweza kupatikana hapa (picha).
  • ZIP ya maktaba inaweza kupatikana hapa (picha).
  • Maagizo ya "Kuingiza Maktaba ya ZIP" hapa.
  • Mara tu maktaba imewekwa unaweza kufungua mfano "mqtt_crouton_esp8266_cors_webcomponents".
  • Maagizo ya kuanzisha Arduino kwa Wemos D1 Mini hapa.
  • Utegemezi: ArduinoJson, TimeLib, PubSubClient, NeoTimer (angalia viambatisho ikiwa unavunja mabadiliko katika hazina).

PAKUA KWA SPIFFS

Mara tu nambari imepakiwa kwenye Arduino IDE, fungua kifaa.json kwenye folda ya data / usanidi:

  • Rekebisha thamani ya wifi_ssid na SSID yako ya WiFi.
  • Rekebisha thamani ya wifi_key na Ufunguo wako wa WiFi.
  • Rekebisha thamani ya jina la mqtt_device_name na Kitambulisho unachopendelea cha Kifaa (hakuna kujiunga kunahitajika).
  • Rekebisha thamani ya mqtt_device_description na Maelezo ya Kifaa unayopendelea (katika Crouton).
  • Hifadhi kifaa.json.
  • Pakia faili za data kwa SPIFFS.

Sehemu kuu ya kuingia kwa mfano wa AssimilateBus:

/*
*
* KANUNI ZA BIASHARA KWA VIFAA VYAKO ZINATARAJILIWA KUDHIBITIWA KUPITIA MQTT - SI KUCHOMWA KWA NGUVU KWENYE MAMLAKA HII
*
* Nyingine zaidi ya usanidi na kitanzi katika faili hii
* sehemu muhimu zinazohamia ni
* kwenye_basi_imepokea na kwenye_basi_imekamilika katika tuli_i2c_callbacks.ino
* na
* mqtt_chapisha na mqtt_callback katika tuli_mqtt.ino
*
*/
# pamoja na "types.h"
# pamoja na "VizJson.h"
# pamoja na "assimilate_bus.h"
# pamoja na "debug.h"
# pamoja na "config.h"
# pamoja
# pamoja

// weka MQTT_MAX_PACKET_SIZE hadi ~ 3000 (au mahitaji yako ya kifaaInfo json)

# pamoja
# pamoja
# pamoja
# pamoja
# pamoja
// --------------------------------- TAARIFA ZA KUMBUKUMBU
// ------------------------------------------------ - hufafanua
# fafanuaDBG_OUTPUT_FLAG2 // 0, 1, 2 KIWANGO CHACHE, TOA, KAMILI
#fasili_mqtt_pub_topic "kisanduku cha nje" // MISANGANO YA CROUTON
#fafanua_mqtt_sub_topic "kikasha"
// ------------------------------------------------ - vitu vya darasa
Utatuaji _debug (DBG_OUTPUT_FLAG);
AssimilateBus _assimilate_bus;
VizJson _viz_json;
Sanidi _config_data;
Mteja wa WiFiCesent_client;
PubSubClient _client (_esp_client);
WiFiUDP Udp;
ESP8266WebServer _server (80);
Neotimer _timer_property_request = Neotimer (5000);
// ------------------------------------------------ - data inaenea / inayobadilika
RuntimeDeviceData _runtime_device_data;
MaliDto _dto_props [50]; // max 10 watumwa x max 5 mali
// ------------------------------------------------ - mtiririko wa kudhibiti
boti tete _sent_device_info = uwongo;
byte _dto_props_index = 0;
bool _fatal_error = uwongo;
// --------------------------------- MATANGAZO YA WAKAZI WA KAZI
// ------------------------------------------------ - static_i2c_callbacks.ino
voidon_bus_received (byte slave_adress, byte prop_index, jukumu la jukumu, jina la char [16], thamani ya char [16]);
voidon_bus_ kamili ();
// ------------------------------------------------ - tuli_mqtt.ino
voidmqtt_callback (mada ya char *, byte * mzigo wa malipo, urefu usiotiwa saini);
voidmqtt_loop ();
int8_tmqtt_get_topic_index (mada ya * char);
voidmqtt_init (constchar * wifi_ssid, constchar * wifi_password, constchar * mqtt_broker, int mqtt_port);
voidmqtt_create_subscriptions ();
voidmqtt_publish (char * root_topic, char * deviceName, char * endpoint, constchar * mzigo wa malipo);
boolmqtt_ensure_connect ();
voidmqtt_subscribe (char * root_topic, char * deviceName, char * endpoint);
voidi2c_set_and_get (anwani ya baiti, nambari ya ka, constchar * param);
// ------------------------------------------------ - static_server.ino
Kamba ya server_content_type_get (Jina la faili ya kamba);
boolserver_path_in_auth_exclusion (Njia ya kamba);
boolserver_auth_read (Njia ya kamba);
boolserver_file_read (Njia ya kamba);
voidserver_file_upload ();
voidserver_file_delete ();
voidserver_file_create ();
orodha ya voidserver_file_list ();
voidserver_init ();
voidtime_services_init (char * ntp_server_name, byte time_zone);
time_tget_ntp_time ();
voidsend_ntp_packet (Anwani ya IP na anwani);
char * time_stamp_get ();
// ------------------------------------------------ - static_utility.ino
Stiff spiffs_file_list_build (Njia ya kamba);
voidreport_deserialize_error ();
voidreport_spiffs_error ();
boolcheck_fatal_error ();
aina ya boolget_json_card_type (byte slave_adress, byte prop_index, char * kadi_type);
aina ya boolget_struct_card_type (byte slave_adress, byte prop_index, char * kadi_type);
boolget_json_is_series (byte slave_adress, byte prop_index);
voidstr_replace (char * src, constchar * oldchars, char * newchars);
Byte kupata_prop_dto_idx (anwani ya watumwa_bado, byte prop_index);
// --------------------------------- KUU
voidetup () {
DBG_OUTPUT_PORT.anza (115200);
SetupDeviceData kifaa_data;
Serial.println (); Serial.println (); // margin kwa takataka ya kiweko
kuchelewesha (5000);
ikiwa (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (kweli);
_debug.out_fla (F ("kuanzisha"), kweli, 2);
// pata usanidi unaohitajika
ikiwa (SPIFFS.anza ()) {
_debug.out_str (spiffs_file_list_list_build ("/"), kweli, 2);
ikiwa (! _config_data.get_device_data (kifaa_data, _runtime_device_data)) {
ripoti_deserial_error ();
kurudi;
}
} mwingine {
ripoti_spiffs_error ();
kurudi;
}
// tumia thamani ya kipima muda iliyowekwa kwenye kifaa.json
_timer_property_request.set (kifaa_data.sensor_interval);
mqtt_init (kifaa_data.wifi_ssid, kifaa_data.wifi_key, kifaa_data.mqtt_broker, kifaa_data.mqtt_port);
time_services_init (data_data.ntp_server_name, data_data.time_zone);
seva_init ();
// kuanza mkusanyiko wa metadata
_assimilate_bus.get_metadata ();
_assimilate_bus.print_metadata_details ();
mqtt_ensure_connect ();
// inahitaji mali ya sensa (majina) ili kukamilisha ukusanyaji wa metadata
_assimilate_bus.get_properties (kwenye_bus_imepokewa, kwenye_bus_imekamilika);
_timer_property_request.reset (); // inaweza kupitisha wakati unaotambulika hadi wakati huu ili uianze tena
}
voidloop () {
ikiwa (! check_fatal_error ()) kurudi;
mqtt_loop ();
_server.handleClient ();
ikiwa (_timer_property_request.repeat ()) {
_assimilate_bus.get_properties (kwenye_bus_imepokewa, kwenye_bus_imekamilika);
}
}

angalia rawmqtt_crouton_esp8266_cors_webcomponents.ino iliyohudhuriwa na ❤ na GitHub

Hatua ya 5: KADI YA KIFAA

KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA
KADI YA KIFAA

Kadi ya kifaa (aina ya kadi: kifaa cha assim) imehifadhiwa kwenye wavuti na sio lazima kuitumia kutoka kwa kifaa (CORS).

Orodha zake za ukurasa chaguomsingi:

  • Mada za MQTT za kusoma na kuandika kwa kifaa
  • Kituo cha Ufikiaji kifaa kimeunganishwa
  • Kiunga cha mhariri wa faili wa SPIFFS aliyekaribishwa kwenye kifaa akitumia Mhariri wa ACE
  • Ikoni ya jicho inayofunua ukurasa wa Onyesha / Ficha kadi.

Orodha ya ukurasa wa Onyesha / Ficha kadi:

  • Kila kadi kama bidhaa tofauti
  • Fonti ya bluu iliyokolea wakati wa kuonyesha
  • Fonti nyeusi ya kawaida wakati imefichwa
  • Ikoni inayoonyesha aina ya kadi.

Kadi inaweza kufichwa kwa kubofya kitufe cha kujificha kwenye kadi, au kubonyeza kipengee cha fonti-bluu-font kwenye orodha. Kadi zinaweza kuonyeshwa kwa kubonyeza kipengee cha kawaida-nyeusi kwenye orodha.

Kuhusiana kabisa na huduma hii ni toast za maelezo. Ikiwa sehemu yoyote ya mwisho katika kifaaInfo ina mali ya maelezo iliyopewa, kitufe cha maelezo kitaonyeshwa karibu na kitufe cha kujificha kwenye kadi. Unapobofya maelezo ya muktadha yaliyofafanuliwa kwenye mwisho wa mwisho "yatachezwa" kwenye dirisha.

Ikiwa kadi ya kifaa haijafafanuliwa, vifungo vya kujificha havitaonyeshwa kwenye kadi. Hii ni kwa sababu mara tu ikiwa imefichwa hakuna njia ya kuwaonyesha, tena.

Tazama UREkebishaji wa ENDPOINT kwa undani jinsi kadi ya kifaa cha assim inaweza kuongezwa kupitia faili za SPIFFS kwenye ESP8266.

AssimilateCrouton WebComponent

ishara za chuma>
div>
ONYESHA FICHA ICON
i> muda>
FOMU YA KIFAA
MADA ya MQTTDiv>
/ kisanduku cha nje / {{endPointJson.device_name}} / * div>
/ kikasha / {{endPointJson.device_name}} / * div>
WIFI SSIDdiv>
{{endPointJson.ssid}} div>
Anwani ya IPdiv>
{{endPointJson.ip_addr}}> div>
div>
Onyesha Ficha Orodha
kipengee>karatasi-kipengee>
kiolezo>
sanduku la orodha>
div>
kadi ya crouton>
kiolezo>
mod-moduli>

tazama rawassim-device.html iliyoshikiliwa na ❤ na GitHub

Hatua ya 6: KADI YA MAONI YA WIKI

KADI YA MAONI YA WIKI
KADI YA MAONI YA WIKI
KADI YA MAONI YA WIKI
KADI YA MAONI YA WIKI
KADI YA MAONI YA WIKI
KADI YA MAONI YA WIKI

Kadi ya mwonekano wa wiki (aina ya kadi: maoni-wiki-wiki) imewekwa kwenye kifaa (folda ya cors). Imeingizwa kwenye pakiti ya kifaaInfo iliyochapishwa kwa AssimilateCrouton, kwa kuongeza faili ya usanidi / kadi ya mtumiaji _ #. Json kwa SPIFFS (katika kesi hii user_card_9.json).

MAELEZO

Siku za wiki zinawasilishwa kama orodha ya nafasi za wakati. Uzani wa mpangilio wa wakati umewekwa na mali "vipindi_mita" katika kiboreshaji / kadi ya mtumiaji _ #. Json. Inahitaji kuwa sehemu ya saa au kuzidisha kwa saa k.v. 10, 15, 20, 30, 60, 120, 360. Kubofya kwenye mpangilio wa muda hakikisha hali imeamriwa kwa kifaa kinachohusika wakati huo. Ikiwa muda uliowekwa sasa ni, amri inatumwa (imechapishwa) mara moja kwa kifaa. Kawaida hali hukaguliwa / kuchapishwa kila dakika. Uteuzi umehifadhiwa katika Uhifadhi wa Mitaa, kwa hivyo nyakati zitapakiwa tena na onyesho la kivinjari.

TUMIA KESI

Katika hali yake ya sasa, mwonekano wa wiki unafaa kwa vifaa ambavyo vinaweza kutumia swichi ya Kugeuza kuibua hali yao yaani ziko ndani au zimezimwa na baada ya kuwekwa zinabaki katika hali hiyo. Taa, mashabiki, na hita za maji ni wagombea wazuri.

VIKOMO / MAHAWA

  • Vipindi_mida lazima iwe moja ya maadili yaliyotajwa hapo juu
  • Mwonekano wa wiki hauhimili vitendo vya kitambo ambavyo pia vimepangwa, kama vile kuwasha bomba kwa muda mfupi (sekunde 5) mara mbili kwa siku.

BAADAYE

  • Inatarajiwa kwamba vitendo vya kitambo vitaungwa mkono.
  • Uhifadhi uliosawazishwa kwenye vifaa vyote, kwa uteuzi wa ratiba unazingatiwa.

Hatua ya 7: KUSIMAMISHA UREJESHO

Kama ilivyotajwa kwa kasi katika FIRMWARE, kuna mikataba 2 mipya iliyoongezwa kwenye mfumo wa faili wa SPIFFS wa kubadilisha mapishi. Faili za JSON ni vipande ambavyo vinaongezwa kwenye mali ya mwisho katika pakiti ya kifaaInfo iliyochapishwa kwa broker wa MQTT ambayo inakuwa ufafanuzi wa dashibodi.

Funguo za mwisho hutengenezwa katika firmware:

  • CC_device (Kadi Maalum) ya user_card_base.json
  • CC_SLAVE_ENDPOINT JINA la kadi ya mtumiaji _ #. Json (# kuwa anwani ya mtumwa)

Kama ilivyotajwa hapo awali, kuna anuwai ambazo hubadilishwa kwa maadili wakati wa kukimbia:

  • jina.mqtt_device_name
  • wifi_ssid
  • local_ip

user_card_base.json

Mfano:

kadi ya mtumiaji _ #. json

Mfano:

Hatua ya 8: VIDEO

Ilipendekeza: