<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maurice Markvoort, Author at XABLU</title>
	<atom:link href="https://www.xablu.com/author/mmarkvoort/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.xablu.com/author/mmarkvoort/</link>
	<description>We build Ventures, Products and Teams</description>
	<lastBuildDate>Wed, 19 Nov 2025 11:47:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.xablu.com/wp-content/uploads/2019/08/xablu-favicon-100x100.png</url>
	<title>Maurice Markvoort, Author at XABLU</title>
	<link>https://www.xablu.com/author/mmarkvoort/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Xamarin at university level &#8211; our first student workshop</title>
		<link>https://www.xablu.com/2018/05/23/xamarin-at-university-level-our-first-student-workshop/</link>
		
		<dc:creator><![CDATA[Maurice Markvoort]]></dc:creator>
		<pubDate>Wed, 23 May 2018 11:59:00 +0000</pubDate>
				<category><![CDATA[Meetups]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Planet Xamarin]]></category>
		<category><![CDATA[students]]></category>
		<category><![CDATA[workshop]]></category>
		<category><![CDATA[xamarin]]></category>
		<category><![CDATA[xamarin university]]></category>
		<category><![CDATA[xamarin.forms]]></category>
		<guid isPermaLink="false">https://staging.xablu.com/?p=18883</guid>

					<description><![CDATA[<p>As a recent graduate, I’ve noticed first-hand that training in the C# programming language isn’t offered very often by universities. And Microsoft Xamarin isn’t usually offered as a course at all! To help bridge [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2018/05/23/xamarin-at-university-level-our-first-student-workshop/">Xamarin at university level &#8211; our first student workshop</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="18883" class="elementor elementor-18883" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-7e669224 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7e669224" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df24e37" data-id="df24e37" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-089f147 elementor-author-box--avatar-yes elementor-author-box--name-yes elementor-author-box--biography-yes elementor-author-box--link-no elementor-widget elementor-widget-author-box" data-id="089f147" data-element_type="widget" data-e-type="widget" data-widget_type="author-box.default">
				<div class="elementor-widget-container">
							<div class="elementor-author-box">
							<div  class="elementor-author-box__avatar">
					<img decoding="async" src="https://secure.gravatar.com/avatar/2275f93a7d3bc69be37fdd27e287a49e085799882a982271280cae57a6069dfa?s=300&#038;d=mm&#038;r=g" alt="Picture of Maurice Markvoort" loading="lazy">
				</div>
			
			<div class="elementor-author-box__text">
									<div >
						<h4 class="elementor-author-box__name">
							Maurice Markvoort						</h4>
					</div>
				
									<div class="elementor-author-box__bio">
											</div>
				
							</div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-23448f54 elementor-widget elementor-widget-text-editor" data-id="23448f54" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<div class="elementor-element elementor-element-2986d73 elementor-widget elementor-widget-theme-post-content" data-id="2986d73" data-element_type="widget" data-widget_type="theme-post-content.default"><div class="elementor-widget-container"><div id="cs-content" class="cs-content"><div class="x-section e9805-e1 m7kd-0"><div class="x-container max width e9805-e2 m7kd-1"><div class="x-column x-sm x-1-1 e9805-e3 m7kd-2"><div id="" class="x-text"><p>As a recent graduate, I’ve noticed first-hand that training in the <strong>C# programming language</strong> isn’t offered very often by universities. And <strong>Microsoft Xamarin</strong> isn’t usually offered as a course at all! To help bridge the gap for students looking to become Xamarin app developers, we decided to offer <strong>free on-campus workshops</strong>.</p></div><div id="" class="x-text"><p>We recently held our first workshop at <span style="text-decoration: underline;"><a href="https://www.saxion.edu/">Saxion University in Enschede</a></span> in cooperation with the ICT student association <span style="text-decoration: underline;"><a href="https://www.syntaxis.nl/">S.V. Syntaxis</a></span>. Mark Jonker, our Head of HR &amp; Training, got in touch with Syntaxis to present the idea, and they were enthusiastic from the start. After some planning, the workshop was organized for May 8th, 2018.</p></div></div></div><div class="x-container max width e9805-e11 m7kd-1"><div class="x-column x-sm x-1-1 e9805-e12 m7kd-2"><h3 class="h-custom-headline man h3">An evening with S.V. Syntaxis students</h3><hr class="x-gap" /><div id="" class="x-text"><p>The evening event followed a similar format to our <span style="text-decoration: underline;"><a href="https://www.xablu.com/events/">regular meetups</a></span> aimed at more experienced developers, but here the focus was on introducing the <strong>basics and benefits of Xamarin development</strong>.</p><p>My colleague <strong>Maurits, a Xamarin University certified trainer</strong>, gave a presentation about getting started with the technology, discussing the ins and outs and why you should use Xamarin to develop apps. He also did some live coding, showing the students how to create a simple weather app in Xamarin.</p></div><div class="x-raw-content"><div class="twitter-timeline twitter-timeline-rendered twitter-timeline-error"> </div><span style="text-decoration: underline;"><a class="twitter-grid" href="https://twitter.com/xabluHQ/timelines/999197410332217344?ref_src=twsrc%5Etfw" data-partner="tweetdeck" data-twitter-extracted-i1681559857362958945="true">Syntaxis Xamarin workshop</a></span></div></div></div><div class="x-container max width e9805-e22 m7kd-1"><div class="x-column x-sm x-1-1 e9805-e23 m7kd-2"><hr class="x-gap" /><div id="" class="x-text"><p>I then gave a presentation (my first as a working developer!) on <strong>getting started with Xamarin.Forms</strong>, looking at the differences compared to Xamarin native (the part Maurits focused on). I then live coded the same weather app as Maurits but this time using Xamarin.Forms, helping to illustrate the differences between the two options.</p></div><div class="x-raw-content"><span style="text-decoration: underline;"><a class="twitter-grid" href="https://twitter.com/xabluHQ/timelines/999199064934834177?ref_src=twsrc%5Etfw" data-partner="tweetdeck" data-twitter-extracted-i1681559857362958945="true">Syntaxis workshop 2</a></span></div><div id="" class="x-text"><p>After a short break, we gave the students the chance to <strong>start building a small to-do list app themselves</strong>, and provided hands-on support. It was quite interesting to see the different coding knowledge represented among the students, with several already knowing some C# and Xamarin, and others with only knowledge of Java. Luckily, Java is quite similar to C#, so it reduces the learning curve.</p></div><hr class="x-gap" /></div></div><div class="x-container max width e9805-e34 m7kd-1"><div class="x-column x-sm x-1-1 e9805-e35 m7kd-2"><h3 class="h-custom-headline man h3">Upcoming workshops and events</h3><hr class="x-gap" /><div id="" class="x-text"><p>We had a lot of great feedback about the workshop and plan to offer many more in the coming year!</p><p>Our next student workshop is scheduled for <strong>June 19<sup>th</sup> at the Hanze University of Applied Sciences</strong>, Groningen in cooperation with S.V. RealTime. <a href="https://www.facebook.com/events/2111748005532567/"><span style="text-decoration: underline;">More details and RSVP</span>.</a></p><p>We also have a <strong>meetup</strong> for developers new to Xamarin in <strong>Utrecht this evening</strong> – this one is open to everyone so be sure to attend if you’re in the area! <span style="text-decoration: underline;"><a href="https://www.xablu.com/event/get-coding-with-microsoft-xamarin/">More details and RSVP</a>.</span></p></div></div></div></div></div></div></div><div class="elementor-element elementor-element-31ae4723 elementor-widget elementor-widget-post-navigation" data-id="31ae4723" data-element_type="widget" data-widget_type="post-navigation.default"><div class="elementor-widget-container"><div class="elementor-post-navigation"><div class="elementor-post-navigation__prev elementor-post-navigation__link"> </div></div></div></div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f2faf2f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6f2faf2f" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-499924b7" data-id="499924b7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5cd948bb elementor-widget elementor-widget-text-editor" data-id="5cd948bb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p style="text-align: center;"><i>Curious how Xablu can help your organization ?<br /></i></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-23bce33f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="23bce33f" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6900a282" data-id="6900a282" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-52cb40c2 elementor-align-center elementor-widget elementor-widget-button" data-id="52cb40c2" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="/contact-us/" target="_blank">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">Contact us Today</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2018/05/23/xamarin-at-university-level-our-first-student-workshop/">Xamarin at university level &#8211; our first student workshop</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LoRa, IoT and mobile app development: my graduation assignment</title>
		<link>https://www.xablu.com/2017/06/23/lora-iot-and-mobile-app-development-my-graduation-assignment-at-xablu/</link>
		
		<dc:creator><![CDATA[Maurice Markvoort]]></dc:creator>
		<pubDate>Fri, 23 Jun 2017 10:54:00 +0000</pubDate>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[graduation assignment]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[LoRa]]></category>
		<category><![CDATA[XABLU]]></category>
		<category><![CDATA[xamarin]]></category>
		<category><![CDATA[xamarin.forms]]></category>
		<guid isPermaLink="false">https://staging.xablu.com/?p=18772</guid>

					<description><![CDATA[<p>My five-month internship at XABLU has just come to an end so I’d like to share my experience with other students to give them an idea of what they can [&#8230;]</p>
<p>The post <a href="https://www.xablu.com/2017/06/23/lora-iot-and-mobile-app-development-my-graduation-assignment-at-xablu/">LoRa, IoT and mobile app development: my graduation assignment</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="18772" class="elementor elementor-18772" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-269098e5 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="269098e5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6a9c5baf" data-id="6a9c5baf" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0728229 elementor-author-box--avatar-yes elementor-author-box--name-yes elementor-author-box--biography-yes elementor-author-box--link-no elementor-widget elementor-widget-author-box" data-id="0728229" data-element_type="widget" data-e-type="widget" data-widget_type="author-box.default">
				<div class="elementor-widget-container">
							<div class="elementor-author-box">
							<div  class="elementor-author-box__avatar">
					<img decoding="async" src="https://secure.gravatar.com/avatar/2275f93a7d3bc69be37fdd27e287a49e085799882a982271280cae57a6069dfa?s=300&#038;d=mm&#038;r=g" alt="Picture of Maurice Markvoort" loading="lazy">
				</div>
			
			<div class="elementor-author-box__text">
									<div >
						<h4 class="elementor-author-box__name">
							Maurice Markvoort						</h4>
					</div>
				
									<div class="elementor-author-box__bio">
											</div>
				
							</div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7965acb2 elementor-widget elementor-widget-text-editor" data-id="7965acb2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>My five-month internship at XABLU has just come to an end so I’d like to share my experience with other students to give them an idea of what they can expect if they choose to carry out their graduation assignment here.</p><figure id="attachment_9025" aria-describedby="caption-attachment-9025" style="width: 737px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-9025" src="https://www.xablu.com/wp-content/uploads/2017/06/Maurice-presenting-blog.jpg" alt="Maurice presenting graduation assignment" width="737" height="379" srcset="https://www.xablu.com/wp-content/uploads/2017/06/Maurice-presenting-blog.jpg 947w, https://www.xablu.com/wp-content/uploads/2017/06/Maurice-presenting-blog-300x154.jpg 300w, https://www.xablu.com/wp-content/uploads/2017/06/Maurice-presenting-blog-768x395.jpg 768w, https://www.xablu.com/wp-content/uploads/2017/06/Maurice-presenting-blog-100x51.jpg 100w" sizes="(max-width: 737px) 100vw, 737px" /><figcaption id="caption-attachment-9025" class="wp-caption-text"><center>Presenting my graduation assignment to the team</center></figcaption></figure><p>I’m currently in the last year of a four-year <strong>applied computer science degree</strong> at the Saxion University of Applied Science, and hoping to graduate at the end of this month. As part of the final year of my programme, I needed to complete a graduation assignment, which is like an internship with a research component, at a company. I immediately noticed that finding a company to host me wasn’t that difficult, with companies even writing to me with offers after I updated my LinkedIn status to: “Searching for a graduation assignment”.</p><h3>Choosing a company</h3><p>I had already had some meetings with other companies and was almost sure that I would carry out my internship at one of them, when XABLU contacted me to come for a talk. I thought it would be a good idea to go, as I find it is really helpful to enlarge your network of connections. My first impression after the meeting was very good and at home, I told everybody about the <strong>pleasant working atmosphere</strong>. It was really only a chat because they didn’t have an assignment for me at that point, but they said they would think of one. I was really enthusiastic about them, so I wasn’t sure which company to choose. After a few more meetings at XABLU, they had created an assignment for me and convinced me to carry out my internship there. The <strong>great work environment</strong> and the <strong>fun and challenging assignment</strong> seemed perfect for me, so in February 2017 I joined the team.</p><h3>Learning new skills through a challenging assignment</h3><p>The aim of the assignment was to <strong>“Create an open source weather station that sends data over the LoRa network which can be read in an application”</strong> (you can read more on my assignment below). XABLU wanted to gain more experience with <strong>IoT</strong> and especially <strong>LoRa</strong>, a long range, low power wireless platform used for building IoT networks, because they occasionally get questions from clients about using it with <strong>Xamarin development</strong>. I discovered through the assignment that LoRa, IoT and mobile app development make a good combination, particularly for the agricultural and industrial sectors. I also had the chance to learn many new skills and become familiar with new tools:</p><ul><li>Better programming in Python</li><li>Different kinds of hardware</li><li>LoRa</li><li>MQTT</li><li>.NET Core and ASP.NET Core</li><li>Creating an API</li><li>Swagger</li><li>Xamarin development</li></ul><h3>A great place to do an internship</h3><p>My initial impression of the pleasant working atmosphere at XABLU proved true. My colleagues are very <strong>helpful and nice to work with</strong>. When you ask them something they will immediately help you. As a intern I was free to do what I wanted. Because the topic of the assignment was very broad, I could go in many directions. Every week I had a meeting with my company coach, where we discussed my progress and what I should be doing the next week. This meeting helped me a lot because I could <strong>discuss my own ideas</strong> with the coach.</p><p>Overall I had an amazing time carrying out my graduation assignment at XABLU and learned a lot, so I can highly recommend the company to other students as a great place to be an intern. After presenting my assignment to the team I was also surprised with a job offer, which I immediately accepted!</p><figure id="attachment_9026" aria-describedby="caption-attachment-9026" style="width: 737px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-9026 size-full" src="https://www.xablu.com/wp-content/uploads/2017/06/Handshake-blog.jpg" alt="Accepting the job at XABLU" width="737" height="379" srcset="https://www.xablu.com/wp-content/uploads/2017/06/Handshake-blog.jpg 737w, https://www.xablu.com/wp-content/uploads/2017/06/Handshake-blog-300x154.jpg 300w, https://www.xablu.com/wp-content/uploads/2017/06/Handshake-blog-100x51.jpg 100w" sizes="(max-width: 737px) 100vw, 737px" /><figcaption id="caption-attachment-9026" class="wp-caption-text"><center>Accepting the job at XABLU</center></figcaption></figure><p style="text-align: center;"><span style="text-decoration: underline;"><a href="https://www.xablu.com/careers/"><strong>Visit the XABLU Careers page for info on applying</strong></a></span></p><hr /><p><strong>Learn more about my graduation assignment below:</strong></p><h3><strong>“Create an open source weather station that sends data over the LoRa network which can be read in an application&#8221; </strong></h3><p><strong>A little summary of the assignment:</strong> The context is that a user buys a weather station and builds it. After it is built, the weather station will read data every hour: temperature, pressure and humidity. The data will be sent over the LoRa network into data storage that is hosted by a cloud service. The user can read the data using an application. Data in the application will be retrieved by an API that has to be created. Because the project will be open source, other people can help with the project and a community can be built around it.</p><p>The main focus of the assignment is <strong>LoRa</strong>, which stands for <strong>Long range, Low power</strong>. It is a commonly used wireless network for <strong>IoT</strong> (Internet of Things, a collective name for all devices that communicate over the internet), that can be used for long range data transfer. The range can go up to 10 kilometers and very little power is required. The use case for LoRa is when a very small amount of data has to be sent over a long time frame, such as every hour or every day, such as smart homes or smart cities. At the beginning, LoRa could only be used when using a provider (like KPN). You had to pay the provider for using the network. In 2015 a community called <span style="text-decoration: underline;"><a href="https://www.thethingsnetwork.org/" target="_blank" rel="noopener">The Things Network </a></span>was created to make it possible to use the LoRa network for free. This network was used for the LoRa part of the assignment.</p><p>The assignment can be divided into five steps: Hardware, LoRa, Data storage, API and Application.</p><h4>Step 1: Hardware</h4><p><img decoding="async" class="alignleft wp-image-9029 size-medium" src="https://www.xablu.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-23-at-14.35.15-300x143.png" alt="hardware" width="300" height="143" srcset="https://www.xablu.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-23-at-14.35.15-300x143.png 300w, https://www.xablu.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-23-at-14.35.15-100x48.png 100w, https://www.xablu.com/wp-content/uploads/2017/06/Screen-Shot-2017-06-23-at-14.35.15.png 329w" sizes="(max-width: 300px) 100vw, 300px" />In step one, I researched the best hardware to read and send data over the LoRa network. Two kinds of hardware were needed, a microcontroller that can send data over the LoRa network and a sensor that can read temperature, pressure and humidity. The result: the <strong>Pycom LoPy as microcontroller</strong> and the <strong>BME280 as sensor</strong> would be best. After this research, I implemented a program that reads the data and sends it to The Things Network. The program was uploaded to GitHub and can be found here: <span style="text-decoration: underline;"><a href="https://github.com/LoRaWeather/BME280-LoPy-TTN" target="_blank" rel="noopener">BME280-LoPy-TTN</a>.</span></p><h4>Step 2: LoRa</h4><p>Step two was also based on finding the answer to a question: <em>“What is the best way to send as few bytes as possible over the LoRa network to The Things Network?”</em> Because the LoRa network offered by The Things Network is a free and open network that can be used by everyone, there are some restrictions. A fair access policy is used to determine how many bytes of data may be sent, to ensure the network is not overloaded. Therefore I researched how I could <strong>reduce the amount of data</strong> I needed to send. I did this by transforming the data into <strong>binary data</strong>. For example: the temperature value is 22.65 which is a float and has a size of 4 bytes. When multiplying the data with 100 you get a rounded number, so 22.65 will become 2265 which is a short and has a size of 2 bytes. By doing this to the other data I managed to reduce to data from 11 bytes to 6 bytes, which is much less than the policy requests.</p><h4>Step 3: Data Storage</h4><p>Step three was about getting the data out of The Things Network to save it in a database. Once the data arrives at The Things Network it is available for a short amount of time, using MQTT. <strong>MQTT (Message Queue Telemetry Transport)</strong> is a widely used data protocol within the Internet of Things branch. With this protocol you have a service, in this case The Things Network. A program can subscribe to this service. Every time a message is sent to The Things Network, the service will send it to the subscribed programs.</p><p>I implemented a <strong>.NET Core application</strong> that subscribes to the MQTT service of The Things Network. When a message is sent, the program receives it from the service. Once received, the program will decode the data and put it back into readable data, so 2265 will become 22.65 again. After the data is decoded it is stored in an <strong>InfluxDB time-series database</strong>. By uploading data to the database a timestamp will be saved. The use of InfluxDB makes it a lot easier to request historical data. The program managing all of this has been uploaded to GitHub and can be found here: <span style="text-decoration: underline;"><a href="https://github.com/LoRaWeather/TTN-MQTT-InfluxDB" target="_blank" rel="noopener">TTN-MQTT-InfluxDB</a></span></p><h4>Step 4: API</h4><p><img loading="lazy" decoding="async" class="aligncenter wp-image-9030 size-large" src="https://www.xablu.com/wp-content/uploads/2017/06/devices-1024x248.png" alt="devices" width="1024" height="248" srcset="https://www.xablu.com/wp-content/uploads/2017/06/devices-1024x248.png 1024w, https://www.xablu.com/wp-content/uploads/2017/06/devices-300x73.png 300w, https://www.xablu.com/wp-content/uploads/2017/06/devices-768x186.png 768w, https://www.xablu.com/wp-content/uploads/2017/06/devices-100x24.png 100w, https://www.xablu.com/wp-content/uploads/2017/06/devices.png 1078w" sizes="(max-width: 1024px) 100vw, 1024px" />Step four was about creating an API. An <strong>API (Application Programming Interface)</strong> is a program that communicates with other programs/hardware. An example of this is a computer that prints a document. The computer doesn’t know anything of the printer and what it does internally. By calling the API of the printer by telling it to print, the API will talk with the printer and print the document. Within this assignment, I created an API for getting data out of the database. The program is an <strong>ASP.NET Core program</strong>. Some requests that can be called: “{url}/api/v1/devices” to return a list of devices, and “{url}/api/v1/devices/{deviceid}” to return info about the requested device. The API is documented following the <strong>Swagger standard</strong>. Swagger is a documentation tool that can be used to document your API. After generating Swagger documentation a page is created, where you can see all requests and can learn what the calls are for. By clicking on the call you can even test it.</p><p><img loading="lazy" decoding="async" class="aligncenter wp-image-9031 size-full" src="https://www.xablu.com/wp-content/uploads/2017/06/notes.png" alt="notes" width="862" height="704" srcset="https://www.xablu.com/wp-content/uploads/2017/06/notes.png 862w, https://www.xablu.com/wp-content/uploads/2017/06/notes-300x245.png 300w, https://www.xablu.com/wp-content/uploads/2017/06/notes-768x627.png 768w, https://www.xablu.com/wp-content/uploads/2017/06/notes-100x82.png 100w" sizes="(max-width: 862px) 100vw, 862px" /></p><h4>Step 5: Application</h4><p><img loading="lazy" decoding="async" class="size-medium wp-image-9032 alignleft" src="https://www.xablu.com/wp-content/uploads/2017/06/map-view-169x300.png" alt="map view" width="169" height="300" srcset="https://www.xablu.com/wp-content/uploads/2017/06/map-view-169x300.png 169w, https://www.xablu.com/wp-content/uploads/2017/06/map-view-100x177.png 100w, https://www.xablu.com/wp-content/uploads/2017/06/map-view.png 363w" sizes="(max-width: 169px) 100vw, 169px" />Lastly, step five was focused on displaying the data collected. To display the data, I created a <strong>Xamarin forms application</strong>. XABLU is specialized in Xamarin development, and cross platform mobile applications, for Android, iOS and Windows, can be made using Xamarin Forms.</p><p>Within this application a map of the Netherlands is shown, displaying all available devices. By clicking on one of the devices, a new window will pop up with the measured values, retrieved using the API. This application was uploaded to GitHub and can be found here: <a href="https://github.com/LoRaWeather/loraweather-app" target="_blank" rel="noopener">LoRa Weather app</a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-72bdf7a4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="72bdf7a4" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-58886b2d" data-id="58886b2d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6ee23bb5 elementor-widget elementor-widget-text-editor" data-id="6ee23bb5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p style="text-align: center;"><i>Curious how Xablu can help your organization ?<br /></i></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-236b0171 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="236b0171" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-470367b5" data-id="470367b5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-53d11670 elementor-align-center elementor-widget elementor-widget-button" data-id="53d11670" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="/contact-us/" target="_blank">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">Contact us Today</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://www.xablu.com/2017/06/23/lora-iot-and-mobile-app-development-my-graduation-assignment-at-xablu/">LoRa, IoT and mobile app development: my graduation assignment</a> appeared first on <a href="https://www.xablu.com">XABLU</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
