Internet of things project: Connect Arduino to Ubidots and Android – Part 1 & 2

by Francesco Azzola



Overview

This IoT project explores how to connect Arduino to Ubidots and Android. One important aspect in Arduino Internet of things programmin is how to connect arduino to internet and store date to IoT cloud platforms using arduino ethernet shield. This aspect is important because it is possible to store data in the cloud and then analyze it. Once the data, like sensor values, is on the cloud is possible to access it using smart phones and control remotely the Arduino board.

As soon as the temperature and humidity sensor starts reading values, it sends them through Arduino board to the cloud platform. The project uses Ubidots to store data in the cloud. This platform is easy to use and can be easily integrated with Arduino. Moreover, it has a built-in dashboard features, so that it is possible to creates interesting dashboard to show, using charts, the values sent from the board.

Components

  • W5500 Ethernet Shield
  • Arduino-Uno
  • DHT11
  • Ubidots

How to Build

  1. Connect the DHT11 to Arduino-Uno

  2. Import DHT11 Libary to Arduino IDE
    In this sketch, DHT11 sensor is connected to Arduino board, that, in turn, uses the Arduino Ethernet shield to connect to the network to send data. As first step, we check if everything is connected correctly trying to read the value of the temperature and the humidity. The snippet below shows the Arduino sketch to test the sensor:

    #include "DHT.h"
    #include <spi.h>
    #define DHTPIN 2
    #define DHTTYPE DHT11
    
    DHT dht(DHTPIN, DHTTYPE);
    
    void setup() {
     Serial.begin(9600);
     dht.begin();
    }
    
    void loop() {
     delay(50000);
    
     float h = dht.readHumidity();
     // Read temperature as Celsius (the default)
     float t = dht.readTemperature();
    
     Serial.print("Humidity: ");
     Serial.print(h);
     Serial.print(" %t");
     Serial.print("Temperature: ");
     Serial.print(t);
     Serial.println(" *C ");
    }
    
  3. Register the arduino to Ubidots & Import Ubidots Library to Arduino IDE

    http://things.ubidots.com/api/v1.6/collections/values
    

    Refer to Ubidots Dco

  4. Implements WebClient for Arduino
    Ubidots provides an example that can be useful. In Arduino, we have to develop an ArduinoHTTP client that calls a JSON service passing the data we want to store in the cloud.

    JSON Format :
    [{"variable": "varId", "value":val, "timestamp":timestamp},{"variable": "vardId1", "value":val1, "timestamp":timestamp1}]

Learn More

Goto Original
Get Free Arduino Things Free Source

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Russound RNET to Sonos Bridge (Arduino MEGA) – Part 2

by DannyMav @Mavromatic



Overview

While it was possible to use an Arduino duemilanove (Atmel 328 chipset) for this project (See Part 1), He was really limited due to the 2K of RAM. It was fun trying to optimize code to get things to run in that amount of memory, however, it caused me to not be able to expand on functionality and features. He has upgraded the project to an Arduino MEGA (Atmel 1280 chipset). This platform gives him up to 8K of RAM — which should be more than enough memory (famous last words).
A lot of people have asked him to explain what exactly he’s doing with the Arduino. It’s pretty simple. First, He’s using a RS232 shield (not shown) to capture RS232 commands from the Russound Controller. When a key is pressed on the Russound keypads He read the RS232 data and either ignore or react to the events. Currently, He’s looking for +, -, Next, Previous, Play/Pause, Menu events. He plans on using the Menu button to offer deeper content browsing menus (need to sniff the RS232 or wait for Russound to publish protocol). The + & – buttons will allow to scroll playlists and the rest of the transport buttons are self explanatory.

  • Example RNET Next Track Event
F0 0 7D 7 0 0 7F 5 2 1 0 2 1 0 E 0 0 1 7 0 1 2A F7

Since the Sonos is a uPnP based system there is no IR or way to traditionally control it. Everything needs to be done via HTTP calls. He’s using an Ethernet Shield to translate the RS232 events to uPnP messages. The biggest challenge has been parsing the huge amounts of VERY VERBOSE SOAP-based notification messages. He parses the data real time, looking for strings that He want to store (things like playstate and metadata).
To make matters worse, Sonos is URL encoding XML data inside of an XML structure. So writing a simple XML parser is not possible. You have to look for things like &lt; for a less-than bracket (<). There were times I wanted to scrap the whole project because of this due to the limited RAM and string utilities — it really makes things a lot harder to deal with.

  • Example of nested URL encoded XML
&lt;Event xmlns="urn:schemas-upnp-org:metadata-1-
0/AVT/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-10/"&gt;
&lt;InstanceID val="0"&gt;&lt;TransportState val="PLAYING"/ 

Demo Movie

Learn More

Goto Original


블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Arduino + WebSockets II

by Daniel Garrido



Overview

These postings show how to use WebSockets to display data taken from Arduino and broadcast it to any Browser with WebSocket support.

This project describes how to use WebSockets to display data taken from Arduino and broadcast it to any Browser with WebSocket support. Test your browser here: http://websocket.org/echo.html

Please read the first part of this serie: http://yopero-tech.blogspot.com/2012/02/arduino-websockets.html

First of all we need to decide what data to display and what to control in Arduino from the web page .

In this example I am going to control 3 remote controlled relays that you can buy at your hardware store and I want to display the values from 2 temperature sensors.(DS18S20)

3 main parts of software & hardware(Arduino Board)

This project is composed out of 3 main parts of software apart from the hardware(Arduino Board):

  1. WebSocket Server:
    • Python
    • Autobahn
      • Twisted
        • PySerial
  2. MCU (Micro Controller Unit)
    • Arduino Board(Vinciduino in my case).
    • Arduino IDE or AVR studio.
  3. Client:
    • Any web server, I use xampp or python to test as localhost

Demo Movie

Learn More

Goto Original


블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Cosm and TMP100

by Fork Robotics



Overview

These posting point out collecting data. Also, this unwieldy mass of data needs to be logged, processed, stored and displayed in a reasonable way for it to be usable. Then, show how to create a feed and upload data reading from sensor an to Cosm via an Arduino Ethernet Shield.

All of the devices around us are starting to become data collection points. Every minute of every day many data points are generated. This unwieldy mass of data needs to be logged, processed, stored and displayed in a reasonable way for it to be usable. The question becomes how to do this. One solution for the DIY community is Cosm (formerly Pachub) that allows us to do just that for free. In this article I’ll show you how to setup an account, create a feed and upload temperature readings from an I2C temperature sensor to Cosm via an Arduino Ethernet Shield.

Materials :

  • Cosm Account
  • Arduino and Ethernet Shield or Arduino Ethernet
  • Breadboard and jumper wires
  • tmp100 (or other I2C temperature sensor) on a breakout board

Setup a Cosm Account

Cosm site is changed to Xively.

If you don’t already have one the first thing you need to do is setup a Cosm Account

  1. Go to https://cosm.com
  2. Click the big blue “Get Started” button
  3. Enter an email, username and password then click the “Sign up” button
  4. You’ll get an email with a link to verify your registration
  5. The link will bring you directly into your account
  6. Click on the big plus button
  7. Select Arduino
  8. Give the new feed a title and tags (optional) and press Create
  9. The Cosm Site will give you a sample sketch to upload data. You only need the three lines that start with:
    A. #define APIKEY
    B. #define FEEDID
    C. #define USERAGENT

Learn More

Goto Original

 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

SparkFun Ethernet Shield Quickstart Guide

by Jimb0



Overview

In this tutorial, we’ll cover how to get up and running with the SparkFun Ethernet Shield. Requirements, hardware, assembly, and programming will all be covered. Follow along, and your Arduino should be skimming Twitter and hosting webpages in no time!

Requirements:

  • Headers (and soldering tools)
  • An Ethernet cable
  • µSD Card (optional)
  • Arduino Development Board
  • Arduino Software

Hardware

  • The SparkFun Ethernet Shield is comprised of two stand-out components - a Wiznet W5100 TCP/IP embedded Ethernet controller and a µSD socket.

    • The W5100 is a powerful little chip, which implements all sorts of complex network protocols - TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE, and the physcial Ethernet layer. This alleviates a lot of programming stress on us and memory stress on the Arduino. All of the communication between the W5100 and the Arduino is SPI-based and handled using the Ethernet library, which we’ll discuss in the firmware section below.

    • The W5100 is supported by a number of components - capacitors, a crystal, reset monitors - but most especially an Ethernet jack, actually a MagJack. Inside that little RJ-45 jack are a number of transformers and magnetics required for isolating Ethernet signals (you could say this jack is…more than meets the eye). There are even some LEDs poking out the end.

  • The µSD socket extends near the edge of the shield, where the card should be inserted. The socket sits next to a 74HC4050 (high-to-low level shifter), which handles all of the 5V-to-3.3V voltage shifting (those delicate µSD cards shouldn’t be subjected to 5V signals).

  • Some of the less spectacular components (don’t tell them I said that) on the Ethernet Shield include a reset button, 3.3V regulator, and a number of blinky LEDs. The reset button works just like the one the Arduino itself, though it’ll also reset the W5100. The LEDs include a power indicator LED, as well as a number of status LEDs (Ethernet receive/transmit, collision, and speed) tied to the W5100, which will appear to have a mind of their own.

Learn More

Goto Original


 

 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Teleduino

by Teleduino



Overview

Teleduino converts your ethernet enabled Arduino into a powerful and versatile tool for interacting with devices over the internet. Not only that, but it makes it quick and easy.

Teleduino is now available for the Arduino Mega range of boards!

Once your Teleduino is configured, it automatically connects itself to the Teleduino server when powered on. The Teleduino server translates instructions received from the internet into actions on the Teleduino device.

Using the Teleduino platform, you can perform the following tasks with your Arduino via the simple web service:

  • Reset, ping, get uptime, get free memory.
  • Define pin modes, set digital outputs, set analog outputs, read digital inputs, read analog inputs, or read all inputs with a single API call.
  • Define up to 2 ‘banks’ (4 for the Mega) of shift registers. Each ‘bank’ can contain up to 32 cascaded shift registers, giving a total of 512 digital outputs (1024 for the Mega).
  • Shift register outputs can be set, or merged, and expire times can be set on merges (you could set an output(s) high for X number of milliseconds).
  • Define, and read and write from serial port (4 for the Mega).
  • Read and write from EEPROM.
  • Define and position up to 6 servos (48 for the Mega).
  • Interface with I2C (TWI) sensors and devices.
  • Set preset values for the above functions, which get set during boot. Preset values are stored in the first 178 bytes of the EEPROM (413 for the Mega).

Documentation

Learn More

Goto Original


 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Controlling Arduino with iPod touch through WebSocket

by Yoshiyasu SAEKI



Overview

In this post, Author made an application with DeviceMotion Event and WebSocket in iPod touch. WebSocket server is written in Python/Tornado. So WebSocket message should be able to be relayed to other softwares or devices. Author tries to control Arduino device with iPod touch through WebSocket by moving ball in ipodtouch and getting ball data on Matrix LED.

Parts :

  • Matrix LED
  • ipod touch
  • Ehternet Shield
  • Arduino

Demo Movie

Learn More

Goto Original


 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

Controlling GLCD with Arduino and iPod touch

by Yoshiyasu SAEKI



Overview

In this post, GLCD is controlled with iPod touch/Safari through WebSocket. For controlling GLCD, you should use Arduino and KS0108 library. Firstly you have to wrote the Arduino code that Arduino receives a drawing data from serial port and draws a picture on GLCD and write the WebSocket Server in Python/Tornado. Finally Write a web page for drawing a picture and sending a drawing data.

Parts :

  • Graphics LCD
  • Arduino
  • Ethernet shield
  • ipodtouch

Demo Movie

Learn More

Goto Original


 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

World Domination Using Arduinos and Websockets

by kevinrohling



Overview

In this post, Author say that arduinos are tons of fun and recommend remotely controlling robot to you. And, Author recommend solutions how to remotely control robot. It is to use pusher, a real-time push notification service that runs over WebSockets.

Building the WebSocket Client

WebSockets are an interesting hybrid between HTTP and raw TCP connections. They start life very much like a normal HTTP GET request. In the request the client sends a bit information asking for an “upgraded” connection. Once the server sees this, if WebSockets are supported it sends a response back with a status code of 101 indicating that the connection was successfully upgraded. Then, and here’s where things diverge from HTTP, nobody closes the connection. Both the client and the server remain connected to each other. Here’s what this looks like at the socket level:

  • Client Requests a WebSocket Connection

    GET /app/yourpusherapikey?client=js&version=1.9.0 HTTP/1.1
    Upgrade: WebSocket 
    Connection: Upgrade 
    Host: ws.pusherapp.com:80 
    Origin: ArduinoWebSocketClient
    
  • Server responds indicating that the upgrade was successful

    HTTP/1.1 101 Web Socket Protocol Handshake
    Upgrade: WebSocket 
    Connection: Upgrade 
    WebSocket-Origin: ArduinoWebSocketClient 
    WebSocket-Location: ws://ws.pusherapp.com:80/app/yourpusherapikey?client=js&version=1.9.0 
    Connected
    

Controlling an Arduino Robot using Websockets and Pusher

Learn More

Goto Original


 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자

ArtNET DMX Node based on Arduino

by Caneira


Overview

The purpose of this article, based on an original project published in Blog Deskontrol Electronics, is to show how to build an Art-NET Node, based on the well known and well-known Arduino Mega, with capacity to control up to 4 DMX universes. This Node responds to all the basic messages of the Art-NET protocol, so any controller that respects the protocol will be able to detect it and use it as a DMX input/output device.

Materials Component name

  • Arduino Mega 2560 or Mega 1280
  • Arduino Ethernet Shield based on Wiznet W5100
  • Prototype Shiled, para montegem
  • Livraria Deskontrol 4 DMX
  • Arduino IDE V0023

Learn More

Goto Original

Translate site


 

블로그 이미지

밤소 MidnightCow

위즈네트 칩(W5300, W5200, W7100, W7500) 개발자