Acceso a twiter con netduino


 

Pasos a aseguir

Las librerias de Microtweet de Codeplex, aquí

Crear una nueva cuenta de twitter.

Regístrese nueva aplicación según las instrucciones. Agregar 4 claves para el código.

Se usara un ssnsor de 1 hilo S1820 (de la parte posterior de Java material Tini en 2000/01. Obsoleta DS1820, pero funciona bien)1

Tambien  se usa un pulsador para realizar elenvio de tweets

Cargue este codigo en su netduino , asegurese que este est coenctado a Internet y  Pulse el botón: esto , leera la temperatura,y  enviara tweets.

A continuación el codigo para nuestro Netduino:

 

using System;
using System.Net;

002

 

using System.Net.Sockets;

003

 

using System.Threading;

004

 

using Microsoft.SPOT;

005

 

using Microsoft.SPOT.Hardware;

006

 

using SecretLabs.NETMF.Hardware;

007

 

using SecretLabs.NETMF.Hardware.NetduinoPlus;

008

 

using Komodex.NETMF.MicroTweet;

009

 

using Microsoft.SPOT.Net.NetworkInformation;

010

 

using CW.NETMF.Hardware;

011

 

012

 

namespace TweetButtonTest

013

 

{

014

 

    public class Program

015

 

    {

016

 

        private const string consumerKey = "KeyGoesHere";

017

 

        private const string consumerSecret = "ItsASecret";

018

 

        private const string userToken = "InsertCoin";

019

 

        private const string userSecret = "Shh...DontTellAnyone";

020

 

021

 

        private const string ntpServer = "time-a.nist.gov";

022

 

023

 

        private OutputPort led = null;

024

 

        private TwitterClient twitterClient = null;

025

 

        private OneWire oneWire;

026

 

027

 

        public static void Main()

028

 

        {

029

 

            new Program().Run();

030

 

        }

031

 

032

 

        public void Run()

033

 

        {

034

 

035

 

            NTP.UpdateTimeFromNTPServer(ntpServer);

036

 

037

 

            twitterClient = new TwitterClient(consumerKey, consumerSecret, userToken, userSecret);

038

 

039

 

            oneWire = new OneWire(Pins.GPIO_PIN_D1);

040

 

            led = new OutputPort(Pins.GPIO_PIN_D13, false);

041

 

042

 

            Button button = new Button(Pins.GPIO_PIN_D0);

043

 

            button.Released += new NoParamEventHandler(button_Released);

044

 

045

 

            Thread.Sleep(Timeout.Infinite);

046

 

        }

047

 

048

 

        void button_Released()

049

 

        {

050

 

            try

051

 

            {

052

 

                float temperature = GetTemperature();

053

 

                string msg = "Today I'm tweeting the temperature from an DS1820. It's "+temperature+"C #netdunio";

054

 

                Debug.Print(msg);

055

 

056

 

                bool tweetSent =  twitterClient.SendTweet(msg);

057

 

                if (tweetSent)

058

 

                {

059

 

                    FlashLed(1);

060

 

                }

061

 

                else

062

 

                {

063

 

                    FlashLed(2);

064

 

                }

065

 

            }

066

 

            catch

067

 

            {

068

 

                FlashLed(3);

069

 

            }

070

 

        }

071

 

072

 

        private void FlashLed(int flashCount)

073

 

        {

074

 

            while (flashCount-- > 0)

075

 

            {

076

 

                led.Write(true);

077

 

                Thread.Sleep(250);

078

 

                led.Write(false);

079

 

                Thread.Sleep(250);

080

 

            }

081

 

        }

082

 

083

 

        private float GetTemperature()

084

 

        {

085

 

            oneWire.Reset();

086

 

            oneWire.WriteByte(OneWire.SkipRom); //All devices

087

 

            oneWire.WriteByte(DS1820.ConvertT); //Do convert

088

 

            Thread.Sleep(750);  //Wait for conversion

089

 

090

 

            oneWire.Reset();

091

 

            oneWire.WriteByte(OneWire.SkipRom); //All devices

092

 

            oneWire.WriteByte(DS1820.ReadScratchpad); //Read data

093

 

094

 

            //Read the first two bytes - tempLow and tempHigh

095

 

            byte tempLow = oneWire.ReadByte();

096

 

            byte tempHigh = oneWire.ReadByte();

097

 

            return DS1820.GetTemperature(tempLow, tempHigh);

098

 

099

 

        }

100

 

    }

101

 

}

102

 

Anuncios
Esta entrada fue publicada en Netduino.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s