Arduino നിയന്ത്രണത്തിനുള്ള ക്ലൗഡ് സെർവർ. MyDevices Cayenne സേവനം ഉപയോഗിച്ച് Arduino-യിൽ IoT ഉപകരണങ്ങളുടെ വികസനം. വയർലെസ് IoT ഉപകരണങ്ങൾ വികസിപ്പിക്കാനുള്ള കഴിവ്

മുമ്പ്, നിരീക്ഷണത്തിനായി ഒരു ആർഡ്വിനോ ഉപകരണം സൃഷ്ടിക്കാൻ അദ്ദേഹം സൈക്കിൾ കണ്ടുപിടിച്ചു.

രസകരമായിരുന്നു.

/* -- പുതിയ പ്രോജക്റ്റ് -- ഗ്രാഫിക്കൽ യൂസർ ഇന്റർഫേസിന്റെ ഈ സോഴ്സ് കോഡ് RemoteXY എഡിറ്റർ സ്വയമേവ സൃഷ്ടിച്ചതാണ്. RemoteXY ലൈബ്രറി 2.3.5 അല്ലെങ്കിൽ പിന്നീടുള്ള പതിപ്പ് ഉപയോഗിച്ച് ഈ കോഡ് കംപൈൽ ചെയ്യാൻ http://remotexy.com/en/library/ ലിങ്ക് വഴി ഡൗൺലോഡ് ചെയ്യുക ANDROID 4.3.1 അല്ലെങ്കിൽ പിന്നീടുള്ള പതിപ്പ്; - iOS 1.3.5 അല്ലെങ്കിൽ പിന്നീടുള്ള പതിപ്പിന്; ഈ സോഴ്സ് കോഡ് ഒരു സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറാണ്; ഫ്രീ സോഫ്‌റ്റ്‌വെയർ ഫൗണ്ടേഷൻ പ്രസിദ്ധീകരിച്ച ഗ്നു ലെസ്സർ ജനറൽ പബ്ലിക് ലൈസൻസിന്റെ നിബന്ധനകൾക്ക് കീഴിൽ നിങ്ങൾക്ക് ഇത് പുനർവിതരണം ചെയ്യാനും കൂടാതെ/അല്ലെങ്കിൽ പരിഷ്‌ക്കരിക്കാനും കഴിയും; ഒന്നുകിൽ ലൈസൻസിന്റെ പതിപ്പ് 2.1, അല്ലെങ്കിൽ (നിങ്ങളുടെ ഓപ്ഷനിൽ) പിന്നീടുള്ള ഏതെങ്കിലും പതിപ്പ്. *//////////////////////////////////////////////// RemoteXY ലൈബ്രറി ഉൾപ്പെടുത്തുക //////////////////////////////////////////////// // കണക്ഷൻ മോഡ് നിർവചിക്കുകയും RemoteXY ലൈബ്രറി ബന്ധിപ്പിക്കുകയും ചെയ്യുന്നു #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD #ഉൾപ്പെടുത്തുക //കണക്ഷൻ ക്രമീകരണങ്ങൾ #റിമോട്ടക്സ്വൈ_സീരിയൽ സീരിയൽ നിർവചിക്കുക #റിമോട്ടക്സ്വൈ_സീരിയൽ_സ്പീഡ് 9600 നിർവചിക്കുക #റിമോട്ടക്സ്വൈ_വൈഫൈ_എസ്എസ്ഐഡി നിർവചിക്കുക "*************" #റിമോട്ടക്‌സി_വൈഫൈ_പാസ്‌വേഡ് നിർവചിക്കുക "**********" #നിർവ്വചിക്കുക .com" #define REMOTEXY_CLOUD_PORT 6376 #define REMOTEXY_CLOUD_TOKEN "******************************" #include // DHT11 ലൈബ്രറി dht11 DHT ചേർക്കുക; // ക്ലാസ് വേരിയബിൾ dht11 പ്രഖ്യാപിക്കുന്നു #DHT11_PIN 7 നിർവചിക്കുന്നു // DHT11 സെൻസർ ഡിജിറ്റൽ പിൻ നമ്പർ 4 കോൺസ്റ്റ് ഇൻറ്റ് അനലോഗ് സിഗ്നൽ = A3; //അനലോഗ് സിഗ്നൽ പിൻ കോൺസ്റ്റ് ഡിജിറ്റൽ സിഗ്നലിന്റെ കണക്ഷൻ = 8; //ഡിജിറ്റൽ സിഗ്നൽ പിൻ ബൂളിയൻ നോഗാസ് ബന്ധിപ്പിക്കുക; ഗ്യാസിന്റെ സാന്നിധ്യത്തിന്റെ മൂല്യം സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ = 0; ഗ്യാസ് ഫ്ലോട്ട് ഹമ്മിന്റെ അളവ് സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ = 0; ഈർപ്പം സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ ഫ്ലോട്ട് ടെമ്പ് = 0; താപനില int chk സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ; //DHT പിശക് ചാർ msgBuffer സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ; // ഇന്റർഫേസ് കോൺഫിഗറേഷൻ #പ്രാഗ്മ പാക്ക് (പുഷ്, 1) uint8_t RemoteXY_CONF = ( 255,1,0,24,0,74,0,8,13,2, 2,0,38,44,22,11,7, 81,22,11, 2,26,31,31,79,78,0,79,70,70, 0,66,132,10,13,31,24,7,10,27, 21,2,24, 66.132.56.13.31.24.4, 41.31.24.2.24.67.4.16.5.20 4, 63,6,20,5,39,52,20,5,2,26, 11); // ഘടന നിങ്ങളുടെ കൺട്രോൾ ഇന്റർഫേസ് ഘടനയുടെ എല്ലാ വേരിയബിളുകളും നിർവചിക്കുന്നു ( // ഇൻപുട്ട് വേരിയബിൾ uint8_t switch_1; // =1 സ്വിച്ച് പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ =0 കൂടാതെ // ഔട്ട്‌പുട്ട് വേരിയബിൾ int8_t level_1; // =0..100 ലെവൽ പൊസിഷൻ int8_t level_2; // =0..100 ലെവൽ പൊസിഷൻ ചാർ ടെക്സ്റ്റ്_1; // = UTF8 സ്ട്രിംഗ് നൾ ചാർ ടെക്സ്റ്റ്_2 ഉപയോഗിച്ച് അവസാനിപ്പിച്ചു; 0 ) RemoteXY; #പ്രാഗ്മ പാക്ക് (പോപ്പ്) ////////////////////////////////////////////// /// END RemoteXY ഉൾപ്പെടുന്നു ////////////////////////////////////////// //// #നിർവചിക്കുക PIN_SWITCH_1 13 അസാധുവായ സജ്ജീകരണം() ( RemoteXY_Init (); പിൻമോഡ് (PIN_SWITCH_1, OUTPUT); // TODO you setup code ) void loop() ( RemoteXY_Handler (); digitalWrite(PIN_XY,=SWITCHe. 0 )?LOW:HIGH); noGas = ഡിജിറ്റൽ റീഡ് (ഡിജിറ്റൽ സിഗ്നൽ); //ഗ്യാസ് വാതകത്തിന്റെ സാന്നിധ്യത്തിന്റെ മൂല്യം വായിക്കുക = അനലോഗ് റീഡ് (അനലോഗ് സിഗ്നൽ); // അതിന്റെ തുക chk = DHT.read(DHT11_PIN); ഹം = DHT. ഈർപ്പം; temp = DHT.താപനില; RemoteXY.level_1 = hum; RemoteXY.level_2 = temp; dtostrf(ഹം, 6, 2, RemoteXY.text_1); dtostrf(temp, 6, 2, RemoteXY.text_2); ലൂപ്പ് കോഡ് // ഡാറ്റ കൈമാറാൻ ഒരു RemoteXY ഘടന ഉപയോഗിക്കുക)

ഞങ്ങൾ ബോർഡുകളിൽ നിന്ന് ഒരു സാൻഡ്വിച്ച് ഉപയോഗിക്കുന്നു.

പെട്ടെന്ന് അത് ഉടനടി പ്രവർത്തിച്ചു:

മുകളിലെ ഫോട്ടോയിലേക്ക് RemoteXY ക്ലൗഡ് സേവനം കണ്ടെത്തിയതിന് ശേഷം ഒരു മണിക്കൂർ കഴിഞ്ഞു.

RemoteXY ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നതിന്റെ സവിശേഷതകൾ.

1. എല്ലാം വളരെ ലളിതമാണ്. അത് അതിന്റേതായ രീതിയിൽ നല്ലതാണ്. ഉദാഹരണത്തിന്, ബ്ലിങ്ക്, കയെൻ എന്നിവ ഉപയോഗിച്ച്, ഒരു മണിക്കൂറിനുള്ളിൽ നിങ്ങൾക്ക് ആദ്യം മുതൽ ഇത് കണ്ടെത്താൻ സാധ്യതയില്ല. ഉപയോഗിക്കുന്നതിന്, ഉദാഹരണത്തിന്, "KaScada ക്ലൗഡ്" നിങ്ങൾ ഒരു പ്രത്യേക സ്റേ വാങ്ങേണ്ടതുണ്ട്.

2. സെർവർ വശത്ത് ഡാറ്റ പ്രോസസ്സിംഗും സംഭരണവും ഇല്ല: ബോർഡുമായി യാതൊരു ബന്ധവുമില്ല - "കണക്ഷൻ ഇല്ല" ആപ്ലിക്കേഷനിൽ തൂങ്ങിക്കിടക്കുന്നു.

3. 5 ഡിസൈൻ ഘടകങ്ങൾ മാത്രം സൗജന്യമാണ്, എന്നാൽ PRO ആപ്ലിക്കേഷന് ചെലവഴിച്ച സമയത്തിന്റെ പകുതി ദിവസത്തിൽ കൂടുതൽ ചിലവില്ല.

4. ഒരു ക്ലൗഡ് സെർവർ വഴിയും നേരിട്ടും ഒരു ആപ്ലിക്കേഷനിൽ നിന്ന് ബോർഡുമായി ആശയവിനിമയം നടത്താൻ സാധിക്കും. ഒരേ സമയം അല്ല, തീർച്ചയായും. വേഗത്തിൽ മാറുന്നത് അസാധ്യമാണ് - നിങ്ങൾ ബോർഡിലെ സ്കെച്ച് മാറ്റേണ്ടതുണ്ട്. ബ്ലൂടൂത്ത്, യുഎസ്ബി എന്നിവ വഴി സ്മാർട്ട്ഫോൺ ബോർഡുമായി ആശയവിനിമയം നടത്താനും സാധിക്കും.

Eespeshniks - മിന്നുന്നവരുടെ നിരയിൽ ചേരൂ!
പുതിയ ബ്ലിങ്ക് ക്ലൗഡ് സേവനം ഉപയോഗിച്ച് 5 മിനിറ്റിനുള്ളിൽ നിങ്ങളുടെ സ്മാർട്ട്‌ഫോണിൽ നിന്ന് (iOS അല്ലെങ്കിൽ Android) ESP8266-ന്റെ നിയന്ത്രണം ഞങ്ങൾ ഇന്ന് സജ്ജീകരിക്കും. കട്ടിന് താഴെയുള്ള വീഡിയോയും വിശദാംശങ്ങളും.


നിങ്ങളുടെ സ്മാർട്ട്ഫോണിൽ Blink ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക

ആപ്ലിക്കേഷനിൽ രജിസ്റ്റർ ചെയ്ത് ഒരു പുതിയ പ്രോജക്റ്റ് സൃഷ്ടിക്കുക.

ഉദാഹരണത്തിന്, പദ്ധതിയുടെ പേര് നൽകുക ESP8266. വയലിൽ ഹാർഡ്വെയർ മോഡൽതിരഞ്ഞെടുക്കുക ESP8266. (പിന്തുണയ്ക്കുന്ന ഹാർഡ്‌വെയറിന്റെ ശ്രദ്ധേയമായ ലിസ്റ്റ് നിങ്ങൾ ശ്രദ്ധിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു) സ്വയമേവ സൃഷ്‌ടിച്ചത് ഓത്ത് ടോക്കൺനിങ്ങളുടെ മെയിൽബോക്സിലേക്ക് അയയ്ക്കുക.

ബട്ടൺ അമർത്തി ശേഷം സൃഷ്ടിക്കാൻനിങ്ങളുടെ ESP8266 കൺട്രോൾ പാനലിന്റെ UI രൂപകൽപ്പന ചെയ്യുന്നതിനായി നിങ്ങൾക്ക് ഒരു ശൂന്യമായ ഫീൽഡ് ഉണ്ടായിരിക്കും.

മുകളിൽ വലതുവശത്തുള്ള പ്ലസ് ചിഹ്നത്തിൽ ക്ലിക്കുചെയ്യുക - ഒരു ടൂൾബാർ ദൃശ്യമാകും വിജറ്റ് ബോക്സ്നിങ്ങളുടെ ഡാഷ്‌ബോർഡിലേക്ക് വിജറ്റുകൾ ചേർക്കാൻ. വിജറ്റുകളുടെ ലിസ്റ്റ് ഇപ്പോഴും നിറയ്ക്കുമെന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്.

പരിശോധനയ്ക്കായി, വിജറ്റിന്റെ തരം തിരഞ്ഞെടുക്കുക ബട്ടൺ- ഈ വിജറ്റ് ഉടൻ തന്നെ നിങ്ങളുടെ പാനലിലേക്ക് ചേർക്കപ്പെടും. ഒരു സ്പർശനത്തിലൂടെ അത് എഡിറ്റ് ചെയ്യുക. പേര് ശൂന്യമായി ഇടാം, അൽപ്പം വലതുവശത്ത് നിങ്ങൾക്ക് ഫീൽഡിൽ ഇൻഡിക്കേറ്ററിന്റെ നിറം തിരഞ്ഞെടുക്കാം ഔട്ട്പുട്ട് പിൻവലത് തിരഞ്ഞെടുക്കുക ഡിജിറ്റൽ, ഇടതുവശത്ത് ഏതെങ്കിലും സ്വതന്ത്ര പിൻ ഉണ്ട് ജിപിഐഒ. ചുവടെയുള്ള ബട്ടൺ തരം മാറുക സ്വിച്ച്.

അടുത്തതായി, Arduino IDE-യിൽ Blynk ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക. ഔദ്യോഗിക നിർദ്ദേശങ്ങൾ ഇതിന് നിങ്ങളെ സഹായിക്കും. നിങ്ങൾക്ക് ലൈബ്രറിയുടെ ഏറ്റവും പുതിയ പതിപ്പ് ശേഖരത്തിൽ നിന്ന് നേരിട്ട് എടുത്ത് സ്വമേധയാ ഇൻസ്റ്റാൾ ചെയ്യാം. അടുത്തതായി, ഒരു ഉദാഹരണം തിരഞ്ഞെടുക്കുക ESP8266_Standaloneഅതിൽ എഴുതുകയും ചെയ്യുക ഓത്ത് ടോക്കൺഞങ്ങൾക്ക് മെയിലിൽ ലഭിച്ചത് SSID ഉം പാസ്‌വേഡുംനിങ്ങളുടെ വൈഫൈ നെറ്റ്‌വർക്ക്. ESP8266-ലേക്ക് സ്കെച്ച് കംപൈൽ ചെയ്ത് അപ്‌ലോഡ് ചെയ്യുക.

ഇഥർനെറ്റ് ഷീൽഡോ ഏതെങ്കിലും WI-FI മൊഡ്യൂളോ പോലും ഉപയോഗിക്കാതെ ഇൻറർനെറ്റിലൂടെ Arduino കണക്റ്റുചെയ്യുന്നതിനും നിയന്ത്രിക്കുന്നതിനുമുള്ള ചെലവുകുറഞ്ഞ പരിഹാരം കണ്ടെത്തുന്നതിനെക്കുറിച്ച് ഞാൻ ഒരുപാട് ചിന്തിച്ചു. ഗവേഷണത്തിന് ശേഷം, Arduino മൈക്രോകൺട്രോളറുമായി ഇടപഴകാനുള്ള ഏക മാർഗം അതിന്റെ സീരിയൽ പോർട്ടിലൂടെയാണെന്ന് ഞാൻ കണ്ടെത്തി, അതിനാൽ ബോർഡിലേക്ക് ഡാറ്റ അയയ്‌ക്കാനും സ്വീകരിക്കാനും സീരിയൽ പോർട്ടുമായി പ്രവർത്തിക്കാൻ ഞാൻ ഒരു ലളിതമായ C# വിൻഡോ ആപ്ലിക്കേഷൻ ഒരു കേന്ദ്രമായി (HUB) സൃഷ്ടിച്ചു.

ഈ HUB ആപ്ലിക്കേഷൻ നിങ്ങളുടെ സ്വകാര്യ കമ്പ്യൂട്ടറിലൂടെ ഇതിനകം തന്നെ ഇന്റർനെറ്റുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു, കൂടാതെ ഓൺലൈൻ MySQL ഡാറ്റാബേസിൽ ഡാറ്റ സംഭരിക്കുന്നതിനൊപ്പം മൈക്രോകൺട്രോളറിനും ക്ലൗഡ് ഡാറ്റാബേസിനും ഇടയിൽ ഡാറ്റ അയയ്ക്കാനും സ്വീകരിക്കാനും സഹായിക്കുന്നു.

ഒന്നാമതായി, ആശയത്തിന്റെ പ്രയോഗം പരിശോധിക്കാൻ എന്നെ അനുവദിക്കുന്ന ഒരു ചെറിയ ഉദാഹരണം ഉപയോഗിച്ച് ഞാൻ ആരംഭിക്കേണ്ടതുണ്ട്. ഈ ഉദാഹരണത്തിൽ, ഞാൻ ഒരു സെൻസറും കണക്റ്റുചെയ്‌തിട്ടില്ല, ഞാൻ Arduino-യിൽ ബിൽറ്റ്-ഇൻ LED മാത്രമേ ഉപയോഗിച്ചിട്ടുള്ളൂ, അങ്ങനെ സീരിയലിലേക്ക് "I", "O" എന്നീ അക്ഷരങ്ങൾ അയച്ചുകൊണ്ട് പിൻ 13-ൽ LED ഓണാക്കാനും ഓഫാക്കാനും കഴിയും. തുറമുഖം.

int ഇൻപുട്ട്; //സീരിയൽ പോർട്ടിൽ നിന്ന് വരുന്ന പ്രതീകം സംഭരിക്കും. int led = 13; // പിൻ 13 // നിങ്ങൾ റീസെറ്റ് ബട്ടൺ അമർത്തുമ്പോഴോ പവർ ഇൻറ്റ് സ്റ്റേറ്റ് ഓണാക്കുമ്പോഴോ സെറ്റപ്പ് ഫംഗ്ഷൻ ഒരിക്കൽ പ്രവർത്തിക്കുന്നു; void setup() ( // LED_BUILTIN ഡിജിറ്റൽ പിൻ ഔട്ട്‌പുട്ടായി ആരംഭിക്കുക. Serial.begin(9600); pinMode(led, OUTPUT); // പിൻ 13 ഡിജിറ്റൽ ഔട്ട്‌പുട്ടായി സജ്ജമാക്കുക Serial.flush(); ) // ലൂപ്പ് പ്രവർത്തനം വീണ്ടും പ്രവർത്തിക്കുന്നു ഒപ്പം വീണ്ടും എപ്പോഴും അസാധുവായ ലൂപ്പ്() ( // സ്ട്രിംഗ് ഇൻപുട്ട് = ""; // അതേസമയം (Serial.available() > 0) // ( // input += (char) Serial.read(); // delay(5 ) ; // ) സംസ്ഥാനം = ഡിജിറ്റൽ റീഡ്(ലെഡ്); എങ്കിൽ (സീരിയൽ.ലഭ്യം()) (ഇൻപുട്ട് = സീരിയൽ.റീഡ്(); എങ്കിൽ (ഇൻപുട്ട് == "ഞാൻ") ( //ഡിജിറ്റൽ റൈറ്റ്(ലെഡ്, !ഡിജിറ്റൽ റീഡ്(ലെഡ്) ) ; digitalWrite(led, HIGH); Serial.println(1); delay(1000); ) അല്ലെങ്കിൽ (ഇൻപുട്ട് == "O") (digitalWrite(led, LOW); Serial.println(0); delay(1000 ) ; ) else if (ഇൻപുട്ട് == "T") ( analogRead(led); Serial.println(0); delay(1000); ) )

ഘട്ടം 2. ഒരു ഓൺലൈൻ ഡാറ്റാബേസ് സൃഷ്ടിക്കുക

ഡാറ്റ സംഭരിക്കുന്നതിന്, ഞങ്ങൾ ഒരു "ഓൺലൈൻ പ്രോക്സി" ഉപയോഗിക്കേണ്ടതുണ്ട്, അത് Arduino ബോർഡിനും ഞങ്ങളുടെ HUB ആപ്ലിക്കേഷനും ഇടയിൽ ഒരു പാലമായി പ്രവർത്തിക്കും. അതിനാൽ, ഞങ്ങൾ ഒരു സൌജന്യ ഡാറ്റാബേസ് ഹോസ്റ്റിംഗ് തിരഞ്ഞെടുത്തു, അത് Arduino ബോർഡിൽ നിന്ന് ലഭിച്ച ഡാറ്റയും അതിലേക്ക് അയച്ച കമാൻഡുകളും സംഭരിക്കുന്നതിനായി പ്രവർത്തിക്കും.

ഞങ്ങളുടെ കാര്യത്തിൽ ഏറ്റവും എളുപ്പമുള്ള തിരഞ്ഞെടുപ്പ് MySQL ഡാറ്റാബേസുകളാണ്. ഇത് സൗജന്യവും സാധാരണയായി വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നതുമാണ്. താഴെ അറ്റാച്ച് ചെയ്തിട്ടുള്ള ആർക്കൈവിൽ, അതിൽ രണ്ട് പട്ടികകൾ മാത്രമേ ഉള്ളൂ എന്ന് നിങ്ങൾ കണ്ടെത്തും. ആദ്യം നിങ്ങൾ കമാൻഡുകൾ സംരക്ഷിക്കേണ്ടതുണ്ട്, തുടർന്ന് അവ ബോർഡിലേക്ക് അയയ്ക്കുക, രണ്ടാമത്തെ പട്ടിക Arduino ബോർഡിന്റെ ഔട്ട്പുട്ടുകൾ നേടുകയും പിന്നീടുള്ള ഉപയോഗത്തിനായി പുനഃസ്ഥാപിക്കുകയും ചെയ്യുക എന്നതാണ്.

ഹോസ്റ്റിംഗ് എന്ന നിലയിൽ, നിങ്ങൾക്ക് freemysqlhosting.net എന്ന സൈറ്റ് തിരഞ്ഞെടുക്കാം. ഓൺലൈൻ PHP MyAdmin എന്ന ലിങ്കിൽ കാണാവുന്നതാണ് - phpmyadmin.co . കൂടുതൽ വിവരങ്ങൾ phpmyadmin.net-ലും കാണാം.

ഘട്ടം 3 ഒരു C# ഹബ് സൃഷ്ടിക്കുന്നു

ഈ ഘട്ടത്തിൽ, ഞങ്ങൾ ഒരു ഹബ് സൃഷ്ടിക്കും, അത് ഒരു പിസിയിൽ ഒരു ഇൻപുട്ട് ഫിൽട്ടറായി കണക്കാക്കാം, അതിലൂടെ കടന്നുപോകുന്ന ഡാറ്റ ആദ്യം കൈമാറുന്നതിന്, സീരിയൽ പോർട്ട് വഴി ആർഡ്വിനോ ബോർഡിലേക്ക് അയയ്‌ക്കുക, തിരിച്ചും.

ഈ ഹബിന്റെ ഇന്റർഫേസ് വളരെ ലളിതമാണ്, അതിൽ ഓരോ "ഇടപാടിന്റെ" നില കാണിക്കുന്ന രണ്ട് ടെക്സ്റ്റ് ഫീൽഡുകൾ മാത്രമേ അടങ്ങിയിട്ടുള്ളൂ, ഹബിന്റെ ഡാറ്റ കൈമാറുന്നു (അയയ്ക്കുന്നതും സ്വീകരിക്കുന്നതും).

കുറിപ്പ്. ഇൻറർനെറ്റിലൂടെ നിങ്ങളുടെ ആർഡ്വിനോ ബോർഡിനൊപ്പം പ്രവർത്തിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുമ്പോൾ ഹബ് എല്ലായ്പ്പോഴും പ്രവർത്തിക്കണം.

ഘട്ടം 4. ഒരു വെബ് ഇന്റർഫേസ് സൃഷ്ടിക്കുക

അവസാനമായി, ഞങ്ങൾ പാഠത്തിന്റെ ഏറ്റവും മികച്ച ഭാഗത്ത് എത്തി.

ഏത് ഉപകരണത്തിലും പ്രവർത്തിക്കാൻ കഴിയുന്ന ഒരു റെസ്‌പോൺസീവ് ഇന്റർഫേസുള്ള Asp.net C# സാങ്കേതികവിദ്യയെ അടിസ്ഥാനമാക്കി ഞാൻ ഒരു വെബ് ആപ്ലിക്കേഷൻ സൃഷ്‌ടിച്ചു, ഈ വെബ് ആപ്ലിക്കേഷൻ ഒരു ഓൺലൈൻ ഡാറ്റാബേസുമായി മാത്രമേ പ്രവർത്തിക്കൂ, മറുവശത്ത് കുറച്ച് ഫീസ് ഉണ്ടെന്ന് അറിയില്ല.

ഈ ഇന്റർഫേസ് ഉപയോഗിച്ച്, ആർഡ്വിനോയുമായി ബന്ധിപ്പിച്ചിട്ടുള്ള നിങ്ങളുടെ ഇലക്ട്രോണിക് ഘടകങ്ങളെ നിങ്ങൾക്ക് തരം തിരിക്കാം. അവ ഓണാക്കാനും ഓഫാക്കാനും മൗസിൽ ക്ലിക്കുചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഡാറ്റ ഓൺലൈനിൽ സൂക്ഷിക്കുക.

ഉദാഹരണം

"ലിവിംഗ് റൂം" വിഭാഗത്തിലെ പച്ച ബട്ടൺ (ഓൺ) അമർത്തുന്നതിലൂടെ (ഹാൾ - ചിത്രത്തിൽ മുകളിൽ), നിങ്ങളുടെ വീടിന്റെ സ്വീകരണമുറിയിലെ ലൈറ്റ് ഓണാക്കാൻ നിങ്ങൾ ഇന്റർനെറ്റ് വഴി ഒരു നിർദ്ദേശം അയയ്ക്കുന്നു. അതിനാൽ, ലോകത്തിന്റെ മറുവശത്ത് ആയിരിക്കാവുന്ന ഹബ്, നിർദ്ദേശങ്ങൾ സ്വീകരിക്കുകയും നിങ്ങളുടെ വീട്ടിലെ ഒരു Arduino അടിസ്ഥാനമാക്കിയുള്ള ഇലക്ട്രോണിക് സർക്യൂട്ട് ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു.

സംരക്ഷിത ശൂന്യമായ BtnHallOn_Click(object sender, EventArgs e) ( AddTempOrders("I"); // ഹാൾ ലൈറ്റ് തുറക്കാൻ Arduino ലേക്ക് "I" എന്ന അക്ഷരം അയയ്ക്കുന്നു )

ഘട്ടം 5. പ്രോജക്റ്റ് ഡൗൺലോഡ് ചെയ്യുക

എല്ലാം സ്വയം പരീക്ഷിച്ച് നിങ്ങളുടെ സ്വന്തം പ്രോജക്റ്റ് നിർമ്മിക്കാനുള്ള സമയമാണിത്.

ഇതെല്ലാം നിങ്ങൾക്ക് ഉപയോഗപ്രദമാണെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. ഞാൻ നിങ്ങൾക്ക് മികച്ച പദ്ധതികൾ നേരുന്നു!

കഴിഞ്ഞ വർഷം, മൈക്രോസോഫ്റ്റ് സ്മാർട്ട് ഉപകരണങ്ങളും സംയോജിത ഇലക്ട്രോണിക്സും കൈകാര്യം ചെയ്യുന്നതിനായി ക്ലൗഡ് അധിഷ്ഠിത ബാക്കെൻഡ് പ്രഖ്യാപിച്ചു. Azure IoT ഹബ് നിങ്ങളെ ഏറ്റവും കുറഞ്ഞ പ്രോഗ്രാമിംഗ് ഉള്ള ഉപകരണങ്ങൾക്കിടയിൽ ഇന്ററാക്ഷൻ സജ്ജീകരിക്കാനും Azure അടിസ്ഥാനമാക്കിയുള്ള നിങ്ങളുടെ പ്രോജക്റ്റുകളിൽ ഉൾപ്പെടുത്താനും നിങ്ങളെ അനുവദിക്കുന്നു. ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് കാണാൻ, ഞങ്ങൾ ഒരു ലളിതമായ ടാസ്‌ക് വിശകലനം ചെയ്യും - ഒരു ആർഡ്വിനോ കൺട്രോളറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന സെൻസറിൽ നിന്ന് റീഡിംഗുകൾ ക്ലൗഡിലേക്ക് അയയ്ക്കുന്നു.

അതിനാൽ, ഞങ്ങൾക്ക് ഒരു ലളിതമായ ഉപകരണം ഉണ്ട്. ഇതിൽ ഒരു കൺട്രോളർ, ഒരു ചെറിയ ബ്രെഡ്ബോർഡ്, ഒരു ഫോട്ടോറെസിസ്റ്റർ (ലൈറ്റ് സെൻസർ), ഒരു സ്റ്റെബിലൈസിംഗ് റെസിസ്റ്റർ എന്നിവ അടങ്ങിയിരിക്കുന്നു. ബിൽറ്റ്-ഇൻ വൈ-ഫൈ ഉള്ള ഒരു Genuino MKR1000 ആണ് കൺട്രോളർ - നിങ്ങൾക്ക് ഇത് വേണമെങ്കിൽ $35 ചിലവാകും. മൈക്രോ-യുഎസ്ബി ഉപയോഗിച്ചാണ് ബോർഡ് പ്രവർത്തിക്കുന്നത്.


തത്വത്തിൽ, ഏത് സെൻസറും ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും - ഇത് ഞങ്ങളുടെ ഭാവി പദ്ധതികളെ ഒരു തരത്തിലും ബാധിക്കില്ല. ഞങ്ങളുടെ ഉപകരണം ക്ലൗഡുമായി ആശയവിനിമയം നടത്തുന്ന സ്കീം ചുവടെയുള്ള ചിത്രം കാണിക്കുന്നു.



ഉപകരണം IoT ഹബ്ബിലേക്ക് ഡാറ്റ അയയ്‌ക്കുന്നു, അവിടെ സ്ട്രീം അനലിറ്റിക്‌സ് സേവനത്തിലൂടെ കടന്നുപോയ ശേഷം അവ ഡാറ്റാബേസിൽ പ്രവേശിക്കുകയും പവർ ബിഐ ഉപയോഗിച്ച് പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു. ഈ കാര്യങ്ങളെല്ലാം ഞങ്ങൾ കുറച്ച് കഴിഞ്ഞ് കൈകാര്യം ചെയ്യും, എന്നാൽ ഇപ്പോൾ നമുക്ക് അടിസ്ഥാനകാര്യങ്ങളിൽ നിന്ന് ആരംഭിക്കാം.

വിവരം

ലേഖനത്തിന്റെ അവസാനം തത്ഫലമായുണ്ടാകുന്ന പ്രോജക്റ്റിന്റെ ഉറവിടങ്ങളുണ്ട്. നിങ്ങൾ സമാനമായ എന്തെങ്കിലും ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ അവ പരിശോധിക്കാൻ മറക്കരുത്.

IoT ഹബ് റഷ്യൻ ഭാഷയിലേക്ക് "ഇന്റർനെറ്റ് ഓഫ് തിംഗ്സ് സെന്റർ" എന്ന് ഔദ്യോഗികമായി വിവർത്തനം ചെയ്യപ്പെടുന്നു. ഇതിന് ഉപകരണങ്ങളിൽ നിന്ന് ഡാറ്റ സ്വീകരിക്കാനും അവർക്ക് സന്ദേശങ്ങളോ കമാൻഡുകളോ അയയ്ക്കാനും കഴിയും.

IoT ഹബ്ബിന് പുറമേ, ഇവന്റ് ഹബ് (“ഇവന്റ് ഹബ്”) എന്ന മറ്റൊരു സേവനത്തിനും ഉപകരണങ്ങളുമായി സംവദിക്കാൻ കഴിയും. ഇതിന് ഉയർന്ന ബാൻഡ്‌വിഡ്ത്ത് ഉണ്ട്, പക്ഷേ ഒരു ദിശയിൽ മാത്രമേ സന്ദേശങ്ങൾ അയയ്‌ക്കൂ - ഉപകരണത്തിൽ നിന്ന് ക്ലൗഡിലേക്ക്. IoT Hub, MQTT, MQTT ഓവർ വെബ്‌സോക്കറ്റ്, AMQP, AMQP ഓവർ വെബ്‌സോക്കറ്റ്, HTTP തുടങ്ങിയ പ്രോട്ടോക്കോളുകളെ പിന്തുണയ്ക്കുന്നു. WebSocket, HTTP എന്നിവയിലൂടെ AMQP, AMQP എന്നിവയെ ഇവന്റ് ഹബ് പിന്തുണയ്ക്കുന്നു. മൈക്രോസോഫ്റ്റ് വെബ്സൈറ്റിൽ ഹബുകൾ തമ്മിലുള്ള വ്യത്യാസത്തെക്കുറിച്ചും അവ എങ്ങനെ ഒരുമിച്ച് ഉപയോഗിക്കാമെന്നതിനെക്കുറിച്ചും നിങ്ങൾക്ക് കൂടുതൽ വായിക്കാം. ഞങ്ങൾ IoT ഹബ് പഠിക്കും (ഇത് കൂടുതൽ രസകരമാണ്).

വിവിധതരം മൈക്രോകൺട്രോളറുകളും മൈക്രോകമ്പ്യൂട്ടറുകളും, അതായത് ആർഡ്വിനോ, റാസ്‌ബെറി പൈ തുടങ്ങിയവ പ്രോഗ്രാമിംഗ് ചെയ്യുന്നത് ഏറ്റവും രസകരവും പ്രസക്തവുമായ പ്രവർത്തനങ്ങളിലൊന്നാണ്. ഈ പ്ലാറ്റ്‌ഫോമുകളിൽ ഉപകരണങ്ങൾ രൂപകൽപ്പന ചെയ്യുന്നത് ഗീക്കുകളുടെയും പ്രൊഫഷണൽ പ്രോഗ്രാമർമാരുടെയും ഹോബിക്ക് അപ്പുറത്താണ്: റോബോട്ടുകൾ, മെഷീൻ ടൂളുകൾ, ക്വാഡ്‌കോപ്റ്ററുകൾ, ഐഒടി ഉപകരണങ്ങൾ (സ്മാർട്ട് ഹോം), സെർവറുകൾ, കൂടാതെ ഹൈ-ഫൈ ഓഡിയോ ഇന്റർഫേസുകൾ എന്നിവ നിർമ്മിക്കാൻ ഈ ബോർഡുകൾ ഉപയോഗിക്കുന്നു.

നിർഭാഗ്യവശാൽ, മൈക്രോകൺട്രോളർ മാർക്കറ്റ് ഉയർന്ന വിഭാഗത്തിലാണ്. അവരുടെ പ്രോഗ്രാമിംഗ് വിവിധ പരിതസ്ഥിതികളിലൂടെയും ഇന്റർഫേസുകളിലൂടെയും നടപ്പിലാക്കുന്നു. ബ്ലിങ്ക് എന്ന പ്രോജക്റ്റ് സംരക്ഷിക്കാൻ സാഹചര്യം വിളിക്കുന്നു.

ഗ്രാഫിക്കൽ കൺട്രോൾ പാനലുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള ഒരു ക്ലൗഡ് അധിഷ്ഠിത സേവനമാണ് ബ്ലിങ്ക്, കൂടാതെ മൈക്രോകമ്പ്യൂട്ടറുകൾക്കും മൈക്രോകൺട്രോളറുകൾക്കും അനുയോജ്യമാണ്. സെൻസറുകളിൽ നിന്ന് വിവരങ്ങൾ ശേഖരിക്കുന്നതിന് മുമ്പ് ഒരു പൂർണ്ണമായ I / O ഇന്റർഫേസ് എഴുതുകയോ അധിക മൊഡ്യൂളുകൾ വാങ്ങുകയോ ചെയ്യേണ്ടത് ആവശ്യമായിരുന്നിടത്ത്, ഇപ്പോൾ നിങ്ങൾക്ക് Blynk-ൽ അഞ്ച് മിനിറ്റ് ജോലി ചെയ്യാൻ കഴിയും.

Blynk വഴി മാനേജ് ചെയ്യുന്ന നിങ്ങളുടെ സ്വന്തം പ്രോജക്റ്റ് സൃഷ്ടിക്കുന്നതിന്, നിങ്ങൾക്ക് വളരെ കുറച്ച് മാത്രമേ ആവശ്യമുള്ളൂ: ആപ്ലിക്കേഷൻ ഇൻസ്റ്റാൾ ചെയ്യുക (iOS, Android എന്നിവയ്‌ക്കുള്ള പതിപ്പുകൾ ലഭ്യമാണ്) അല്ലെങ്കിൽ വെബ് ഫോം ഉപയോഗിക്കുക. ഇവിടെ നിങ്ങൾ ഒരു ഘട്ടത്തിൽ രജിസ്റ്റർ ചെയ്യേണ്ടതുണ്ട് - നിങ്ങളുടെ ഇമെയിലും പാസ്‌വേഡും നൽകുക. ബ്ലിങ്ക് ഒരു ക്ലൗഡ് സൊല്യൂഷൻ ആയതിനാലും അതില്ലാതെ ഏതൊരു ഉപയോക്താവിനും ഇരുമ്പ് കഷണത്തിന്മേൽ നിയന്ത്രണം ലഭിക്കുമെന്നതിനാലും രജിസ്ട്രേഷൻ ആവശ്യമാണ്.

ആവശ്യമുള്ളവർക്ക് പ്രാദേശികമായി സെർവർ ഇൻസ്റ്റാൾ ചെയ്യാം. ഈ സാഹചര്യത്തിൽ, ഇന്റർനെറ്റ് ആക്സസ് ആവശ്യമില്ല.

ആപ്ലിക്കേഷന്റെ പ്രവർത്തനത്തിന് ചില കഴിവുകൾ ആവശ്യമാണ്. ആദ്യം, നിങ്ങൾ ഒരു കമ്പ്യൂട്ടർ അല്ലെങ്കിൽ സ്മാർട്ട്ഫോണിനെ ഒരു പ്രോഗ്രാമബിൾ ബോർഡുമായി ബന്ധിപ്പിക്കേണ്ടതുണ്ട്. വിവിധ ഇന്റർഫേസുകളിലൂടെ ബോർഡുകളുമായുള്ള കണക്ഷൻ പ്രോഗ്രാം പിന്തുണയ്ക്കുന്നു:

  • USB (സീരിയൽ)
  • അഡാഫ്രൂട്ട് CC3000 വൈഫൈ,
  • ഔദ്യോഗിക Arduino WiFi ഷീൽഡ്,
  • ഔദ്യോഗിക ഇഥർനെറ്റ് ഷീൽഡ് (W5100),
  • ENC28J60,
  • ESP8266 (വൈഫൈ മോഡം),
  • സീഡ്‌സ്റ്റുഡിയോ ഇഥർനെറ്റ് ഷീൽഡ് V2.0 (W5200),
  • RN-XV വൈഫൈ,
  • ESP8266.

കണക്ഷൻ സജ്ജീകരിക്കുന്നതിനു പുറമേ, നിങ്ങൾ ഭാവി ഉപകരണത്തിന്റെ മൊഡ്യൂളുകൾ മാത്രം ശരിയായി ബന്ധിപ്പിക്കേണ്ടതുണ്ട്. അതിനുശേഷം, ആപ്ലിക്കേഷന്റെ പ്രവർത്തന രൂപത്തിൽ, നിങ്ങൾ ലഭ്യമായ മൊഡ്യൂളുകൾ (വിജറ്റുകൾ) ചേർക്കേണ്ടതുണ്ട്, ആവശ്യമായ ഔട്ട്പുട്ട് വിലാസങ്ങൾ ക്രമീകരിക്കുകയും ആവശ്യമുള്ള പാരാമീറ്ററുകൾ വ്യക്തമാക്കുകയും വേണം (ആവശ്യമെങ്കിൽ, നിങ്ങൾക്ക് നിങ്ങളുടെ സ്വന്തം കോഡ് എഴുതാം). വഴിയിൽ, ഒരു വിജറ്റ് അല്ലെങ്കിൽ പ്രോഗ്രാം സൃഷ്ടിക്കാൻ drag’n’drop ഉപയോഗിക്കുന്നു. നിയന്ത്രണ ഉപകരണങ്ങളുടെ ധാരാളം സിമുലേറ്ററുകൾ നിയന്ത്രണത്തിനായി ലഭ്യമാണ് - സ്വിച്ചുകൾ, സ്ലൈഡറുകൾ, ഡിസ്പ്ലേകൾ, അവയിൽ ഓരോന്നിനും നിങ്ങളുടെ സ്വന്തം ലോജിക് എഴുതാം. ഗ്രാഫുകളുടെ രൂപത്തിൽ ആവശ്യമായ സെൻസറുകളിൽ നിന്നുള്ള വിവരങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിനും സംഘടിപ്പിക്കുന്നതിനും പ്രത്യേക ഫോമുകൾ ഉണ്ട്.

അതിനാൽ, പ്രോജക്റ്റ് മാനേജുമെന്റിനായി ആപ്ലിക്കേഷനുകൾ എഴുതാൻ സമയം ചെലവഴിക്കാൻ ആഗ്രഹിക്കാത്ത തുടക്കക്കാർക്കും കൂടുതൽ വിപുലമായ ഉപയോക്താക്കൾക്കും പ്ലാറ്റ്ഫോം അനുയോജ്യമാണ്: കാലാവസ്ഥാ സ്റ്റേഷനിൽ നിന്നുള്ള ഡാറ്റ വായിക്കുന്നതും ഒരു സ്മാർട്ട് ഹോം നിയന്ത്രിക്കുന്നതും റോബോട്ടുകളെ നിയന്ത്രിക്കുന്നത് വരെ.

നിങ്ങൾക്ക് ആരംഭിക്കാൻ ആവശ്യമായ എല്ലാ വിവരങ്ങളും ഔദ്യോഗിക വെബ്സൈറ്റിൽ ലഭ്യമാണ്. Blink ആണ്, അതിലൂടെ എല്ലാവർക്കും പുതിയ ഫീച്ചറുകൾ സൃഷ്ടിക്കുന്നതിൽ പങ്കാളികളാകാം. ഇപ്പോൾ, സേവനത്തിന്റെ ഉപയോഗം പൂർണ്ണമായും സൌജന്യമാണ്, ഭാവിയിൽ സ്ഥിതി കുറച്ച് മാറും - പ്രാഥമികമായി പുതിയ ഫംഗ്ഷനുകളുടെ ധനസമ്പാദനം കാരണം. അതിനാൽ, GPIO ഇന്റർഫേസുകളിലേക്കുള്ള ആക്‌സസ് ഇൻ-ആപ്പ് വാങ്ങലായി വാങ്ങുമെന്ന് ഇതിനകം അറിയാം.

Blink നിലവിൽ ഇനിപ്പറയുന്ന ബോർഡുകളിൽ പ്രവർത്തിക്കുന്നു:

  • Arduino: Uno, Nano, Mini, Pro Mini, Pro Micro, Mega, YÚN (Bridge), Due;
  • റാസ്ബെറി പൈ;
  • കണിക (മുൻ സ്പാർക്ക് കോർ);
  • ESP8266;
  • TinyDuino (CC3000);
  • വിക്കഡ് വൈൽഡ് ഫയർ (CC3000).