<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIBQns-eSp7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975</id><updated>2012-02-16T01:29:13.551-08:00</updated><category term="SOA Data Historian Nimbits" /><category term="Data historian SOA SDK java .net" /><category term="temperature monitor probe nimbits java ubuntu" /><title>Nimbits Tutorials</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://nimbits.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Nimbits" /><feedburner:info uri="nimbits" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU4DRHwyeyp7ImA9WhdbEko.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-8233841491718598538</id><published>2011-10-10T13:19:00.000-07:00</published><updated>2011-10-10T13:19:35.293-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-10T13:19:35.293-07:00</app:edited><title>Machine To Machine (M2M) Communication with Nimbits in the Cloud</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You can use &lt;a href="http://www.nimbits.com/"&gt;Nimbits&lt;/a&gt; to do much more than record sensor readings to the cloud. You can create a data point and store a history of&amp;nbsp;data objects in them in any format that can be serialized into a string i.e JSON or XML. &amp;nbsp;A Nimbits data point can be used to relay data between software systems, or hardware devices such as arduino, using the cloud as a&amp;nbsp;back end.&lt;br /&gt;
&lt;br /&gt;
You can create streams of data objects, and store them in a data point series. The data can then be accessed from anywhere, and used to shape the behavior of connected devices and software.&lt;br /&gt;
&lt;br /&gt;
In other words, you can serialize a class containing any sort of data, feed it into a data point on the cloud, and then read that data from anywhere to drive software systems, or devices connected to Nimbits data points.&lt;br /&gt;
&lt;br /&gt;
This tutorial shows you how I use the Nimbits SDK to relay the tell a robot how to feel. Take, for example this class called Robot - it contains three emotional states, happy, sad and angry. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;public class Robot {
    Emotion emotion;

    enum Emotion {
        happy,sad,angry
    }
    
    public Robot() { //don't forget a no arg constructor
    }
    
    public Emotion getEmotion() {
        return emotion;
    }

    public void setEmotion(Emotion emotion) {
        this.emotion = emotion;
    }  
}

&lt;/pre&gt;&lt;br /&gt;
I have a data point on Nimbits call MyRobot. I want to transmit an emotional state to the robot, as well as GPS Coordinates of where it is, a number value ranking the level of that state, and an instance of the class above:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;public void sendData() throws Exception {
 Robot robot = new Robot();
 robot.setEmotion(Robot.Emotion.happy);
 Value value = ValueModelFactory
    .createValueModel(40.111, -75.146,10, 
    "I'm a happy robot", robot);

 client.recordValue(pointName, value);
}


&lt;/pre&gt;&lt;br /&gt;
Let's imagine somewhere else in the world, the robot is connected to the internet and is monitoring this data point on Nimbits. It can get the latest value being sent to it, recieving the robot class and the emotion being sent to it:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="prettyprint"&gt;public void getData()  {
  
 Robot robot = (Robot) client.getCurrentDataObject(pointName, Robot.class);
 if (robot.getEmotion() == Robot.Emotion.angry) {
   destroyAllHumans();
 }
 else {
   eatHerringSandwiches();
 }

&lt;/pre&gt;&lt;br /&gt;
Our Robot downloads the current emotional state from the cloud and carries out it's instructions. In this case, the robot is happy so the human race is lucky.&lt;br /&gt;
&lt;br /&gt;
What's happened here is this:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;The data was recorded to the cloud&lt;/li&gt;
&lt;li&gt;All of the things Nimbits does when it gets a new value in a Point is available, such as alerts, compression, calculations and so on.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The stored value is instantly&amp;nbsp;accessible&amp;nbsp;from anywhere&lt;/li&gt;
&lt;li&gt;The current value can be tied into other systems to trigger behavior.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Learn more at &lt;a href="http://www.nimbits.com/"&gt;nimbits.com&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-8233841491718598538?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4eTjhIHWC2qWSb1pBJAL5Mj4SQI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4eTjhIHWC2qWSb1pBJAL5Mj4SQI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4eTjhIHWC2qWSb1pBJAL5Mj4SQI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4eTjhIHWC2qWSb1pBJAL5Mj4SQI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/E4H7QZ7sSe4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/8233841491718598538/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2011/10/machine-to-machine-m2m-communication.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8233841491718598538?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8233841491718598538?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/E4H7QZ7sSe4/machine-to-machine-m2m-communication.html" title="Machine To Machine (M2M) Communication with Nimbits in the Cloud" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2011/10/machine-to-machine-m2m-communication.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcEQHc8fyp7ImA9WhdXEUQ.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-1744814355790428964</id><published>2011-08-24T07:41:00.000-07:00</published><updated>2011-08-24T07:43:21.977-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-24T07:43:21.977-07:00</app:edited><title>[Data In] Linux Command Line Data Logging</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Nimbits provides you with an SDK (software development kit) that allows you to develop your own software using libraries we provided. These libraries simplify the use of the REST API which are web services you can also use to access Nimbits data.&lt;br /&gt;
&lt;br /&gt;
Nimbits has a collection of REST web services you can use to create data points, categories, and read and write data to data points. &amp;nbsp;These services use Nimbits' built in authentication process using a secret key, or you can use Google account credentials. The SDK just saves you the trouble of figuring out google's authentication process and gives you easy to use functions to automate your use of Nimbits.&lt;br /&gt;
&lt;br /&gt;
Debian and Ubuntu users can write scripts that use Nimbits by installing the SDK from our repository. This &amp;nbsp;simply installs the java nimbits library JAR on your system and puts a shell script called nimbits in your path so you can script against nimbits at the command line like this:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;b&gt; $nimbits action=recordvalue point=foo value=42.0 email=test@example.com password=secretpassword&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Installing&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Before installing Nimbits, you'll want to install Java and ensure it's on your class path. You can know this by opening a teminal and typing&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style="color: #444444;"&gt;&lt;b&gt;$java -version &lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
You can install java using a command like this:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;span style="color: #444444;"&gt;&lt;b&gt;$sudo apt-get install openjdk-6-jdk &lt;/b&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
You can install the Nimbits SDK using aptitude from our repository. This will keep you up to date with new versions of the SDK. Learn more about debian repositories here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://help.ubuntu.com/community/Repositories/Ubuntu"&gt;&lt;span style="color: blue;"&gt;https://help.ubuntu.com/community/Repositories/Ubuntu&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Simply edit your&amp;nbsp;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;b&gt;/&lt;span style="color: #444444;"&gt;etc/apt/sources.list&lt;/span&gt;&lt;/b&gt; file and add the following line to the bottom&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #444444;"&gt;&lt;b&gt;&lt;span style="background-color: white; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;span style="font-family: courier, monospace;"&gt;deb http://deb.nimbits.net/packages/ ./&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;then run:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; color: #444444; font-family: courier, monospace; font-size: x-small; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #444444; font-family: courier, monospace; font-size: x-small; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;b&gt;sudo apt-get update&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; color: #444444; font-family: courier, monospace; font-size: x-small; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;b&gt;sudo apt-get upgrade&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;You will be prompted to install nimbits. (you may also get a warning that you are unable to authenticate us, please enter Y To continue).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; text-align: -webkit-auto;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;You can add &lt;b&gt;&lt;span style="color: #444444;"&gt;/opt/nimbits/nimbits.jar&lt;/span&gt;&lt;/b&gt; to your java programs and use all of the methods in there to program against a Nimbits Server, or you can use the command line interface to write bash scripts. The SDK provides a tools for storing URL, password and account information in a hash file on your system. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;Please visit the &lt;a href="http://code.google.com/p/nimbits-server/wiki/NimbitsSdk?ts=1314196773&amp;amp;updated=NimbitsSdk"&gt;Nimbits SDK WIKI&lt;/a&gt; for more samples and information. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: large; white-space: pre-wrap;"&gt;&lt;b&gt;Example&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;Here is an example command the records a value to a data point using the hashed credential file mentioned above. The file contains the url of the Target Nimbits Server and credentials. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="font-family: courier, monospace;"&gt;&lt;span style="font-size: 14px; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="color: #444444; font-family: courier, monospace; font-size: x-small;"&gt;&lt;span style="white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #444444; font-family: courier, monospace; font-size: x-small;"&gt;&lt;b&gt;#!/bin/bash&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #444444; font-family: courier, monospace; font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #444444; font-family: courier, monospace; font-size: x-small;"&gt;&lt;b&gt;KEY=[path to my key file]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #444444; font-family: courier, monospace; font-size: x-small;"&gt;&lt;b&gt;nimbits -point=foo -action=recordvalue -value=1.0 -i=$KEY&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: -webkit-auto;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style="background-color: white; font-family: courier, monospace; font-size: 14px; text-align: -webkit-auto; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-1744814355790428964?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dS4EVL_3P5eyhPRviVkJeiTmjoM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dS4EVL_3P5eyhPRviVkJeiTmjoM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dS4EVL_3P5eyhPRviVkJeiTmjoM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dS4EVL_3P5eyhPRviVkJeiTmjoM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/COifPV8c12U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/1744814355790428964/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/data-in-linux-command-line-data-logging.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1744814355790428964?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1744814355790428964?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/COifPV8c12U/data-in-linux-command-line-data-logging.html" title="[Data In] Linux Command Line Data Logging" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/data-in-linux-command-line-data-logging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIGRng4eCp7ImA9WhdWEks.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-2770814679059504208</id><published>2011-07-03T10:23:00.000-07:00</published><updated>2011-09-05T15:42:07.630-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T15:42:07.630-07:00</app:edited><title>Process Diagrams with SVG</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wKRtNN0oMh0/ThCcZh1I3KI/AAAAAAAAA8g/kyjbnuGeH6A/s1600/9851060750904.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/-wKRtNN0oMh0/ThCcZh1I3KI/AAAAAAAAA8g/kyjbnuGeH6A/s400/9851060750904.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Whenever you walk in to manufacturing or process control centers, you see the giant overhead displays and monitors with graphics on them used to monitor systems. &lt;br /&gt;
&lt;br /&gt;
These graphics were drawn by engineers using very expensive tools that then connect those graphics to data historians and process control systems. It was my desire to have this kind of interface for a home, small business, or hobbyist that first inspired me to develop Nimbits. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can create a Process Diagram in Nimbits in &lt;a href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics"&gt;SVG format&lt;/a&gt; to make a visual&amp;nbsp;representation&amp;nbsp;of your systems and display changing point values, color changing alerts and link to other diagrams and web pages. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GsSytfrYI5U/ThCjrqYwDgI/AAAAAAAAA80/ygmHTRZqKCs/s1600/wax.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="194" src="http://4.bp.blogspot.com/-GsSytfrYI5U/ThCjrqYwDgI/AAAAAAAAA80/ygmHTRZqKCs/s320/wax.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I use &lt;a href="http://inkscape.org/"&gt;InkScape&lt;/a&gt; to draw my diagrams. It is a free and open source project that runs on Windows and Linux. You can install it on Ubuntu right from the repository, or download it on windows, macs and&amp;nbsp;Linux&amp;nbsp;systems from &lt;a href="http://inkscape.org/"&gt;http://inkscape.org/&lt;/a&gt;. Nimbits can display most SVG Diagrams, and the official doc for adding live point data to them is &lt;a href="http://code.google.com/p/nimbits-server/wiki/DataDiagram"&gt;available here on the Nimbits Wiki.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I like to use my aquarium as an example for Nimbits, even though it can do much more than monitor fish. First, it's a simple, closed system with a lot of moving parts. Secondly, i'd like to see if I can make my fish tank a tax deduction.&lt;br /&gt;
&lt;br /&gt;
Since Nimbits diagrams can be made public, so anyone can see them. &amp;nbsp;Feel free to take a look at my Fish Tanks current status right now here:&lt;a href="http://app.nimbits.com/?diagram=004c357e-ce35-47dc-8543-4d123bda454a"&gt; Link to My Aquarium's Process Control Diagram&lt;/a&gt;. &amp;nbsp;You should see something like this (if your using IE, you may need to install Chrome Frame):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lNFANU7Qw_8/ThCfiXPPAKI/AAAAAAAAA8k/OnjlVt1rr_c/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" src="http://3.bp.blogspot.com/-lNFANU7Qw_8/ThCfiXPPAKI/AAAAAAAAA8k/OnjlVt1rr_c/s320/Screenshot-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;This graphic demonstrates the following features:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;Try clicking on the F Temp to see a live chart of current values.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Check out the Temp C value. This is the result of a real time calculation that converts my F reading to C.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The two charts, one showing a water level and the other showing the Temp F are just &lt;a href="http://nimbits.blogspot.com/2010/11/data-out-nimbits-integrates-into-google.html"&gt;Google Charts using the Nimbits Chart API&lt;/a&gt;. You can create any type of chart and embed them in your diagram.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Check out the light, indicating the light is on or off. If you load this graphic at night on the east coast of the US, the light should be black.&lt;/li&gt;
&lt;li&gt;Click on the Pump. &amp;nbsp;It will take you to a drill down graphic to see some data about the pump.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Click on the links, they will take you to external web sites.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;The Data points in this diagram are shared as public points, you can mix private and public points, Nimbits will only show you what you're&amp;nbsp;authorized&amp;nbsp;to see.&lt;/li&gt;
&lt;li&gt;Some of these values are entered manually. The Nitrate value expects a new value once a week, if I forget, the point goes Idle and turns red to remind me to do a test.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Here is how you can do this:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.youtube.com/watch?v=qhTU6zFP7KQ"&gt;Check out the youtube video that walks you though creating a graphic with a single value.&amp;nbsp;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bd66cA3BPlw/ThChiWNRqoI/AAAAAAAAA8o/-5O1GSQXk7c/s1600/Screenshot-3.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="178" src="http://1.bp.blogspot.com/-bd66cA3BPlw/ThChiWNRqoI/AAAAAAAAA8o/-5O1GSQXk7c/s200/Screenshot-3.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.nimbits.com/"&gt;Log into Nimbits&lt;/a&gt; and create your Data Points.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://inkscape.org/"&gt;Download InkScape&lt;/a&gt; and start a new drawing.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Add a Text Box to your drawing&lt;/li&gt;
&lt;li&gt;Click on the Text Box and Select Edit - Edit XML&lt;/li&gt;
&lt;li&gt;Add a point=pointname value, and an action=[value,onoff,alert,idle]&lt;/li&gt;
&lt;li&gt;Based on the action=value, Nimbits will do the following when the graphic is viewed:&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;value - show the current value in the box&lt;/li&gt;
&lt;li&gt;onoff - if the value is zero, turn the shape black, else turn it yellow&lt;/li&gt;
&lt;li&gt;alert - turn the shape red if the point is in an alert state.&lt;/li&gt;
&lt;li&gt;idle - turn the shape red if the point is idle.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;You can also draw a shape and add diagram=diagramName action=self to add a link to another diagram.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;
On the Nimbits Portal, select the "Upload Diagram" button above the Point tree to upload the diagram just like a Point, you can drag it into folders and&amp;nbsp;organize&amp;nbsp;it with your point.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;You can then configure that graphic to share it publicly, or with your connected users.&lt;br /&gt;
&lt;br /&gt;
When you are in the Nimbits Portal, you can click on the graphic to add it to the data display, enter values and trend by clicking on values.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1p5LeXfJUHE/ThCi_7rOSjI/AAAAAAAAA8w/fTeGGmnYhe8/s1600/Screenshot-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://2.bp.blogspot.com/-1p5LeXfJUHE/ThCi_7rOSjI/AAAAAAAAA8w/fTeGGmnYhe8/s640/Screenshot-5.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Here is an XML snippet from my SVG diagram that shows the format of a Nimbits XML Node it is all generated by the drawing program, it's just a matter of adding the action and point properties.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&amp;lt;text &lt;b&gt;action="idle,value" point="PH"&lt;/b&gt; &amp;nbsp;y="187.78877" x="-119.55978"  id="tspan3034-1" id="tspan3198" /&amp;gt;&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #666666; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #666666; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Please visit &lt;a href="http://www.nimbits.com/"&gt;www.nimbits.com&lt;/a&gt; to learn more.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #666666; font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-2770814679059504208?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cimf6xWapcX5LgEuBNuojuzd7SU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cimf6xWapcX5LgEuBNuojuzd7SU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cimf6xWapcX5LgEuBNuojuzd7SU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cimf6xWapcX5LgEuBNuojuzd7SU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/cq3SmB1MFsE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/2770814679059504208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2011/07/process-diagrams-with-svg.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2770814679059504208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2770814679059504208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/cq3SmB1MFsE/process-diagrams-with-svg.html" title="Process Diagrams with SVG" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-wKRtNN0oMh0/ThCcZh1I3KI/AAAAAAAAA8g/kyjbnuGeH6A/s72-c/9851060750904.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2011/07/process-diagrams-with-svg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcHRHc8eSp7ImA9WhZWEU8.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-1412517703790033980</id><published>2011-05-11T08:16:00.000-07:00</published><updated>2011-05-11T08:17:15.971-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-11T08:17:15.971-07:00</app:edited><title>The Nimbits Annotated Timeline chart</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The Nimbits Server UI uses the Google&amp;nbsp;Visualization&amp;nbsp;API to display data in the main portal. You can use the Annotated timeline to slice and dice your data by selecting time ranges and dragging other points into it.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;What's interesting about Nimbits and time ranges, is that it uses one &lt;a href="https://code.google.com/p/nimbits-server/wiki/TimeSpan"&gt;logical algorithm&lt;/a&gt; to attempt to understand what time range you are requesting. This algorithm is used anywhere a timespan is being requested. So if you are pulling data from the &lt;a href="https://code.google.com/p/nimbits-server/wiki/ChartApiService"&gt;chart API web service&lt;/a&gt;, &lt;a href="https://code.google.com/p/nimbits-server/wiki/SeriesService"&gt;downloading a series&lt;/a&gt;, or entering a time range into the chart, you can use the same date formats and nimbits will understand.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="https://code.google.com/p/nimbits-server/wiki/TimeSpan"&gt;You can read more about the types of formats supported here.&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Some examples of timespan requests are a &lt;a href="http://en.wikipedia.org/wiki/Unix_time"&gt;unix epoch time&lt;/a&gt; in milliseconds or seconds, a text date, or even an abstract date like "now" or "*" for the current time, and -1d for one day in the past from the end time.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Nimbits interprets all date requests as a start and end time. Start times can be &amp;nbsp;relative to end times when using an abstract like -7d (the last 7 days) as above.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;When you double click on a data point in Nimbits, the portal opens with a point control window with the current value of the data point in it and the chart control. &amp;nbsp;In order to show useful information right away, Nimbits gets the date of the last recorded value for that point, and the last 100 recorded values from that date. &amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VvWD84XDh4E/TcqkWViM6yI/AAAAAAAAA78/Ae0Iqx1AeOM/s1600/chart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://1.bp.blogspot.com/-VvWD84XDh4E/TcqkWViM6yI/AAAAAAAAA78/Ae0Iqx1AeOM/s400/chart.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;b&gt;Chart Features&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;Enter a start and end timestamp boxes integerate into Nimbit's date interpretation algorithm. Many combinations of date entiry is possible, including a &lt;a href="http://en.wikipedia.org/wiki/Unix_time"&gt;Unix time&lt;/a&gt;, * or now in the end date for the current time, -1d -5h etc in the start time for a relative range to the start time. Read more here.&lt;/li&gt;
&lt;li style="text-align: left;"&gt;Annotations. Any recorded value with a text value in the note field will show as an&amp;nbsp;annotation. Shown here as "Hello"&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Drag and drop. Drag your points or those from your connections into the chart to compare them on the same display.&lt;/li&gt;
&lt;li&gt;Click the unpin button to move the chart, or&amp;nbsp;maximize&amp;nbsp;to full screen.&lt;/li&gt;
&lt;li&gt;The zoom selection will zoom into the current data. &amp;nbsp;Note that you must select a time range and click the refresh button to first download the data you want, then use the zoom options to zoom into that data. The zoom options do not download data outside the selected time range.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;MinY and MaxY selections for changing the Y axis.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Zoom slider at the bottom for zooming in.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-1412517703790033980?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ks71L-TKSZgGDDqslUb3q5EE4os/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ks71L-TKSZgGDDqslUb3q5EE4os/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ks71L-TKSZgGDDqslUb3q5EE4os/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ks71L-TKSZgGDDqslUb3q5EE4os/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/oEeMd_HUdFE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/1412517703790033980/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2011/05/nimbits-annotated-timeline-chart.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1412517703790033980?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1412517703790033980?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/oEeMd_HUdFE/nimbits-annotated-timeline-chart.html" title="The Nimbits Annotated Timeline chart" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-VvWD84XDh4E/TcqkWViM6yI/AAAAAAAAA78/Ae0Iqx1AeOM/s72-c/chart.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2011/05/nimbits-annotated-timeline-chart.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIBSXg-fCp7ImA9WhZQEkk.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-3850804685418220708</id><published>2011-04-19T12:13:00.000-07:00</published><updated>2011-04-19T12:15:58.654-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-19T12:15:58.654-07:00</app:edited><title>Using Nimbits to log unit test performance metrics</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Alternate title: Application, heal thy self.&lt;br /&gt;
&lt;br /&gt;
This article will show you how to add a couple of lines of code to your Unit Tests to change them from simply telling you if your code passes or fails, to all singing all dancing integrations tests that log execution times, enforce SLAs, and even warn you if the test isn't running.&lt;br /&gt;
&lt;br /&gt;
The reason for the alternate&amp;nbsp;title above is that as I was writing the Nimbits source code, I&amp;nbsp;realized&amp;nbsp;that there was an incredible useful aspect to the&amp;nbsp;Nimbits&amp;nbsp;server: I could actually use the server to record how long my tests took to run, and see the history of this performance metric. Nimbits was actually using itself to improve performance. So I could see if changes I made to the code was improving performance or not.&lt;br /&gt;
&lt;br /&gt;
Take, for example this test, which writes 10 random values to a data point called b1.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void testLoadRandom() throws IOException {&lt;br /&gt;
Random r = new Random();&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                 Value v = nimbitsSDK.recordValue("b1", (r.nextDouble() * 100), new Date());&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;Assert.assertNotNull(v);&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp;Assert.assertTrue(v.getKey() &amp;gt; 0);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Good, this test will run once an hour on my Hudson server and fails if any of the 10 values do not get recorded into the b1 data point. &amp;nbsp; This of course, can be any test you are running on any project. In my example here i'm using Nimbits to test and tune Nimbits which I know is a little creepy.&lt;br /&gt;
&lt;br /&gt;
You can add a couple of lines of code to this test to time how long it takes to write these 10 values - that is to make 10 round trips to Nimbits, waiting for each response. &amp;nbsp;We're then going to record how long the test took to run and save that time in another time series Data Point on a Nimbits Server. This way, we can better understand how our system is performing. What's more, there are many built in features we can take advantage of. Check this out.&lt;br /&gt;
&lt;br /&gt;
Here is the same unit test with references to the &lt;a href="http://www.nimbits.com/nimbits-sdk"&gt;Nimbits SDK&lt;/a&gt;, and some code to time the test. We then write the result to the data point&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
@Test&lt;br /&gt;
public void testLoadRandom() throws IOException {&lt;br /&gt;
Date start = new Date();&lt;br /&gt;
Random r = new Random();&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {              Value v = Common.client().recordValue("b1", (r.nextDouble() * 100), new Date());              Assert.assertNotNull(v);              Assert.assertTrue(v.getKey() &amp;gt; 0);&lt;br /&gt;
}&lt;br /&gt;
Date end = new Date();&lt;br /&gt;
long time = (end.getTime() - start.getTime()) / 1000;&lt;br /&gt;
nimbitsSDK.recordValue("Time to record 10 values to b1", time, new Date());&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
I have a data point setup called &lt;b&gt;"Time to record 10 values to b1&lt;/b&gt;" that holds the time each test took to run. Let's take a look at some of the value Nimbits brings to the table besides being able to see how our system performs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Alerts: &amp;nbsp;A data point can be configured to send you an email, text message, twitter etc if a value exceeds a threshold.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Why yes, I'd like to know if the time is over 20 seconds or below 0, both indicating something was wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WDhRj5Ulfmk/Ta3Zvhnhw-I/AAAAAAAAA7w/xZbA3nBQhAA/s1600/Screenshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-WDhRj5Ulfmk/Ta3Zvhnhw-I/AAAAAAAAA7w/xZbA3nBQhAA/s320/Screenshot-1.png" width="286" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Idle Alarms: Nimbits can alert you if a data point is idle when it should have&amp;nbsp;received&amp;nbsp;a value.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Sure, the build can fail on an error, but what if the whole build server or Hudson is down? Nimbits can alert you if a point has not&amp;nbsp;received&amp;nbsp;a new value. Yes, i'd like to know if my hourly tests are not generating data.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dj3Ddp56SSk/Ta3aqXMVK5I/AAAAAAAAA70/3zD-XNSPhr0/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-dj3Ddp56SSk/Ta3aqXMVK5I/AAAAAAAAA70/3zD-XNSPhr0/s320/Screenshot-2.png" width="285" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;See the impact of your code changes:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
The test I wrote above has been humming away for several weeks. Here is a snapshot of the resulting times that spanned the upgrade of the Test Nimbits Server Instance to Nimbits 3.1, being released this week on &lt;a href="http://www.nimbits.com/"&gt;www.nimbits.com&lt;/a&gt;. &amp;nbsp;Imagine going into your boss's office with a chart like this showing real improvement as a result of a code change. (Yes, Nimbits Server 3.1 is way faster)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7k5tbpa7ZU0/Ta3crzJWeaI/AAAAAAAAA74/iZV_dEgM_V0/s1600/Screenshot-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/-7k5tbpa7ZU0/Ta3crzJWeaI/AAAAAAAAA74/iZV_dEgM_V0/s320/Screenshot-3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Obvious improvement with the upgrade, one of the many uses of a Nimbits Server. You can use the live nimbits server, download your own, and get the Nimbits SDK for java and .net on &lt;a href="http://www.nimbits.com/"&gt;www.nimbits.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-3850804685418220708?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hBh0lA6hDQbBnI-8bUIvDXFLO-Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hBh0lA6hDQbBnI-8bUIvDXFLO-Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hBh0lA6hDQbBnI-8bUIvDXFLO-Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hBh0lA6hDQbBnI-8bUIvDXFLO-Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/_bjCwm4Cx8A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/3850804685418220708/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2011/04/using-nimbits-to-log-junit-test.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3850804685418220708?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3850804685418220708?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/_bjCwm4Cx8A/using-nimbits-to-log-junit-test.html" title="Using Nimbits to log unit test performance metrics" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-WDhRj5Ulfmk/Ta3Zvhnhw-I/AAAAAAAAA7w/xZbA3nBQhAA/s72-c/Screenshot-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2011/04/using-nimbits-to-log-junit-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IFQ3k6fip7ImA9Wx9aFE4.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-8291696699877355153</id><published>2011-03-06T08:52:00.000-08:00</published><updated>2011-03-06T11:25:12.716-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-06T11:25:12.716-08:00</app:edited><title>Chat with your Nimbits Data Points over IM</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You can chat with your Nimbits data over any&amp;nbsp;&lt;a href="http://xmpp.org/software/clients.shtml"&gt;XMPP compatible instant&amp;nbsp;messenger&amp;nbsp;client&lt;/a&gt;,&amp;nbsp;And there are a lot of them! Chances are, the IM client on your phone, desktop or browser can talk to a Nimbits Server.&lt;br /&gt;
&lt;br /&gt;
Using IM, you can create points, get current values, record values and list points just like a command prompt at a terminal. &lt;br /&gt;
&lt;br /&gt;
To get started, log into your Nimbits Server - if you are using the public server, just log into &lt;a href="http://app.nimbits.com/"&gt;app.nimbits.com&lt;/a&gt;. Click the&amp;nbsp;"Request IM Invite" button on the top menu, and then check your IM client. You should get a request&amp;nbsp;authorize&amp;nbsp;the Nimbits Server to send you instant messages.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-KOuSkU5b8y4/TXO5X_sZZ5I/AAAAAAAAA7c/_-yCyRNbCM8/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="94" src="https://lh4.googleusercontent.com/-KOuSkU5b8y4/TXO5X_sZZ5I/AAAAAAAAA7c/_-yCyRNbCM8/s320/Screenshot-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
From there, you can send an IM to Nimbits with the following commands&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;? &lt;/b&gt;&amp;nbsp;- Help - list these commands&lt;/li&gt;
&lt;li&gt;&lt;b&gt;c foo&lt;/b&gt; - create a new data point called foo&lt;/li&gt;
&lt;li&gt;&lt;b&gt;foo=42&lt;/b&gt; - set the current value of foo to 42&lt;/li&gt;
&lt;li&gt;&lt;b&gt;foo=bar&lt;/b&gt; - set the current text value of foo to bar&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ls&lt;/b&gt; - list all points and categories&lt;/li&gt;
&lt;li&gt;&lt;b&gt;foo?&lt;/b&gt; &amp;nbsp;get the current value of foo.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Your chat session may look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-Pm13mV_t1q8/TXPfk_z7YzI/AAAAAAAAA7s/f2QkZJZeLnU/s1600/Screenshot-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-Pm13mV_t1q8/TXPfk_z7YzI/AAAAAAAAA7s/f2QkZJZeLnU/s1600/Screenshot-5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
After you authorise Nimbits to send you instant messages, you can also configure a data point to send you an alarm using IM, or just send you an IM any time a point gets a new value.&lt;br /&gt;
&lt;br /&gt;
To set this up, &amp;nbsp;&lt;a href="http://app.nimbits.com/"&gt;log into Nimbits&lt;/a&gt; and double click on a point, you can select the Point Properties menu to configure that data point. &amp;nbsp;You can then check off the box to&amp;nbsp;receive&amp;nbsp;an instant message from Nimbits any time that point records a new value or, under the alarms tab, get an IM if the value is above or below a limit you set.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-pQo-ALhP2OQ/TXO7aX7jEQI/AAAAAAAAA7k/hBvAIC-bfM0/s1600/Screenshot-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://lh4.googleusercontent.com/-pQo-ALhP2OQ/TXO7aX7jEQI/AAAAAAAAA7k/hBvAIC-bfM0/s320/Screenshot-4.png" width="288" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Then, when a new value comes into that data point from anywhere, you'll get an IM from Nimbits. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-8291696699877355153?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JwrJJrEo6mtiFB3rpbSSorjx_lA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JwrJJrEo6mtiFB3rpbSSorjx_lA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JwrJJrEo6mtiFB3rpbSSorjx_lA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JwrJJrEo6mtiFB3rpbSSorjx_lA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/9Nqxx_mupIs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/8291696699877355153/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8291696699877355153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8291696699877355153?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/9Nqxx_mupIs/chat-with-your-nimbits-data-points-over.html" title="Chat with your Nimbits Data Points over IM" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-KOuSkU5b8y4/TXO5X_sZZ5I/AAAAAAAAA7c/_-yCyRNbCM8/s72-c/Screenshot-2.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8EQHY_fCp7ImA9Wx9aE0g.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-7321632734231154733</id><published>2011-03-05T13:00:00.000-08:00</published><updated>2011-03-05T13:00:01.844-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-05T13:00:01.844-08:00</app:edited><title>Connecting Spreadsheets To Nimbits</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;There are many ways to record historical values into Nimbits. You can either write software interfaces using the SDK, or record data manually to points using the Portal, Data&amp;nbsp;Acquisition&amp;nbsp;Studio, or the Android Data Logger.&lt;br /&gt;
&lt;br /&gt;
The fun starts when you use all of the exiting ways to&amp;nbsp;visualize&amp;nbsp;your data as it changes. &amp;nbsp;The posting will help you get your data into&amp;nbsp;popular&amp;nbsp;spreadsheets.&lt;br /&gt;
&lt;br /&gt;
The posting assumes you have &lt;a href="http://app.nimbits.com/"&gt;logged into Nimbits http://app.nimbits.com&lt;/a&gt; and created a data point. For this tutorial, i'm using the point FProbe1 - the point i created in my blog posting showing how to feed a&amp;nbsp;temperature&amp;nbsp;into a data point using a Temp Probe.&lt;br /&gt;
&lt;br /&gt;
You'll also want to set the point to public. Double click on the point to bring up it's properties and check off "Public." &amp;nbsp;This lets anyone see the current value of your point. There are ways to securly access your non-public points using a Secret&lt;a href="http://nimbits.blogspot.com/2009/10/understanding-nimbits-soa-key.html"&gt;&amp;nbsp;key.&lt;/a&gt; But for this demo, let's keep it simple. &amp;nbsp;Since your points and data are connected to your google account, and spreadsheets like excel can't log into Google, we have to either skip the authentication process, or provide nimbits with a secret&amp;nbsp;&lt;a href="http://nimbits.blogspot.com/2009/10/understanding-nimbits-soa-key.html"&gt;key&lt;/a&gt; so it knows who you are.&lt;br /&gt;
&lt;br /&gt;
Making the point public really simplifies things for you, so for this demo let's do just that: (click to enlarge)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S3h4GXfSX0I/AAAAAAAAAzs/YRsnYDhssdg/s1600-h/nscreen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S3h4GXfSX0I/AAAAAAAAAzs/YRsnYDhssdg/s320/nscreen1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now that I have a data point, and it's public. It's value can be accessed using a URL in this format:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://app.nimbits.com/service/currentvalue?point=TempF&amp;amp;email=bsautner@gmail.com"&gt;http://app.nimbits.com/service/currentvalue?point=TempF&amp;amp;email=bsautner@gmail.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can go to that URL right now since my point is public. You'll get one little http response from the system with the current value of that point. &lt;br /&gt;
&lt;br /&gt;
You'll want to replace the point name and your email address. You should be getting excited at this point realizing that if your data is available this way, there are a lot of fun ways to connect to Nimbits.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In Excel 2007&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Click on the cell you want your value to show up in&lt;br /&gt;
2. Select &lt;b&gt;Data&lt;/b&gt; from the Ribbon and click the &lt;b&gt;From Web&lt;/b&gt; icon in the &lt;b&gt;Get External Data&lt;/b&gt; section&lt;br /&gt;
3. Enter your url like the one above and click and click Go.&lt;br /&gt;
4. There is no XML, the result of this service is just the value of the point, so the result page isn't pretty. It's ok, just click the yellow arrow next to your current value:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S3h9hB6HePI/AAAAAAAAAz0/Kv612VU2HWs/s1600-h/nscreen2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S3h9hB6HePI/AAAAAAAAAz0/Kv612VU2HWs/s320/nscreen2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
5. Click import and you're done!&lt;br /&gt;
&lt;br /&gt;
6. Let's also setup excel so your values will update&amp;nbsp;automatically. In my case, i have a temp probe feeding values into this point, so i want to see the changing values in excel&lt;br /&gt;
&lt;br /&gt;
On the Data Ribbon, select Properties. Check off Enable Background refresh and to refresh the data every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S4ad4qYXEzI/AAAAAAAAA0I/CvdaIBfnYL0/s1600-h/Untitled2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S4ad4qYXEzI/AAAAAAAAA0I/CvdaIBfnYL0/s320/Untitled2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
You can now use your data feed in your spreadsheet calculations and graphs. Imagine having a master spreadsheet at your office and seeing value coming in as your staff enter data on their Android based phones.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;In Google Docs&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
1. Create a new spreadsheet in Google Docs.&lt;br /&gt;
2. Past this in a cell with your url:&lt;br /&gt;
=ImportData("&lt;a href="http://app.nimbits.com/service/currentvalue?point=TempF&amp;amp;email=bsautner@gmail.com"&gt;http://app.nimbits.com/service/currentvalue?point=TempF&amp;amp;email=bsautner@gmail.com&lt;/a&gt;")&lt;br /&gt;
&lt;br /&gt;
You should see your value load. Google Docs will&amp;nbsp;automatically&amp;nbsp;reload your data. Enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-7321632734231154733?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QxIg8j4kg7Ijiwsh5I58uVHSwoQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QxIg8j4kg7Ijiwsh5I58uVHSwoQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QxIg8j4kg7Ijiwsh5I58uVHSwoQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QxIg8j4kg7Ijiwsh5I58uVHSwoQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/dIz-kkrm-CI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/7321632734231154733/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/02/connecting-spreadsheets-to-nimbits.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7321632734231154733?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7321632734231154733?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/dIz-kkrm-CI/connecting-spreadsheets-to-nimbits.html" title="Connecting Spreadsheets To Nimbits" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ZsEcUKqDnE4/S3h4GXfSX0I/AAAAAAAAAzs/YRsnYDhssdg/s72-c/nscreen1.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/02/connecting-spreadsheets-to-nimbits.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCQXo8cSp7ImA9Wx9WFUk.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-8986983848136785261</id><published>2011-01-20T09:22:00.000-08:00</published><updated>2011-01-20T09:22:40.479-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-20T09:22:40.479-08:00</app:edited><title>[Data In] Email bulk data into Nimbits</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;At Nimbits, we're all about trying to give you as many ways to get data in and out of the data logging engine as possible. Now, you can send an email to Nimbits and have it's contents processed and recorded into your data points. &amp;nbsp;When the email is&amp;nbsp;received&amp;nbsp;the data is processed and all of your configured calculations, alerts, &lt;a href="http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html"&gt;Instant Messages&lt;/a&gt;,&amp;nbsp;&lt;a href="http://nimbits.blogspot.com/2010/06/nimbits-on-facebook.html"&gt;Facebook posts&lt;/a&gt; etc will fire.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Since your Nimbits account is tied to your email address, the data is handled based on the email address the system&amp;nbsp;receives&amp;nbsp;the email from.&lt;/div&gt;&lt;div&gt;Besides being able to bulk load historical data, you can also use this method to feed data into&amp;nbsp;Nimbits&amp;nbsp;from&amp;nbsp;Linux&amp;nbsp;shell scripts, powershell or any other system that can send an email. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;To make use of this feature, just send an email to:&amp;nbsp;&lt;a href="mailto:data@nimbits1.appspotmail.com"&gt;data@nimbits1.appspotmail.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you're running your own Nimbits Server instance on appspot, just replace Nimbits1 with your app id.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;You do not have to include a subject. In the message body add the point name (case sensitive) and a value&amp;nbsp;separated&amp;nbsp;by commas and the different points&amp;nbsp;separated&amp;nbsp;by semi-colons like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Point1,3.14;Point2,5.6&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;and so on. &amp;nbsp;Values are recorded with the current time (UTC) when the value is processed. If you want to specify a&amp;nbsp;time stamp&amp;nbsp;you can do so by including the time you want in &lt;a href="http://en.wikipedia.org/wiki/Unix_time"&gt;UNIX time format&lt;/a&gt;. You can do a bulk load of point data to a single point by providing values like this: &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Point1,45.4,&lt;/b&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;1278448474000;Point1,89.3;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;127844000000;Point1,44.324,&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;12784480000&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;Please note the time is in milliseconds, not seconds since the unix epoch.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 19px;"&gt;There are many ways to get the current time in&amp;nbsp;UNIX&amp;nbsp;time - Java developers can use the Java.util.date getTime() function. I posted a handy way C# developers can work with&amp;nbsp;UNIX&amp;nbsp;time&lt;a href="http://javagwt.blogspot.com/2009/12/converting-java-unix-epoch-time-to-c.html"&gt; here.&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-8986983848136785261?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qMBAlao_1e7H9gE5tzkjU_-uwHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qMBAlao_1e7H9gE5tzkjU_-uwHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qMBAlao_1e7H9gE5tzkjU_-uwHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qMBAlao_1e7H9gE5tzkjU_-uwHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/fry8OCYHGwU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/8986983848136785261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/data-in-email-bulk-data-into-nimbits.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8986983848136785261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/8986983848136785261?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/fry8OCYHGwU/data-in-email-bulk-data-into-nimbits.html" title="[Data In] Email bulk data into Nimbits" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/data-in-email-bulk-data-into-nimbits.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIBRnw6eip7ImA9Wx9WFEg.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-4032541898716478821</id><published>2011-01-19T06:20:00.000-08:00</published><updated>2011-01-19T08:12:37.212-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-19T08:12:37.212-08:00</app:edited><title>Nimbits Server 3.0.x Updates</title><content type="html">&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Nimbits is a collection of software designed for managing time series data, such as reading from a&amp;nbsp;temperature&amp;nbsp;probe, on the cloud. &amp;nbsp;Nimbits Server is a data logging service that provides storage, compression, alarms, relay and calculation services with a REST inspired API for feeding data in and out of the system.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
We've been releasing minor updated to the Nimbits Server 3.0 that includes improvements in the user interface and back end performance. &amp;nbsp;This&amp;nbsp;summarizes&amp;nbsp;what's new in version 3.0.5 - 3.0.9rc. 3.0.9rc is currently running on the&lt;a href="http://app.nimbits.com/"&gt; public server&lt;/a&gt;, with 3.0.8 &lt;a href="https://code.google.com/p/nimbits-server/downloads/list"&gt;available for download&lt;/a&gt;. &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;More Mem Cache&lt;/b&gt; - commonly accessed data is held more often in memory rather than hitting the data store. This includes the most recent value for every data point, which gives us&amp;nbsp;significant&amp;nbsp;performance improvements.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Point Property Panel -&amp;nbsp;&lt;/b&gt;A redesigned point property panel makes it easier to manage how a point behaves when it is written to.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TTbsuayIigI/AAAAAAAAA7Q/6Rgw7TCMUXw/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TTbsuayIigI/AAAAAAAAA7Q/6Rgw7TCMUXw/s200/Screenshot-2.png" width="178" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Installation in the Chrome App Store&lt;/b&gt; - we enhanced Nimbits to run in the &lt;a href="https://chrome.google.com/webstore/detail/fmhbpieakkkhcajlpbeffhfihenafhbl"&gt;Chrome Web Store.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Trending Enhancements&lt;/b&gt; - we were hearing of some limitations users were&amp;nbsp;experiencing&amp;nbsp;when trying to chart large amounts of data. We addressed this by splitting data download requests into smaller chunks - which means you should be able to trend any amount of data that your computer can handle.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Added Motion Chart&lt;/b&gt; -&amp;nbsp;watch&amp;nbsp;a video of your data with bubbles changing over time with zoom, line and bar charts as well.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TTbtPogy2FI/AAAAAAAAA7U/fqXRK4D0h8w/s1600/Screenshot-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TTbtPogy2FI/AAAAAAAAA7U/fqXRK4D0h8w/s320/Screenshot-3.png" width="239" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;New Google Chart Api Options&lt;/b&gt; - Nimbits can generate any type of chart imaginable using your data with the &lt;a href="http://code.google.com/apis/chart/"&gt;Google Chart API&lt;/a&gt;. &amp;nbsp;You have more options to request a date range and use the current time to get your chart data. &amp;nbsp;A URL formated like this:&amp;nbsp;&amp;nbsp;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempC&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x200&amp;amp;chxt=x,y&amp;amp;st=-1h&amp;amp;et=now"&gt;http://app.nimbits.com/service/chartapi?point=TempC&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x200&amp;amp;chxt=x,y&amp;amp;st=-1h&amp;amp;et=now&lt;/a&gt;&amp;nbsp;which will show you a chart of my aquarium's current&amp;nbsp;temperature&amp;nbsp;in&amp;nbsp;Celsius like this:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempC&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x200&amp;amp;chxt=x,y&amp;amp;st=-1h&amp;amp;et=now" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://app.nimbits.com/service/chartapi?point=TempC&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x200&amp;amp;chxt=x,y&amp;amp;st=-1h&amp;amp;et=now" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Improved calculation engine.&lt;/b&gt; &amp;nbsp;Performance improvements to the calc engine allows you to create a data point that will trigger a formula to be calculated each time the point is written to with a new value. The result of the calculation can then be stored in another point, further triggering alarms, other calculations etc. &amp;nbsp;Supported symbols include &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, tahoma, sans-serif; font-size: 12px;"&gt;*, +, -, *, /, ^, %, cos, sin, tan, acos, asin, atan, sqrt, sqr, log, min, max, ceil, floor, abs, neg, rndr.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;Nimbits 3.1 is getting ready for a March release which will include:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A new&amp;nbsp;&lt;/span&gt;Multi-tenant&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;architecture that isolates point data into seperate slices on the cloud, which will give us a huge performance boost&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A new feature where a point will go into alarm when it doesn't&amp;nbsp;&lt;/span&gt;receive&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;a new value in a set amount of time&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Enhancements to the IM Chat feature.&lt;a href="http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html"&gt; You can already interact with Nimbits using an IM Client. &lt;/a&gt;We're adding a bunch of new commands for getting your point data.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, tahoma, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-4032541898716478821?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/htKlYeD7P2B78cXMum7Wns4Y7UA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/htKlYeD7P2B78cXMum7Wns4Y7UA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/htKlYeD7P2B78cXMum7Wns4Y7UA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/htKlYeD7P2B78cXMum7Wns4Y7UA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/wbQVaA4DH2k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/4032541898716478821/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2011/01/nimbits-server-30x-updates.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4032541898716478821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4032541898716478821?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/wbQVaA4DH2k/nimbits-server-30x-updates.html" title="Nimbits Server 3.0.x Updates" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TTbsuayIigI/AAAAAAAAA7Q/6Rgw7TCMUXw/s72-c/Screenshot-2.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2011/01/nimbits-server-30x-updates.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMEQns9eCp7ImA9Wx9QF04.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-1844732116342239206</id><published>2010-12-30T11:13:00.000-08:00</published><updated>2010-12-30T11:13:23.560-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-30T11:13:23.560-08:00</app:edited><title>Nimbits REST API and SDK</title><content type="html">You can develop your own software using any platform or programming language you like, and use a &lt;a href="http://app.nimbits.com/"&gt;Nimbits serve&lt;/a&gt;r as a&amp;nbsp;back end&amp;nbsp;for storing your time series data; taking advantage of all of Nimbit's services.&lt;br /&gt;
&lt;br /&gt;
Most of Nimbits' functionality can be accessed using a REST API Interface and making simple HTTP post, get, put and delete requests. Nimbits supports using a secret key, OAuth, OpenID and Google Authentication.&lt;br /&gt;
&lt;br /&gt;
Documentation on the REST API is available on the Nimbits Server Source Code page on Google Code under featured downloads:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;a href="https://code.google.com/p/nimbits-server/"&gt;https://code.google.com/p/nimbits-server/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Taking this a level down, I have a Java Jar file that all of our java based client apps use (including the Android App). This project: Nimbits4J.jar has all of the code needed to authenticate a request with Google, and make requests to Nimbits such as getting a current value, recording values, getting charts, history, creating points etc.&lt;br /&gt;
&lt;br /&gt;
The source code for Nimbits4J is available here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/nimbits4j/"&gt;http://code.google.com/p/nimbits4j/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
We do have a .net client package as well but it's not posted for download. If you'd like to get your hands on the .net client for Nimbits, just ask and we'll help you out.&lt;br /&gt;
&lt;br /&gt;
Happy Coding&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-1844732116342239206?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/54kndaXan7o-GauJroqQJJtMxe8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/54kndaXan7o-GauJroqQJJtMxe8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/54kndaXan7o-GauJroqQJJtMxe8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/54kndaXan7o-GauJroqQJJtMxe8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/7ENSIn1RL20" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/1844732116342239206/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/12/nimbits-rest-api-and-sdk.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1844732116342239206?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1844732116342239206?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/7ENSIn1RL20/nimbits-rest-api-and-sdk.html" title="Nimbits REST API and SDK" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/12/nimbits-rest-api-and-sdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBQn45cSp7ImA9Wx9RFkw.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-7922367906848604911</id><published>2010-12-17T11:20:00.000-08:00</published><updated>2010-12-17T11:20:53.029-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-17T11:20:53.029-08:00</app:edited><title>[Data Out] Data Logging output on Twitter</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TQu3hsQZtII/AAAAAAAAA7I/BFuOsyj57hE/s1600/twitter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="42" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TQu3hsQZtII/AAAAAAAAA7I/BFuOsyj57hE/s320/twitter.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;You can configure a Nimbits time series data point to send a tweet on your twitter account each time it is written to or when it is in an alarm state. &amp;nbsp;This means that any changing time series value you are recording into Nimbits (be it through a web service call, the API, on your phone etc) the new value will get broadcast through your twitter account.&lt;br /&gt;
&lt;br /&gt;
Since tweets add a hash # flag to your point name, it's easy to see all of that point's tweets just by clicking on it. You can also view #Nimbits to see everyone else's tweets!&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;To do this, just log into &lt;a href="http://app.nimbits.com/"&gt;http://app.nimbits.com&lt;/a&gt;&amp;nbsp;and click on the "Enable Twitter" menu option on the top. This will direct you to twitter.com where Nimbits is a registered application. Log into Nimbits and&amp;nbsp;authorize&amp;nbsp;the app to post to your twitter account. You'll then be directed back to the Nimbits Portal and you'll be ready to go.&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TDpFaDHktYI/AAAAAAAAA4A/LooXhv4M6pI/s1600/twitter2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TDpFaDHktYI/AAAAAAAAA4A/LooXhv4M6pI/s320/twitter2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Double click on the point and select the properties menu where you'll see the options to enable tweeting whenever a value is recorded or when the point is in alarm.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Record a new value and you'll see the message appear on your twitter feed!&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;You can also have Nimbits&lt;a href="http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html"&gt; Send you an instant message&lt;/a&gt;, &lt;a href="http://nimbits.blogspot.com/2010/06/nimbits-on-facebook.html"&gt;post to facebook&lt;/a&gt; or email you as your data changes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-7922367906848604911?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/w8jJVuvJd-BP-nBHsVOP--F_i3o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w8jJVuvJd-BP-nBHsVOP--F_i3o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/w8jJVuvJd-BP-nBHsVOP--F_i3o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/w8jJVuvJd-BP-nBHsVOP--F_i3o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/Fol2MdA8PG4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/7922367906848604911/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/data-out-data-logging-output-on-twitter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7922367906848604911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7922367906848604911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/Fol2MdA8PG4/data-out-data-logging-output-on-twitter.html" title="[Data Out] Data Logging output on Twitter" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TQu3hsQZtII/AAAAAAAAA7I/BFuOsyj57hE/s72-c/twitter.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/data-out-data-logging-output-on-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAMQXk9fyp7ImA9Wx9RFEg.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-6006496288585669965</id><published>2010-12-15T12:38:00.000-08:00</published><updated>2010-12-15T16:03:00.767-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-15T16:03:00.767-08:00</app:edited><title>Nimbits Android Update</title><content type="html">We're excited to release a major upgrade to the Android Interface for Nimbits Data Logger. You can download the Nimbits Android App to your phone by visiting the Android Marketplace and searching for Nimbits or Data Logger.&lt;br /&gt;
&lt;br /&gt;
Nimbits Server provides powerful data logging services for recording your time series data into&lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html"&gt; Data Points&lt;/a&gt; stored on a global cloud computing&amp;nbsp;infrastructure. The Nimbits Android App provides a window into your data allowing you to:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Create Data Points and Categories&lt;/li&gt;
&lt;li&gt;View Charts and Snapshots.&lt;/li&gt;
&lt;li&gt;View GPS data on maps.&lt;/li&gt;
&lt;li&gt;Record New Values.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Many developers are using our free and open source code to write their own interfaces to feed data from devices into Nimbits Data Points and then monitor those devices from Android. &amp;nbsp;If you still want to access your data but your phone isn't running Android, &lt;a href="http://nimbits.blogspot.com/2010/07/chat-with-your-nimbits-data-points-over.html"&gt;you can update and&amp;nbsp;retrieve&amp;nbsp;current values using most instant&amp;nbsp;messenger&amp;nbsp;clients.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Besides using a local database to improve performance,&amp;nbsp;gesture&amp;nbsp;recognition to fling between screens, the&amp;nbsp;latest&amp;nbsp;version has the following enhancements:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;1. Switch between Nimbits Servers. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
There is a free, public server on &lt;a href="http://app.nimbits.com/"&gt;app.nimbits.com&lt;/a&gt; you can use to create and manage data points and feed your low impact data into. If you want, you can also b&lt;a href="http://nimbits.blogspot.com/2010/11/nimbits-is-open-source-data-logger.html"&gt;uild your own Nimbits Server&lt;/a&gt; by downloading and installing the package from &lt;a href="http://www.nimbits.com/"&gt;www.nimbits.com&lt;/a&gt;. &amp;nbsp;If you are running your own Nimbits Server, the Android interface can be configured to use it instead. You can even jump between multiple servers. Please note that the latest version of the App&amp;nbsp;requires&amp;nbsp;Nimbits server 3.0.5 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TQkenNOzpTI/AAAAAAAAA68/0VIGfTbSVBQ/s1600/Screenshot_droidservers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TQkenNOzpTI/AAAAAAAAA68/0VIGfTbSVBQ/s320/Screenshot_droidservers.png" width="215" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&amp;nbsp;2. Alarm Flags&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
You can log into a Nimbits Server and set alarms for points. A point can be either high or low. Now, you can see points that are in an alarm state with a red (high) or blue (low) flag. &amp;nbsp;For example, these 5 Radon meters, with one over the safety limit.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TQkfKvOYhzI/AAAAAAAAA7A/M2trdOK-mh0/s1600/Screenshotdroidalarms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TQkfKvOYhzI/AAAAAAAAA7A/M2trdOK-mh0/s320/Screenshotdroidalarms.png" width="217" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;3. Better Charts&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Deep integration into the Google Chart API &amp;nbsp;means the sky is the limit on&amp;nbsp;visualizing&amp;nbsp;your data. We have some exciting new features on the drawing board that will allow you to&amp;nbsp;customizes&amp;nbsp;the way your points are displayed on your phone i.e bar, pie, scatter charts etc. In the meantime, here is one cool chart:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TQkkCq81TKI/AAAAAAAAA7E/A1zWxH-epEI/s1600/Screenshotdroidchart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="215" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TQkkCq81TKI/AAAAAAAAA7E/A1zWxH-epEI/s320/Screenshotdroidchart.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Also, the charts now auto-refresh every 10 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;4. Hey, Developers&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
All communication between the Nimbits Server and the client code on the phone is done using the Nimbits4J.jar - which is published as open source software on&amp;nbsp;&lt;a href="http://code.google.com/p/nimbits4j/"&gt;http://code.google.com/p/nimbits4j/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Nimbits4J is a Java library that simplifies &lt;a href="http://javagwt.blogspot.com/2010/12/authenticated-posts-to-app-engine.html"&gt;Authenticating the Android App to Google&lt;/a&gt;, and calling the REST API. This just means I've done most of the work for you for writing the client apps to get recorded values, create points etc. &amp;nbsp;A&amp;nbsp;Nimbits&amp;nbsp;server can be coded against in any Language using the REST API services documented under &lt;a href="https://code.google.com/p/nimbits-server/"&gt;featured downloads on the Nimbits Server Download Page.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-6006496288585669965?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JzJvkDdmnXfGaNngLYEV5DFLtPI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JzJvkDdmnXfGaNngLYEV5DFLtPI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JzJvkDdmnXfGaNngLYEV5DFLtPI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JzJvkDdmnXfGaNngLYEV5DFLtPI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/-FuDfovntg4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/6006496288585669965/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/12/nimbits-android-update.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/6006496288585669965?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/6006496288585669965?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/-FuDfovntg4/nimbits-android-update.html" title="Nimbits Android Update" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TQkenNOzpTI/AAAAAAAAA68/0VIGfTbSVBQ/s72-c/Screenshot_droidservers.png" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/12/nimbits-android-update.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYNRXs8eCp7ImA9Wx9SE0w.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-3011642995520979323</id><published>2010-12-02T11:13:00.000-08:00</published><updated>2010-12-02T11:13:14.570-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T11:13:14.570-08:00</app:edited><title>Nimbits 3.0.4 is live</title><content type="html">Nimbits Server, running on &lt;a href="http://app.nimbits.com/"&gt;http://app.nimbits.com &lt;/a&gt;is now running version 3.0.4 and that version is also available for download. &amp;nbsp;The archive NimbitsServer-3.0.4.zip and the installation instructions are listed under the featured downloads on the source code repository&amp;nbsp;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="https://code.google.com/p/nimbits-server/"&gt;https://code.google.com/p/nimbits-server/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;In this release:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://nimbits.blogspot.com/2010/11/data-out-barcodes.html"&gt;Barcode Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Redesigned Data Screen&lt;/li&gt;
&lt;li&gt;Upgrades to Google Map API resolved issues with API key prompts&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nimbits.blogspot.com/2010/07/data-in-email-bulk-data-into-nimbits.html"&gt;Fixes and improvements to the Bulk Email in feature.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Various bug fixes.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Enjoy!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-3011642995520979323?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r35u1kKUw8W3zJX6iNe8DRHoG6k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r35u1kKUw8W3zJX6iNe8DRHoG6k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r35u1kKUw8W3zJX6iNe8DRHoG6k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r35u1kKUw8W3zJX6iNe8DRHoG6k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/tIWMllI4Ey0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/3011642995520979323/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/12/nimbits-304-is-live.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3011642995520979323?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3011642995520979323?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/tIWMllI4Ey0/nimbits-304-is-live.html" title="Nimbits 3.0.4 is live" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/12/nimbits-304-is-live.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEICR3YyfCp7ImA9Wx9SEUk.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-7519323797352003560</id><published>2010-11-30T11:49:00.000-08:00</published><updated>2010-11-30T11:49:26.894-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-30T11:49:26.894-08:00</app:edited><title>[Data Out] Barcodes!</title><content type="html">Every &lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html"&gt;Nimbits Data Point&lt;/a&gt; has a unique identifier; a &lt;a href="http://en.wikipedia.org/wiki/Universally_unique_identifier"&gt;UUID&lt;/a&gt;. &amp;nbsp;If the data point is configured to be public (the default) anyone can load it's current values, GPS data, and charts using a URL in this format:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://nimbits1.appspot.com/?uuid=96c55c29-d60f-42a1-82a9-98d8a76960bd"&gt;http://nimbits1.appspot.com/?uuid=&lt;b&gt;96c55c29-d60f-42a1-82a9-98d8a76960bd&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This makes it easy to share your data, post to your&amp;nbsp;Facebook&amp;nbsp;wall etc.&lt;br /&gt;
&lt;br /&gt;
Clicking the above link will load my reef aquariums&amp;nbsp;temperature&amp;nbsp;that i'm recording onto the cloud through an&amp;nbsp;Arduino&amp;nbsp;device. (&lt;a href="http://nimbits.blogspot.com/2010/11/data-in-connect-arduino-to-cloud.html"&gt;Learn how I do that here&lt;/a&gt;). Since this data point is public, you can click on that link above and view it's data.&lt;br /&gt;
&lt;br /&gt;
The Data Point is hosted on the public&amp;nbsp;Nimbits&amp;nbsp;server (app.nimbits.com). If you are running your own&amp;nbsp;Nimbits&amp;nbsp;server, the url is just your app ID in place of my nimbits1.appspot.com.&lt;br /&gt;
&lt;br /&gt;
Now that every data point can be references using that format, it is easy to convert the url into a &lt;a href="http://en.wikipedia.org/wiki/QR_Code"&gt;QR Bar Code&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=http://nimbits1.appspot.com?uuid=96c55c29-d60f-42a1-82a9-98d8a76960bd&amp;amp;chld=L|1&amp;amp;choe=UTF-8" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=http://nimbits1.appspot.com?uuid=96c55c29-d60f-42a1-82a9-98d8a76960bd&amp;amp;chld=L|1&amp;amp;choe=UTF-8" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;That Bar code is contains the same information as the url above, just presented in a different format. &amp;nbsp;If you were to take your smart phone that was&amp;nbsp;capable&amp;nbsp;of reading&amp;nbsp;bard codes, such as an Android Phone with Google Goggles, and point it at your screen right now, you would be able to browse right to this data point.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There are many uses for this feature, such as printing out stickers to attach to real world objects that are having values fed into a Nimbits data point. I am&amp;nbsp;seriously&amp;nbsp;considering getting a tattoo of some of my more personal data points (kidding....sort of)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;To get the Barcode and UUID of any of your Data Points&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;1. Log into Nimbits by browsing to &lt;a href="http://app.nimbits.com/"&gt;http://app.nimbits.com&lt;/a&gt;&amp;nbsp;(or your installation of a Nimbits server most likely hosted on yourappid.appspot.com)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;2. Double Click on a data point or&amp;nbsp;category&amp;nbsp;and then select that point from the point settings menu.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s1600/screen113.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="254" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s320/screen113.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;3. The Point properties screen will show you the bardcode and a link for viewing that data using the UUID&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TPVU0V3fNRI/AAAAAAAAA60/pwH-wIoGq1Q/s1600/pointpropuuid.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TPVU0V3fNRI/AAAAAAAAA60/pwH-wIoGq1Q/s320/pointpropuuid.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Anyone can see this screen and data using this url or barcode&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://nimbits1.appspot.com/?uuid=96c55c29-d60f-42a1-82a9-98d8a76960bd"&gt;http://nimbits1.appspot.com/?uuid=&lt;b&gt;96c55c29-d60f-42a1-82a9-98d8a76960bd&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TPVVFZH15HI/AAAAAAAAA64/xAPmyTm4qHA/s1600/uuiscreen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="275" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TPVVFZH15HI/AAAAAAAAA64/xAPmyTm4qHA/s320/uuiscreen.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-7519323797352003560?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J5rz6r74Dg3VJZy-KoR8c_TC8Go/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J5rz6r74Dg3VJZy-KoR8c_TC8Go/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J5rz6r74Dg3VJZy-KoR8c_TC8Go/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J5rz6r74Dg3VJZy-KoR8c_TC8Go/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/AUbz3o_7mJU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/7519323797352003560/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/11/data-out-barcodes.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7519323797352003560?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7519323797352003560?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/AUbz3o_7mJU/data-out-barcodes.html" title="[Data Out] Barcodes!" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s72-c/screen113.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/11/data-out-barcodes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUGQnsycSp7ImA9Wx5aFks.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-545174884539043463</id><published>2010-11-13T09:10:00.000-08:00</published><updated>2010-11-13T09:10:23.599-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-13T09:10:23.599-08:00</app:edited><title>Nimbits is an Open Source Data Logger</title><content type="html">&lt;div align="left"&gt;The Nimbits Development Team is pleased to  announce that you can now Download your own Nimbits Data Logger Server  to install and run on your &lt;a href="http://code.google.com/appengine/" linktype="link" shape="rect" style="color: blue; text-decoration: underline;" track="on"&gt;Google App Engine &lt;/a&gt;account. &lt;/div&gt;&lt;br /&gt;
Nimbits is a free and social data logging service. By creating&amp;nbsp;&lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html" shape="rect" target="_blank"&gt;"Data Points"&lt;/a&gt;&amp;nbsp;you  can feed any values that change over time, such as a changing  temperature or stock price, into that point for storage online. That  point can then be visualised and shared using many open source software  interfaces and processed using many built in features. &lt;br /&gt;
&lt;br /&gt;
Nimbits  also provides data relay services, triggered by schedules and data  changes, Nimbits will relay new values to other URLs, Facebook, Twitter,  or even another Nimbits Server instance.&lt;br /&gt;
&lt;br /&gt;
Over  the past several years, Nimbits has been an online resource for feeding  time series data into Data Points. We're very excited to announce the  completely open source version of Nimbits Server for download. All of  the functionality you've been hearing about can now be further  customised to meet your needs, and scaled to any level you desire. &lt;br /&gt;
&lt;br /&gt;
Nimbits  runs on Google's App Engine providing exceptionally high uptime and  reliability, and automatically propagates your data over a global  infrastructure.&amp;nbsp;&amp;nbsp; A public version of Nimbits is available on &lt;a href="http://app.nimbits.com/" linktype="link" shape="rect" style="color: blue; text-decoration: underline;" track="on"&gt;app.nimbits.com&lt;/a&gt;, all of the functionality you have on the public server can now run on your own App Engine account.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Learn more at &lt;a href="http://www.nimbits.com/" linktype="link" shape="rect" style="color: blue; text-decoration: underline;" track="on"&gt;www.nimbits.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-545174884539043463?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B9BCv6jg0TD-6Kez57ZN-y3PjEQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B9BCv6jg0TD-6Kez57ZN-y3PjEQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B9BCv6jg0TD-6Kez57ZN-y3PjEQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B9BCv6jg0TD-6Kez57ZN-y3PjEQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/wiAxHsB5UZA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/545174884539043463/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/11/nimbits-is-open-source-data-logger.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/545174884539043463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/545174884539043463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/wiAxHsB5UZA/nimbits-is-open-source-data-logger.html" title="Nimbits is an Open Source Data Logger" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>9</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/11/nimbits-is-open-source-data-logger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4GQHc4cSp7ImA9WhRaEEs.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-4450064329312218661</id><published>2010-11-01T12:28:00.000-07:00</published><updated>2012-02-12T09:15:21.939-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-12T09:15:21.939-08:00</app:edited><title>[Data In] Connect Arduino to the Cloud</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is a fun project to log Arduino data directly to the Google Cloud using your local network without any middle tier. That is, your data goes right from the Arduino and then out to Google to be logged as a &lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html"&gt;Nimbits Data Point&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
You may want to download and setup a copy of the Nimbits Data Logger Server on your own app engine account. &lt;a href="http://www.nimbits.com/"&gt;Learn More Here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Nimbits is a free, open source data logging server. You can use the public server (with some limitations) on &lt;a href="http://app.nimbits.com/"&gt;app.nimbits.com&lt;/a&gt; or setup your own running instance.&lt;br /&gt;
&lt;br /&gt;
The circuit is very simple and only requires an &lt;a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&amp;amp;name=LM35DZ-ND"&gt;LM35 temperature sensor&lt;/a&gt; and three wires.&amp;nbsp; I went as far as to waterproof my LM35 by soldering it to the end of a cat5 cable and then sealing it in shrink wrap tubing. This is then connected to the ground, 5v and analogue pin 0.&amp;nbsp; There are many examples of this circuit online like this one: &lt;a href="http://pscmpf.blogspot.com/2008/12/arduino-lm35-sensor.html"&gt;http://pscmpf.blogspot.com/2008/12/arduino-lm35-sensor.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is mine using the Ethernet Shield and my waterproofed LM35&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TM8N9l4iQAI/AAAAAAAAA6w/0Y2jJCcwY2k/s1600/IMG_20101029_181032.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TM8N9l4iQAI/AAAAAAAAA6w/0Y2jJCcwY2k/s320/IMG_20101029_181032.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With the code below, i'm sending temp reading directly into a nimbits data point. Since Nimbits integrates into the google chart api, i'm able to generate all kind of charts with this data that I can then embed into emails, web pages, docs etc. Like this: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;chxt=y&amp;amp;chxp=1,75,100&amp;amp;cht=lc&amp;amp;chco=76A4FB&amp;amp;chls=2.0&amp;amp;chs=300x200" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;chxt=y&amp;amp;chxp=1,75,100&amp;amp;cht=lc&amp;amp;chco=76A4FB&amp;amp;chls=2.0&amp;amp;chs=300x200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:%7CApr%7CMay%7CJune%7C1:%7C%7C50+Kb" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/div&gt;This chart really is the current reading from my Arduino device, since the image is being loaded from the &lt;a href="http://nimbits.blogspot.com/2010/11/data-out-nimbits-integrates-into-google.html"&gt;Nimbits Chart Service. &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is all of the Arduino code you need to feed your device readings into the Cloud.&amp;nbsp; You'll just need to modify the service url with your server secret (if you are running your own server) or make your point public, and provide an email and user key.&lt;br /&gt;
&lt;br /&gt;
This code posts the temp reading to google with the host header nimbits1.appspot.com. If you are using the public nimbits server then you keep that. If you set up your own copy of Nimbits on your app engine account. You just replace nimbits1 with your app id.&lt;br /&gt;
&lt;br /&gt;
Because we are proving the host header, we can send this request to google.com's IP and our request will be relayed to the correct service. From there, we can configure nimbits to relay out data to any other url, facebook or twitter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px; text-align: -webkit-auto;"&gt;#include &amp;lt;SPI.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px; text-align: -webkit-auto;"&gt;#include &lt;/span&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px; text-align: -webkit-auto; white-space: normal;"&gt;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px; text-align: -webkit-auto;"&gt;Ethernet.h&lt;/span&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px; text-align: -webkit-auto; white-space: normal;"&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; ip[] = { 192, 168, 1, 17 }; &lt;span style="color: #7e7e7e;"&gt;// a valid IP on your LAN&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;byte&lt;/span&gt; server[] =  {72, 14, 204, 104}; &lt;span style="color: #7e7e7e;"&gt;// Google.com or Appspot.com's IP&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;Client&lt;/span&gt; client(server, 80);
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; pin = 0; &lt;span style="color: #7e7e7e;"&gt;// analog pin&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; tempc = 0,tempf=0; &lt;span style="color: #7e7e7e;"&gt;// temperature variables&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; samples[8]; &lt;span style="color: #7e7e7e;"&gt;// variables to make a better precision&lt;/span&gt;
&lt;span style="color: #cc6600;"&gt;int&lt;/span&gt; i;


&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;setup&lt;/b&gt;&lt;/span&gt;()
{
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;Ethernet&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;begin&lt;/span&gt;(mac, ip);
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;&lt;b&gt;Serial&lt;/b&gt;&lt;/span&gt;.&lt;span style="color: #cc6600;"&gt;begin&lt;/span&gt;(9600);
}
&lt;span style="color: #cc6600;"&gt;void&lt;/span&gt; &lt;span style="color: #cc6600;"&gt;&lt;b&gt;loop&lt;/b&gt;&lt;/span&gt;()
{
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;for&lt;/span&gt;(i = 0;i&amp;lt;=7;i++)
&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;samples[i]&amp;nbsp;=&amp;nbsp;(&amp;nbsp;5.0&amp;nbsp;*&amp;nbsp;&lt;span style="color: #cc6600;"&gt;analogRead&lt;/span&gt;(pin) * 100.0) / 1024.0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempc&amp;nbsp;=&amp;nbsp;tempc&amp;nbsp;+&amp;nbsp;samples[i];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;delay&lt;/span&gt;(1000);
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;tempc&amp;nbsp;=&amp;nbsp;tempc/8.0;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;tempf&amp;nbsp;=&amp;nbsp;(tempc&amp;nbsp;*&amp;nbsp;9)/&amp;nbsp;5&amp;nbsp;+&amp;nbsp;32;&amp;nbsp;
&amp;nbsp;&amp;nbsp;tempc&amp;nbsp;=&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;String&lt;/span&gt; s = &lt;span style="color: #cc6600;"&gt;String&lt;/span&gt;(tempf,&lt;span style="color: #006699;"&gt;DEC&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc6600;"&gt;if&lt;/span&gt; (client.&lt;span style="color: #cc6600;"&gt;connect&lt;/span&gt;()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"GET /service/currentvalue?value="&lt;/span&gt; + s + &lt;span style="color: #006699;"&gt;"&amp;amp;point=test&amp;amp;email=bsautner@gmail.com&amp;amp;format=double&amp;amp;secret=yournimbitssecet HTTP/1.1"&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"Host:nimbits1.appspot.com"&lt;/span&gt;);  &lt;span style="color: #7e7e7e;"&gt;//here is your app engine url - app id with appspot.com&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"Accept-Language:en-us,en;q=0.5"&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"Accept-Encoding:gzip,deflate"&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"Connection:close"&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;(&lt;span style="color: #006699;"&gt;"Cache-Control:max-age=0"&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;println&lt;/span&gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.&lt;span style="color: #cc6600;"&gt;stop&lt;/span&gt;();
&amp;nbsp;&amp;nbsp;}&amp;nbsp;
&amp;nbsp;
}&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;Enjoy! &lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-4450064329312218661?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hd4rKhg5syKHc4LjwJi_1EBPodA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hd4rKhg5syKHc4LjwJi_1EBPodA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hd4rKhg5syKHc4LjwJi_1EBPodA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hd4rKhg5syKHc4LjwJi_1EBPodA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/wcCeeBRSBLA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/4450064329312218661/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/11/data-in-connect-arduino-to-cloud.html#comment-form" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4450064329312218661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4450064329312218661?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/wcCeeBRSBLA/data-in-connect-arduino-to-cloud.html" title="[Data In] Connect Arduino to the Cloud" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TM8N9l4iQAI/AAAAAAAAA6w/0Y2jJCcwY2k/s72-c/IMG_20101029_181032.jpg" height="72" width="72" /><thr:total>19</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/11/data-in-connect-arduino-to-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QDQn87cCp7ImA9WhdRGUU.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-6748912410954520183</id><published>2010-11-01T10:07:00.000-07:00</published><updated>2011-08-10T08:16:13.108-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T08:16:13.108-07:00</app:edited><title>[Data Out] Nimbits integrates into the Google Chart API</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;You can generate countless types of charts using the Google Chart API Service. &amp;nbsp;Check out the&amp;nbsp;enormous&amp;nbsp;options here:&amp;nbsp;&lt;a href="http://code.google.com/apis/chart/"&gt;http://code.google.com/apis/chart/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Nimbits is deeply integrated into the Google Chart API. &amp;nbsp;Outside of Nimbits, &amp;nbsp;you can load a chart from the google api using a URL that contains the chart types, format and data. Like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://chart.apis.google.com/chart?cht=s&amp;amp;chd=t:12,87,75,41,23,96,68,71,34,9|98,60,27,34,56,79,58,74,18,76|84,23,69,81,47,94,60,93,64,54&amp;amp;chxt=x,y&amp;amp;chs=200x125&amp;amp;chco=000000,ffff10" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://chart.apis.google.com/chart?cht=s&amp;amp;chd=t:12,87,75,41,23,96,68,71,34,9|98,60,27,34,56,79,58,74,18,76|84,23,69,81,47,94,60,93,64,54&amp;amp;chxt=x,y&amp;amp;chs=200x125&amp;amp;chco=000000,ffff10" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You can even generate things like bar codes with your data like this (and much much more):&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=Hello%20world&amp;amp;choe=UTF-8" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://chart.apis.google.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=Hello%20world&amp;amp;choe=UTF-8" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;As you feed time series data into a Nimbits Data Point, you can also call a web service with the same parameters you would feed into the Google Chart API. Instead of the data parameter cht=t:12,34,34 (for example) simply provide a point name and your Nimbits Authentication information, calling the Nimbits Service instead. &amp;nbsp;http://app.nimbits.com/service/chartAPI&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Nimbits will tack on the data from your points to the request you are making and deliver your chart as a PNG image. This means you can embed your Nimbits Data in a web page, document or anything that can load an image from a URL.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here is a sample URL for a line chart using the google api directly&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://chart.apis.google.com/chart?cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||50+K"&gt;http://chart.apis.google.com/chart?cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||50+K&lt;/a&gt;b&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If you load that URL in a browser you'll see:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://chart.apis.google.com/chart?cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||50+Kb" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://chart.apis.google.com/chart?cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||50+Kb" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Notice the chd=t parameter. The Numbers next to it are the values that go into the chart. You can provide the same chart format parameters to the Nimbits chart service, but include a data point name and your credentials and you'll get the same chart but with live data from your Nimbits Data Point.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x100&amp;amp;chd=t:25,23,33,33,45,32,70,80,90&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||50+Kb"&gt;http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x100&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||100+F&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here is a live chart of the&amp;nbsp;temperature&amp;nbsp;of my aquarium that feeds into my TempF data point:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x100&amp;amp;chxt=x,y&amp;amp;chxl=0:|Apr|May|June|1:||100+F" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://app.nimbits.com/service/chartapi?point=TempF&amp;amp;email=bsautner@gmail.com&amp;amp;cht=lc&amp;amp;chs=200x100&amp;amp;chxt=x,y" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This really is the live feed from my aquarium right here in my blog! Check out how I do this using&amp;nbsp;Arduino. &amp;nbsp;I set up the TempF point to be public, so everyone can see it.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;How this works: When you pass&amp;nbsp;Google&amp;nbsp;chart api parameters into the&amp;nbsp;Nimbits&amp;nbsp;service, Nimbits tacks on the chd:t parameter with your data point's values and then feeds you the chart you requested. The&amp;nbsp;visualization&amp;nbsp;possibilities&amp;nbsp;are endless.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-6748912410954520183?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7sdMCg8fGiOipQaEVtZVciY_BQI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7sdMCg8fGiOipQaEVtZVciY_BQI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7sdMCg8fGiOipQaEVtZVciY_BQI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7sdMCg8fGiOipQaEVtZVciY_BQI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/CtKsl-26lRo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/6748912410954520183/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/11/data-out-nimbits-integrates-into-google.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/6748912410954520183?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/6748912410954520183?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/CtKsl-26lRo/data-out-nimbits-integrates-into-google.html" title="[Data Out] Nimbits integrates into the Google Chart API" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/11/data-out-nimbits-integrates-into-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUFR387eSp7ImA9Wx5bFEg.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-227311313407849678</id><published>2010-10-30T08:15:00.000-07:00</published><updated>2010-10-30T08:23:36.101-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-30T08:23:36.101-07:00</app:edited><title>[Data In / Out] Pushing and Pulling Data with URL Fetch</title><content type="html">A &lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html"&gt;Nimbits Data Point&lt;/a&gt; represents a thing, such as a&amp;nbsp;temperature&amp;nbsp;probe, stock price, anything. That point can become part of a system of connected objects, it's value can be used in calculations, alarms, triggers or anything else.&lt;br /&gt;
&lt;br /&gt;
Further, when you make a data point public. It can be found on the Nimbits Data Point Search Engine so other users can connect their points to yours. If you wish, any http capable data logging system you have can be easily connected to the Nimbits Cloud using this method.&lt;br /&gt;
&lt;br /&gt;
A Data Point can be configured to either push or pull (HTTP GET or POST) to a specified url on on a schedule or as an event. &amp;nbsp; URL Fetch is an app engine service, take a look at &lt;a href="http://code.google.com/appengine/docs/java/urlfetch/"&gt;Google's guide&lt;/a&gt; to this for more details.&lt;br /&gt;
&lt;br /&gt;
To&amp;nbsp;familiarize&amp;nbsp;yourself with this, try logging into the public Nimbits server on &lt;a href="http://app.nimbits.com/"&gt;http://app.nimbits.com&lt;/a&gt;&amp;nbsp;and &lt;a href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html"&gt;create a new data point.&lt;/a&gt;&amp;nbsp;&amp;nbsp;Double Click the data point to bring up its data screen. Then, use the Point Settings Menu to bring up the&amp;nbsp;properties&amp;nbsp;of this data point.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s1600/screen113.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="254" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s320/screen113.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
There is a tab for selecting URL Fetch Settings:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TMwyEApjGNI/AAAAAAAAA6s/aMfvYuCRACY/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TMwyEApjGNI/AAAAAAAAA6s/aMfvYuCRACY/s320/Screenshot.png" width="317" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;With these options, every time a program requests the current value of a data point, it can be configured to attempt to pull a new value from the source URL. &amp;nbsp; If you are hosting your own Nimbits Server on App Engine, you can set yourself up to fetch a new value on a schedule using &lt;a href="http://code.google.com/appengine/docs/java/config/cron.html"&gt;CRON&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;That source url can be anything, a server on your network (with the ports open on your firewall). It can be a call to a Nimbits web service requesting the current value of another point. You can use the Nimbits Data Point Search Engine to find public points on other Nimbits Servers and pull that data into your system.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The relay service will take whatever value is written to that point and do an HTTP Get to the specified URL with the current value included in the parameters. &amp;nbsp;This way, a newly recorded value can act as a&amp;nbsp;trigger&amp;nbsp;to call another URL, triggering further events.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Please note the caveat that fetch events&amp;nbsp;occur&amp;nbsp;when a &lt;i&gt;new&lt;/i&gt; value is actually recorded, which means the value falls out of any compression&amp;nbsp;tolerance&amp;nbsp;settings you configured for a point. Typically,&amp;nbsp;Nimbits&amp;nbsp;only records new values. &amp;nbsp;If the same number sent into the system over and over it is ignored and will not trigger an event.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;When a URL is fetched, Nimbits is expecting a raw number value in the result. HTTP headers are ignored, there shouldn't be any HTML or XML. &amp;nbsp;If you load the URL&amp;nbsp;browser, you should only see the number value. You can also provide a full JSON&amp;nbsp;representation&amp;nbsp;of a value object, which can include text annotations, GPS Coordinates, and a timestamp:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;{"lat":0.0,"lng":0.0,"d":104.0,"note="hello world","timestamp":"Oct 29, 2010 9:48:28 PM"}&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If this is what Nimbits pulls from your URL in a fetch, it would record the value 104.0 to the point with this timestamp with "Hello World" in the note annotation.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-227311313407849678?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1JWEeTCeJq4BgXl8QLvYm-S7xSM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1JWEeTCeJq4BgXl8QLvYm-S7xSM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1JWEeTCeJq4BgXl8QLvYm-S7xSM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1JWEeTCeJq4BgXl8QLvYm-S7xSM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/DEZixD_9cJE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/227311313407849678/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/10/data-in-out-pushing-and-pulling-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/227311313407849678?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/227311313407849678?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/DEZixD_9cJE/data-in-out-pushing-and-pulling-data.html" title="[Data In / Out] Pushing and Pulling Data with URL Fetch" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s72-c/screen113.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/10/data-in-out-pushing-and-pulling-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUNQH09cCp7ImA9Wx5TFE8.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-4106516192233027150</id><published>2010-07-29T10:58:00.000-07:00</published><updated>2010-07-29T10:58:11.368-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-29T10:58:11.368-07:00</app:edited><title>Deep Dive: What is a Data Point</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFG8uejW0mI/AAAAAAAAA50/LTnG3FRer24/s1600/iStock_000013496758Small.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFG8uejW0mI/AAAAAAAAA50/LTnG3FRer24/s200/iStock_000013496758Small.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;In Nimbits, everything revolves around a &lt;b&gt;Data Point&lt;/b&gt;. A Point represents a single collection of time series data. A single&amp;nbsp;temperature&amp;nbsp;reading and any single value that changes over time. &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Your personal collection of data points are connected to the account you were logged in with when you created them. &lt;br /&gt;
&lt;br /&gt;
To create a new Data Point, simply log into Nimbits and select Green Plus sign in the data point tree. You'll be prompted to give the point a name. When a point is created, it is&amp;nbsp;initialized&amp;nbsp;with a zero value at the time of it's creation UTC.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFG-3ccrPhI/AAAAAAAAA58/v6Q3aK3OBQs/s1600/shotnewpoint.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFG-3ccrPhI/AAAAAAAAA58/v6Q3aK3OBQs/s200/shotnewpoint.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;From there, you can double click on that point to view it's chart, map, gauges and anything else. Also, a drop down menu is available to configure the point's properties.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s1600/screen113.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFHAbnJgbfI/AAAAAAAAA6E/RzumnbvAE5k/s320/screen113.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;Here is an overview of some of the more important properties a point can have:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;a href="" name="_Toc261432757"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Compression&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;As a value is recorded into a Data Point, the Compression value is referenced. Nimbits only records changes in values. So if a Data Point has a current value of Zero (0) and a Zero value is recorded, there will not be two zeros in the database, the new value will be ignored since the value has not changed. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;If a Data point has a compression setting of 1 (One) and a current value of 3.14 and a new value is entered of 3.5, the value will be ignored. Only values that are higher or lower than the current value +/- the compression setting will be recorded as new values. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A Compression setting of 5 and a current value of 100 will ignore all recorded values&amp;nbsp; less than 105 and greater than 95.&amp;nbsp; A if the value 106 is recorded into the same point, future recordings less than 111 and greater than 101 will be ignored.&lt;/span&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="" name="_Toc261432758"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Alerts&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;All data points can be configured to send alerts.&amp;nbsp; Set a high and/or low value in the alert settings and turn the high or low alert on and any recorded value greater than the high alert or lower than the low alert will trigger an email to the owner of that point. &lt;/span&gt;&lt;/div&gt;&lt;h2&gt;&lt;a href="" name="_Toc261432759"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Calculations&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;When a data point is written to with a new value, the event of recording a value can trigger a calculation. The formulas basic arithmetic will be executed and the resulting value will be recorded into the target point – all compression, alerts and other functionality will then be executed.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A Data Point can be a &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;trigger&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;parameter&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; or &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;target&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; for a formula.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;If a point is a &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;trigger&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; and a new value is written to it (see the record value diagram – the new recording must be outside compression settings etc) the formula assigned to that data point will be executed. Usually, the trigger data point is also the X parameter in the formula. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;After the formula executes successfully, the resulting double value is stored in the &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;target&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; point and all Record Value settings are processed (Such as Alerts, Compression etc)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Example&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A Point is created that has a temperature of degrees F being record to it. The point is set to be a trigger and is also the X variable in this formula &lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: #556677; line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="color: #556677; line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;X-32)*(5/9) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;which is the formula for converting F to C.&lt;/span&gt;&lt;b&gt;&lt;span style="color: #556677;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A New Data point is created for storing the result of this formula and is then set as the target for this formula in the F Point’s settings. Now, each time the F point is written to, this formula will be executed using the new value as the X Parameter and the result will be stored in the new C Point.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-4106516192233027150?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/usfbjkReGsd0kyU-VwmNDQl1pa8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/usfbjkReGsd0kyU-VwmNDQl1pa8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/usfbjkReGsd0kyU-VwmNDQl1pa8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/usfbjkReGsd0kyU-VwmNDQl1pa8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/C2oy_ojBbsA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/4106516192233027150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4106516192233027150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4106516192233027150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/C2oy_ojBbsA/deep-dive-what-is-data-point.html" title="Deep Dive: What is a Data Point" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFG8uejW0mI/AAAAAAAAA50/LTnG3FRer24/s72-c/iStock_000013496758Small.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/deep-dive-what-is-data-point.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMNQ3cyeSp7ImA9Wx5TFE8.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-4902252757666442031</id><published>2010-07-29T09:54:00.000-07:00</published><updated>2010-07-29T09:54:52.991-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-29T09:54:52.991-07:00</app:edited><title>[Date In] Logging Text Data</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
Throughout the Nimbits System we've added support for logging text and GPS data along with each value you record. &amp;nbsp;When you record a value to a data point, that value has a time stamp and numeric value. Such as a&amp;nbsp;Temperature&amp;nbsp;reading of 80 degrees at a specific moment in time. Now, each recorded value can also have a text based note and GPS location coordinates recorded with it.&lt;br /&gt;
&lt;br /&gt;
Every day, when I go jogging, I stop at the end to record how far I jogged in Miles using&lt;a href="http://nimbits.blogspot.com/2010/07/nimbits-for-android-20-released.html"&gt; Nimbits for Android. on my phone&lt;/a&gt;. With these new features I also can add some text such as where I was Jogging to produce a chart like this one on the &lt;a href="http://www.nimbits.com/"&gt;Nimbits Portal&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TFGwqrUjP2I/AAAAAAAAA5c/dDAUmkJ93dw/s1600/chart2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TFGwqrUjP2I/AAAAAAAAA5c/dDAUmkJ93dw/s320/chart2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
I like to annoy my&amp;nbsp;friends&amp;nbsp;with this information, so I configured my data point to post new values to twitter and&amp;nbsp;Facebook, producing a wall post like this the one below each time I record a value. Coincidently, my data point that tracks a servers backup time was also posted next to my jogging post, so i'm including that here too:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFGxsBf-3fI/AAAAAAAAA5k/W-kDsE5nv1c/s1600/shot22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFGxsBf-3fI/AAAAAAAAA5k/W-kDsE5nv1c/s320/shot22.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
On my Phone, I'm capturing GPS Location coordinates. Those can be recorded to the data point as well, producing a display of point data on a map like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFGyC12bU9I/AAAAAAAAA5s/6XIHCxbheVI/s1600/droid1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ZsEcUKqDnE4/TFGyC12bU9I/AAAAAAAAA5s/6XIHCxbheVI/s320/droid1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Nimbits is now a full&amp;nbsp;featured&amp;nbsp;GPS Data Logger for text and&amp;nbsp;numeric&amp;nbsp;data. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-4902252757666442031?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/unCToICjN9PT28RaSJv9Rb6EPVo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/unCToICjN9PT28RaSJv9Rb6EPVo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/unCToICjN9PT28RaSJv9Rb6EPVo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/unCToICjN9PT28RaSJv9Rb6EPVo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/54vR3bqnjsI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/4902252757666442031/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/date-in-logging-text-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4902252757666442031?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/4902252757666442031?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/54vR3bqnjsI/date-in-logging-text-data.html" title="[Date In] Logging Text Data" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TFGwqrUjP2I/AAAAAAAAA5c/dDAUmkJ93dw/s72-c/chart2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/date-in-logging-text-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFQHc7fSp7ImA9Wx5TFEw.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-2707470360679981456</id><published>2010-07-29T07:40:00.000-07:00</published><updated>2010-07-29T07:40:11.905-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-29T07:40:11.905-07:00</app:edited><title>Nimbits For Android 2.0 Released!</title><content type="html">&lt;a href="http://www.nimbits.com/"&gt;Nimbits&lt;/a&gt; is a General Purpose Data Logging System for any values that change over time. It allows you to record text or numeric data into "Data Points" so that data can be shared, charted, calculated against and&amp;nbsp;visualized&amp;nbsp;from anywhere in the world.&lt;br /&gt;
&lt;br /&gt;
We're proud to announce a new release of the Nimbits Android App that is now available for download on the Android Marketplace. It's build on Android 2.2 (Google API 8) so if you do not see it listed in the marketplace when you search for "Data Logger" or "Nimbits" perhaps you need to update your phone's OS.&lt;br /&gt;
&lt;br /&gt;
Version 1.0 of Nimbits simply allowed you to view existing points you created on the Nimbits Portal. Besides the cosmetic enhancements to the interface, Version 2 allows you to:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Create New Points and&amp;nbsp;Categories&amp;nbsp;on your phone&lt;/li&gt;
&lt;li&gt;View your points on Google Earth (if they have GPS coordinates)&lt;/li&gt;
&lt;li&gt;Record values to data points (both numeric and text) using your phone&lt;/li&gt;
&lt;li&gt;Use your phone's GPS unit to record the location on earth of your data entry.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Enhanced account authentication uses your phone's credentials to log into Nimbits; you do not need to enter your Google account and password.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Better performance by caching points on your phone's local database.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;We're very happy with the way the app can use the Google credentials on your phone to authenticate to the Nimbits cloud instead of requiring you to log in with your credentials.&lt;br /&gt;
&lt;br /&gt;
Nimbits has grown beyond simple numeric data logging into a full featured GPS Data Logger. You can use your phone's GPS to assign coordinates to your readings as well as log textual data with your entries. That data will show up on your Nimbits Portal, Google Earth etc.&lt;br /&gt;
&lt;br /&gt;
An example making use of Nimbits' GPS Logging&amp;nbsp;capabilities&amp;nbsp;can be demonstrated with these data points that are logging Radon levels in the basement of several homes. Each Radon Monitoring device feeds data into a Nimbits Data Point. Each Data Point is configured with an Alarm Setting of 4.0 or higher. Further, each data point has GPS coordinates set to the location on earth where the monitor physically is located.&lt;br /&gt;
&lt;br /&gt;
Using my Nexus One phone I can see the current values of my Data Points. Here, I also pressed the menu button to show what options are available on this screen:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGRedQPciI/AAAAAAAAA48/Do4C6O7uM3Q/s1600/droid0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGRedQPciI/AAAAAAAAA48/Do4C6O7uM3Q/s320/droid0.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
I can select an individual point to manually log a new value and see a thumbnail chart:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGRo3MdcEI/AAAAAAAAA5E/-gNnLWu_Vlc/s1600/droid2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGRo3MdcEI/AAAAAAAAA5E/-gNnLWu_Vlc/s320/droid2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The GPS Enabled message means that when I record this value, the current physical location of the phone be recorded with the current value, and the data point itself will be set to that location. &amp;nbsp;I can now see my changes on the map with the points that are in an alarm state shown in red.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFGSCV9yJOI/AAAAAAAAA5M/6oZTeg_MGCI/s1600/droid1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TFGSCV9yJOI/AAAAAAAAA5M/6oZTeg_MGCI/s320/droid1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
We may want to check on the people living in the house with a radon reading over 6! &amp;nbsp;(this is of course for demo purposes)&lt;br /&gt;
&lt;br /&gt;
I hope you get some use out of the Android App, and please let me know if you have any questions or comments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-2707470360679981456?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uV9tT-ssh0gFYO7M1vHTl7zy_Zs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uV9tT-ssh0gFYO7M1vHTl7zy_Zs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uV9tT-ssh0gFYO7M1vHTl7zy_Zs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uV9tT-ssh0gFYO7M1vHTl7zy_Zs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/xgaLZ5yMtcA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/2707470360679981456/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/nimbits-for-android-20-released.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2707470360679981456?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2707470360679981456?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/xgaLZ5yMtcA/nimbits-for-android-20-released.html" title="Nimbits For Android 2.0 Released!" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGRedQPciI/AAAAAAAAA48/Do4C6O7uM3Q/s72-c/droid0.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/nimbits-for-android-20-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkECSXw4fCp7ImA9WxFaE08.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-2668693859444448367</id><published>2010-07-16T12:21:00.000-07:00</published><updated>2010-07-16T15:51:08.234-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-16T15:51:08.234-07:00</app:edited><title>[Data In] Connect Arduino to Nimbits Data Logger</title><content type="html">It's very easy to have an Arduino device feed data up into the&lt;a href="http://www.nimbits.com/"&gt; Nimbits Data Logger cloud.&lt;/a&gt; This is a fun and simple example where a push button that is wired to an Arduino board sends the fact that it was pressed to a listening .net program. &amp;nbsp;In this example, every time the push button (my house's doorbell) is pressed, a Nimbits data point gets updated and the event is broadcast on Twitter and Facebook.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TEC0pkEWPwI/AAAAAAAAA4g/wHnlvE6bwXQ/s1600/shot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TEC0pkEWPwI/AAAAAAAAA4g/wHnlvE6bwXQ/s320/shot3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This is a simple example to give a basic understanding of how to send output from an Arduino device to Nimbits Data Points.&lt;br /&gt;
&lt;br /&gt;
Make sure you &lt;a href="http://app.nimbits.com/"&gt;log into Nimbits&lt;/a&gt;&amp;nbsp;and create a data point. In this example, my data point is called "doorbell".&lt;br /&gt;
&lt;br /&gt;
Double click on the data point and edit it's properties from the menu on the top left. Here is where you can set &amp;nbsp;the point up to broadcast new values to twitter, facebook or to send you an IM. Make sure you use the menu items to enable these features on your account.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TECvwgxw7HI/AAAAAAAAA4Y/fl7lo-WrFeo/s1600/twitter2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TECvwgxw7HI/AAAAAAAAA4Y/fl7lo-WrFeo/s320/twitter2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Circuit&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The circuit is right out of this tutorial on the Arduino Home Page:&amp;nbsp;&lt;a href="http://www.arduino.cc/en/Tutorial/Pushbutton"&gt;http://www.arduino.cc/en/Tutorial/Pushbutton&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Arduino Code:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;A small mod to the code on the sample page will wait until the button is pressed and released before sending the "Ding Dong" message up the serial (USB)&amp;nbsp;connection.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; int inPin = 7;   // choose the input pin (for a pushbutton)&lt;br /&gt;
int val = 0;     // variable for reading the pin status&lt;br /&gt;
boolean pressed = false;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
pinMode(ledPin, OUTPUT);  // declare LED as output&lt;br /&gt;
pinMode(inPin, INPUT);    // declare pushbutton as input&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
&lt;br /&gt;
val = digitalRead(inPin);  // read input value&lt;br /&gt;
if (val == HIGH) {         // check if the input is HIGH (button released)&lt;br /&gt;
if (pressed)&lt;br /&gt;
{&lt;br /&gt;
//must have just been release&lt;br /&gt;
pressed = false;&lt;br /&gt;
Serial.println("Ding Dong");&lt;br /&gt;
}&lt;br /&gt;
digitalWrite(ledPin, LOW);  // turn LED OFF&lt;br /&gt;
} else {&lt;br /&gt;
pressed = true;&lt;br /&gt;
digitalWrite(ledPin, HIGH);  // turn LED ON&lt;br /&gt;
}&lt;br /&gt;
}&lt;/span&gt;&lt;/span&gt;        &lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Windows Program.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can download Visual Studio 2008 Express to write this simple console application. Create your new project and add the NimbitsSDK as a refrence. &amp;nbsp;[&lt;a href="https://code.google.com/p/nimbits/downloads/detail?name=NimbitsSDK.zip&amp;amp;can=2&amp;amp;q=#makechanges"&gt;Download the Nimbits SDK&lt;/a&gt;] [&lt;a href="https://code.google.com/p/nimbits/"&gt;Source code&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
The SDK simplifies logging in securely with your google account.&lt;br /&gt;
&lt;br /&gt;
Now it's just a matter of running this code to monitor our com port. You'll need to add the credentials you used to log into nimbits, the target data point, and the com port your Arduino is on.:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt; using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.IO.Ports;&lt;br /&gt;
namespace NimbitsDoorBell&lt;br /&gt;
{&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
static SerialPort ComPort;&lt;br /&gt;
private static string PortName = "COM4"; // Check device Manager for Port Number&lt;br /&gt;
private static NimbitsSDK.client SDK1 = new NimbitsSDK.client("example@gmail.com", "password");&lt;br /&gt;
private static String pointName = "doorbell";&lt;br /&gt;
private static int timesPressed = 0;&lt;br /&gt;
&lt;br /&gt;
static void Main(string[] args)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
ComPort = new SerialPort(PortName, 9600);&lt;br /&gt;
ComPort.Parity = Parity.None;&lt;br /&gt;
ComPort.StopBits = StopBits.One;&lt;br /&gt;
ComPort.DataBits = 8;&lt;br /&gt;
ComPort.DataReceived += OnSerialDataReceived;&lt;br /&gt;
ComPort.Open();&lt;br /&gt;
while (true) { }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
public static void OnSerialDataReceived(object sender, SerialDataReceivedEventArgs args)&lt;br /&gt;
{&lt;br /&gt;
string data = ComPort.ReadLine();&lt;br /&gt;
Console.WriteLine(  data);&lt;br /&gt;
timesPressed += 1;&lt;br /&gt;
SDK1.RecordValue(pointName, timesPressed, DateTime.Now, "Doorbell Rang");&lt;br /&gt;
Console.WriteLine("Ding Dong" + timesPressed);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;/span&gt;&lt;/span&gt;                  &lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
That's it! Now every time the button is pressed nobody will be out of the loop!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-2668693859444448367?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2KS5TqHoN_gBqhLIcrqcdyRhFEU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2KS5TqHoN_gBqhLIcrqcdyRhFEU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2KS5TqHoN_gBqhLIcrqcdyRhFEU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2KS5TqHoN_gBqhLIcrqcdyRhFEU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/bR2RPnBcX3k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/2668693859444448367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/07/data-in-connect-arduino-to-nimbits-data.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2668693859444448367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/2668693859444448367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/bR2RPnBcX3k/data-in-connect-arduino-to-nimbits-data.html" title="[Data In] Connect Arduino to Nimbits Data Logger" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ZsEcUKqDnE4/TEC0pkEWPwI/AAAAAAAAA4g/wHnlvE6bwXQ/s72-c/shot3.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/07/data-in-connect-arduino-to-nimbits-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcGR3s5eip7ImA9WxFUF0s.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-1335530435707189641</id><published>2010-06-28T15:05:00.000-07:00</published><updated>2010-06-28T15:10:26.522-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-28T15:10:26.522-07:00</app:edited><title>Nimbits as a Parallax Data Logger</title><content type="html">This post will walk you through how to get a value from a&amp;nbsp;Parallax&amp;nbsp;Basic Stamp (BS2)&amp;nbsp;micro-controller&amp;nbsp;and feed it into the Nimbits Data Logger cloud using a bit of C#. &lt;br /&gt;
&lt;br /&gt;
Your reading from any number of &lt;a href="http://www.parallax.com/Store/tabid/60/Default.aspx"&gt;Parallax sensors&lt;/a&gt; can then be viewed in a &lt;a href="http://nimbits.blogspot.com/2010/02/create-visio-diagram-with-nimbits-data.html"&gt;Visio Diagram&lt;/a&gt;, &lt;a href="http://nimbits.blogspot.com/2010/02/connecting-spreadsheets-to-nimbits.html"&gt;Spreadsheet&lt;/a&gt;, and your&amp;nbsp;&lt;a href="http://nimbits.blogspot.com/2010/01/nimbits-on-android.html"&gt;Android Phone&lt;/a&gt;. You can even have alerts or current readings posted to your &lt;a href="http://nimbits.blogspot.com/2010/06/nimbits-on-facebook.html"&gt;Facebook Wall&lt;/a&gt;. &amp;nbsp; Remember, your data is being fed up to the Google App Engine Cloud computing platform, so the data being fed up from your computer's USB port can be accessed from anywhere in the world.&lt;br /&gt;
&lt;br /&gt;
If you're not familiar with Parallax&amp;nbsp;Micro-controllers check out&amp;nbsp;&amp;nbsp;&lt;a href="http://www.parallax.com/"&gt;http://www.parallax.com&lt;/a&gt;&amp;nbsp;for some amazing sensors and robotics projects.&lt;br /&gt;
&lt;br /&gt;
I'm not going into how to actually build a sensor. I'm assuming the audience here is already familiar with stamp programming. &amp;nbsp;The sample code I'm providing here shows the basics of pumping a value from a Parallax Board of Education out a the serial port which is then read by a .net client program running on the computer the stamp board is connected to.&lt;br /&gt;
&lt;br /&gt;
When I tested out this tutorial, I had my old&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/goog_1163414280"&gt;"B&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222255; font-size: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.blogger.com/goog_1163414280"&gt;oard of Education Development Board - Serial Version&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222255; font-size: 16px; white-space: nowrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://www.parallax.com/Store/Microcontrollers/BASICStampDevelopmentBoards/tabid/137/List/0/CategoryID/12/Level/a/SortField/0/Default.aspx"&gt;"&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;, connected to my Windows PC using a serial to USB converter. &amp;nbsp;Parallax also carries a USB BOE now as well.&lt;br /&gt;
&lt;br /&gt;
I was also had a spare &lt;a href="http://www.parallax.com/Store/Microcontrollers/BASICStampModules/tabid/134/CategoryID/9/List/0/SortField/0/Level/a/ProductID/1/Default.aspx"&gt;BASIC Samp 2 Module&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1 Setup your Data Point&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Log into&lt;a href="http://app.nimbits.com/"&gt; app.nimbits.com&lt;/a&gt; directly or through&amp;nbsp;Facebook&amp;nbsp;by visiting &lt;a href="http://apps.facebook.com/nimbits"&gt;apps.facebook.com/nimbits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a new Data Point by clicking the + symbol on the tree.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Name the data point whatever you like.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;You can double click the point from here and configure it's settings. Set up a calculation you'd like it to execute, compression settings etc.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TCkUQ6L12mI/AAAAAAAAA2s/nBVoDXwDeFs/s1600/shotnewpoint.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TCkUQ6L12mI/AAAAAAAAA2s/nBVoDXwDeFs/s200/shotnewpoint.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Step 2 Setup your stamp&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;After setting up the hardware mentioned above. Download the Stamp Editor from Parallax's web site:&amp;nbsp;&lt;a href="http://www.parallax.com/tabid/441/Default.aspx"&gt;http://www.parallax.com/tabid/441/Default.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The COM Port my BOE is on was Com 3. Make a note of what port your stamp is actually on.&lt;/li&gt;
&lt;li&gt;The .Net code i'm going to provide in Step 3 will&amp;nbsp;receive&amp;nbsp;any number coming up that port that your Stamp Module is sending as a DEBUG message. Here is a snippet of PBASIC code that will send a debug message with number 42 (my favorite number). For this demo, that's all i'm going to do - but that number can of course be a reading from any&amp;nbsp;sensor&amp;nbsp;code you have in place:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;' {$STAMP BS2}&lt;br /&gt;
' {$PBASIC 2.5}&lt;br /&gt;
&lt;br /&gt;
DO&lt;br /&gt;
DEBUG DEC 42&lt;br /&gt;
PAUSE 1000&lt;br /&gt;
LOOP&lt;br /&gt;
END&lt;/span&gt;&lt;/span&gt; &lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;b&gt;Step 3 Feed whatever value the Stamp is sending up to Nimbits&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;With this code tokenized to your stamp module, the stamp should now be sending the number 42 up the wire. The next step is to grab the reading and feed it up to the Nimbits Cloud&lt;/li&gt;
&lt;li&gt;This code is very simple, it uses the Nimbits SDK to authenticate you to Google's&amp;nbsp;infrastructure.&lt;/li&gt;
&lt;li&gt;In Visual Studio 2008 or Higher, create a new C# Console Application project.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nimbits.blob.core.windows.net/deploy/NimbitsSDK.zip"&gt;Download the Nimbits SDK&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The NimbitsSDK is a .Net 3.5 assembly. Simply add it as a reference in your project.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.google.com/p/nimbits/"&gt;The NimbitsSDK source code&lt;/a&gt; is also available on Google Code.&lt;/li&gt;
&lt;li&gt;Add this code to your project. Change the PointName and PortName to your settings&lt;/li&gt;
&lt;li&gt;Change the email and passwords that match the account you logged into Nimbits with.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;using System.IO.Ports;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;namespace TempProbe1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;class Program&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;static SerialPort ComPort;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;private static string PointName = "ParallaxPoint1";&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;private static string PortName = "COM3"; // Check device Manager for Port Number&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;private static NimbitsSDK.client SDK1 = new NimbitsSDK.client("example@gmail.com", "password");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;static void Main(string[] args)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort = new SerialPort(PortName, 9600);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort.Parity = Parity.None;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort.StopBits = StopBits.One;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort.DataBits = 8;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort.DataReceived += OnSerialDataReceived;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ComPort.Open();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;while (true) { }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;public static void OnSerialDataReceived(object sender, SerialDataReceivedEventArgs args)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;string data = ComPort.ReadExisting();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;double v = Double.Parse(data);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SDK1.RecordValue(PointName, v, new DateTime());&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Console.WriteLine("Recorded a new value! " + v);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: #fff2cc;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
That's it! Your values are now being recorded on the Nimbits Data Logger cloud. Any connected spreadsheet and diagram will show the new readings. Also, if you add Nimbits to your Facebook by visiting &lt;a href="http://apps.facebook.com/nimbits"&gt;http://apps.facebook.com/nimbits&lt;/a&gt; you can then configure your point to post new readings to your status. Facebook posts look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TCkcWZUgEKI/AAAAAAAAA20/LCOA1y8He2U/s1600/shot1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/TCkcWZUgEKI/AAAAAAAAA20/LCOA1y8He2U/s320/shot1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-1335530435707189641?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XZhvtzGrNLyzXZ1WAgGd7Vz3EN0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XZhvtzGrNLyzXZ1WAgGd7Vz3EN0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XZhvtzGrNLyzXZ1WAgGd7Vz3EN0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XZhvtzGrNLyzXZ1WAgGd7Vz3EN0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/EPGLbWO7F6U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/1335530435707189641/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/06/read-values-from-parallax-micro.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1335530435707189641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/1335530435707189641?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/EPGLbWO7F6U/read-values-from-parallax-micro.html" title="Nimbits as a Parallax Data Logger" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TCkUQ6L12mI/AAAAAAAAA2s/nBVoDXwDeFs/s72-c/shotnewpoint.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/06/read-values-from-parallax-micro.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQDSHw6fSp7ImA9Wx5TFEw.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-3569367187501225065</id><published>2010-06-27T11:27:00.000-07:00</published><updated>2010-07-29T08:29:39.215-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-29T08:29:39.215-07:00</app:edited><title>Nimbits on Facebook</title><content type="html">&lt;a href="http://www.nimbits.com/"&gt;Nimbits&lt;/a&gt; is now the only data logging service that integrates with the Facebook Graph platform! &amp;nbsp;You can add Nimbits Data logging to your&amp;nbsp;Facebook&amp;nbsp;profile by following this link:&lt;a href="http://apps.facebook.com/nimbits"&gt; http://apps.facebook.com/nimbits&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
When you log into &lt;a href="http://app.nimbits.com/"&gt;app.nimbits.com&lt;/a&gt; you can go to a data points property page and either configure the point to post any newly recorded value to your&amp;nbsp;Facebook&amp;nbsp;wall or post alerts (when the value&amp;nbsp;exceeds&amp;nbsp;your high or low setting. &amp;nbsp;Of course, be careful. You will probably annoy your&amp;nbsp;friends&amp;nbsp;if you post second by second readings to your wall.&lt;br /&gt;
&lt;br /&gt;
In order to use the&amp;nbsp;Facebook&amp;nbsp;functionality, you must add the Nimbits&amp;nbsp;Facebook&amp;nbsp;app to your profile. Just visit &lt;a href="http://apps.facebook.com/nimbits%C2%A0"&gt;http://apps.facebook.com/nimbits&amp;nbsp;&lt;/a&gt;&amp;nbsp;&amp;nbsp;and allow Nimbits access to your profile. Just note that if you are also using Nimbits with your&amp;nbsp;Google&amp;nbsp;account, the&amp;nbsp;Facebook&amp;nbsp;email account you use must match. Nimbits matches your existing email with the&amp;nbsp;Facebook&amp;nbsp;account. Otherwise, Nimbits will register you as a new user under the&amp;nbsp;Facebook&amp;nbsp;email address it found.&lt;br /&gt;
&lt;br /&gt;
Here is an example of a&amp;nbsp;Facebook&amp;nbsp;wall post when my&amp;nbsp;&lt;a href="http://nimbits.blogspot.com/2010/02/connecting-temp-probe-to-nimbits.html"&gt;temperature&amp;nbsp;probe&lt;/a&gt; read in a new value&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGeVvbCTEI/AAAAAAAAA5U/3Cnbt-9k7wQ/s1600/shot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGeVvbCTEI/AAAAAAAAA5U/3Cnbt-9k7wQ/s400/shot2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-3569367187501225065?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MgkOH9L3OsUZ2rh9LGUSQk3tjAc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MgkOH9L3OsUZ2rh9LGUSQk3tjAc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MgkOH9L3OsUZ2rh9LGUSQk3tjAc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MgkOH9L3OsUZ2rh9LGUSQk3tjAc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/NFmBI22fjcQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/3569367187501225065/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/06/nimbits-on-facebook.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3569367187501225065?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/3569367187501225065?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/NFmBI22fjcQ/nimbits-on-facebook.html" title="Nimbits on Facebook" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ZsEcUKqDnE4/TFGeVvbCTEI/AAAAAAAAA5U/3Cnbt-9k7wQ/s72-c/shot2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/06/nimbits-on-facebook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEGRXo4eCp7ImA9WxFQFkQ.&quot;"><id>tag:blogger.com,1999:blog-8488376646334685975.post-7540263935760263067</id><published>2010-05-12T11:57:00.000-07:00</published><updated>2010-05-12T11:57:04.430-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-12T11:57:04.430-07:00</app:edited><title>May Newsletter</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Back in April, we posted a new version of Nimbits that with the following new features:&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Drag and Drop from the Data Point tree to the charts and grids&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;You can now re-organize your data points by dragging them around your Point Categories. &amp;nbsp;&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;We’ve removed limitation on the size of data trends you can request on the portal. &lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;New Integration with Google Earth allows you to assign GPS Coordinates to your data points and see your changes on the Map&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Subscribers can configure data points to Pull Data from a URL at a regular interval&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Continuous improvements on Data compression and Performance. &lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;We’ve flushed out some issues with the Android front end.&amp;nbsp; We recommend uninstalling the previous version and downloading the update. The new Android App is faster and more reliable. &lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;We’re working on a user manual that is available now on our Open Source Repository : &lt;a href="http://nimbits.googlecode.com/svn/trunk/Nimbits%20User%20Guide.pdf"&gt;http://nimbits.googlecode.com/svn/trunk/Nimbits%20User%20Guide.pdf&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The manual currently documents the various REST web services that developers can use to program against the Nimbits Platform.&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;·&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Speaking of Open Source. We’re currently working towards making Nimbits an Open Source Project. The Source code for Data Acquisition Studio, the .Net 3.5 Nimbits SDK and the Android Interface are currently part of the Open Source Project under the MIT License. &lt;a href="https://code.google.com/p/nimbits"&gt;https://code.google.com/p/nimbits&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 16.0pt;"&gt;Join Us&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;We’d really appreciate seeing you on our &lt;a href="http://www.facebook.com/group.php?gid=150121814698"&gt;Facebook Fan Page&lt;/a&gt;. If you’d like to post feedback, get support or ask questions it would also be great to see you on the &lt;a href="http://groups.google.com/group/nimbits"&gt;Nimbits News Group&lt;/a&gt;. Lastly, if you’d like to get updates on the tutorials and guides we post, it would be great if you would follow the &lt;a href="http://nimbits.blogspot.com/"&gt;Nimbits Blog&lt;/a&gt;.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 14.0pt;"&gt;What’s Next?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Here is what we’re working on for the upcoming versions of Nimbits&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Nimbits is a social data logging service. The next version will allow you to “Friend” other data loggers and share data with each other. &lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;A search engine that will allow you to find and friend other data loggers based on data point descriptions etc.&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Tighter integration into Google Earth, GPS coordinates will be received from mobile phones&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Integration with Facebook and Twitter&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Command Line tools for Linux and windows powershell. &lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Arduino and Stamp support&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Deep integration into Wolfram Alpha &lt;a href="http://www.wolframalpha.com/"&gt;&lt;span style="color: windowtext;"&gt;http://www.wolframalpha.com&lt;/span&gt;&lt;/a&gt; for data modeling&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l1 level2 lfo2; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 1.0in; text-indent: -.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-list: Ignore;"&gt;o&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Instant Messaging Alerts to popular IM clients &lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;If you have any questions about Nimbits or would like to see a new feature you can use, please just let me know! &lt;/div&gt;&lt;div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8488376646334685975-7540263935760263067?l=nimbits.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TDGrEgikj64vG2rwiW-9Bw2yIPU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TDGrEgikj64vG2rwiW-9Bw2yIPU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TDGrEgikj64vG2rwiW-9Bw2yIPU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TDGrEgikj64vG2rwiW-9Bw2yIPU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Nimbits/~4/dhfeiyPaglw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimbits.blogspot.com/feeds/7540263935760263067/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimbits.blogspot.com/2010/05/may-newsletter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7540263935760263067?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8488376646334685975/posts/default/7540263935760263067?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Nimbits/~3/dhfeiyPaglw/may-newsletter.html" title="May Newsletter" /><author><name>Benjamin Sautner</name><uri>http://www.blogger.com/profile/03428034421877522220</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://1.bp.blogspot.com/_ZsEcUKqDnE4/Sr4gzRqzA8I/AAAAAAAAAxw/bkWSlFGHtiE/S220/n1379097903_6481.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimbits.blogspot.com/2010/05/may-newsletter.html</feedburner:origLink></entry></feed>

