<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: John Rodgers</title>
    <description>The latest articles on DEV Community by John Rodgers (@jrrodgers68).</description>
    <link>https://dev.to/jrrodgers68</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F376494%2F82ab5dd1-0b11-4550-a5af-e43450b6ba62.png</url>
      <title>DEV Community: John Rodgers</title>
      <link>https://dev.to/jrrodgers68</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jrrodgers68"/>
    <language>en</language>
    <item>
      <title>Control a robot with just a text!</title>
      <dc:creator>John Rodgers</dc:creator>
      <pubDate>Thu, 30 Apr 2020 23:46:59 +0000</pubDate>
      <link>https://dev.to/jrrodgers68/control-a-robot-with-just-a-text-1agb</link>
      <guid>https://dev.to/jrrodgers68/control-a-robot-with-just-a-text-1agb</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Category Submission: Exciting X-Factors
&lt;/h4&gt;

&lt;p&gt;I was originally going to build a React based web app to bulk send texts, but saw other submissions already along those lines.  So I decided to go weird!  I have an old Arcbotics Sparki robot sitting around doing nothing.  My 7 year old likes to play with it, but setting it up and writing custom code for it so that it will do what he wants is somewhat painful.  Enter Twilio to the rescue!  Now he can just send text messages to the robot from my phone and it will do whatever he wants (within the limited set of actions I currently support).&lt;/p&gt;

&lt;h2&gt;
  
  
  Images
&lt;/h2&gt;

&lt;p&gt;Sparki&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JMfBRurf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2670.jpg%3Fraw%3Dtrue" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JMfBRurf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2670.jpg%3Fraw%3Dtrue" alt="alt text" title="Sparki all wired up!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wiring the Argon to Sparki&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dKLgxCS1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2671.jpg%3Fraw%3Dtrue" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dKLgxCS1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2671.jpg%3Fraw%3Dtrue" alt="alt text" title="Argon/Sparki wiring"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sparki on the move!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TEOiSJS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2675.MOV%3Fraw%3Dtrue" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TEOiSJS8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/jrrodgers68/twilio_hackathon/blob/master/images/IMG-2675.MOV%3Fraw%3Dtrue" alt="alt text" title="Sparki on the move"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Code
&lt;/h2&gt;

&lt;p&gt;The main project is here: [Github])(&lt;a href="https://github.com/jrrodgers68/twilio_hackathon"&gt;https://github.com/jrrodgers68/twilio_hackathon&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This is a hardware project so you'll need some specific hardware to make the magic happen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://arcbotics.com/products/sparki/"&gt;Arcbotics Sparki robot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://store.particle.io/products/argon"&gt;Particle Argon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why the 2 parts?  Sparki is based on an Arduino, which lacks network capabilities.  The Particle Argon provides the internet connection with an easily accessible REST api.  &lt;/p&gt;

&lt;h2&gt;
  
  
  How I built it (what's the stack? did I run into issues or discover something new along the way?)
&lt;/h2&gt;

&lt;p&gt;The system has 3 main components&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sparki code (its an Arduino based robot)&lt;/li&gt;
&lt;li&gt;Particle Argon - to give receive commands and send them to Sparki&lt;/li&gt;
&lt;li&gt;Python flask service that receives SMS commands from users via Twilio&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  What did I learn along the way
&lt;/h4&gt;

&lt;p&gt;Lots!  Originally I planned to use the Bluetooth module that comes with Sparki to just send commands to it.  But after 2 days of trying, I couldn't get the Bluetooth module to work at all.  Even breaking it down to just a simple terminal on a PC wouldn't work - no connection was ever established, though the PC said it was connected on COM6 to Sparki.  So I then moved on to attaching the Particle Argon to Sparki's back, kind like the movie &lt;a href="https://www.imdb.com/title/tt0111003/?ref_=nm_flmg_act_89"&gt;The Puppet Masters&lt;/a&gt;, but less creepy!  Sparki has an exposed RX/TX which the Bluetooth module uses, so it was time to just connect the Particle directly via jumper wires and send serial commands.  &lt;/p&gt;

&lt;p&gt;The easiest part of the project was the Twilio part.  Definitely kudos&lt;br&gt;
to the developers at Twilio for making such an easy to use product.  In &lt;br&gt;
short order, I had incoming texts being fed to my python flask service &lt;br&gt;
and calling the Argon REST api and watching Sparki move!  &lt;/p&gt;

&lt;h4&gt;
  
  
  What's next for Sparki?
&lt;/h4&gt;

&lt;p&gt;His own Twitch streaming channel!  Keep your eyes open for Sparki on &lt;br&gt;
Twitch.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Resources/Info
&lt;/h2&gt;

</description>
      <category>twiliohackathon</category>
    </item>
  </channel>
</rss>
