Mest för att det ser coolt ut med en antenn!
 
  • Gilla
pethson
  • Laddar…
Nu har jag fått ihop en POC på att använda en Raspberry som gateway istället för Vera. Svårt att få ihop några timmar att koda på med ungar som ska läggas, hus som ska renoveras och tjänsteresor.

POC:en består av:
En Arduino Uno kopplad till en Raspberry Pi. Uno:n kör VeraGateway. En Arduino Nano med en DHT11 sensor. Allt omodifierat kod från hek. Versionen är 1.2

Raspberry:n kör en tornado webserver som också läser/skriver till serieporten i en egen tråd för kommunikationen med VeraGateway på uno:n. Värden som kommer in från sensorn sparas ner i en Mongodb. (hyfsat knöligt att få in den på raspberry:n då det inte finns färdiga paket.)

Snurrar sedan en nginx webserver och php som presenterar grafer med hjälp av CanvasJS. Genom JSON anrop kan man också skicka kommandon till sensorerna. I POC:en frågar den bara VeraGateway:en om vilken version den kör.

Grafen blir lite dum för att datan kommer bara in från sensorn när värdet ändras. Datan som visas är över 14 dagar (därav de tråkiga datumen på x-axeln) men med väldigt få punkter då ny data bara skickas från sensorn vid omstart eller vid ändring.

Har funderingar på att ändra i hek:s kod så att mina sensorer rapporterar värde oavsett om det ändras eller inte var 5:e minut. Eller om jag bara ska fylla på med punkter med samma värde som föregående under de perioder jag inte får in något värde från sensorerna.


veragw_poc.JPG
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
  • Gilla
pb76 och 3 till
  • Laddar…
Snyggt wannabee!

Sensorkoden är bara exempel på vad man kan göra. Ändra på. Säg till när du är redo att lägga upp koden.

Snart betaläge för 1.3. Massa kul nyheter väntar.
 
  • Gilla
pixipixiL och 1 till
  • Laddar…
hek skrev:
[länk]
Tack, men beställt sedan länge :)
Har fått allt utom wireless modulerna som drar ut på tiden :/
 
pb76 skrev:
Tack, men beställt sedan länge :)
Har fått allt utom wireless modulerna som drar ut på tiden :/
Om du känner ett jätte sug efter dom kan jag skicka 2 med posten om du vill ? Sen kan du skicka tillbaka 2 när dina kommer
Andreas H
 
  • Gilla
pb76
  • Laddar…
Jipii.. första meddelande skickat genom en relänod!

Kan tänka mig att det känns lite som när graham bell ringde sitt första telefonsamtal.

Kommer försöka rensa upp lite på wikin ikväll och så kan betatestning börja av 1.3. Har själv gjort rundimentär testning av relänoden och rörelsesensorn.

1.3beta1. zip-länk i högerspalten.
http://code.mios.com/git_public/mios/arduino-sensor.git

Diektlänk till zip.
http://code.mios.com/git_public/mio...3dc912a4c5b0bd7ad83125c89f10d8235df3.zip?js=1


Nyheter (ursäkta engelskan)

  • More debug info is printed to serial monitor in sensors (can be turned off).
  • Nodes that receive messages from vera don't need to busy wait. New API methods. See new example code in RelayActuator sketch.
  • Increased transfer speed (1MBPS) between radios.
  • Sent time to sensors uses vera configured timezone
  • Radio protocol updated. from/to/version/crc/binary added in message header. This change requires sensors to update their (1.2) library version.
  • Variables in vera only gets updated if changed.
  • Increased baudrate between vera gateway and vera.
  • Message can be sent between sensors without being processed by vera.
  • Vera library is now a subclass of RF24 .
  • Remove gateway specific code from vera library. New class hierarchy RF24->Node->Relay->Gateway.
  • Preserve memory by placing static strings in PROGMEM
  • Inclusion mode. Can be started from the Arduino Vera plugin or by using digital input pin on vera gateway (inclusion button). All found devices during inclusion time will be created at once (no multi vera reload/restart cycle needed anymore).
  • ArduinoGateway support blinking leds for RX/TX/ERR and a special blink when inclusion mode is activated.
  • Dimmer support
  • Lastupdate-variable is set in vera for all changes.
  • A new device is created in vera for each physical arduino/radio This device will hold info about node, such as library version, battery info and relay information.
  • Support for message relaying. All nodes can act as relay. This functionality can be used for communicating with sensors far away. An relay forwards messages between sensors and vera gateway. Multiple relays (message hops) should be supported. See RelayActuator sketch for an example how to create an relay node.
  • Relay node for a sensor (could be GW) is dynamically located each time a sensor is losing connection. This information is also sent to vera and can be seen in radio node device.
  • Unit system can be configured in vera plugin (metric/imperial). Sensors can fetch this setting (isMetricSystem()) and send in data in the correct unit.


[h=2][/h]
 
  • Gilla
pb76 och 5 till
  • Laddar…
Mycket intressant projekt. Kan man köpa komponenterna från t.ex Elfa el. Farnell? El. vart i sverige köper man de enklast?
 
Visst kan du köpa grejerna på tex elfa fast du får betala så många ggr mer för samma saker. Så jag rekommenderar Heks länkar till aliexpress eller ebay för billigare än så kommer man inte undan.

Endast leveranstiden som kan vara lite seg i bland. :(
 
Men jag är lite sådan som person, jag betalar hellre lite mer för att få varorna mycket snabbare.. Ska beställa idag om jag hittar sakerna på Elfa..:):)
 
@hek,


Hur snabba är enheterna, om man skickar information att ett relä ska sluta sig från Vera, sedan vill man att det ska öppnas igen efter 500 ms, går sådant genomföra med detta du gjort?

Får man någon bekräftelse om "meddelandet" som skickas inte tas emot?
 
http://code.mios.com/trac/mios_arduino-sensor/wiki#Sensors
Jag skriver där på wikin att om du inte vill löda skall du bara köpa Arduino Nanos som har en 3.3V utgång.

Om du vill köra med Pro Mini är det bara att använda sökfältet på aliexpress "pro mini ATMEGA328P".

Finns även nedklockade pro mini varianter som drivs med 3.3V (sök: "pro mini 3.3v") och då behöver du heller inte löda. Dock får du ha koll på att dina sensordelar inte kräver 5V om du kör denna variant.
 
zuper skrev:
@hek,
Hur snabba är enheterna, om man skickar information att ett relä ska sluta sig från Vera, sedan vill man att det ska öppnas igen efter 500 ms, går sådant genomföra med detta du gjort?
Beror nog mest på hur nerlastad din vera är. Tycker generellt det går mycket snabbare än z-wave enheterna. Vad är det du vill slå på/av med denna frekvens? Jag hade nog flyttat på/avslagningen till arduinon där man kan få exakt timing om det handlar om impulsstyrning.

zuper skrev:
Får man någon bekräftelse om "meddelandet" som skickas inte tas emot?
Japp.. sensorn kommer skicka en bekräftelse tillbaka till veran när den mottagit ett uppdaterat värde. Gränssnittet i veran uppdateras inte förrän detta kommer tillbaka.
 
Det jag tänkt använda pulsen till är att koppla in det på moderkortet på en stationär dator som agerar som HTPC. Pulsen (detsamma som att trycka på on/off-knappen), gör att datorn påbörjar avstängning. Om pulsen sker när datorn är avstängd kommer datorn att startas upp.

Viktigt är att pulsen inte blir för lång, då kommer datorn att avslutas tvärt, och det är inte meningen.
 
Japp. Skulle nog fixat pulsen i arduino sketechen, men att den kan triggas från veran som en "BinaryLight"(vanlig lysknapp).
Glöm inte att sätta en relä emellen den digitala utgången på din arduino och datorns knapp för att få den potentialfri.
Du kan ju köpa typ denna:
http://www.aliexpress.com/item/5V-O...C-AVR-DSP-ARM-MCU-For-Arduino/1209452041.html


Sketchen skulle kunna se ut så här typ:

#include <Sensor.h>
#include <Sleep_n0m1.h>
#include <SPI.h>
#include <EEPROM.h>
#include <RF24.h>

#define RELAY_1 3 // Arduino Digital I/O pin number fo relay
#define RELAY_ON 0
#define RELAY_OFF 1


Sensor gw(9,10);

void setup()
{
Serial.begin(BAUD_RATE); // baudrate for debug info
gw.begin(AUTO);

// Register all sensors to gw (they will be created as child devices)
gw.sendSensorPresentation(0, S_LIGHT);
// Make sure relays are off when starting up
digitalWrite(RELAY_1, RELAY_OFF);
// Then set relay pins in output mode
pinMode(RELAY_1, OUTPUT);
}




void loop()
{
if (gw.messageAvailable()) {
int incomingRelayStatus = atoi(message.data);
if (incomingRelayStatus==1) {
digitalWrite(RELAY_1, RELAY_ON);
delay(500); // wait for 500 ms
digitalWrite(RELAY_1, RELAY_OFF);
// Send off status back to vera
gw.sendVariable(0, V_LIGHT, "0")
}
}


}
 
Redigerat:
  • Gilla
zuper
  • Laddar…
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.