{"id":2596,"date":"2013-03-07T05:32:00","date_gmt":"2013-03-07T10:32:00","guid":{"rendered":"http:\/\/www.plastibots.com\/?p=2596"},"modified":"2019-05-19T11:17:53","modified_gmt":"2019-05-19T15:17:53","slug":"btbotcontrol","status":"publish","type":"post","link":"https:\/\/www.plastibots.com\/index.php\/2013\/03\/07\/btbotcontrol\/","title":{"rendered":"Dicontinued &#8211; BT Bot Control &#038; IPCam Bot &#8211; Android App to control Arduino Robots"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/www.plastibots.com\/index.php\/2013\/03\/07\/btbotcontrol\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2605\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/MasterFeatureGraphic800w.jpg\" alt=\"MasterFeatureGraphic800w\" width=\"800\" height=\"391\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/MasterFeatureGraphic800w.jpg 800w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/MasterFeatureGraphic800w-300x146.jpg 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">BT Bot Control is an Android application that allows you to remotely control a micro controller-based robot using Bluetooth (i.e. Arduino). &nbsp;It also allows you to (optionally) view a video stream from an IPCamera mounted to your robot. &nbsp;This could be any type wireless IP camera or phone that has the ability to broadcast a video stream\/images to the web. &nbsp;Example Foscam, Ai-Cam etc. &nbsp;If you are looking to control your robot over WiFi, check out <a href=\"http:\/\/www.plastibots.com\/index.php\/2013\/11\/26\/wifi-bot-control-android-app-wifibot\/\" target=\"_blank\" rel=\"noopener noreferrer\">WiFi Bot Control<\/a>.&nbsp; &nbsp;*** <span style=\"text-decoration: underline;\">BT Bot Control is no longer available<\/span>.<\/p>\n<p style=\"text-align: left;\"><!--more--><\/p>\n<p style=\"text-align: left;\"><strong>Features:<\/strong><\/p>\n<ul>\n<li>Use Joystick via finger movement, or the orientation sensor on your device. &nbsp;(default is Joystick mode).<\/li>\n<li>Ability to poll and display sensor and other data from your micro controller.<\/li>\n<li>Supports 8 individual commands via Command Buttons. &nbsp; 4 on by default. 4 more can be turned on in the Settings section.<\/li>\n<li>Sends the x\/y coordinates as positive and negative integers based on 4 quadrants of the joystick. &nbsp; Data is sent via Bluetooth and can be parsed to set both direction and velocity. &nbsp;(sample code below)<\/li>\n<li>Coordinates are generated as X+\/- and Y +\/-. These are packaged and sent in the following format <em>sX=val,Y=vale<\/em> &nbsp;i.e. <em>sX=75,Y=-55e<\/em> &nbsp;where &#8216;s&#8217; indicates the start and &#8216;e&#8217; indicates the end.<\/li>\n<li>Command button values are packaged and sent in the following format: sC=[<em>val]e<\/em> &nbsp;i.e. sC=<em>2e<\/em> &nbsp;where &#8216;s&#8217; is the start, &nbsp;&#8216;c&#8217; indicates the a command button as pressed, &#8216;2&#8217; is the value and &#8216;e&#8217; indicates the end.<\/li>\n<li>Configurable Bluetooth packet send interval &#8211; used to set the speed (quantity) of packets sent. &nbsp;Default of 200ms works well.<\/li>\n<li>Shows video stream of IP Camera mounted to robot. (see FAQ below for important tips on getting your IP Camera working)<\/li>\n<li>Configurable camera URLs (3). Remembers last camera connection for easy re-connect.<\/li>\n<li>Configurable Bluetooth connections. &nbsp;Remember last Bluetooth connection for easy re-connect.<\/li>\n<li>Sample Arduino Sketch provided (below).<\/li>\n<li>Screen auto re-sizes for smaller phones.<\/li>\n<li>Supports any micro controller that can parse Bluetooth data (<a href=\"http:\/\/dx.com\/p\/jy-mcu-arduino-bluetooth-wireless-serial-port-module-104299\" target=\"_blank\" rel=\"noopener noreferrer\">bluetooth module<\/a> required).<\/li>\n<li>Should be compatible with other Bluetooth \/ Arduino modules such as the <a href=\"http:\/\/bleduino.cc\/\" target=\"_blank\" rel=\"noopener noreferrer\">BLEduino<\/a>, RFduino, Arduino Bluetooth Shields the <a href=\"https:\/\/launch.punchthrough.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cortado<\/a>, and many others. &nbsp; &nbsp;Please drop me a line if you get it working with other BT devices and I will update the list. &nbsp;Update (2015) &#8211; lately, a number of fully integrated Arduino\/Bluetooth micro controllers have come to market via Kickstarter. &nbsp;This app is not particular. As long as the controller \/ bluetooth module can connect to your Android smartphone, this app will work.<\/li>\n<\/ul>\n<p><em>Note on Lite version: &nbsp;The Lite version is a fully functional version. &nbsp;However, Bluetooth data will be sent as &#8216;9&#8217;s. &nbsp;i.e. s9,9e and c9e which will provide you with enough to determine if this app is right for you. &nbsp;If you like BT Bot Control, the Pro version has full functionality enabled with proper data, and can be yours for less than the price of a coffee. &nbsp;Also, you won&#8217;t be pestered by that start-up message either! &nbsp;We hope you agree that the features and functionality provided are well worth the pocket change. \ud83d\ude42<\/em><\/p>\n<p><em>Note on Bluetooth: The control distance is dependent on a number of factors including; your Bluetooth device range, battery power, obstacles etc. Typical distance for Bluetooth is 10 meters for most Bluetooth modules. &nbsp;However, higher classed BT modules could extend the range.<\/em><\/p>\n<p><center><a href=\"http:\/\/www.banggood.com\/collection-3161.html?utmid=1540&amp;utm_campaign=b69407&amp;utm_content=Klaus&amp;p=R90804949020201412E4&amp;bid=33840&amp;utm_design=32\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"http:\/\/img.banggood.com\/deals\/affiliate_member_banner\/6ffad86b9a8dd4a3e98df1b0830d1c8c44.jpg\"><\/a><\/center><span style=\"font-size: large;\"><b><br class=\"none\">Get BT Bot Control: <\/b><span style=\"font-size: 12px;\"><br \/>\n<\/span><\/span><\/p>\n<p><a style=\"font-size: 13px;\" href=\"https:\/\/play.google.com\/store\/search?q=pub:PixelMason\" target=\"_new\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/developer.android.com\/images\/brand\/en_generic_rgb_wo_45.png\" alt=\"Get it on Google Play\"><\/a><\/p>\n<p>If you are an existing BT Bot Control user, <a href=\"http:\/\/www.plastibots.com\/?page_id=6\">drop me a line<\/a> on your project so I can feature it here.<\/p>\n<p><strong style=\"font-size: large;\"><br class=\"none\">Arduino Sample Sketches:<\/strong><\/p>\n<p><strong>BT Bot Control &#8211; Recent Versions:<\/strong><\/p>\n<p>This version includes sample code to demonstrate sending data from the Arduino to BT Bot Control (you must have v 5.1.0 or later). &nbsp;It uses a Timer (<a title=\"Timer Library\" href=\" https:\/\/github.com\/JChristensen\/Timer\" target=\"_blank\" rel=\"noopener noreferrer\">library here<\/a>) to call sending data every second (recommended).<\/p>\n<ul>\n<li><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControl15DefaultModeJoystick.zip\">BT Bot Control Arduino Sketch<\/a>&nbsp;(for BT Bot Control v5.1.0 or later)<\/li>\n<\/ul>\n<p><strong>BT Bot Control &#8211; Earlier Versions prior to v 5.1.0:<\/strong><\/p>\n<ul>\n<li>Default Mode Joystick Sketch: &nbsp;<a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControl12DefaultModeJoystick1.zip\">BTBotControl12DefaultModeJoystick<\/a><\/li>\n<li>Simple Mode Joystick Sample Sketch: &nbsp;&nbsp;<a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControl12SimpleJoystickSample.zip\">BTBotControl12SimpleJoystickSample<\/a><\/li>\n<\/ul>\n<p><em>Note: &nbsp;For this project, I used a <a title=\"Digispark Homepage\" href=\"http:\/\/digistump.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Digispark<\/a> (Arduino-based micro controller). &nbsp;This sample sketch is targeted for a Digispark (ATTiny85), but was also tested on an Uno, so it should work for most Arduino&#8217;s. &nbsp; If using an ATTiny, remove any Serial.Print statements. Also watch the size of the sketch as there are limitations on the ATTiny85. &nbsp;<\/em><\/p>\n<p><strong><span style=\"font-size: large;\"><br class=\"none\">Displaying Sensor Data in BT Bot Control:<\/span><\/strong><\/p>\n<p>BT Bot Control (version 5.1.0 (14)) now has the ability to display sensor and other data from Arduino. &nbsp;Before getting into specifics, note that this feature is experimental due to the nature of both the joystick and sensor data using Bluetooth at the same time. &nbsp;Adding sensor polling may slow the robot&#8217;s response to joystick movements. &nbsp;Be sure to test this feature before implementing.<\/p>\n<p>On the Arduino side, you need only add Serial.Print() commands to print sensor \/ data results to the serial port. &nbsp; The data also requires a start and end delimeter. &nbsp;For BT Bot Control, the &#8220;&gt;&#8221; (start) and &#8220;&lt;&#8221; (end) delimeters are uses. &nbsp;If you are passing more than one data item, each much be separated by a pipe character &#8220;|&#8221;. &nbsp;A simple single item example would be <em>Serial.Print(&#8220;&gt;MyData&lt;&#8220;)<\/em>; &nbsp; This would display &#8220;MyData&#8221; once BT Bot Control has been configured. &nbsp;When enabled in BT Bot Control, the sensor \/ data information will show at the bottom of the main interface.<\/p>\n<p>In BT Bot Control, go to Settings, check the box for &#8220;<em>Enable Sensor \/ Data Polling<\/em>&#8220;. &nbsp;This will reveal other options as follows:<\/p>\n<ul>\n<li>Manual \/ Timer base polling. &nbsp;In manual mode, you have to click the refresh icon that will be shown beside the data. &nbsp;Timer-based polling will automatically poll ever X seconds. &nbsp;The frequency can be configured by moving the slider (ranges from 1-30 seconds)<\/li>\n<li>Data Element Titles. &nbsp;This allows you to give each data element a title. &nbsp;If left blank, the app will use default values. &nbsp;i.e. Result =. &nbsp; &nbsp;To add titles, separate each item by a comma. &nbsp;i.e. &nbsp;<em>Temperature =, Humidity =.&nbsp;<\/em>Save the changes when done. &nbsp; Note that each title will be assigned to each data item parsed in the order it was passed. &nbsp;(example below)<\/li>\n<\/ul>\n<p>Example Arduino code:<\/p>\n<p><strong><span style=\"color: #ff6600;\">\/\/Include and initiate the Timer library in the header section<\/span><\/strong><\/p>\n<p><span style=\"font-family: 'courier new', courier;\">#include &#8220;Timer.h&#8221; &nbsp; &nbsp;\/\/get it here: https:\/\/github.com\/JChristensen\/Timer<\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier;\">Timer t;<\/span><\/p>\n<p><span style=\"color: #ff6600;\"><strong>\/\/in the <em>void Setup()<\/em> section add the below code:<\/strong><\/span><\/p>\n<p>int sendData = t.every(1000, doDataSend);<\/p>\n<p><strong><span style=\"color: #ff6600;\">\/\/At the beginning of <em>void loop() <\/em>add:<\/span><\/strong><\/p>\n<p><span style=\"font-family: 'courier new', courier;\">t.update(); &nbsp;\/\/timer for sending data<\/span><\/p>\n<p><strong style=\"color: #ff6600; font-size: 13px;\">\/\/The below flag is included in the code to stop data from being sent when data is being received from the joystick. &nbsp;It is highly recommended that this is include. &nbsp;The value is set to true in<em>&nbsp;while(Serial.available() &gt; 0)<\/em> and set back to false after the motors are driven or turned off.<\/strong><\/p>\n<p><span style=\"font-family: 'courier new', courier;\">receivingCommands = true;<\/span><\/p>\n<p><span style=\"color: #ff6600;\"><strong style=\"font-size: 13px;\">\/\/Here&#8217;s a sample showing &nbsp;data being sent. &nbsp;Note that passed data must begin with a &#8220;&gt;&#8221; and end with a &#8220;&lt;&#8221; delimiter. &nbsp;All data sent via Serial.print within these delimiters will be passed to BT Bot Control.<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"font-family: 'courier new', courier;\"><em>void doDataSend()<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em>{<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> \/\/TESTING PRINTING SENSOR DATA TO BT BOT CONTROL<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em>if (!receivingCommands)<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> {<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.print(&#8220;&gt;&#8221;); \/\/Start of String<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.print(counter); <\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.print(&#8220;|73%&#8221;); <\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.print(&#8220;|25\u00b0 C&#8221;); \/\/degrees = ALT + 0176<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.print(&#8220;|item4|item5&#8221;);<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> Serial.println(&#8220;&lt;&#8220;); \/\/End of Content<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> counter ++;<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> }<\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em> \/\/END TESTING PRINTING SENSOR DATA TO BT BOT CONTROL <\/em><\/span><br \/>\n<span style=\"font-family: 'courier new', courier;\"><em>}<\/em><\/span><\/p>\n<p>Based on the above example there are 2 data elements being sent. &nbsp;If you did not configure any titles in Data Element Titles, the results would look like this: &nbsp;<em>Result = 75\u00b0 Result = 45% &nbsp;<\/em>If you added two titles; Temperature =, Humidity =. &nbsp;You would get&nbsp;<em>Temperature = 75\u00b0 &nbsp;Humidity = 45%<\/em><\/p>\n<p><em>&nbsp;<\/em>Note: &nbsp;During testing, it was observed that a sketch that ran very fast (i.e. with little delays), would not render data well to BT Bot Control. &nbsp;If this happens, try adding delay (100); or more to your code. &nbsp;Also note that this will affect the joystick commands and how the robot is driven. Alternatively, you can get creative by having the sensor data only send every x cycles (i.e. if your delay is 10 ms, put the sensor data print commands in a function and call them every X iterations. &nbsp;I suggest having them sent every 1 second.<\/p>\n<p>Note that any Serial.Print command that is placed within the &#8220;&gt;&#8221; and &#8220;&lt;&#8221; will be parsed by BT Bot Control and displayed.<\/p>\n<div id='gallery-1' class='gallery galleryid-2596 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/index.php\/2013\/03\/07\/btbotcontrol\/screenshotmaster2_1280x800-copy\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/ScreenshotMaster2_1280x800-Copy-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/ScreenshotMaster2_1280x800-Copy-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/ScreenshotMaster2_1280x800-Copy-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/ScreenshotMaster2_1280x800-Copy-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/ScreenshotMaster2_1280x800-Copy-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/index.php\/2013\/03\/07\/btbotcontrol\/screenshot_2013-12-27-06-04-21\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-04-21-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-04-21-150x150.png 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-04-21-64x64.png 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-04-21-128x128.png 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-04-21-320x320.png 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/index.php\/2013\/03\/07\/btbotcontrol\/screenshot_2013-12-27-06-06-12\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-06-12-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-06-12-150x150.png 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-06-12-64x64.png 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-06-12-128x128.png 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/Screenshot_2013-12-27-06-06-12-320x320.png 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<p><strong><span style=\"font-family: arial, helvetica, sans-serif; font-size: 18px;\"><br class=\"none\">Bluetooth Wiring for Arduino (Nano)<\/span><\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BluetoothHookupWeb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3100\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BluetoothHookupWeb.png\" alt=\"Arduino Nano Bluetooth Wiring\" width=\"651\" height=\"227\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BluetoothHookupWeb.png 1085w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BluetoothHookupWeb-300x104.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BluetoothHookupWeb-1024x356.png 1024w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/a><\/p>\n<div class=\"qa-faqs qa-category cf animation-fade accordion collapsible\">\n\t\t<div class=\"qa-category\">\n\t\t\t<h2 class=\"faq-catname\">BTBotControl - FAQ<\/h2>\n\t\t\t<div id=\"qa-faq0\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/bt-bot-control-vs-wifi-bot-control-which-is-faster\/\">BT Bot Control vs WiFi Bot Control &#8211; Which is faster?<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>Although the function of both these apps is the same, there are some underlying differences that are important to making your decision on which route to go. \u00a0In general, BT Bot Control is faster in getting joystick commands to the robot. This is inherent in the design as it uses a direct link over Bluetooth between the Android device and your robot. \u00a0WiFi Bot Control is slower as the commands have to a) share traffic with your WiFi network (this includes your IP camera stream), and b) are first sent to a server, and then to the robot. \u00a0This is mitigated somewhat with the introduction of WiFi-enabled Arduino devices such as the Spark Core and Adafruit CC3000). \u00a0 However, if you do not have one of these devices, you would need to use a server with a webserver. \u00a0 BT Bot Control is also easier to set-up and configure. \u00a0Once you have a Bluetooth connection, the sketch can interpret the commands. \u00a0With WiFi Bot Control, there is the intermediary JSON configuration on the server side.<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq1\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/issues-with-viewing-your-ip-camera\/\">Configure IP Camera for Viewing<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>If you are having issues viewing a direct video stream from your IP camera \u00a0(i.e. http:\/\/mycamera.com\/videostream.cgi is not working), have a look at <a href=\"http:\/\/www.ispyconnect.com\/man.aspx?n=foscam\" target=\"_blank\">this<\/a> site to see what varying modes your IP Camera has (be sure to search for your camera). \u00a0 If none of these work, you can setup a webpage to auto-refresh your camera in snapshot mode and then use the URL to the website in BT Bot Control \/ WiFi Bot Control. \u00a0First, you must find the URL that your camera uses to view a snapshot.<\/p>\n<p><span style=\"font-size: 13px;\">Steps:<\/span><\/p>\n<ol>\n<li>You need a website &#8211; either a personal or access to a remote webserver \/ website where you can put some files. \u00a0In this case, we will assume you have a personal webserver and use the following URL www.yoursite.com.<\/li>\n<li>Note: \u00a0If you are setting this up on an internal server, you can refer to internal IP addresses (i.e. 192.168.x.x). However, if you are hosting the page externally, you will have to a) enable port forwarding from an external IP to your camera and b) refer to the camera (within the file below) by your network&#8217;s external IP and port #. \u00a0For this example, all references will assume you have a personal webserver and the IPs are internal.<\/li>\n<li>Download <strong><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamSnapshotJavascript.zip\">these<\/a><\/strong>\u00a0files and place at the root of the website you want to use.<\/li>\n<li>Open default.htm.<\/li>\n<li>You will need to change only the highlighted parts to the full URL that will be used to take a single snapshot image from your IP Camera. \u00a0Before moving on, be sure that you are able to see a snapshot within your PC&#8217;s browser window.<\/li>\n<li>Once complete, call the www.yoursite.com\/default.htm file in your web browser (not BT Bot Control \/ WiFi Bot Control). \u00a0Make sure you see the snapshot image and it should be refreshing. \u00a0The refresh rate is configurable at the bottom (currently set to 100 ms). If it works here, then you can plug this URL into BT Bot Control \/ WiFi Bot Control and you should be able to see the video stream.<\/li>\n<li>Note &#8211; don&#8217;t expect fluid video here folks. This is a crude approach to getting video streaming working in these apps. \u00a0Also note that this is not a limitation of BT Bot Control \/ WiFi Bot Control but rather the web control implementation from Android.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/VideoStreamSample.html.txt\">Video Stream Sample HTML<\/a><\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq2\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/ip-camera-setup\/\">Adding IP Camera URLs<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>Camera Options:<\/p>\n<p>For this project, I used the Ai-Ball tiny IPCam. \u00a0However, take my word for it, it\u2019s a waste of money and a battery pig. It\u2019s only advantage is that it\u2019s small. \u00a0 \u00a0If you are using the Ai-Ball or other similar webcam, the configuration is as noted below. \u00a0If you have a spare phone laying around that has a camera, \u00a0I suggest you get\u00a0<a title=\"IP Webcam - Check it out\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.pas.webcam\" target=\"_blank\">IP Webcam<\/a>\u00a0from Google Play. \u00a0This \u00a0great little app allows you to turn your mobile phone into a webcam and access its video stream. \u00a0The full screen streaming Javascript seems to work best. \u00a0Give it a try \u2013 use your local IP address: \u00a0http:\/\/192.168.x.x:8080\/jsfs.html (check IP Webcam settings).<\/p>\n<p>Assumptions:<\/p>\n<ul>\n<li>You have an IPCamera that is configured and can be viewed in your web browser.<\/li>\n<li>You have the URL, username and password (if necessary) to access the IP camera.<\/li>\n<li>If you are viewing your IP camera outside your network, you will have to setup a dynamic DNS service and\/or port forwarding to remotely access it.\u00a0<\/li>\n<li>Click the Camera settings icon in the menu and setup your camera URL (see below)<\/li>\n<li>Enter the camera URL, click add, and check the button beside the camera you want to view.<\/li>\n<li>You can enter and store up to 3 cameras.<\/li>\n<\/ul>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/11\/Screenshot_2013-11-27-18-11-01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-3060\" alt=\"IP Cam Setup\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/11\/Screenshot_2013-11-27-18-11-01.png\" width=\"320\" height=\"200\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/11\/Screenshot_2013-11-27-18-11-01.png 1280w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/11\/Screenshot_2013-11-27-18-11-01-300x187.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/11\/Screenshot_2013-11-27-18-11-01-1024x640.png 1024w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a><\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq3\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/alternative-ways-to-configure-ip-cameras\/\">Configure IP Camera &#8211; Alternate Approaches<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>If you are having troubles setting up your IP Camera,the following are some approaches that may (or may not) work for your camera. \u00a0Some of these are specific to certain camera manufacturers:<\/p>\n<p>1) <a href=\"http:\/\/foscam.us\/forum\/free-generic-browser-interface-for-foscam-ip-mjpeg-cameras-t2522.html#p10970\" target=\"_blank\">Generic interface to Foscam IP Cameras<\/a>. \u00a0You could build a webpage that displays the camera and then refer to the webpage URL in WiFi Bot Control \/ BT Bot Control. \u00a0Once done, then use the URL you use to access the webpage in the apps.<\/p>\n<p>2) <a href=\"http:\/\/foscam.us\/forum\/post20338.html#p20338\" target=\"_blank\">Interface<\/a> to Foscam H.264 Cameras. \u00a0.. Right click this <a href=\"http:\/\/www.saveontelephonebills.com\/camera\/Generic21V20.htm\" target=\"_blank\">link<\/a>, save to your website folder and edit the IP\/PORT, user and password. Test in your browser befor adding the URL to the apps.<\/p>\n<p>3) Check <a href=\"http:\/\/www.ispyconnect.com\/man.aspx?n=foscam\" target=\"_blank\">this<\/a>\u00a0site and search for your camera. \u00a0It will show you various ways to get access to direct stream and snapshot modes for IP Cameras<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq4\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/connecting-to-bluetooth\/\">Connecting to Bluetooth<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTConfig.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2644\" alt=\"FAQBTConfig\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTConfig.png\" width=\"315\" height=\"54\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTConfig.png 315w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTConfig-300x51.png 300w\" sizes=\"auto, (max-width: 315px) 100vw, 315px\" \/><\/a>Setting up Bluetooth is easy:<\/p>\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTSettings.png\">\u00a0<\/a><\/p>\n<ul>\n<li>Before starting BTBotControl, make sure Bluetooth is turned on.<\/li>\n<li>Make sure the Bluetooth device you are connecting to is powered on and you have previously paired the Bluetooth unit to your Android device.<\/li>\n<li>Open BTBotControl and click the Bluetooth Settings icon (A). \u00a0 You will see a screen similar to below. \u00a0Select your Bluetooth device.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2645\" alt=\"FAQBTSettings\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTSettings.png\" width=\"400\" height=\"102\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTSettings.png 400w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/FAQBTSettings-300x76.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<ul>\n<li>After a few seconds, your Bluetooth device should be connected, and you should see a message indicating this.<\/li>\n<li>The main window will update by showing the MAC address of the connected Bluetooth device (below the camera viewing window). \u00a0The icon for Bluetooth Connect (B above) will also change (arrows facing out).<\/li>\n<li>To disconnect the Bluetooth device, click the Bluetooth Connect\/Disconnect icon (B above). \u00a0After it is clicked, the Bluetooth status will be updated to show &#8220;disconnected&#8221; (below the camera viewing window) and the Bluetooth Connect\/Disconnect icon (B) will change to an icon with arrows pointing in.<\/li>\n<li>To quickly reconnect, click the Bluetooth Connect\/Disconnect icon (B above).<\/li>\n<\/ul>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq5\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/bluetooth-does-not-enable\/\">Bluetooth &#8211; Issues Enabling<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>If Bluetooth is disabled when you open BT Bot Control, the app will ask you if you want to enable it. Click yes to enable Bluetooth. Your Android phone will ask you if you want to proceed. Click Yes. If, Bluetooth still does not enable, check your Airplane Mode settings. \u00a0If Airplane Mode is enabled, it will restrict the ability to turn Bluetooth on. You must disable Airplane Mode to turn Bluetooth on.<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq6\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/how-do-i-tell-if-data-is-being-sent-over-bluetooth\/\">How do I tell if data is being sent over Bluetooth?<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>You can verify that BTBotControl is sending data over Bluetooth by using an application such as <a href=\"http:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/\" target=\"_blank\">Putty<\/a>. You can do this by connecting your Android device to your computer\/laptop over Bluetooth. Before using Putty, make sure you have <a href=\"https:\/\/www.google.ca\/search?q=bluetooth+pairing\" target=\"_blank\">paired <\/a>the two devices and they are connected. To configure putty, setup a serial connection pointing to the Com Port (Serial Line) that your Bluetooth device\/dongle is connected to. Typical speed settings are 9600 (Baud). Once configured, open the connection and then connect BTBotControl to your computer. Once it is connected, you should see coordinate \/ command data stream through when using the controls on BTBotControl.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2674\" alt=\"putty\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/putty.jpg\" width=\"456\" height=\"438\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/putty.jpg 456w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/putty-300x288.jpg 300w\" sizes=\"auto, (max-width: 456px) 100vw, 456px\" \/><\/p>\n<p style=\"text-align: center;\">\u00a0<\/p>\n<p style=\"text-align: left;\">If you have verified that data is being sent using Putty, but something still appears to \u00a0be wrong in the Sketch. \u00a0Try using Serial Print statements within the section of code where Bluetooth data is parsed and watch the response in the Arduino IDE Serial Monitor. \u00a0<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq7\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/how-do-i-use-the-values-being-sent-in-my-program\/\">Joystick Modes and Sending Data Over Bluetooth<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>There are two joystick modes. \u00a0Default and Simple Joystick:<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>*** Remember &#8211; the Free version will send the number 9 for all joystick (Default\/Simple) and Command Buttons. \u00a0The <a href=\"https:\/\/play.google.com\/store\/search?q=pixelmason\" target=\"_blank\">Pro <\/a>version will send actual values.<\/strong><\/span><\/p>\n<p><strong>Default Joystick Mode:<\/strong><br \/> When you move the ball around, coordinates are generated as X+\/- and Y +\/- and can be used to interpret both velocity and direction. These are packaged and sent in the following format: sX=val,Y=vale i.e. <strong>sX=75,Y=55e<\/strong> where &#8216;s&#8217; indicates the start and &#8216;e&#8217; indicates the end. In this mode, when you press a Command Button, values are sent in the following format: sC=[val]e (i.e. For Command #2 <strong>sC=2e<\/strong> is sent) where &#8216;s&#8217; indicates the start, &#8216;C&#8217; indicates it is a command button, &#8216;2&#8217; is the value that you want to parse and &#8216;e&#8217; indicates the end. These values can be parsed to have your robot move and perform additional tasks. (sample Arduino code provided at link below)<\/p>\n<p><strong>Simple Joystick Mode:<\/strong><br \/> In Simple mode, you tap the arrows which generate single character values depending on the arrow you tapped (i.e. the top arrow sends U). Values generated are: U (up), D (down), L (left), R (right). Tapping the center of the joystick sends an S value (stop). Tapping any of the command value sends the respective command number. i.e. tapping Command Button 3, sends 3. In this mode, your micro-controller code can be simplified as need only parse single character values.In this mode, when you press a Command Button, values are sent as single characters in the value of the Command Button. i.e. If you press Command Button 3, the value 3 is sent. (sample Arduino code provided at link below)<\/p>\n<p>You can change between Default and Simple modes in the Settings section.<\/p>\n<p>There are two example Arduino programs &#8211; one for Default mode, and one for Simple mode. \u00a0 They have routines built into them to parse the values being sent over Bluetooth and performing motor actions.<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<div id=\"qa-faq8\" class=\"qa-faq\">\n\t\t\t<h3 class=\"qa-faq-title\"><a class=\"qa-faq-anchor\" href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/btbotcontrol-version-history\/\">Version History<\/a><\/h3>\n\t\t\t<div class=\"qa-faq-answer\"><p>Check out <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=appinventor.ai_picoware.BTBotControlPro\" target=\"_blank\">BT Bot Control<\/a> on Google Play for the most recent updates.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>V5.0.7 \u2013 April 16 2013:<\/strong><\/span><\/p>\n<p>:: \u00a0Pro Version: \u00a0Fixed issue with Default Joystick and data being returned from joystick movement. Only affects small screen devices.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>V5.0.6 \u00a0&#8211; April 12 2013:<\/strong><\/span><\/p>\n<p>Settings:<\/p>\n<p>:: New: \u00a0Added Simple Joystick Mode. \u00a0\u00a0Allows for simple joystick control using arrows. \u00a0Sends single char data via Bluetooth as (U,D,L,R).\u00a0 Command Buttons send data as (1 to 8).<\/p>\n<p>Help:<\/p>\n<p>:: Cleaned up the Help page content.<\/p>\n<p>About:<\/p>\n<p>:: Added Simple Joystick Mode info.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>v5.0.5 &#8211; April 6 2013 :<\/strong><\/span><\/p>\n<p>Settings:<\/p>\n<p>:: NEW! Added option to turn on additional command buttons (5-8). Will send values as numbered. i.e. Command button 5 sends sC=5e. The enable them, go to the Settings section.<\/p>\n<p>:: \u00a0Discovered that an &#8220;emergency stop&#8221; on the joystick is necessary when in Orientation Sensor mode. \u00a0When in this mode and controlling your robot, you may need to change a setting, add a camera etc. \u00a0Tapping the joystick will temporarily disable the Orientation Sensor control and bring the Joystick to 0,0 so your robot does not move. \u00a0Tapping the joystick again will turn the Orientation Sensor back on. \u00a0Note &#8211; this only works when the Orientation Sensor is enabled in Settings.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>v5.0.4 &#8211; April 3 2013:<\/strong><\/span><br \/> Settings:<br \/> :: Updated Bluetooth Packet Delay component. New slider. Better notifications.<br \/> :: Updated notifications for Joystick Touch Down Action.<br \/> :: Added ability to switch between joystick or orientation sensor to control the joystick. \u00a0You can now tilt\/roll the phone to control your robot. \u00a0 \u00a0Note \u2013 Joystick Touch Down Action is disabled when this is on.<br \/> Other<br \/> :: Cleaned up notifications.<br \/> :: Improved joystick response.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Earlier Versions:<\/strong><\/span><\/p>\n<p>Coming soon.<\/p>\n<\/div><!--.qa-faq-answer-->\n\t\t\t\t<\/div><!--.qa-faq-->\n\t\t\t<\/div><!--.qa-category-->\n\t\t<\/div><!--.qa-faqs -->\n<p style=\"text-align: left;\"><span style=\"font-size: large;\"><strong><br class=\"none\">Video: &nbsp;BT Bot Control In Action<\/strong><\/span><\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/www.youtube.com\/embed\/mogQt5MjWzs\" width=\"425\" height=\"350\" frameborder=\"0\"><\/iframe><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: large;\"><strong><br class=\"none\">Video: &nbsp;BT Bot Control Bluetooth Connection Testing<\/strong><\/span><\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/www.youtube.com\/embed\/JyRcQh6R4DU\" width=\"425\" height=\"350\" frameborder=\"0\"><\/iframe><\/p>\n<p><span style=\"font-size: large;\"><strong><br class=\"none\">Pictures of CamBot:<\/strong><\/span><\/p>\n<div id='gallery-2' class='gallery galleryid-2689 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-2-2651\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster1-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-2-2651'>\n\t\t\t\tIPCamBot\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-2-2652\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster2-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-2-2652'>\n\t\t\t\tIPCamBot\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-2-2653\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-300x297.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-1024x1016.jpg 1024w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3-320x320.jpg 320w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster3.jpg 1280w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-2-2653'>\n\t\t\t\tIPCamBot\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-2-2654\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster4-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-2-2654'>\n\t\t\t\tIPCamBot\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" aria-describedby=\"gallery-2-2655\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/CamBotMaster5-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div>\n\t\t\t\t<figcaption class='wp-caption-text gallery-caption' id='gallery-2-2655'>\n\t\t\t\tIPCamBot\n\t\t\t\t<\/figcaption><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1.jpg'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1-150x150.jpg 150w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1-64x64.jpg 64w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1-128x128.jpg 128w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/IPCamBotMaster1-320x320.jpg 320w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlScreenArtweb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2687\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlScreenArtweb-300x174.png\" alt=\"BTBotControlScreenArtweb\" width=\"300\" height=\"174\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlScreenArtweb-300x174.png 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlScreenArtweb.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong><span style=\"font-family: arial, helvetica, sans-serif; font-size: large;\"><br class=\"none\">User&nbsp;Projects<\/span><\/strong><\/p>\n<p style=\"text-align: center;\">Check out Umur&#8217;s&nbsp;Omnidirectional Bluetooth Controlled Robot:<\/p>\n<p><iframe loading=\"lazy\" title=\"Omnidirectional Bluetooth Controlled Robot\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/3oF4IVZ8vLk?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><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\">Check out&nbsp;<a href=\"http:\/\/blog.huv.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Jon&#8217;s Place<\/a>&nbsp;for a very cool 3D printed roboot.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/1.bp.blogspot.com\/-UOiuuhrIUq4\/Uq4x2TSOi_I\/AAAAAAAACYw\/E3Q3Ru70Gm8\/s320\/Micro-Crawler-01.png\" alt=\"Jon's Robot\" width=\"320\" height=\"180\"><\/p>\n<p style=\"text-align: center;\">RC Truck<\/p>\n<p><a href=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlUserProject2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3756 size-medium aligncenter\" src=\"http:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlUserProject2-300x225.jpg\" alt=\"RC Truck using BT Bot Control\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlUserProject2-300x225.jpg 300w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlUserProject2.jpg 1024w, https:\/\/www.plastibots.com\/wordpress\/wp-content\/uploads\/2013\/03\/BTBotControlUserProject2-640x480.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BT Bot Control is an Android application that allows you to remotely control a micro controller-based robot using Bluetooth (i.e. Arduino). &nbsp;It also allows you to (optionally) view a video stream from an IPCamera mounted to your robot. &nbsp;This could be any type wireless IP camera or phone that has the ability to broadcast a video stream\/images to the web. &nbsp;Example Foscam, Ai-Cam etc. &nbsp;If you are looking to control your robot over WiFi, check &hellip; <a href=\"https:\/\/www.plastibots.com\/index.php\/faqs\/btbotcontrol-version-history\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[76,65,78,6,57,3,19],"tags":[79,132,64,133,85,93,80,77],"class_list":["post-2596","post","type-post","status-publish","format-standard","hentry","category-android","category-arduino-electronics","category-bluetooth","category-dyihacks","category-electronics","category-legorobots","category-remote-controlled","tag-ai-cam","tag-android","tag-arduino","tag-bluetooth","tag-cambot","tag-foscam","tag-ipcam","tag-lego","has_no_thumb"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pK41j-FS","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/2596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/comments?post=2596"}],"version-history":[{"count":2,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/2596\/revisions"}],"predecessor-version":[{"id":6075,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/posts\/2596\/revisions\/6075"}],"wp:attachment":[{"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/media?parent=2596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/categories?post=2596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.plastibots.com\/index.php\/wp-json\/wp\/v2\/tags?post=2596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}