This part of the Vör project provides simple to use classes that wrap the handling of different sensors and actuators on Arduino based microcontrollers. This library uses some other external libraries to ease the use of HTTP clients, WebSocket clients (planned), JSON messages (planned) and protothreads (or this or this, planned).
The microcontrollers:
- read raw sensor data, process it and sends the processed data as a JSON formatted message to a server
- have either (wired) Ethernet (room) or Wi-Fi (bathroom) connectivity
- are powered mainly from the grid for easy maintainability thus they require a stable power supply
Current work is mostly focused on the Arduino Yun Mini board. Other boards we are testing include:
There are different sensor packages designed for different locations inside the office. Each package consist of a number of individual sensors which collect data that is meaningful in the context of a specific room's function.
- Temperature (Estimote beacons)
- Particle sensor for measuring air quality
- Humidity sensor for measuring relative humidity
- Ambient light sensor for measuring ambient light level
- Sound detector for measuring ambient noise level
- Motion sensor for checking if there is someone in the room
- Methane sensor for measuring air quality
- Motion sensor for checking if the bathroom is occupied or not
- Push button that sends a message to the server
- Camera near the pool table that records video the whole time reacts to the button message and creates a video clip of the last 30 seconds of the pool game
- The camera is associated with Vör service, but is not technically linked to the Arduino implementation
- Switch to notify users if there is some food served on the kitchen table
- Webcam attached to Raspberry Pi reacts to the switch message and takes a picture of the food and sends it to the server
- The webcam is associated with Vör service, but is not technically linked to the Arduino implementation
- Electric current for checking if the sauna is turned on
- Temperature sensor for checking if the sauna is warm
- Buy an Arduino Yun Mini board and sensors
- Upload a corresponding sketch to the board (modify the sketch if you want)
- 3D print a case for the sensors
- Solder or wire-wrap the sensors and put them inside the case
- Deploy the sensor package
- Use the Vör app to use servises tied to the sensor package
- Download and install the Arduino SDK
- You may need to (find and) install USB drivers more or less manually
- When you run the Arduino IDE you need to setup:
- Tools > Board (select the board you are developing for, e.g. "Arduino Yun" for Arduino Yun Mini)
- Tools > Port (select the USB serial port the board is connected to)
- Upload a sketch (*.ino) to the board by clicking the arrow button in the toolbar
- You may print debugging info to Tools > Serial Monitor with
Serial.print()
andSerial.println()
functions
- Proceed to installing this library once you have installed the Arduino SDK above
- Download this repository and copy this folder (vor/vor-arduino/) into your Arduino external libraries folder (Arduino/libraries/)
- Launch the Arduino IDE and you should see this library in Sketch > Include Library > vor-arduino
- You can find example sketches under File > Examples > vor-arduino
- For installing LinkIt ONE SDK (on top of the Arduino SDK) follow this guide or this guide
- Turn on Yun by connecting the mini USB cable
- The first time Yun is turned on its Wi-Fi is unconfigured and Yun creates a network called LININO-*
- On your computer connect to the network and go to http://linino.local or 192.168.240.1 with a browser
- The default password of the configuration page is
doghunter
- Once logged in click
Configure
and configure Yun to connect to the desired network
- The default password of the configuration page is
- After configuring Yun's Wi-Fi connect your computer to the same network Yun is connected to
- You may now access the configuration page at http://name_of_the_board.local where
name_of_the_board
is the one set when configuring the board (e.g. voryunmini01). - You may now upload your sketch over Wi-Fi by selecting the corresponding Port in the Arduino IDE
- You may now access the configuration page at http://name_of_the_board.local where
- You may reset the Wi-Fi configuration by holding the
WLAN RST
button on the board for more that 5 seconds and less than 30 seconds
- On your computer connect to the network and go to http://linino.local or 192.168.240.1 with a browser