Wiki/beaglebone-remote-seismometer-node-lakshadeep

'''

BeagleBone Remote Seismometer Node
''' Project aims to develop a working prototype of remote seismometer using Beaglebone. The device will have web based interface for control and data display. It will be further integrated with Quake Catcher Network (QCN).

Name
Beaglebone Remote Seismometer Node

Description
Earthquakes are one of the most devastating natural disasters we have today. Hence its very important to monitor the data which can be used to predict these earthquakes. Quake Catcher Network (QCN) is one such initiative. It provides sensors to the interested users to connect to their computers. Data recorded by the sensor is then sent to the servers using BOINC client software. This project aims to build such network using Beaglebone as the main controller hardware. In this way a complete independent system can be developed eliminating the need of user computer.

System consist of 2 parts - Beaglebone Remote Seismometer nodes and the centralized server to which all the nodes are connected. Firmware of the remote seismometer node will be written using ROS framework. There will be 4 ROS nodes - data acquisition node, data processing node, earthquake detection and instant data upload node and scheduled data upload node. Data acquisition node acquires the data from the accelerometer, logs the data and publishes the raw data. Data processing node will subscribe to raw data topic, process the data using appropriate filter and publish the processed data. Processed data will be used for earthquake detection node and data will be instantly uploaded to server in case of earthquake detection. Otherwise data will be uploaded to server at scheduled times by the scheduled data upload node. ROS programming will be done either in C/C++ or Python. Server system will provide interface to view plots of all the remote seismometer nodes, download the data etc. Server will be implemented using rails framework and postgresql database will be used for storing the data. Since beaglebone supports SPI, UART as well as analog reading any accelerometer can be interfaced.

Experience and Approach
I have long experience working with linux controllers such as raspberry pi's, Technology Systems (TS) boards as well as Beaglebone black's. I have worked on development of Autonomous Underwater Vehicle, Autonomous Surface Vehicle etc. using these linux controllers and ROS framework. All this experience will help me in development of Remote Seismometer node. I had worked for a travel based startup providing online booking platform (Vacation Labs) as full stack developer. Here I had worked on Rails, Javascript, Angular JS, HTML, CSS etc. This experience will help me in development of centralized server. Apart from this I have worked on development of time based underwater image capture system using Gopro Hero 4 cameras. The PIC microcontroller used to power on the Beaglebone black at specified time. Beaglebone black used to connect to GOPRO Hero 4 camera using WiFi, capture the image, upload it to the server (http://avp.nio.org/) and shut down. The key approach will be to write a fully abstracted out software which allows to modify the certain part of the system without modifying the other parts.

Contingency
Contingency schedule has been included in the Timeline. Please refer the contingency table for more details.

Benefits
TBD