<?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>Embedded World 2017 &#8211; IoT Expert</title>
	<atom:link href="https://iotexpert.com/category/misc/embedded-world-2017/feed/" rel="self" type="application/rss+xml" />
	<link>https://iotexpert.com</link>
	<description>Engineering for the Internet of Things</description>
	<lastBuildDate>Mon, 20 Mar 2017 12:25:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://iotexpert.com/wp-content/uploads/2017/01/cropped-Avatar-32x32.jpg</url>
	<title>Embedded World 2017 &#8211; IoT Expert</title>
	<link>https://iotexpert.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Embedded World 2017: The Gospel of PSoC &#038; WICED</title>
		<link>https://iotexpert.com/embedded-world-2017-the-gospel-of-psoc-wiced/</link>
					<comments>https://iotexpert.com/embedded-world-2017-the-gospel-of-psoc-wiced/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Mon, 20 Mar 2017 12:24:42 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3258</guid>

					<description><![CDATA[I am back in Kentucky after an absolutely CRAZY week in Germany at Embedded World.  Looking back on the week I was extraordinarily proud of Cypress.  That was by far the best showing that we have ever had at a trade show.  And I really enjoy spreading the gospel of PSoC &#38; WICED.  I thought [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I am back in Kentucky after an absolutely CRAZY week in Germany at Embedded World.  Looking back on the week I was extraordinarily proud of Cypress.  That was by far the best showing that we have ever had at a trade show.  And I really enjoy spreading the gospel of PSoC &amp; WICED.  I thought that today I might post a few pictures from the week.</p>
<p>First, here is a picture of me delivering the <a href="https://www.youtube.com/watch?v=uqWUQzgUcTM" target="_blank">benediction</a> of PSoC &amp; WICED at the end of my talk.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_7366.jpg"><img fetchpriority="high" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_7366.jpg" alt="The benediction of PSoC &amp; WICED" width="4032" height="3024" class="alignnone wp-image-3259 size-full" /></a></p>
<p>The day before setting up and testing the PSoC&#8211;&gt;WICED&#8211;&gt;Amazon&#8211;&gt;WICED&#8211;&gt;PSOC&#8211;&gt;Robot ARM</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3969.jpg"><img decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3969-e1490011212745.jpg" alt="Setting up the PSoC &amp; WICED Demo" width="4032" height="3024" class="alignnone wp-image-3260 size-full" /></a></p>
<p>Some video from my talk&#8230; thank you RS Components</p>
<div class="jupiterx-oembed"><iframe title="Brief live clip of Alan Hawse&#039;s Maker Lab talk at the Cypress stand, Embedded World 2017 #ew17" width="500" height="281" src="https://www.youtube.com/embed/L-x8QkCCszU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>One of the Cypress 3.0 Videos</p>
<div class="jupiterx-oembed"><iframe loading="lazy" title="Embedded World 2017 | Problems Solved Here" width="500" height="281" src="https://www.youtube.com/embed/NKoX7cEj3NY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>The Germans have a deep and philisophical understanding of the proper use of Pork.  Here is the meat plate at <a href="http://www.barfuesser-nuernberg.de/index.html" target="_blank">Barfüßer</a> in Nuremberg.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3975.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3975.jpg" alt="Nuremberg Sausages &amp; Pork in Nuremberg" width="4032" height="3024" class="alignnone wp-image-3262 size-full" /></a></p>
<p>The show was awesome&#8230; and Im glad Im home for a few days.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-the-gospel-of-psoc-wiced/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: WICED Controls the Secret New Chip</title>
		<link>https://iotexpert.com/embedded-world-2017-wiced-controls-secret-new-chip/</link>
					<comments>https://iotexpert.com/embedded-world-2017-wiced-controls-secret-new-chip/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Mon, 13 Mar 2017 09:25:11 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3213</guid>

					<description><![CDATA[Summary It is now Monday morning in Munich.  After flying all night I am here waiting for ride to the show in Nuremberg.  Saturday turned out to be a little bit stressful.  After getting the Servo Motors working correctly I tried to make the final connection between the WICED WiFI Board and the Secret New [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Summary</h2>
<p>It is now Monday morning in Munich.  After flying all night I am here waiting for ride to the show in Nuremberg.  Saturday turned out to be a little bit stressful.  After getting the Servo Motors working correctly I tried to make the final connection between the WICED WiFI Board and the Secret New Chip board via I2C.   But that connection was not working.  Why?  I didn&#8217;t know, but all of my theories were bad e.g. does the new chip have a bug in the I2C (nope).  Finally after hours and hours of thinking about it, making logic analyzer traces, trying different boards, etc. I called my friend Greg who said &#8220;Oh, if the I2C slave stretches the clock on the 43907 I2C master, it doesn&#8217;t work. Don&#8217;t you remember that I told you that?&#8221;</p>
<h2>Fixing the Secret Chip Firmware</h2>
<p>The firmware fix was kind of a workaround rather than a permanent fix.  I did two things to try make sure that the new chip didnt stretch the clock.  (I am not sure that either is a guarantee).</p>
<p>First, I increased the speed of the I2C bus.  I doubt that this guarantees that the I2C clock is not stretched, but it seems to work.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM.png" alt="" width="1334" height="1068" class="alignnone size-full wp-image-3218" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM.png 1334w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM-600x480.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM-300x240.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM-768x615.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-9.59.58-AM-1024x820.png 1024w" sizes="auto, (max-width: 1334px) 100vw, 1334px" /></a></p>
<p>Second, I increased the priority of the EZI2C interrupt (though I don&#8217;t think that in this case it actually mattered).  This picture shows something interesting about the new chip.  I called the BU manager and he told me that I could say that it is a multicore chip. <a href="https://iotexpert.com/wp-content/uploads/2017/03/interrupt1.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/interrupt1.png" alt="" width="1650" height="216" class="alignnone size-full wp-image-3217" srcset="https://iotexpert.com/wp-content/uploads/2017/03/interrupt1.png 1650w, https://iotexpert.com/wp-content/uploads/2017/03/interrupt1-600x79.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/interrupt1-300x39.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/interrupt1-768x101.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/interrupt1-1024x134.png 1024w" sizes="auto, (max-width: 1650px) 100vw, 1650px" /></a></p>
<h2>Modifying the Subscriber Application</h2>
<p>Now that I have the communication working between the WICED WiFi development kit and the secret new  chip development kit, I need to make a change or two to the Subscriber firmware to send updates to the Robot ARM controller.  One good thing about spending hours trying to figure out why the I2C was not working is that I greatly improved the Subscriber firmware.</p>
<p>In the modified firmware</p>
<ul>
<li>Lines 330-338 setup the I2C bus interface</li>
<li>Line 337 defines a two byte buffer that will be sent each time a new message is published.  The first byte is the address in the I2C slave (in this case 0) and the 2nd byte is the value for the new position (in percent)</li>
<li>Lines 341-346 are the main loop for the new firmware.  It just waits for the semaphore in the MQTT code to be set, then it prints out the position (line 344), then sends it to the slave (line 345-346)</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM.png" alt="" width="1384" height="610" class="alignnone size-full wp-image-3219" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM.png 1384w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM-600x264.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM-300x132.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM-768x338.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.08.54-AM-1024x451.png 1024w" sizes="auto, (max-width: 1384px) 100vw, 1384px" /></a></p>
<p>The last things that needs to be changed is to set the semaphore when a new message is received from the MQTT Message Broker:</p>
<ul>
<li>When the message is received</li>
<li>Turn the ASCII hex value into a Integer (line 116)</li>
<li>Set the semaphore to tell the main loop to send the data (line 117)</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM.png" alt="" width="994" height="314" class="alignnone size-full wp-image-3220" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM.png 994w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM-600x190.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM-300x95.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-13-at-10.14.02-AM-768x243.png 768w" sizes="auto, (max-width: 994px) 100vw, 994px" /></a></p>
<h2>Conclusion</h2>
<p>Everything is done and working&#8230; and checked into GitHub.  You can find it at GitHub.com:iotexpert/emb2017.  Come see me talk at Embedded World&#8230; as always I am never sure what I will say next, which apparently makes for a good show.  Ill leave you with this image of my office, which is a total disaster area.</p>
<div class="jupiterx-oembed"><iframe loading="lazy" title="Iot Expert Workshop - The day before leaving for Embedded 2017" width="500" height="281" src="https://www.youtube.com/embed/F4cgqf0fiN8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-wiced-controls-secret-new-chip/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: The Top Secret New Chip as a Servo Motor Driver</title>
		<link>https://iotexpert.com/embedded-world-2017-the-top-secret-new-chip-as-servo-motor-driver/</link>
					<comments>https://iotexpert.com/embedded-world-2017-the-top-secret-new-chip-as-servo-motor-driver/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Sat, 11 Mar 2017 13:59:34 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3187</guid>

					<description><![CDATA[Summary In this article I will take you through the firmware that I will be using to control the Robot Arm Servo Motors.  The Business Unit Manager is being a total pain the neck about letting me tell too much about his new product before the announcement at Embedded World next week.  He is from Indiana, [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Summary</h2>
<p>In this article I will take you through the firmware that I will be using to control the Robot Arm Servo Motors.  The Business Unit Manager is being a total pain the neck about letting me tell too much about his new product before the announcement at Embedded World next week.  He is from Indiana, so that probably explains his dogged recalcitrance (just joking&#8230; Im from KY and there is a big rivalry).  Anyway.  You will be able to see some things about the new chip if you look closely what I am doing.  My design will have:</p>
<ul>
<li>An EZI2C to support communication with the WICED I2C Master</li>
<li>Two PWMs to control two servo motors</li>
<li>A connection to the onboard switch and LED to turn the servo PWMs on/off</li>
</ul>
<h2>Building the Servo Firmware</h2>
<p>To make the design I first create a new project and the edit the schematic.  In this new chip there is clearly some logic gates as you can see that I control the PWMs with a Toggle Flip Flop.  Basically every time I press the switch it toggles the flip flop and then either starts or kills the PWMs.  This is very handy when you are trying to figure out what is going on with the PWMs and the servos.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.17-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.17-PM.png" alt="" width="657" height="418" class="alignnone size-full wp-image-3198" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.17-PM.png 657w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.17-PM-600x382.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.17-PM-300x191.png 300w" sizes="auto, (max-width: 657px) 100vw, 657px" /></a></p>
<p>As in earlier Cypress chips you double click the component to configure it.  Ill start with the PWMs and observe that we have another new GUI for configuring PWMs.  The servo motors want a pulse that is between 1 and 2 ms wide at a frequency of 50hz.  My PWM has a 12 Mhz clock input, which is then divided by 4 with the prescaler, and finally by 60000 by the PWM itself.  That equation yields a period o.052 kHz which (also known as 52hz) as PSoC Creator helpfully tell us.  By setting the compare to 3000 I will end up with a pulse of 1MS (about).</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.00.33-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.00.33-PM.png" alt="Configure the TCPWM" width="690" height="668" class="alignnone wp-image-3195 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.00.33-PM.png 690w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.00.33-PM-600x581.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.00.33-PM-300x290.png 300w" sizes="auto, (max-width: 690px) 100vw, 690px" /></a></p>
<p>In order to configure the PWM to have the start/kill inputs, I select the Advanced tab and setup the PWM to start when the toggle flip flop goes low.  And I get it to kill (stop) when the toggle flip flop goes high.  I choose active low because the LED that is attached to the circuit to indicate the state to the user is active low.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.05-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.05-PM.png" alt="Advanced PWM Configuration" width="658" height="473" class="alignnone wp-image-3200 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.05-PM.png 658w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.05-PM-600x431.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-8.00.05-PM-300x216.png 300w" sizes="auto, (max-width: 658px) 100vw, 658px" /></a></p>
<p>Next I configure the EZI2C by double clicking it.  It looks like there is a new interface for EZI2C as well&#8230; but under inspection there is nothing too tricky.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.03.17-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.03.17-PM.png" alt="Configuring the EZI2C" width="627" height="473" class="alignnone wp-image-3196 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.03.17-PM.png 627w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.03.17-PM-600x453.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.03.17-PM-300x226.png 300w" sizes="auto, (max-width: 627px) 100vw, 627px" /></a></p>
<p>Once I have the schematic built, I need to assign the Pins which is done using the DWR Pins Menu (as you did with earlier Cypress chips)</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM.png" alt="Pin Assignment" width="1069" height="218" class="alignnone wp-image-3197 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM.png 1069w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM-600x122.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM-300x61.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM-768x157.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-7.15.25-PM-1024x209.png 1024w" sizes="auto, (max-width: 1069px) 100vw, 1069px" /></a></p>
<p>Hmmm it looks like the new chip comes in a BGA, and seems to have a bunch of pins.  For the purposes of this demo, I assign the two motor pins too two of the pins on the Arduino Adafruit Servo Shield that I am using to make the connectivity easier.  This was a neat way for me to be able to plug in servo motors and provide them with power from something other than the chip, but still drive them with the chip.  Here is a picture of my shield.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3957.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3957.jpg" alt="Adafruit Servo Motor Shield" width="4032" height="3024" class="alignnone wp-image-3202 size-full" /></a></p>
<h2>Build the Firmware</h2>
<p>The firmware is very simple.</p>
<ul>
<li>Declare a structure to hold the data from the I2C master (lines 8-11)</li>
<li>Start &amp; Configure the EZI2C (lines 21-23)</li>
<li>Start &amp; the PWMs (lines 24-28)</li>
<li>In the main loop, when there is a complete write from the I2C Master, Update the PWM compare values</li>
<li>The function convertPercentToCompare calculates the compare value required based on a number 0-100 (aka percent)</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.42.44-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.42.44-AM.png" alt="Servo Motor Firmware" width="718" height="635" class="alignnone wp-image-3209 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.42.44-AM.png 718w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.42.44-AM-600x531.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.42.44-AM-300x265.png 300w" sizes="auto, (max-width: 718px) 100vw, 718px" /></a></p>
<h2>Testing the Firmware</h2>
<p>To test the firmware I use the Bridge Control Panel to issue I2C Commands (as I did in the earlier post).  You can see that I did a list devices.  Then sent several different percents (they are in hex).</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM.png" alt="Using the Bridge Control Panel to control the Servo Motors" width="934" height="676" class="alignnone wp-image-3210 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM.png 934w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM-600x434.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM-300x217.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-11-at-8.48.58-AM-768x556.png 768w" sizes="auto, (max-width: 934px) 100vw, 934px" /></a></p>
<p>Here screenshot from my oscilloscope where you can see that I entered 0x32 (aka 50%) so the width of the pulse is 1.5ms @ 50Hz.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/TEK00000.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/TEK00000.png" alt="Servo Motor Pulses on Oscilliscope" width="480" height="234" class="alignnone wp-image-3189 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/TEK00000.png 480w, https://iotexpert.com/wp-content/uploads/2017/03/TEK00000-300x146.png 300w" sizes="auto, (max-width: 480px) 100vw, 480px" /></a></p>
<p>And it seems to work pretty well at controlling my Servo Motor Robot ARM.  Nicholas looks a little bit crazy, probably the result of too much Solder smoke?</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3955-e1489195580612.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3955-e1489195580612.jpg" alt="Nicholas and the Servo Motor Controller" width="3024" height="4032" class="alignnone wp-image-3205 size-full" /></a></p>
<p>In the next article I will make the final connection to the WICED WiFi kit which will give me end to end connectivity through the Amazon IoT Cloud.</p>
<p>Alan</p>
<p>p.s. I love this new chip, you guys are going to be blown away.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-the-top-secret-new-chip-as-servo-motor-driver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: PSoC CapSense &#8211;&gt; WICED WiFi MQTT &#8211;&gt; Amazon IoT</title>
		<link>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-psoc-i2c-amazon/</link>
					<comments>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-psoc-i2c-amazon/#comments</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Fri, 10 Mar 2017 15:59:22 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3180</guid>

					<description><![CDATA[Summary In a previous post I showed you how to build a CapSense GUI using the PSoC Analog CoProcessor.  And, in an earlier, post I showed you how to make a WICED WiFi MQTT Publisher App that can send data to the Amazon IoT Cloud.  Now I need to put it all together so that I can I2C [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Summary</h2>
<p>In a previous <a href="https://iotexpert.com/2017/03/09/embedded-world-2017-psoc-analog-coprocessor-capsense-gui/" target="_blank">post</a> I showed you how to build a CapSense GUI using the PSoC Analog CoProcessor.  And, in an earlier, <a href="https://iotexpert.com/2017/03/08/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/" target="_blank">post</a> I showed you how to make a WICED WiFi MQTT Publisher App that can send data to the Amazon IoT Cloud.  Now I need to put it all together so that I can I2C read from the CapSense GUI and then publish that data to the Amazon Cloud.  In order to do that I will need to make a few modifications to the Publisher App:</p>
<ul>
<li>Delay 100 ms (meaning the WICED WiFi board is I2C polling)</li>
<li>Read the I2C Register 0 on the PSoC Analog CoProcessor Board</li>
<li>If the position has changed, then Publish the new position to the Amazon MQTT Message Broker</li>
</ul>
<p>Here is a picture of the two boards connected together.  If you have a sharp eye you probably noticed that the LED next to B0 is on.  I changed the PSoC Analog CoProcessor firmware to retain the state of the last button press.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3949.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3949.jpg" alt="PSoC Analog CoProcess and WICED WiFI" width="4032" height="3024" class="alignnone wp-image-3182 size-full" /></a></p>
<h2>Modify the WICED WiFi MQTT Publisher Firmware</h2>
<p>If you remember, the Publisher App was built to turn a light on and off when the user pressed the button on the board.  To do this, WICED MQTT Published an ASCII message of either &#8220;LIGHT ON&#8221; or &#8220;LIGHT OFF&#8221; that was stored in a char pointer called &#8220;msg&#8221;.  The original firmware also used the user button to trigger the publishing by setting a semaphore.  I want the board to poll every 100ms the current state of the button, then if it is changed from the last time, publish a message with the new position.  There are several things that need to happen to make this work</p>
<ol>
<li>Setup the I2C device: (lines 297 &#8211;&gt; 307)</li>
<li>Start the infinite loop (line 309)</li>
<li>Delay 100 ms (line 312)</li>
<li>Check to make sure that we are not in the middle of publishing.  The publishing is an asynchronous transaction. (line 314)</li>
<li>Read the I2C register of the PSoC (line 316)</li>
<li>If the position has changed, then setup the message and activate a publish (line 317-322)</li>
</ol>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.43.54-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.43.54-AM.png" alt="WICED WiFi MQTT Firmware" width="720" height="475" class="alignnone wp-image-3184 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.43.54-AM.png 720w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.43.54-AM-600x396.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.43.54-AM-300x198.png 300w" sizes="auto, (max-width: 720px) 100vw, 720px" /></a></p>
<h2>Test the WICED and PSoC Firmware</h2>
<p>To test the whole setup I program the board, then attach to the Amazon Cloud MQTT Test Client.  Then I use it to subscribe to the &#8220;ROBOT_POSITION&#8221; topic.  You can see in the picture below the transactions that I tested:</p>
<ul>
<li>The WICED Development Kit booted</li>
<li>WICED I2C read initial position = 20 (0x14)</li>
<li>I pressed B2 and it read position =40 (ox28)</li>
<li>I pressed B2 and it read position =80 (ox50)</li>
<li>I pressed B2 and it read position =60 (ox3C)</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM.png" alt="Testing the WICED WiFi MQTT Firmware" width="1556" height="581" class="alignnone wp-image-3183 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM.png 1556w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM-600x224.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM-300x112.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM-768x287.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-10-at-10.36.18-AM-1024x382.png 1024w" sizes="auto, (max-width: 1556px) 100vw, 1556px" /></a></p>
<p>In the next article I will modify the Subscriber application to take the published position and write it via I2C to the new super secret development kit that is controlling the Robot ARM.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-psoc-i2c-amazon/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: PSoC Analog CoProcessor CapSense GUI</title>
		<link>https://iotexpert.com/embedded-world-2017-psoc-analog-coprocessor-capsense-gui/</link>
					<comments>https://iotexpert.com/embedded-world-2017-psoc-analog-coprocessor-capsense-gui/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Thu, 09 Mar 2017 22:18:22 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<category><![CDATA[PSoC Creator]]></category>
		<category><![CDATA[WIFI]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3156</guid>

					<description><![CDATA[Summary I have been building up pieces of code that are going to allow me to show the PSoC Analog CoProcessor &#8211;&#62; WICED WiFi &#8211;&#62; Amazon IoT &#8211;&#62; WICED WiFi &#8211;&#62; Secret New Chip &#8211;&#62; Robot Arm.   In the previous two articles (part1, part2) I have shown you how to build most of the WICED firmware. [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Summary</h2>
<p>I have been building up pieces of code that are going to allow me to show the <a href="http://www.cypress.com/products/psoc-analog-coprocessor" target="_blank">PSoC Analog CoProcessor</a> &#8211;&gt; <a href="http://www.cypress.com/products/ieee-80211-abgn-wlan-sdio-usb-and-mimo" target="_blank">WICED WiFi</a> &#8211;&gt; <a href="https://aws.amazon.com/iot/" target="_blank">Amazon IoT</a> &#8211;&gt; <a href="http://www.cypress.com/products/ieee-80211-abgn-wlan-sdio-usb-and-mimo" target="_blank">WICED WiFi</a> &#8211;&gt; Secret New Chip &#8211;&gt; Robot Arm.   In the previous two articles (<a href="https://iotexpert.com/2017/03/08/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/">part1</a>, <a href="https://iotexpert.com/2017/03/09/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud-part-2/">part2</a>) I have shown you how to build most of the WICED firmware.  In this article I am going to focus on the PSoC Analog CoProcessor firmware (but if you look real close you can see the secret new chip&#8217;s development kit).</p>
<p>In the picture below you can see the red shield board.  This is a shield with the PSoC Analog CoProcessor plus a bunch of sensors that show the power of that chip.  The shield also includes 4x CapSense Buttons which I am going to use to set the position of the Robot Arm.  The PSoC will serve as a front end companion to the WICED WiFi Development Kit.  They will communicate via I2C with the PSoC acting as an I2C Slave and the WICED WiFi as a master.  Here is a picture of the all of parts minus Amazon.com&#8217;s cloud.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3844.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3844.jpg" alt="Embedded World 2017 Components" width="4032" height="3024" class="alignnone wp-image-3162 size-full" /></a></p>
<h2>PSoC Analog CoProcessor</h2>
<p>The PSoC Analog CoProcessor has the new Cypress CapSense block that gives you a bunch of new features, including enough measurement range to measure a capacitative humidity sensor (which you can see in the upper left hand part of the board).  For this demonstration I am just going to use the 4 CapSense buttons.  They will serve as the user interface for the Robot Arm.  The 4 buttons will set 4 different positions, 20%,40%,60%,80%.  I will be talking in much more detail about this shield in coming posts (later next month)</p>
<h2>PSoC Analog CoProcessor Schematic</h2>
<p>The PSoC Creator schematic is pretty straight forward.  I use the EZI2C slave to provide communication for the WICED board.  There are 4x LEDs that sit right next to the CapSense buttons,  and there are the 4x CapSense buttons.  The only slightly odd duck is the Bootloadable component which I use because when I designed the shield I did not put a programmer on it.  The BootLoadable allows me to me to load new firmware into the PSoC via the I2C interface.  Here is the PSoC Creator Schematic:</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM.png" alt="PSoC Creator Schematic" width="1024" height="730" class="alignnone wp-image-3169 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM.png 1024w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM-600x428.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM-300x214.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.36-PM-768x548.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>The CapSense configuration just specifies the use of 4x CapSense buttons that are automatically tuned by the Cypress magic.</p>
<p><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM.png" alt="CapSense Configuration" width="1570" height="784" class="alignnone wp-image-3168 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM.png 1570w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM-600x300.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM-300x150.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM-768x384.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.12.58-PM-1024x511.png 1024w" sizes="auto, (max-width: 1570px) 100vw, 1570px" /></p>
<p>The last step in configuring the schematic is to assign all of the pins to the correct locations.</p>
<p><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM.png" alt="Pin Assignment" width="1492" height="560" class="alignnone wp-image-3167 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM.png 1492w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM-600x225.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM-300x113.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM-768x288.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.13.36-PM-1024x384.png 1024w" sizes="auto, (max-width: 1492px) 100vw, 1492px" /></p>
<h2>PSoC Analog CoProcessor Firmware</h2>
<p>One of the great things about all of this process is how easy the firmware is to write.</p>
<ul>
<li>Line 3 declares a buffer that will be used to relay the position information to the WICED board.  I start the position at 50%</li>
<li>Lines 8-9 start the EZI2C which starts up the EZI2C protocol and tells it to read from the &#8220;position&#8221; variable</li>
<li>Lines 10-11 gets the CapSense going</li>
</ul>
<p>Inside of the infinite while(1) loop, I read from the CapSense and do the right thing</p>
<ul>
<li>Lines 17-22 reads the CapSense status</li>
<li>Lines 24-27 set the correct position based on which buttons are pressed (notice that if no button is pressed then the position stays the same)</li>
<li>Line 29 turns on the Bootloader if B0 &amp; B3 are pressed</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM.png" alt="PSoC Analog CoProcessor Main.c" width="1546" height="1160" class="alignnone wp-image-3174 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM.png 1546w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM-600x450.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM-300x225.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM-768x576.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-4.59.13-PM-1024x768.png 1024w" sizes="auto, (max-width: 1546px) 100vw, 1546px" /></a></p>
<h2>Testing the PSoC Analog CoProcessor System</h2>
<p>The easiest way to test the system is to use the Bridge Control Panel which comes as part of the PSoC Creator installation.  It lets me read the value from the EZ2IC buffer to make sure that the CapSense buttons are doing the right thing.  The command language is pretty simple.  You can see in the editor window that I typed &#8220;W42 0 R 42 X p;&#8221;  Everytime I press &#8220;enter&#8221; it sends the I2C commands:</p>
<ul>
<li>Send an I2C start</li>
<li>write the 7-bit I2C address 0x42</li>
<li>write a 0</li>
<li>send a restart</li>
<li>read from address 0x42</li>
<li>read one byte</li>
<li>send a stop</li>
</ul>
<p>You can see that I pressed each button and indeed got 20,40,60,80 (assuming you can convert hex to decimal&#8230; but trust me)</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM.png" alt="Bridge Control Panel" width="1866" height="1354" class="alignnone wp-image-3175 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM.png 1866w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM-600x435.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM-300x218.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM-768x557.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-09-at-5.01.29-PM-1024x743.png 1024w" sizes="auto, (max-width: 1866px) 100vw, 1866px" /></a></p>
<p>In the next article I will modify the WICED Publisher to poll the PSoC Analog CoProcessor and then publish the current state.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-psoc-analog-coprocessor-capsense-gui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: WICED WiFi, MQTT and the Amazon IoT Cloud (Part 2)</title>
		<link>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud-part-2/</link>
					<comments>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud-part-2/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Thu, 09 Mar 2017 12:21:49 +0000</pubDate>
				<category><![CDATA[CY943907]]></category>
		<category><![CDATA[Embedded World 2017]]></category>
		<category><![CDATA[WICED]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3136</guid>

					<description><![CDATA[Summary As I explained in yesterday’s article, I was unhappy about not connecting to Amazon AWS IoT cloud for my presentation at Electronica 2016.  In the last post I showed you how to build an Amazon AWS IoT MQTT Client in the WICED WiFi SDK that can Publish to the Amazon Message Broker.  Now I need to build [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Summary</h2>
<p>As I explained in <a href="https://iotexpert.com/2017/03/07/embedded-world-2017-uh-oh-i-only-have-4-days-to-get-ready/" target="_blank">yesterday’s article</a>, I was unhappy about not connecting to Amazon AWS IoT cloud for my presentation at <a href="https://iotexpert.com/category/misc/electronica-2016/" target="_blank">Electronica 2016</a>.  In the <a href="https://iotexpert.com/2017/03/08/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/" target="_blank">last post</a> I showed you how to build an Amazon AWS IoT MQTT Client in the WICED WiFi SDK that can Publish to the Amazon Message Broker.  Now I need to build a WICED App that can Subscribe to the ROBOT_POSITION topic and receive messages from the MQTT broker.  This series of articles is broken up like this:</p>
<ol>
<li>Amazon IoT &amp; MQTT (<a href="https://iotexpert.com/2017/03/08/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/" target="_blank">Part 1</a>)</li>
<li>Modify &amp; Test the WICED Publisher App (<a href="https://iotexpert.com/2017/03/08/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/" target="_blank">Part 1</a>)</li>
<li>Modify &amp; Test the WICED Subscriber App (Part 2)</li>
<li>Modify the Application to talk I2C to the PSoCs (Part 3)</li>
</ol>
<h2>Modify the WICED Subscriber App</h2>
<p>As with the previous article, start by copying the App from the apps&#8211;&gt;demo&#8211;&gt;aws_iot&#8211;&gt;pub_sub&#8211;&gt;subscriber into your directory.  In my case that will be apps&#8211;&gt;emb2017&#8211;&gt;subscriber.  Then update the application &#8220;Name:&#8221; and &#8220;VALID_PLATFORMS&#8221; in the Makefile.  Remember that the App name must be unique.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM.png" width="1102" height="920" class="alignnone wp-image-3138 size-full" alt="WICED WiFi SDK" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM.png 1102w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM-600x501.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM-300x250.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM-768x641.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.30.52-PM-1024x855.png 1024w" sizes="auto, (max-width: 1102px) 100vw, 1102px" /></a></p>
<p>Then modify the DCT to have your networking information.  Don&#8217;t forget that the DCT is the device configuration table for WICED WiFi and is used to store the mostly static information (like network, passwords etc).</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM.png" alt="WICED WiFi Subscriber DCT" width="1068" height="624" class="alignnone wp-image-3139 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM.png 1068w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM-600x351.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM-300x175.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM-768x449.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.34.12-PM-1024x598.png 1024w" sizes="auto, (max-width: 1068px) 100vw, 1068px" /></a></p>
<p>The next step is to make a few modifications to the actual firmware.  Specifically,</p>
<ul>
<li>(line 60) Change the MQTT Broker IP address to the one assigned by Amazon</li>
<li>(line 61) Change the TOPIC to &#8220;ROBOT_POSITION&#8221;</li>
<li>(line 103) Print the message to the console</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM.png" alt="subscriber.c" width="714" height="713" class="alignnone wp-image-3140 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM.png 714w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM-300x300.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM-100x100.png 100w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM-600x599.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.39.22-PM-150x150.png 150w" sizes="auto, (max-width: 714px) 100vw, 714px" /></a></p>
<p>In the last article I copied the Transport Layer Security (TLS) keys from Amazon into the resources&#8211;&gt;apps&#8211;&gt;aws_iot directory.  For this application I will use exactly the same keys.  Then, create a new make target for the App and program the board.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.44.06-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.44.06-PM.png" alt="WICED WiFi Make Targets" width="456" height="421" class="alignnone wp-image-3141 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.44.06-PM.png 456w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.44.06-PM-300x277.png 300w" sizes="auto, (max-width: 456px) 100vw, 456px" /></a></p>
<h2>Test the WICED WiFi Subscriber App</h2>
<p>To test the application I will, once again, use the Amazon AWS IoT web MQTT Client to send messages to my board.  In the screen shot below you can see the console window of the 943907AEVAL1F board.  After programming it:</p>
<ul>
<li>starts up</li>
<li>gets WICED and ThreadX going</li>
<li>connects to my network (WW101WPA, gets a DHCP address: 198.51.100.16)</li>
<li>Find the IP address of the MQTT broker (34.194.80.220)</li>
<li>Opens an MQTT connection to Amazon.</li>
</ul>
<p>When I publish the message &#8220;20304050&#8221; using the MQTT Client to the &#8220;ROBOT_POSITION&#8221; topic,  you can see that it comes out on the console of the WICED WiFi development kit.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM.png" alt="Amazon IoT MQTT Test Client" width="1106" height="1007" class="alignnone wp-image-3146 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM.png 1106w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM-600x546.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM-300x273.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM-768x699.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-2.45.59-PM-1024x932.png 1024w" sizes="auto, (max-width: 1106px) 100vw, 1106px" /></a></p>
<p>That proves that we have end-to-end communication.  In the last article, I will fix up the Publisher and Subscriber application to read and write the I2C connection so that it can actually do the Robot ARM control.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud-part-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: WICED WiFi, MQTT and the Amazon IoT Cloud (Part 1)</title>
		<link>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/</link>
					<comments>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Wed, 08 Mar 2017 17:26:56 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3112</guid>

					<description><![CDATA[Summary As I explained in yesterday&#8217;s article I was unhappy about not connecting to Amazon AWS IoT cloud for my presentation at Electronica 2016.  In this article I will start this process of repairing the my brain damage by taking you through the steps I am following to create an MQTT connection to Amazons cloud using [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span size="5" style="font-size: x-large;"><b>Summary</b></span></p>
<p>As I explained in <a href="https://iotexpert.com/2017/03/07/embedded-world-2017-uh-oh-i-only-have-4-days-to-get-ready/" target="_blank">yesterday&#8217;s article</a> I was unhappy about not connecting to Amazon AWS IoT cloud for my presentation at <a href="https://iotexpert.com/category/misc/electronica-2016/" target="_blank">Electronica 2016</a>.  In this article I will start this process of repairing the my brain damage by taking you through the steps I am following to create an MQTT connection to Amazons cloud using WICED WiFi.  I will post 3 articles on this topic:</p>
<ol>
<li>Amazon IoT &amp; MQTT (Part 1)</li>
<li>Modify &amp; Test the WICED Publisher App (Part 1)</li>
<li>Modify &amp; Test the WICED Subscriber App (Part 2)</li>
<li>Modify the Application to talk I2C to the PSoCs (Part 3)</li>
</ol>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3842.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3842.jpg" alt="PSoC AFE &amp; WICED WiFi" width="4032" height="3024" class="alignnone wp-image-3143 size-full" /></a></p>
<h2>Amazon IoT &amp; MQTT</h2>
<p>The <a href="https://aws.amazon.com/iot/" target="_blank">Amazon IoT Cloud</a> can do an amazing, frightening, crazy overwhelming amount of different things.  Here is a picture of their architecture.<a href="https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch.png" alt="Amazon IoT Architecture" width="975" height="434" class="alignnone size-full wp-image-3113" srcset="https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch.png 975w, https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch-600x267.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch-300x134.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/amazon-arch-768x342.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></a></p>
<p>Above, you can see that Amazon has decided to follow on the language of IoT by actually calling the devices that attach to their cloud &#8220;Thing&#8221;.  This makes for some rather awkward English sentences, but I suppose they are not going to change it, so I will go with their language.  For the purposes of this demonstration I am going to create two &#8220;things&#8221;.  One will be &#8220;Publisher&#8221; and one will be the &#8220;Subscriber&#8221;.  The &#8220;Things&#8221; will attach and communicate to each other via the Message Broker in the Amazon Cloud.  The connection will be built in the WICED SDK using MQTT and run on the Cypress <span>CYW943907AEVAL1F</span> development kit.</p>
<p>MQTT stands for Message Queuing Telemetry Transport, which, in simplest terms is a lightweight TCP/IP based protocol that can run over secure sockets.  The good news is the Cypress WICED SDK has MQTT built in and provides a clean interface for you to develop firmware to create and use MQTT connections.  MQTT is pretty simple and has only four important concepts.</p>
<ul>
<li><strong>Message Broker</strong> &#8211; A server that supports MQTT connections and hosts <strong>Topics</strong></li>
<li><strong>Topic</strong> &#8211; The name for a queue of <strong>Message</strong>s (the <strong>Topic</strong> name can essentially be anything that you want in your system)</li>
<li><strong>Message</strong> &#8211; A string of bytes in any format you desire for your system</li>
<li><strong>Publisher</strong> &#8211; A device that sends a <strong>Message</strong> to a specific <strong>Topic</strong> on a specific MQTT <strong>Message Broker</strong></li>
<li><strong>Subscriber</strong> &#8211; A device that has asked to receive <strong>Messages</strong> sent to a specific <strong>Topic</strong></li>
</ul>
<p>For the purposes of this demonstration I will create a Publisher (running on the 943907AEVAL1F board) that will publish a message with the desired position of the servo motors on the robot ARM to a Topic (named ROBOT_POSITION) on the Amazon Message Broker.  The Subscriber (running on a different 943907AEVAL) will subscribe to the Topic and will then send an I2C command to the PSoC controlling the Robot ARM.  For example if the 4 CapSense buttons B0-B3 represent 10%, 30%, 50%, 70%, 90% then when the users presses B0, WICED will publish a message of &#8220;10&#8221; to the Topic &#8220;ROBOT_POSITION&#8221;.  Then, that message will go to the Subscriber, who will send that message to the PSoC Servo Motor controller.</p>
<p>In order to make the connection to the Amazon IoT Cloud you need to use Transport Layer Security which is also built into the WICED SDK.  Good security is one of the best reasons to use Cypress WICED as we are taking that very seriously.</p>
<p>The AWS IoT Cloud supports a bunch of other functionality including:</p>
<ul>
<li>Connections to the Dynamo DB</li>
<li>Simple Notifications (Text message, Email)</li>
<li>Running Lambda Functions</li>
<li>Plus a bunch more</li>
</ul>
<p>However, all of that is outside of the scope of what I have time to show live.</p>
<h2>WICED WiFI: Modify &amp; Test the Publisher App</h2>
<p>To build the application, I will copy and modify, then test the Publisher Demo App.  In order to simplify things I will use the pre-exising App that already has all of the MQTT stuff in it.   Cypress provide a bunch of example applications which all reside in the &#8220;apps&#8221; folder of the Project Explorer.  So, I will start by creating a directory called &#8220;emb2017&#8221;.  Then I will copy/paste the apps&#8211;&gt;demo&#8211;&gt;aws_ios&#8211;&gt;pub_sub&#8211;&gt;* into my emb2017 directory.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.07.59-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.07.59-AM.png" alt="WICED WiFI Project Explorer" width="357" height="523" class="alignnone wp-image-3119 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.07.59-AM.png 357w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.07.59-AM-205x300.png 205w" sizes="auto, (max-width: 357px) 100vw, 357px" /></a></p>
<p>The next step is to modify publisher.mk file:</p>
<ul>
<li>Make the &#8220;Name&#8221; unique.  Each application name must have its own unique name or your firmware will not build correctly.  In this case I name it  &#8220;App_emb2017_Publisher&#8221;</li>
<li>Add BCM943907AEVAL1_WW101 to the valid platforms list.  A platform is the WICED name for the Board Support Package.  In this case we create a BSP for the PSoC Analog AFE Shield.</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM.png" alt="WICED WiFI Makefile" width="979" height="920" class="alignnone wp-image-3122 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM.png 979w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM-600x564.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM-300x282.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.12.53-AM-768x722.png 768w" sizes="auto, (max-width: 979px) 100vw, 979px" /></a></p>
<p>After the Makefile is fixed up, I will need to modify the Device Configuration Table (aka wifi_config_dct.h) so that it knows about the network at my house.  The DCT is an area of flash that is used to hold security credentials, network SSIDs etc.  This place can be configured either statically at build time or programmatically at run time.  In this case, I will just set the SSID/Password at build time.   For this example I will use the WW101WPA&#8221; network which is a pre-shared key WPA2 network with a password of &#8220;kywpa123&#8221; (Yes, if you come to my house in KY you will be able to attach with that password.  If you do, please knock on the door and we can have some Bourbon together).</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM.png" alt="WICED WiFI DCT Configuration File" width="992" height="625" class="alignnone wp-image-3123 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM.png 992w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM-600x378.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM-300x189.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.17.13-AM-768x484.png 768w" sizes="auto, (max-width: 992px) 100vw, 992px" /></a></p>
<p>In order to make a TLS connection you will need to have three files:</p>
<ul>
<li>rootca.cer &#8211; Amazon&#8217;s Root Certificate</li>
<li>privkey.cer &#8211; A private key (paired with a public key) that will allow you to establish a secure connection</li>
<li>client.cer &#8211; A certificate that identifies your AWS &#8220;Thing&#8221;</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.46.20-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.46.20-AM.png" alt="Amazon IoT Security" width="516" height="541" class="alignnone wp-image-3124 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.46.20-AM.png 516w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.46.20-AM-286x300.png 286w" sizes="auto, (max-width: 516px) 100vw, 516px" /></a></p>
<p>All of these files come from the Amazon IoT website and need to be copied into the &#8220;&#8230;/resources/apps/aws_iot&#8221; directory.  They will be compiled along with your application and placed into the DCT of your WICED device by the Makefile.  This happens as a result of this section of the Makefile:</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.50.15-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.50.15-AM.png" alt="WICED WiFI Configuring Security in the DCT" width="384" height="57" class="alignnone wp-image-3125 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.50.15-AM.png 384w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.50.15-AM-300x45.png 300w" sizes="auto, (max-width: 384px) 100vw, 384px" /></a></p>
<p>The next step in the process is to modify the publisher.c program.  When you setup an Amazon IoT account, it will create a virtual machine with the Message Broker running on it.  That VM will be given a unique name which you will need to hard code into your application.  In addition you need to change the topic and message sent.  Here are the changes that I made to publisher.c:</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.53.03-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.53.03-AM.png" alt="WICED WiFI modify MQTT publisher.c" width="693" height="192" class="alignnone wp-image-3126 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.53.03-AM.png 693w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.53.03-AM-600x166.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.53.03-AM-300x83.png 300w" sizes="auto, (max-width: 693px) 100vw, 693px" /></a></p>
<p>Now that all of the Firmware is setup, I need to program the board.  To do that I create a new &#8220;Make Target&#8221; in the WICED Make Target window. The make target tells the makefile system:</p>
<ul>
<li>Which app to build, in this case &#8220;emb2017/publisher&#8221;</li>
<li>Which platform to use.  Platform == Board Support Package.  In this case &#8220;bcm943907EVAL1F&#8221;</li>
<li>Lastly what to do, in this case build, download and run</li>
</ul>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.59.03-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.59.03-AM.png" alt="WICED WiFI Create the Make Target" width="496" height="424" class="alignnone wp-image-3130 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.59.03-AM.png 496w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-11.59.03-AM-300x256.png 300w" sizes="auto, (max-width: 496px) 100vw, 496px" /></a></p>
<p>The last thing to do is program the board and then test using the Amazon IoT MQTT WebClient.  This client can subscribe and publish to your Message Broker.  Our application is configured to Publish to the &#8220;ROBOT_POSITION&#8221; topic.  So, I will subscribe to that Topic, which will cause all messages that are published to that topic to be displayed.  This happens when I push the Mechanical Button 0  the PSoC AFE Shield</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM.png" alt="Amazon IoT MQTT Client Test Console" width="1079" height="823" class="alignnone wp-image-3127 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM.png 1079w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM-600x458.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM-300x229.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM-768x586.png 768w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.54.13-AM-1024x781.png 1024w" sizes="auto, (max-width: 1079px) 100vw, 1079px" /></a></p>
<p>In the screen shot below you can see the console of my 943907AEVAL1F board as well as the MQTT Test Console.  The board starts by turning on WICED, starting the RTOS, turning up the TCP/IP stack, then attaching to the network etc.  After all of that is done it starts an MQTT connection to the Amazon IoT MQTT broker.</p>
<p>On the AWS MQTT client, you can see that I pressed the button three times which published three messages.</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM.png" alt="WICED WiFI MQTT Publisher Test" width="816" height="819" class="alignnone wp-image-3129 size-full" srcset="https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM.png 816w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM-300x300.png 300w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM-100x100.png 100w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM-600x602.png 600w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM-150x150.png 150w, https://iotexpert.com/wp-content/uploads/2017/03/Screen-Shot-2017-03-08-at-10.55.13-AM-768x771.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></a></p>
<p>In the next Article I will take you through the creation of the Subscriber side of this application.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-wiced-wifi-mqtt-and-the-amazon-iot-cloud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Embedded World 2017: Uh oh I Only Have 4 Days to Get Ready</title>
		<link>https://iotexpert.com/embedded-world-2017-uh-oh-i-only-have-4-days-to-get-ready/</link>
					<comments>https://iotexpert.com/embedded-world-2017-uh-oh-i-only-have-4-days-to-get-ready/#respond</comments>
		
		<dc:creator><![CDATA[Alan Hawse]]></dc:creator>
		<pubDate>Tue, 07 Mar 2017 18:37:32 +0000</pubDate>
				<category><![CDATA[Embedded World 2017]]></category>
		<guid isPermaLink="false">https://iotexpert.com/?p=3093</guid>

					<description><![CDATA[Embedded World 2017: Summary I will be at Embedded World 2017 in Nuremberg, Germany next week.  For some crazy reason the powers that be at Cypress seem to think that it is a good idea to hand me a microphone.  For the last several trade shows I have done live demonstrations of Cypress chips, which [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>Embedded World 2017: Summary</h2>
<p>I will be at Embedded World 2017 in Nuremberg, Germany next week.  For some crazy reason the powers that be at Cypress seem to think that it is a good idea to hand me a microphone.  For the last several trade shows I have done live demonstrations of Cypress chips, which seem to get a pretty good crowd.  Here is a video of me talking at Electronica 2016:</p>
<p>https://www.youtube.com/watch?v=bXCnE4wLl_Q</p>
<p>Here I am two years ago at Embedded World 2015.  Unfortunately there were more people there watching me talk than have viewed this video!</p>
<div class="jupiterx-oembed"><iframe loading="lazy" title="Embedded World 2015, Cypress PSoC Maker Lab" width="500" height="281" src="https://www.youtube.com/embed/86AKgipRkEc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>Over the next couple of days I will post the pictures, schematics and source code for the projects that I will be showing.  If you are there you should definitely come see me as I give a good <a href="https://www.youtube.com/watch?v=SuEnrpfaiew" target="_blank">Ginsu Knife</a> show&#8230; and I will be giving away development kits.  Best of all there is a new chip coming that I am going to get to show off &#8230; a very remarkable IoT offering that will put us in the lead (and if you are reading this you will get some early insight into).</p>
<p>At <a href="http://electronica.de" target="_blank">Electronica</a> last fall I showed I showed Cypress PSoCs doing CapSense and Servo Motor Control over a WICED WiFi link.  You can read about that stuff <a href="https://iotexpert.com/category/misc/electronica-2016/" target="_blank">here</a>.  It was a really good demonstration, and everyone thought that was fun, but I always regretted that I didn&#8217;t send the data to the cloud.  Here is a picture of the architecture  that I was planning to build for that show, but I cut out the trip to Amazon AWS and replaced it with a TCP/IP Server running on the WICED chips:</p>
<p><a href="https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced.png"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced.png" alt="Embedded World 2017: Demo Architecture" width="1197" height="868" class="alignnone wp-image-2177 size-full" srcset="https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced.png 1197w, https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced-600x435.png 600w, https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced-300x218.png 300w, https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced-768x557.png 768w, https://iotexpert.com/wp-content/uploads/2016/11/electronica-wiced-1024x743.png 1024w" sizes="auto, (max-width: 1197px) 100vw, 1197px" /></a></p>
<p>This time I am going to go all the way.  In addition there will be a Development Kit for a new product that we are announcing at the show.</p>
<p>The bottom line&#8230; for this live demonstration of Cypress awesomeness I am going to use</p>
<ol>
<li>The <span>CYW943907AEVAL1F </span>WiFi board as connectivity to the Amazon Cloud.<a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3838.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3838.jpg" alt="WICED 943907AEVAL1F" width="4032" height="3024" class="alignnone wp-image-3105 size-full" /></a></li>
<li>The Top Secret new development kit with a really fun new chip that we have all been waiting for  (notice the Type-C connector, Mutal Cap Capsense Sensors, that might be an antenna at the top and for sure there is something cool under that post-it-note)<a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3841.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3841.jpg" alt="A amazing new Cypress Development Kit" width="4032" height="3024" class="alignnone wp-image-3108 size-full" /></a></li>
<li>The Cypress Analog CoProcessor AFE Shield Board&#8230; which I will be talking more about in future posts, but is built with the PSoC Analog CoProcessor<a href="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3834.jpg"><img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3834.jpg" alt="Cypress PSoC Analog CoProcessor" width="4032" height="3024" class="alignnone wp-image-3102 size-full" /></a></li>
<li>The CY8CKIT-145: As a CapSense User Interface <img loading="lazy" decoding="async" src="https://iotexpert.com/wp-content/uploads/2017/03/IMG_3835.jpg" alt="Cypress CY8CKIT-145" width="4032" height="3024" class="alignnone wp-image-3101 size-full" /></li>
</ol>
<p>Over the next 3 days Ill post the intermediate steps of building the project.  I am flying to Embedded World 2017 on Sunday so I am going to need to get rolling.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://iotexpert.com/embedded-world-2017-uh-oh-i-only-have-4-days-to-get-ready/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
