Estações medindo temperatura, pressão, velocidade do vento, níveis do rio e marés, humidade e níveis de gases, espalhadas pela cidade interligadas via wi-fi.
Tudo começou após encontrarmos o blog do paulo! Onde ele descreve o projeto monitora cerrado.
Para arduino:
#include <dht.h> dht DHT; #define DHT22_PIN 2 void setup() { Serial.begin(9600); //Serial.println("status, Humidity (%), Temperature (C)"); } void loop() { // READ DATA int chk = DHT.read22(DHT22_PIN); // DISPLAT DATA Serial.print(DHT.humidity, 1); Serial.print(","); Serial.print(DHT.temperature, 1); Serial.print(","); switch (chk) { case 0: Serial.println("OK\n"); break; case -1: Serial.println("Checksum error\n"); break; case -2: Serial.println("Time out error\n"); break; default: Serial.println("Unknown error\n"); break; } delay(1000); }
Para enviar os dados:
#!/usr/bin/python import httplib, urllib, serial def register (humid, temp): params = urllib.urlencode({'field1': humid, 'field2': temp, 'key':'__CHAVE DO THINGSPEAK__'}) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn = httplib.HTTPConnection("api.thingspeak.com:80") conn.request("POST", "/update", params, headers) response = conn.getresponse() # print (response.status, response.reason) data = response.read() conn.close() return; ser = serial.Serial('/dev/ttyUSB0') ser.baudrate = 9600 buffer = '' while True: ch = ser.read(1) if ch == '\n': data = buffer.split(',') humid = data[0] temp = data[1] status = data[2] if status == u'OK': register(humid, temp) ser.close() break; else: buffer += ch
http://www.paulotrentin.com.br/programacao/dicas/programando-arduino-com-eclipse-no-linux-ubuntu/
http://code.google.com/p/arduino/wiki/Arduino1
http://www.arduino.cc/playground/Code/Eclipse
http://code.google.com/p/arduino/issues/detail?id=604
http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download
Ethernet