IoT over BLE in 10 minutes with Microchip Curiosity and MikroElektronika Clicks
June 30, 2017
Video
Embedded Computing Design
IoT over BLE in 10 minutes with Microchip Curiosity and MikroElektronika Clicks
The following describes how to build a simple Internet of Things (IoT) data streaming application over Bluetooth Low Energy (BLE) using the Microchip Curiosity High Pin Count (HPC) development board, MikroElektronika Bluetooth and gyroscope Clicks, and the MPLAB X integrated development environment (IDE). We begin by configuring Curiosity’s onboard 8-bit PIC16F18875 microcontroller (MCU) to receive orientation data from the MikroElektronika MIKROE-1379 GYRO Click using quick-start libraries recently added to the MPLAB Code Configurator (MCC). We proceed by modifying code from sample applications within MCC to instruct the MikroElektronika MIKROE-1715 BLE2 Click based on the Microchip RN4020 module to broadcast axis data from the GYRO Click. This data is received and displayed in an free Bluetooth scanner smartphone app.
var Hubs = window.Hubs || {}; Hubs.recommendation = {"enabled":true,"isRecommendationFound":null,"id":46698,"isInternalRule":false,"isAiRule":true,"recommendationAiContent":"all_streams","recommendationAiStreams":[],"source_collection_id":0,"template":{"max_items_to_display":8,"max_item_age":365,"enable_panel":0,"panel_top_auto":1,"panel_top_pixels":20,"panel_delay":0,"override_next":1,"label_recommended":"Recommended","hide_publish_date":0}};
×
// Called when a Parent Window of an Embedded IFrame has Initial Load Data function g_iFrameLoadDataCallback(loadData) { $('window').trigger('loadData', [loadData]); }
// Called when a Parent Window of an Embedded IFrame is Scrolled function g_iFrameScrollCallback(scrollTop, offsetTop, viewportX, viewportY) { $('window').trigger('scroll', [scrollTop, offsetTop, viewportX, viewportY]); }
'search' : { 'enabled' : true, 'labels' : { 'home' : 'Home', 'videos' : 'Videos', 'blogs' : 'Articles & Blogs', 'docs' : 'White Papers & Publications', 'social' : 'Social', 'recent' : 'Recent Searches', 'noItems' : 'No Items Found', 'noItemsStream' : 'No Items Found in this Stream', 'seeMore' : 'See more', 'searchEntireHub' : 'Search the rest of the Hub', 'searchAllContent': 'All Content', 'searchPlaceholder':'Search' }, 'maxRecents' : 5 },
'isMobile' : false, 'isEmbedded' : false, 'isEmbeddedTile' : false,
'labOptions' : {"topMenu":false,"permHeader":true,"noHeader":true,"hideBanner":false,"highlightFirst":false,"stickyFooter":true,"flipbookBreakOut":false,"linkBreakOut":false,"loadByButton":false,"navAlwaysTop":true}, 'embedOptions' : {"hideHeader":false,"hideBanner":false,"hideFooter":false,"hidePrimaryNav":false,"hideSecondaryNav":false,"linkBreakOut":false,"revealBehaviour":"fade"}, 'knownUser' : {"Mailchimp":0,"Hubspot":0,"Eloqua":0,"Marketo":0,"Pardot":0,"Acton":0}, 'eloquaFirstPartyCookies' : 0, 'mapIntegrations' : ["Marketo"], 'integrationsToTrackViews' : ["Marketo"], 'disableUfMetrics' : false, 'pageType' : Hubs.PAGE_TYPE_ITEM, 'bombora' : true, 'analyticsCodes' : ['UA-91807-34'], 'enableDebugger' : false, 'itemPreviewButtonLabel': 'Continue Reading...', 'externalApiUrl': 'https://v2.api.uberflip.com', 'isPreventAnalyticsCollectionEnabled': false, 'privacyGroups': [], });
/* Get uuid - used to pass back to bombora as our main identifier of this visitor */ window.getBomboraUuid = function() { return ''; };
/* Get page id - used to pass back to bombora as the item being viewed */ window.getBomboraUrlId = function(){ var env = 'production'; var $infoDiv = $('#page-type-identifier'); var item = { type : $infoDiv.attr('data-page-type'), collectionId : $infoDiv.attr('data-collection-id'), id : $infoDiv.attr('data-item-id') };
if(item.type === 'PAGE_TYPE_HUB'){ return env + '||' + Hubs.Config.hubId; } else if(item.type === 'PAGE_TYPE_COLLECTION'){ return env + '||' + Hubs.Config.hubId + '||' + item.collectionId; } else if(item.type === 'PAGE_TYPE_ITEM'){ return env + '||' + Hubs.Config.hubId + '||' + item.collectionId + '||' + item.id; } };
// Bombora tracking script (function (w,d,t) { _ml = w._ml || {}; _ml.eid = '52079'; // Uberflip ID -- DO NOT CHANGE _ml.fp = w.getBomboraUuid(); _ml.cid = w.getBomboraUrlId(); _ml.informer = { callback: function () { //call back when profile is loaded //data is loaded in _ml.us }, enable: true }; var s, cd, tag; s = d.getElementsByTagName(t)[0]; cd = new Date(); tag = d.createElement(t); tag.async = 1; tag.src = 'https://ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth(); s.parentNode.insertBefore(tag, s); })(window,document,'script');
})(document,"script","munchkin",300000); } loadMarketoTracking();
function appendDCLink(){ $('.cta').each(function( i ){ var dataCtaId = $(this).attr('data-cta-id'); //Find CTA ID for targeting if (dataCtaId == '306999'){ //the ID of the Link CTA you're targeting var ctaLink = $(this).find('a').prop('href'); // var dcLink = "https://www.digikey.com/en/product-highlight/r/renesas/ra-mcus"; //the redirect on the link you're setting up var concatLink = ctaLink + "?" + dcLink; //concatenation of DC link tracking code and redirection code $(this).find('a').attr('href', concatLink); //append to href of appropriate CTA } else if (dataCtaId == '332336') { // DigiKey August 2020 var ctaLink = $(this).find('a').prop('href'); // var dcLink = "https://www.digikey.com/en/product-highlight/t/toshiba-semi-and-storage/low-power-discrete-semiconductors-for-the-iot"; var concatLink = ctaLink + "?" + dcLink; $(this).find('a').attr('href', concatLink); } else if (dataCtaId == '338033') { // DigiKey September 2020 var ctaLink = $(this).find('a').prop('href'); // var dcLink = "https://www.digikey.com/en/product-highlight/s/sitime/oscillator-selection#osc-type%7CTabs1"; var concatLink = ctaLink + "?" + dcLink; $(this).find('a').attr('href', concatLink); } else if (dataCtaId == '342073') { // DigiKey Oct 2020 var ctaLink = $(this).find('a').prop('href'); // var dcLink = "https://www.digikey.com/en/product-highlight/x/xilinx/zynq-ultrascale-mpsoc-zcu102-evaluation-kit"; var concatLink = ctaLink + "?" + dcLink; $(this).find('a').attr('href', concatLink); } }); }
/* Replace "Learn More" with "Read white paper" only one white paper stream */ function replaceText(selector, text, newText, flags) { var matcher = new RegExp(text, flags); $(selector).each(function () { var $this = $(this); if (!$this.children().length) $this.text($this.text().replace(matcher, newText)); }); }
function sponsoredTiles() { $('li[data-tags*="sponsored"]').addClass('sponsored'); $('.tile.sponsored').each(function(){ var $this = $(this); if($(this).find('.sponsored-label').lengthSponsored'); } }); }
function webcastTiles() { $('li[data-source-stream-id="773047"].tile').addClass('webcast'); $('.tile.webcast').each(function(){ var $this = $(this); if($(this).find('.webcast-label').lengthWebcast'); } }); }
function bloatedTiles() { $('.tile.with-img').each(function(){ var $this = $(this); if(($(this).find('h3.h3like').height()+$(this).find('h4').height())>132) { $(this).addClass('bloated'); } }); }
//data-source-stream-id="424317" function replaceAllText() { replaceText('.tile.single[data-source-stream-id="738160"]>a.view', 'Read Article', 'Read news story', 'g'); //data-source-stream-id="738160" replaceText('.stream-424317 .tile.single>a.view', 'Read Article', 'Read white paper', 'g'); replaceText('.tile.stream-613287>a.view, .tile[data-source-stream-id="613287"]>a.view', 'Read Article', 'Listen to Podcast'); replaceText('.tile.sponsored>a.view', 'Read Article', 'Learn More', 'g'); replaceText('.tile.stream-773047>a.view', 'Read Article', 'Register for Webcast', 'g'); replaceText('.tile.stream-7405615>a.view', 'Read Article', 'REGISTER', 'g'); }
$('html').ajaxStop(replaceAllText);
function onLoadOrChange($this){ sponsoredTiles(); webcastTiles(); bloatedTiles(); appendDCLink();
if($('meta[name="title"][content^="Sponsored:"]').length>0) { $('.level-three').first().addClass('sponsored'); } else if(typeof $this.currentItemTags == 'string' && $this.currentItemTags.length > 0 && $this.currentItemTags.indexOf('sponsored') > -1) { $('.level-three').first().addClass('sponsored'); } $('.level-three.sponsored').prepend('
if(typeof $this.currentItemTags == 'string' && $this.currentItemTags.length > 0 && $this.currentItemTags.indexOf('slide show') > -1) { $.getScript( 'http://cloud2.opensystemsmedia.com/share/JS/jquery-ui-1.12.1-uniqueId.min.js').done(function(){ $.getScript( 'http://cloud2.opensystemsmedia.com/share/JS/waypoints.min.js').done(function(){ var waypoints = $('.entry h2').uniqueId().waypoint({ handler: function(direction) { console.log(this.id+' (h2 hit)'); ga('send', 'pageview', window.location.pathname + '#slide'+this.id); } }) }); }); }
if(Hubs.appInstance.itemType != 'uberflip' && $('.entry iframe[src*="soundcloud"]').length 0 && $('meta[itemprop="image"]').attr('content').length > 11) { //$('.level-three .entry-wrapper').prepend('
var disqus_shortname = 'embedded'; var disqus_identifier = '350676552'; var disqus_url = 'https://www.embedded-computing.com/youtube-videos-embedded/iot-over-ble-in-10-minutes-with-microchip-curiosity-and-mikroelektronika-clicks-2';
var disqus_config = function () { this.page.url = disqus_url; this.page.identifier = disqus_identifier; };
(function() { var d = document, s = d.createElement('script');
s.src = '//' + disqus_shortname + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s); })();