Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - openconnectivity/Project-Scripts: Scripts for OCF project development · GitHub
Skip to content

Repository files navigation

Scripts for OCF Project Development

This repository contains scripts for creating OCF projects in any directory using either IoTivity or IoTivity-lite.

Installation

To install all the scripts described above, just type the following command.

Setting the PATH to find the Scripts

The scripts are normally stored in the Project-Scripts directory under the HOME directory, but just add the Project-Scripts directory to the PATH. The ~/.bashrc file should have been modified provide the correct path every time you log in, but to get the PATH fixed immediately, the following command should do it:

  • source ~/.bashrc

This should also work:

  • cd ~/Project-Scripts
  • source ./set_path.sh

Building and Running Projects

With the PATH set, the following tool chain should work.

A number of convenience scripts have been written to make the development cycle easier.

  1. Run the following development cycle as needed
    1. create_project project_name - Create a new project in a new directory directly under the current directory (working in a development directory (e.g. cd ~/workspace) is a good way to organize projects) and name it anything you want.
    2. This isn't a script, but you need to "cd project_name" to run all the other scripts.
    3. (optional) Copy the setup.sh from the directory of the sample you want to install into the current project directory.
    4. (optional) ./setup.sh - This will load all the necessary stuff to build and run the particular sample project.
    5. edit_config.sh - Edit the project configuration file (project_name-config.json) if necessary. (e.g. to change the IoTivity version or target OS). NOTE: Temporarily, only the first entry in the configuration implementation and platform arrays is used.
    6. edit_input.sh - Edit the input file (e.g. example.json). This is for convenience only as the input file is simply created from the config file.
    7. gen.sh - Generate the code, introspection file, PICS file, and onboarding file from the device description file. The IoTivity version specified in the config file will be used.
    8. build.sh - Compile and link everything. The IoTivity version in the config file will be used.
    9. edit_code.sh - Edit the server source code if necessary.
    10. reset.sh - Reset the sever to RFOTM.
    11. run.sh - Run the currently compiled server in the appropriate directory.
  2. To test the project, you will need to run a client. Here are some options.
    1. Discover, onboard and control the server using OTGC.
    2. Discover, onboard and control the server using DeviceSpy.
    3. Test the server using CTT.

About

Scripts for OCF project development

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages