Satura rādītājs:
- 1. darbība: KROUTONS
- 2. darbība: asimilējiet KROUTONU
- 3. darbība: IERĪCES MONTĀŽA
- 4. solis: FIRMWARE
- 5. darbība: IERĪCES KARTE
- 6. darbība: NEDĒĻAS SKAITA KARTE
- 7. solis: ENDPOINT CUSTOMIZATION
- 8. solis: VIDEO
Video: IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 CORS TĪMEKĻA SASTĀVDAĻAS: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-31 10:22
ASSIMILATE SENSOR/ACTOR Slaves iegulst metadatus, kas tiek izmantoti, lai noteiktu vizualizācijas Crouton. Šī konstrukcija nedaudz atšķiras no iepriekšējām; nav aparatūras izmaiņu. Programmatūra tagad atbalsta pielāgotu (bagātāku) redaktoru mitināšanu, kurus var integrēt jaunākajā AssimilateCrouton būvē. Šajā rakstā tiks pievērsta lielāka uzmanība programmaparatūras un MQTT informācijas paneļa izskaidrošanai.
Viena no priekšrocībām, ko sniedz Web komponentu apkalpošana no ierīces, kuru tās kontrolē, ir tā, ka ierīces uzlabotā vadība ir ierobežota līdz tīklam, ar kuru ierīce ir savienota: jūsu WiFi piekļuves punktam. Lai gan, lietojot MQTT serveri ar autentifikāciju, pastāv aizsardzības līdzība, publiskajos tīklos, ja uz brīdi pametat pārlūkprogrammu (AssimilateCrouton vietne), kāds var ieiet un vadīt jūsu automatizācijas ierīces. Šī CORS WebComponent funkcija ļauj publiski parādīt tikai rādījumus (temperatūra, gaismas līmenis, mitrums) un komandu funkcijas (ieslēgšana/izslēgšana, plānošana) tikai ierīces tīklā.
Ierīcē joprojām tiek atbalstītas visas tīmekļa servera funkcijas ar autentifikāciju un mitināšanu SPIFFS, taču īpaša uzmanība ir pievērsta CORS (Cross Origin Resource Sharing) atbalstam Polymer WebComponents (Crouton izmanto Polymer 1.4.0).
Programmā AssimilateCrouton (Crouton dakša, ko izmanto Assimilate IOT tīklam) izmaiņas ietver
- atbalsts ierīces kartei (assim-device), kas cita starpā lietotājam parāda un slēpj atsevišķas ierīces kartes
- informācijas rekvizīts visās kartītēs, kas parāda kartīti ar noderīgu kontekstuālu informāciju
- atbalsts CORS tīmekļa komponentiem, kas šajā gadījumā tiek mitināti ierīces tīmekļa serverī (ESP8266).
1. darbība: KROUTONS
Croutonis informācijas panelis, kas ļauj vizualizēt un kontrolēt savas IOT ierīces ar minimālu iestatīšanu. Būtībā tas ir vienkāršākais informācijas panelis, ko uzstādīt jebkuram IOT aparatūras entuziastam, izmantojot tikai MQTT un JSON.
ASIMILĒTĀS VERGAS (sensori un aktieri) ir iegulti metadati un rekvizīti, ko kapteinis izmanto, lai izveidotu ierīciInfo json paketi, ko Crouton izmanto, lai izveidotu informācijas paneli. Starpnieks starp ASSIMILATE NODES un Crouton ir MQTT brokeris, kas ir draudzīgs tīmekļa ligzdām: demonstrācijai tiek izmantots moskītu.
Tā kā ASSIMILATE MASTER pieprasa rekvizītus, tas formatē atbildes vērtības vajadzīgajā formātā Crouton atjauninājumiem. AssimilateCrouton dakša pievieno dažas funkcijas, kas ļauj decentralizēt jūsu uzņēmuma darbības noteikumus, ti, IOT ierīcei nav nepieciešami nekādi iegulti uzņēmējdarbības noteikumi, tā ir tikai MQTT/I2C komunikācijas sistēma viedākiem (ATTINY kontrolētiem) vergu dalībniekiem un sensoriem.
2. darbība: asimilējiet KROUTONU
IZMAIŅAS KROUTONĀ
Izmaiņas no dakšveida versijas ietver:
- ja galapunktam ir definēts ceļa rekvizīts, kartes WebComponent veiks HTMLImport CORS resursam (šīs būves ESP8266 tīmekļa serveris).
- uz visiem resursiem, kas atrodas augšup no (atkarības) no CORS tīmekļa komponentes, atsaucas tā, it kā tie tiktu pasniegti no Crouton tīmekļa vietnes; kad viņiem neizdodas ielādēt izņēmumu apstrādātāju, pārceļ ceļus un ielādē, ja tie nāk no vietnes.
- augšējā labajā stūrī tiek parādīts pašreizējais vietējais laiks, kas ir noderīgi, lai ieplānotu verifikāciju.
POLIMĒRU ATKARĪBAS UN CORS
Polimēru atkarības koka lapas var mitināt CORS. Tā kā saknes atkarības lietotnē var izmantot vairākas reizes, uz tām nevar atsaukties no divām atrašanās vietām (vietnē un ierīcē), jo polimēru moduļu ielādētājs tās uzskata par diviem atsevišķiem resursiem un vairākas reģistrācijas kļūdas ātri apgrūtina lietojumprogrammu.
Šī iemesla dēļ kartītes tīmekļa komponents (HTML fails 1.4.0 versijā) un ar to saistītais CSS fails ir vienīgie ierīcē mitinātie faili. Uz citām atkarībām ir atsauce tā, it kā WebComponent tiktu mitināts sākotnējās vietnes mapē "html", kas atvieglo WebComponents izstrādi no šīs mapes, līdz esat gatavs augšupielādēt SPIFFS, izmantojot ESP8266. AssimilateCrouton noteiks, kā iegūt pareizos failus.
IZVIETOŠANA
oriģinālā Crouton radītājs edfungus uzrakstīja avotu Mops/Less, un viņam bija rīku ķēde NPM/Grunt. Es atveidoju mopsi/mazāk kā HTML/css un vienkārši rediģēju/izplatīju atveidotos failus. Tas izjauca NPM/Grunt instrumentu ķēdi. To novēršana ir apskatīta sadaļā NĀKOTNE.
Informācijas paneli varat lokāli pārbaudīt savā DEV kastē:
- No komandrindas saknes mapē
- npm sākums
- lite-serveris ir izveidots vietnei https:// localhost: 10001
Izvietot statiskā tīmekļa serverī:
- kopējiet visas mapes, izņemot mezglu_moduļus
- kopēt index.html (un, iespējams, web.config)
NĀKOTNE
Viens no galvenajiem mērķiem ir jaunināt uz Polymer3 un strādāt no Polymer CLI. Uzlabotu redaktoru un ietvara pievienošana IOT izstrādātājiem, lai tie izstrādātu savus, ir augsta prioritāte. Galu galā uzlabotā automatizētā sistēma tiks pilnībā palaista no atdalītiem MQTT klientiem, piemēram, AssimilateCrouton.
AssimilateCrouton izmantotās ierīces informācijas paketes piemērs:
{ |
"deviceInfo": { |
"endPoints": { |
"CC_ierīce": { |
"device_name": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"galapunkti": [ |
{ |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"galapunkts": "slēdzis" |
}, |
{ |
"title": "Stādītāju gaismas", |
"kartes tips": "crouton-assim-weekview", |
"endpoint": "CC_switch" |
} |
] |
}, |
"CC_slēdzis": { |
"kartes tips": "assim-weekview", |
"info": "Ieslēdziet vai izslēdziet apgaismojumu 15 minūšu laika intervālos", |
"ceļš": "https://192.168.8.104/cors", |
"title": "Stādītāju gaismas", |
"interval_mins": 15, |
"vērtības": { |
"vērtība": "" |
} |
}, |
"slēdzis": { |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"info": "Īpaši ieslēdziet vai izslēdziet apgaismojumu", |
"etiķetes": { |
"false": "OFF", |
"true": "ON" |
}, |
"ikonas": { |
"false": "sun-o", |
"true": "sun-o" |
}, |
"vērtības": { |
"vērtība": 0 |
} |
} |
}, |
"statuss": "labs", |
"nosaukums": "ash_mezz_A3", |
"description": "Birojs Ashmore, Mezzanine, A2 apgabals", |
"krāsa": "#4D90FE" |
} |
} |
apskatīt rawdeviceInfo.json, kuru mitina GitHub ar ❤
3. darbība: IERĪCES MONTĀŽA
Tā kā nav aparatūras izmaiņu, šeit ir saites uz attiecīgo informāciju:
- Korpusa montāža
- Materiāli un instrumenti
- MCU sagatavošana
- MCU korpusa sagatavošana
- Vergu zemas puses slēdža izveide/ATiestatīt meitas dēli
- Galveno komponentu salikšana
4. solis: FIRMWARE
GALVENĀS IZMAIŅAS ŠAJĀ BŪVĒ
Lai lietojumprogramma AssimilateCrouton varētu izmantot ierīces CORS resursus, atbildes galvenes bija jākonfigurē noteiktā veidā. Tas tika ieviests šajā programmaparatūras laidienā (static_server.ino => server_file_read ()).
Arī galvenajam polimēru atkarības grafikam bija jābūt no vienas izcelsmes. Tika izmantota stratēģija, lai SPIFFS CORS failiem pievienotu kļūdu apstrādātāju (corsLinkOnError), lai atkārtoti ielādētu resursus no AssimilateCrouton vietnes, ja tie nav atrodami ierīcē.
SPIFFS failu sistēmai ir pievienotas 2 jaunas konvencijas, lai pielāgotu ierīcē Info izveidotos galapunktus, kurus AssimilateCrouton izmanto informācijas paneļa karšu izveidošanai:
- /config/user_card_base.json Galapunkta definīcija, vispirms mainot izpildlaika mainīgos:,,. Parasti šajā vietā tiks pievienota assim ierīces ierīce. Tas nesazinās ar ierīci.
- /config/user_card_#.json Galapunkta definīcija, vispirms mainot izpildlaika mainīgos:,,. Parasti šajā gadījumā bagātie redaktori, piemēram, assim-weekview karte, tiks pievienoti I2C vergam (aktierim/sensoram), kas attiecas uz #.
SKEJA/BIBLIOTĒKAS
Šajā posmā projekts ir iesaiņots kā piemērs AssimilateBus Arduino bibliotēkai. Tas galvenokārt ir paredzēts, lai visiem nepieciešamajiem failiem būtu viegli piekļūt no Arduino IDE. Galvenie koda artefakti ir:
- mqtt_crouton_esp8266_cors_webcomponents.ino - galvenais ieejas punkts.
- assimilate_bus.h/assimilate_bus.cpp - bibliotēka, kas apstrādā I2C sakarus ar vergu sensoru/aktieriem
- VizJson.h/VizJson.cpp - bibliotēka, kas formatē/veido jebkuru JSON, kas publicēts, izmantojot MQTT
- config.h/config.cpp - bibliotēka, kas lasa/ieraksta/raksta konfigurācijas failus SPIFFS
- static_i2c_callbacks.ino - I2C atzvanīšana par saņemto īpašumu un vergu pieprasījumu cikls ir pilnīgs static_mqtt.ino - MQTT funkcijas
- static_server.ino - tīmekļa servera funkcijas
- static_utility.ino - palīga funkcijas
Statiskās INO funkcijas tika izmantotas (nevis bibliotēkas) dažādu iemeslu dēļ, bet galvenokārt tādēļ, lai tīmekļa servera un MQTT funkcijas varētu labi spēlēt kopā.
SPIFFU RESURSI
Detalizētus SPIFFS failu skaidrojumus var atrast šeit.
- favicon.ico - resurss, ko izmanto Ace Editor
-
config
- device.json - ierīces konfigurācija (Wifi, MQTT …)
- slave_metas _#. json - ģenerēts izpildlaikā katram verga adreses numuram (#)
- user_card _#. json - pielāgots galapunkts, kas jāintegrē ierīcēInfo katram verga adreses numuram (#)
- user_card_base.json - pielāgots galapunkts, kas jāintegrē ierīces ierīcē
- user_meta _#. json - pielāgoti metadati ignorē vergu datus par katru vergu adreses numuru (#)
- user_props.json - pielāgoti rekvizītu nosaukumi, lai ignorētu vergu metadatos esošos
-
kors
- card -webcomponent.css - dažādu pielāgotu karšu stila lapa
- card -webcomponent.html - tīmekļa komponents dažādām pielāgotām kartēm
-
redaktors
- assimilate -logo-p.webp" />
- edit.htm.gz - Ace Editor HTML gzip
- edit.htm.src - Ace redaktora oriģinālais HTML
- favicon -32x32-p.webp" />
FIRMWAREAR augšupielāde
- Kodu krātuvi var atrast šeit (momentuzņēmums).
- Bibliotēkas ZIP var atrast šeit (momentuzņēmums).
- Norādījumi par ZIP bibliotēkas importēšanu šeit.
- Kad bibliotēka ir instalēta, varat atvērt piemēru "mqtt_crouton_esp8266_cors_webcomponents".
- Norādījumi par Arduino iestatīšanu Wemos D1 Mini šeit.
- Atkarības: ArduinoJson, TimeLib, PubSubClient, NeoTimer (skatiet pielikumus, ja tiek pārkāptas izmaiņas krātuvēs).
AUGŠUPIELĀDĒT SPIFFS
Kad kods ir ielādēts Arduino IDE, mapē data/config atveriet device.json:
- Mainiet wifi_ssid vērtību, izmantojot savu WiFi SSID.
- Mainiet wifi_key vērtību, izmantojot savu WiFi atslēgu.
- Mainiet mqtt_device_name vērtību, izmantojot vēlamo ierīces identifikāciju (nav nepieciešama savienošana).
- Mainiet mqtt_device_description vērtību, izmantojot vēlamo ierīces aprakstu (Crouton).
- Saglabājiet device.json.
- Augšupielādējiet datu failus SPIFFS.
AssimilateBus piemēra galvenais ieejas punkts:
/* |
* |
*JŪSU IERĪCES BIZNESA NOTEIKUMI Gaidāmi, KONTROLĒJAMI AR MQTT |
* |
* Izņemot iestatīšanu un cilpu šajā failā |
* svarīgās kustīgās daļas ir |
* on_bus_received un on_bus_complete vietnē static_i2c_callbacks.ino |
* un |
* mqtt_publish un mqtt_callback vietnē static_mqtt.ino |
* |
*/ |
#include "tips.h" |
#ietver "VizJson.h" |
#include "asimilēt_bus.h" |
#include "debug.h" |
#include "config.h" |
#iekļaut |
#iekļaut // iestatiet MQTT_MAX_PACKET_SIZE uz ~ 3000 (vai jūsu vajadzībām pēc ierīcesInfo json) |
#iekļaut |
#iekļaut |
#iekļaut |
#iekļaut |
#iekļaut |
// --------------------------------- ATMIŅAS DEKLARĀCIJAS |
// ------------------------------------------------ - nosaka |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 MINIMĀLAIS, ATLAIDES, PILNS |
#define_mqtt_pub_topic "outbox" // KROUTONA KONVENCIJAS |
#define_mqtt_sub_topic "iesūtne" |
// ------------------------------------------------ - klases objekti |
Atkļūdot _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_bus; |
VizJson _viz_json; |
Config _config_data; |
WiFiClient _esp_client; |
PubSubClient _klients (_esp_client); |
WiFiUDP Udp; |
ESP8266WebServer _server (80); |
Neotimer _timer_property_request = Neotimer (5000); |
// ------------------------------------------------ - datu struktūras / mainīgais |
RuntimeDeviceData _runtime_device_data; |
PropertyDto _dto_props [50]; // max 10 vergi x max 5 rekvizīti |
// ------------------------------------------------ - kontroles plūsma |
volatilebool _sent_device_info = nepatiess; |
baits _dto_props_index = 0; |
bool _fatal_error = nepatiess; |
// --------------------------------- DEKLARĀCIJAS PAR FUNKCIJAS JOMU |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (baits vergu_adrese, baits prop_index, Lomas loma, simbola nosaukums [16], rakstzīmju vērtība [16]); |
voidon_bus_complete (); |
// ------------------------------------------------ - static_mqtt.ino |
voidmqtt_callback (char* tēma, baits* lietderīgā slodze, neparakstīts garums); |
voidmqtt_loop (); |
int8_tmqtt_get_topic_index (char* tēma); |
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 *galapunkts, constchar *lietderīgā slodze); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *deviceName, char *endpoint); |
voidi2c_set_and_get (baitu adrese, baitu kods, constchar *param); |
// ------------------------------------------------ - static_server.ino |
String server_content_type_get (virknes faila nosaukums); |
boolserver_path_in_auth_exclusion (virknes ceļš); |
boolserver_authread (String ceļš); |
boolserver_file_read (virknes ceļš); |
voidserver_file_upload (); |
voidserver_file_delete (); |
voidserver_file_create (); |
voidserver_file_list (); |
voidserver_init (); |
voidtime_services_init (char *ntp_server_name, baitu laika_zona); |
time_tget_ntp_time (); |
voidsend_ntp_packet (IPAddress & address); |
char *laika_zīmoga_žogojums (); |
// ------------------------------------------------ - static_utility.ino |
String spiffs_file_list_build (Stīgu ceļš); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (baits vergu_adrese, baits prop_index, char *kartes_tips); |
boolget_struct_card_type (baits vergu_adrese, baits prop_index, char *kartes_tips); |
boolget_json_is_series (baitu vergu_adrese, baitu prop_indekss); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
baits get_prop_dto_idx (baits slave_address, baits prop_index); |
// --------------------------------- GALVENAIS |
voidsetup () { |
DBG_OUTPUT_PORT.begin (115200); |
SetupDeviceData device_data; |
Sērijas.println (); Sērijas.println (); // rezerve konsoles atkritumiem |
kavēšanās (5000); |
ja (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (true); |
_debug.out_fla (F ("iestatīšana"), taisnība, 2); |
// iegūt nepieciešamo konfigurāciju |
ja (SPIFFS.begin ()) { |
_debug.out_str (spiffs_file_list_build ("/"), taisnība, 2); |
ja (! _config_data.get_device_data (device_data, _runtime_device_data)) { |
report_deserialize_error (); |
atgriešanās; |
} |
} vēl { |
report_spiffs_error (); |
atgriešanās; |
} |
// izmantot ierīces vērtību, kas iestatīta ierīcē device.json |
_timer_property_request.set (device_data.sensor_interval); |
mqtt_init (device_data.wifi_ssid, device_data.wifi_key, device_data.mqtt_broker, device_data.mqtt_port); |
time_services_init (ierīces_dati.ntp_servera_nosaukums, ierīces_dati.laika_zona); |
servera_init (); |
// sākt metadatu kolekciju |
_asimilēt_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// lai pabeigtu metadatu apkopošanu, nepieciešams sensora rekvizīts (vārdi) |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
_timer_property_request.reset (); // var paiet ievērojams laiks līdz šim brīdim, tāpēc sāciet to no jauna |
} |
voidloop () { |
if (! check_fatal_error ()) return; |
mqtt_loop (); |
_server.handleClient (); |
ja (_timer_property_request.repeat ()) { |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
} |
} |
apskatīt rawmqtt_crouton_esp8266_cors_webcomponents.ino, kuru mitina GitHub ar ❤
5. darbība: IERĪCES KARTE
Ierīces karte (kartes tips: assim-device) tiek mitināta vietnē, un tā nav jāapkalpo no ierīces (CORS).
Tās noklusējuma lapu saraksts:
- MQTT tēmas lasīšanai un rakstīšanai ierīcē
- Piekļuves punkts, ar kuru ierīce ir savienota
- Saite uz SPIFFS failu redaktoru, kas tiek mitināts ierīcē, izmantojot ACE EDITOR
- Acu ikona, kas atklāj lapu Rādīt/slēpt kartīti.
Rādīt/paslēpt kartīšu lapas:
- Katra karte kā atsevišķs priekšmets
- Rādīts treknrakstā zils fonts
- Melns parasts fonts, kad tas ir paslēpts
- Ikona, kas attēlo kartes veidu.
Karti var paslēpt, noklikšķinot uz kartīšu slēpšanas pogas vai sarakstā noklikšķinot uz vienuma ar zilu treknrakstu. Kartītes var parādīt, sarakstā noklikšķinot uz melnā parastā fonta vienuma.
Ar šo funkciju ir cieši saistīti informācijas grauzdiņi. Ja kādam no ierīcesInfo galapunktiem ir piešķirts informācijas rekvizīts, blakus kartes slēpšanas pogai tiks parādīta informācijas poga. Noklikšķinot uz galapunktā definētās kontekstuālās informācijas, logā tiks "grauzdēti".
Ja ierīces karte nav definēta, slēpšanas pogas uz kartēm netiks rādītas. Tas ir tāpēc, ka pēc paslēpšanas tos vairs nevar parādīt.
Lai uzzinātu, kā assim ierīces karti var pievienot, izmantojot SPIFFS failus ESP8266, skatiet sadaļu ENDPOINT CUSTOMIZATION.
AsimilētCrouton WebComponent
RĀDĪT Slēpt ikonu |
IERĪCES FORMA |
div> |
RĀDĪT Slēpt sarakstu |
veidne> |
papīra saraksta kastīte> |
div> |
crouton-card> |
veidne> |
dom-modulis> |
skatiet rawassim-device.html, kuru mitina GitHub ar ❤
6. darbība: NEDĒĻAS SKAITA KARTE
Nedēļas attēla kartīte (kartes tips: assim-weekview) tiek mitināta ierīcē (mape cors). Tas tiek ievadīts ierīces informācijas paketē, kas publicēta AssimilateCrouton, SPIFFS (šajā gadījumā user_card_9.json) pievienojot failu config/user_card _#. Json.
PĀRSKATS
Darba dienas tiek parādītas kā laika intervālu saraksti. Laika spraugas precizitāte ir iestatīta ar rekvizītu "interval_mins" konfigurācijā/user_card _#. Json. Tam jābūt stundas daļai vai stundas daudzkārtnēm, piem. 10, 15, 20, 30, 60, 120, 360. Noklikšķinot uz laika nišas, tiek nodrošināts, ka šajā laikā saistītai ierīcei tiek komandēts ieslēgšanas stāvoklis. Ja laika niša tagad ir, ierīcei nekavējoties tiek nosūtīta (publicēta) komanda. Parasti stāvokli pārbauda/publicē katru minūti. Atlases tiek saglabātas LocalStorage, tāpēc laiki tiks atkārtoti ielādēti, atsvaidzinot pārlūkprogrammu.
LIETOT LIETAS
Pašreizējā stāvoklī nedēļas skats ir piemērots ierīcēm, kuras var izmantot pārslēgšanas slēdzi, lai vizualizētu savu stāvokli, t.i., tās ir ieslēgtas vai izslēgtas, un pēc iestatīšanas tās paliek šajā stāvoklī. Gaismas, ventilatori un ūdens sildītāji ir labi kandidāti.
IEROBEŽOJUMI/ATBILDĪBA
- Intervālam_mins jābūt vienai no iepriekš minētajām vērtībām
- Nedēļas skats neatbalsta arī īslaicīgas darbības, kas ir arī ieplānotas, piemēram, īsu brīdi (5 sekundes) divas reizes dienā ieslēgt pieskārienu.
NĀKOTNE
- Paredzams, ka tiks atbalstītas mirkļa darbības.
- Grafika izvēlei tiek apsvērta sinhronizēta krātuve dažādās ierīcēs.
7. solis: ENDPOINT CUSTOMIZATION
Kā īsumā minēts FIRMWARE, SPIFFS failu sistēmai ir pievienotas 2 jaunas konvencijas galapunktu pielāgošanai. JSON faili ir fragmenti, kas tiek pievienoti parametra devicepoint informācijas pakotnē, kas ievietota MQTT brokerī un kļūst par informācijas paneļa definīciju.
Galapunktu atslēgas tiek ģenerētas programmaparatūrā:
- CC_device (pielāgota karte) lietotāja_kartei_base.json
- CC_SLAVE_ENDPOINT NAME lietotāja kartei _#. Json (# ir verga adrese)
Kā minēts iepriekš, ir mainīgie, kas izpildes laikā aizstāj vērtības:
- mqtt_ierīces_nosaukums
- wifi_ssid
- local_ip
user_card_base.json
Piemērs:
user_card _#. json
Piemērs:
8. solis: VIDEO
Ieteicams:
HP WebCam 101 Aka 679257-330 tīmekļa kameras moduļa atkārtota izmantošana kā vispārēja USB tīmekļa kamera: 5 soļi
Atkārtoti izmantot HP WebCam 101 Aka 679257-330 tīmekļa kameras moduli kā vispārēju USB tīmekļa kameru: es vēlos papildināt savu 14 gadus veco Panasonic CF-18 ar pavisam jaunu tīmekļa kameru, bet Panasonic vairs neatbalsta šo brīnišķīgo mašīnu, tāpēc man tas ir jādara izmantojiet pelēko vielu kaut kam vienkāršākam nekā b & b (alus un burgeri). Šī ir pirmā daļa
IOT123 - ASIMILĒTĀ SENSORA HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Montāža: 4 soļi
IOT123 - ASISIMILĀTA SENSORA HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Montāža: UPDATE Lai iegūtu lielāku uzticamību, iesakām izmantot IDC shēmu (nevis HOOKUP). Šī HOOKUP montāža ir piemērota darbībai, kas nav svarīga misijai, ja jums ir laiks pārbaudīt ķēdi. Es atradu dažus vadus (paneļu augšējais slānis: sarkans/dzeltens) neilgi
IOT123 - ASIMILĒTĀ SENSORA HUB: ICOS10 3V3 MQTT NODE: 6 soļi
IOT123 - ASISIMILĀTA SENSORA HUB: ICOS10 3V3 MQTT NODE: Šī ir pirmā no dažādām MCU/funkciju kombinācijām ASSIMILATE SENSOR HUBS: meistari, kas apkopo datu izmetumus no I2C ASSIMILATE SENSORS vergiem. Šajā būvē tiek izmantots Wemos D1 Mini, lai publicētu visus datus, kas izvesti no ASSIMILATE
IOT123 - ASIMILĒTĀ SENSORA HUB: ICOS10 GENERIC SHELL (IDC) MONTĀŽA: 6 soļi
IOT123 - ASISIMILĀTA SENSORA HUB: ICOS10 GENERIC SHELL (IDC) MONTĀŽA: PIEZĪME Šī ir ASSIMILATE SENSOR HUB uzlabota (ķēdes izturība) versija: ICOS10 GENERIC SHELL (HOOKUP WIRE). Tas saliek ātrāk un tam ir augstākas kvalitātes ķēde, taču tas maksā vairāk (~ 10 USD papildus, ja tiek atbalstīti 10 sensori). Galvenais fe
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: 5 soļi
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: Mūsu projekta mērķis ir uztvert kustību, izmantojot PIR un attāluma sensorus. Arduino kods izvadīs vizuālu un audio signālu, lai informētu lietotāju, ka kāds atrodas tuvumā. MATLAB kods nosūtīs e -pasta signālu, lai brīdinātu lietotāju, ka kāds atrodas tuvumā. Šī ierīce