කොන්ටිකි
විකාශකයා | ඇඩම් ඩන්ක්ලස් Adam Dunkels |
---|---|
Working state | Current |
මූලාශ්ර ආකෘතිය | විවෘත මෘදුකාංගයකි |
Initial release | මාර්තු 10, 2003 |
Latest release | 3.0 / අගෝස්තු 26, 2015 |
License | BSD License |
Official website | contiki-os.org |
කොන්ටිකි යනු සංවේදක ජාල සඳහා භාවිතා කරන නිදහස් විවෘත මෙහෙයුම් පද්ධතියකි. කොන්ටිකි මෙහෙයුම් පද්ධතිය වීථි පහන්, ශබ්ද අධීක්ෂණ පද්ධති, විකිරණ නිරීක්ෂණ පද්ධති, අනතුරු ඇගවීමේ සංඥා සඳහා භාවිතා කර ඇත.[1] ඇඩම් ඩන්ක්ලස් (Adam Dunkels) 2002[2] වසරෙදී කොන්ටිකි නිර්මාණය් කරන ලද අතර Texas Instruments, Atmel, Cisco, ENEA, ETH Zurich, Redwire, RWTH Aachen University, Oxford University, SAP, Sensinode, Swedish Institute of Computer Science, ST Microelectronics, Zolertia, ඇතුලු බොහො දෙනෙක් එහි වැඩි දියුණුවට දායක වී ඇත.[3] කොන්ටිකි නාමය Thor Heyerdahl ගෙ Kon-Tiki පහුර හා සබැදී ඇත.
සම්පූර්ණ අන්තර් ජාල සමුති ස්තරයන් සහිත බහු කාර්ය මෙහෙයුම් පද්ධතියක් වුවත් කොන්ටිකි සදහා අවශ්ය වන්නෙ කිලෝ බයිට 10ක සසම්භාවී-ප්රවේශ මතකය (RAM ) සහ කිලෝ බයිට 30ක කියවීමට පමනක් හැකි මතකය (ROM) පමනි. චිත්රක පරිශීලක අතුරුමුහුණත (Graphical User Interface) සහිත පද්ධතිය සදහා අවශ්ය වන්නෙ කිලෝ බයිට 30 පමණ වූ RAM මතකය පමනි.[4]
දෘඩාංග
[සංස්කරණය]කොන්ටිකි නිර්මාණය කර ඇත්තෙ ඉතා සීමිත වූ මතකය (memory), සැකසීමේ බලය, ජාල ධාරිතාව, සහ බලය (power) සහිත දෘඩාංග මත ධාවනය වීමට හැකි අයුරිනි. සාමාන්ය කොන්ටිකි පද්ධතියක කිලො බයිට ගනනක මතකයක් ඇති අතර එය මිලි වොට් ගනනක විදුලි බලය භාවිතා කරයි. එසෙම එවැනි ප්ද්ධතියක සැකසීමේ වෙගය මෙගා හර්ට්ස් මගින් දැක්විය හැකි අතර තත්පරයකට කිලො බිට් ගනනක වෙගයකින් සන්නිවෙදනය කරයි. කොන්ටිකි භාවිතා කරන මෙවැනි පද්ධති අතර කාවැද්දූ පද්ධති සහ බිට් 8 ක පරිගණ්ක ද ඇත.
ජාල
[සංස්කරණය]කොන්ටිකි මගින් තුන් අයුරකින් ජාල නිමවිය හැක. IPv4 ජාල සදහා වන uIP TCP/IP ඇසිරුම[5] භාවිතා කිරීම එක් ක්රමයකි. uIPv6 ඇසිරුම[6] හාවිතයෙන් IPv6 ජාල තැනිය හැක. අඩු බලැති රැහැන් රහිත ජාල සදහාම වු සැහැල්ලු සම්මුති එකතුවක් වු රයිම් (Rime) ඇසිරුම භවිතා කිරිම තුන්වන ක්රමයයි. IPv6 ඇසුරුම කොන්ටිකි සදහා ලබා දෙන ලද්දෙ Cisco සමාගම වන අතර එම වකවානුව වන විට IPv6 සදහා සුදානම් බවට සහතිකලත් (IPv6 Ready) කුඩාම IPv6 ඇසිරුම විය[7]. The IPv6 ඇසුරුම තුල RPL යනුවෙන් දක්වන දුබල IPv6 ජාල සදහා වන මංහැසුරුම් සම්මුතිය ද, 6LoWPAN ශීර්ෂ හැකිලුම් ක්රමයද, IEEE 802.15.4 සබැඳි සදහා අනුවර්තන ස්ථරයක් ද ඇතුළත් වෙ.
IPv4 හො IPv6 ඇසිරුම් යොදා ගැනීමේ බරපැන වැඩි වන අවස්ථාවලදී රයිම් ඇසිරුම විකල්පයක් ලෙස භාවිතා කල හැක. එය අඩු බලයක් සහිත රැහැන් රහිත ජාල තුල සන්නිවෙදනය සදහා පහසුකම් සපයයි. රයිම් හී ඇතී පෙරනිමි සන්නිවෙදන පහසුකම් අතර එක් අදියරකින් එක් ග්රාහකයකු වෙත විකාශනය ද (single-hop unicast), එක් අදියරකින් සියලු මංසල් වෙත විකාශනය ද (single-hop broadcast), අදියර කිහිපයකින් එක් ග්රාහකයකු වෙත විකාශනය ද (multi-hop unicast), ජාලය සිසාරා ගලා යන ලෙස විකාශනය ද (network flooding), මංසල් නම් නොකර එම මංසල් වෙතින් දත්ත එක් තැනකට එකතු කිරිම ද (address-free data collection) ඇත. මෙම පහසුකම් තනි තනි ව හො එකිනෙක හා එකතු කර නිම්වූ සංකීර්ණ සම්මුති ලෙස හො භාවිතා කල හැක.[8]
අඩු බලයක් අවශ්ය ක්රියාකාරිත්වය
[සංස්කරණය]කොන්ටිකි යොදාගන්නා බොහො පද්ධති බල ගැන්වෙන්නෙ ඉතා සිමිත වූ බල සැපයුම්වලිනි. බැටරි බලයෙන් ක්රියාකරන රැහැන් රහිත සංවේදක වසර ගනනාවක් පුද්ගල මැදිහත්වීමකින් තොරව සේවාව ලබා දිය යුතුය. මෙවැනි සංවේදකයන්හී බැටරි මාරු කිරීම හො නැවත ආරොපනය කිරීම ඉතා අපහසු කටයුත්තකි. මෙම ප්රශ්නයට පිළිතුරක් ලෙස බල ශක්තිය අඩුවෙන් සහ අරපරිස්සමින් යොදා ගැනිමට යාන්ත්රණයක් කොන්ටිකි තුල ඇත. ගුවන් විදුලි පද්ධතිය භාවිතා කරන බලය අවම කිරීමට යොදා ගන්නා යාන්ත්රණය ContikiMAC නම් වෙ.[9] ContikiMAC භාවිතා කිරීමෙන් අඩු බලයක් වැයකොට පනිවුඩ හුවමාරු කර ගැනීමෙ හැකියාව මංසල්වලට ලැබෙ.
අනුරූපනය
[සංස්කරණය]කොන්ටිකි පද්ධතිය තුල ජාල අනුරූපනය කිරීමට Cooja නම්වූ වැඩසටහනක් ඇත[10]. Cooja යොදාගනිමින් කොන්ටිකි මංසල්වලින් යුතු වූ ජාලයක් පරිගණකයක් තුල අනුරූපනය කල හැක. මෙහිදී සිදුවන්නෙ සත්ය ලෝකයෙ පවතින හො පැවතිය හැකි ජාලයක අනුරුවක් මෘදුකාංග උපකාරයෙන් පරිගණකයක් තුල නිමවීමයි. Cooja තුල වර්ග තුනක මංසල් අනුරූපනය කල හැක. එක් වර්ගයක් මංසල් දෘඩාංග සම්පූර්නයෙන්ම අනුකරණය කරයි ( emulated nodes). දෙවන වර්ගය වන්නෙ අනුරූපනය ධාවනය වන පරිගණකය සදහාම කොන්ටිකි ක්රම ලේඛනය සම්පාදනය කිරීමයි. එවැනි මංසල් Cooja nodes ලෙස හැදින්වෙ. මංසලෙ ක්රියාකාරිත්වය ජාවා පංතියක් (Java Class) මගින් නැවත ගොඩනැගීම (Java nodes) තුන්වන ක්රමයයි. Cooja අනුරූපනයක් තුල මෙම තුන් වර්ගයම පැවතිය හැක. කොන්ටිකි නොවන මංසල් ද අනුකරණය කිරීමෙ ක්රමය තුලින් අනුරූපනයක තිබිය හැක.
කොන්ටිකි 2.6 තුල TI MSP430 සහ Atmel AVR ක්ෂුද්රපාලක සදහා අනුකරණ ඇත.
වැඩසටහන් සම්පාදනය කිරීමෙ ආකෘතිය
[සංස්කරණය]ඉතා අඩු මතකයක් සහිත පද්ධති තුල කාර්යක්ෂමව ධාවනය වීම සදහා කොන්ටිකි protothreads යොදාගන්නා වැඩසටහන් සම්පාදනය කිරීමෙ ආකෘතියක් භාවිතා කරයි.[11][12] එකිනෙකින් ස්වායත්තව සහ සමගාමීව ධාවනය කිරීම සදහා තෝරා ගතහැකි ක්රියාවලි (පොට) කොන්ටිකි තුල දක්වන්නෙ protothread මගිනි. බහුපොට හා සිද්ධි ධාවිත ආකාරය මුහුන් වූ ආකාරයකට අඩු මතකයක් යොදාගෙන කාර්යක්ෂම ලෙස ක්රමලේඛණය කිරිමට සහය protothread ලබා දෙයි. බාහිර හෝ අභ්යන්තර සිද්ධි සඳහා ප්රතිචාරයක් ලෙස මෙභෙයුම් පද්ධතිය ක්රියාවලියකට අදාල protothread පොට ක්රියාත්මක කරයි. අභ්යන්තර සිද්ධි සඳහා උදාහරන ලෙස මුහුර්තකයක් ක්රියා කිරීම සහ වෙනත් ක්රියා වලියකින් පනිවුඩයක් ලැබීම දැක්විය හැක. බාහිර සිද්ධි සඳහා උදාහරන ලෙස සංවේදක ක්රියා කිරීම සහ අසලක ඇති මංසලකින් පනිවුඩයක් ලැබීම දැක්විය හැක.
Protothread කිහිපයක් එකිනෙක හා සහයෝගීව වරින් වර ස්වේච්ඡාවෙන් මෙහෙයුම් පද්ධතියට පාලනය බාර දෙමින් වැඩ කරයි. කොන්ටිකි ක්රියාවලියක් යම් සිද්ධියක් බලාපොරොත්තු වන්නෙනම් ඒ සඳහා විශෙෂ Protothread පොටක් අරඹා එම සිද්ධිය වන තුරු මෙහෙයුම් පද්ධතියට පාලනය බාර දෙයි.
විශේෂාංග
[සංස්කරණය]විවිධ් පද්ධතිවලට සුදුසු සේ යලි සැකසීම් (Ports)
[සංස්කරණය]කොන්ටිකි මෙහෙයුම් පද්ධතිය පහත සඳහන් පද්ධති සඳහා සකස්කොට හෝ සකස්කෙරෙමින් හෝ පවති.
Microcontrollers
[සංස්කරණය]- en:Atmel – ARM, AVR
- en:NXP Semiconductors – LPC1768,[13] LPC2103, MC13224
- Microchip – dsPIC, PIC32 (PIC32MX795F512L)
- en:Texas Instruments – MSP430, CC2430, CC2538 සංරක්ෂණය කළ පිටපත 2016-03-03 at the Wayback Machine, CC2630, CC2650 සංරක්ෂණය කළ පිටපත 2015-03-13 at the Wayback Machine
- en:STMicroelectronics – STM32 W
Computers
[සංස්කරණය]- Apple – II series[a]
- en:Atari – 8-bit,[a] ST, Portfolio
- en:Casio – en:Pocket Viewer
- Commodore – PET,[a] VIC-20,[a] 64,[a] 128[a]
- en:Tangerine Computer Systems – en:Oric[a]
- en:NEC – PC-6001
- Sharp – Wizard
- en:Intel, AMD, VIA, many others – en:x86-based en:Unix-like systems, atop en:GTK+, or more directly using an en:X Window System[14]
Game consoles
[සංස්කරණය]- Atari – Jaguar
- en:Game Park – en:GP32
- en:Nintendo – en:Game Boy, en:Game Boy Advance, Entertainment System (NES)[a]
- NEC – en:TurboGrafx-16 Entertainment SuperSystem (PC Engine)
සටහන්
[සංස්කරණය]මූලාශ්ර
[සංස්කරණය]- ^ Contiki OS, http://www.contiki-os.org/.
- ^ Contiki: Bringing IP to Sensor Networks, http://ercim-news.ercim.eu/en76/rd/contiki-bringing-ip-to-sensor-networks
- ^ "Community", Contiki OS, http://www.contiki-os.org/community.html.
- ^ Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things
- ^ Dunkels, Adam (May 2003), "Full TCP/IP for 8 Bit Architectures", Proceedings of the First ACM/Usenix International Conference on Mobile Systems, Applications and Services (MobiSys), San Francisco.
- ^ Durvy, Mathilde; Abeillé, Julien; Wetterwald, Patrick; O'Flynn, Colin; Leverett, Blake; Gnoske, Eric; Vidales, Michael; Mulligan, Geoff et al. (November 2008), "Making sensor networks IPv6 ready", Proceedings of the Sixth ACM Conference on Networked Embedded Sensor Systems (SenSys), Raleigh, NC, US: ACM.
- ^ Newsroom, Cisco, 2008, http://newsroom.cisco.com/dlls/2008/prod_101408e.html.
- ^ Dunkels, Adam; Österlind, Fredrik; He, Zhitao (November 2007), "An adaptive communication architecture for wireless sensor networks", Proceedings of the Fifth ACM Conference on Networked Embedded Sensor Systems (SenSys), Sydney, AU.
- ^ Dunkels, Adam (PDF), The ContikiMAC Radio Duty Cycling Protocol, http://dunkels.com/adam/dunkels11contikimac.pdf.
- ^ "Start", Contiki OS, http://www.contiki-os.org/start.html.
- ^ Dunkels, Adam; Schmidt, Oliver; Voigt, Thiemo; Ali, Muneeb (November 2006), "Protothreads: Simplifying event-driven programming of memory-constrained embedded systems", Proceedings of the Fourth ACM Conference on Embedded Networked Sensor Systems (SenSys), Boulder, CO, USA Dunkels, A.; Schmidt, O.; Voigt, T.; Ali, M. (2006). "Protothreads". Proceedings of the 4th international conference on Embedded networked sensor systems - Sen Sys '06. p. 29. doi:10.1145/1182807.1182811. ISBN 1595933433. (PDF, Presentation slides).
- ^ "Protothread", Code, Google, http://code.google.com/p/protothread/.
- ^ http://sourceforge.net/p/contiki/mailman/message/31753844/
- ^ Stein, H, Running Contiki under Windows, Trix, archived from the original on 2003-12-09, http://web.archive.org/web/20031209140045/hstein.trix.net/contiki/, ප්රතිෂ්ඨාපනය 2016-03-01.