Dear AAC!
tl;dr: Seismic monitoring network build with Arduino and SBC boards. Project log and different questions to the community.
Here, I will write my project log about building seismic sensor network. I will post any questions I have in this thread in order not to spam all the forum. The goal of this project is quarry blasting monitoring. I will provide a brief information about the problem shortly.
My background:
I am a software developer (mainly WEB technologies) from Latvia, developing various online software solutions already for 10 years. I am working with Java, JavaScript, different API's and different levels of architectures (back-end, front-end, standalone development). Couple of years ago my friend introduced me to Arduino. I successfully managed to complete different small projects with it and now I have first big project.
Problem I want to solve:
Here, in Latvia we have seismic monitoring, that is collecting data about seismic activities around the country. Baltic states are situated in a calm region, so no big seismic events are present. Though, we get some waves, that come from seismic active regions (such as Japan). Due to limited resources for such monitoring (we have only 1 seismic station) we can't tell precisely if the signals we are receiving have true tectonic source. Mainly we receive signals from quarry blasting. In order to identify which signals are coming from quarry blasting, our specialists usually are calling to the quarry and asking time of last blasts. It is time consuming and not effective. My goal is to develop a network of seismic sensors, which will collect data from quarries and accumulate it on the server. The sensor will sense vibrations from the blasts and will record the time of the blast and the strength. When we will have such data, we just need to compare it to the data from true seismic station and voila! we can make corrections. Subgoal for the project is to make this system as cheap as possible.
Methods:
In order to choose suitable seismic sensor, different approaches were used:
Other components for the sensor are: RTC clock module, MicroSD card module, HC-12 radiolink and batteries.
Network configuration:
The network build for one quarry might look as: couple of vibration sensors and one SBC (single-board computer) base-station.
Basestation:
Basestation will accumulate data from Arduino sensors and will send it to the server via GSM. GSM communication will be accomplished by usage of USB GSM modems, or by integrated GSM in SBC (for now, only OrangePi 2G-IOT has such integrated circuit). Various SBC are suitable for the project, but it would be perfect to find a balance between price/performance. Now I am testing with Raspberry Pi 1 Model B without GSM (only ethernet communication), but even such board with USB GSM modem is pretty expensive.
OrangePi 2G-IOT is really affordable solution and it already has a GSM module (which runs only on 2G networks, but in Latvia we will have 2G support for at least 5 years more). By searching reviews of the board I found many bad reviews. Almost everyone has problems with board stability, which will be a crucial moment for the network, since the quarries are situated around whole country. I will not be able to restart the system every couple of days.
So, the choice for the end-solution is still open. I am looking forward for your comments about SBC.
Radio communication:
Sensors will be connected with SBC by multiple HC-12 receivers (one per each sensor). According to documentation, HC-12 can handle 100 channels, so it is enough for our purposes. First tests showed unobstructed straight-line distance about 300 meters (maybe even more) with stock antenna. More tests will be carried in order to cover different situations.
Since piezo and HC-12 module are situated near to each other, I see some interference between them. Piezo is generating false signals because of antenna transmitting them to the basestation. I will think about screening of the Piezo, since I don't want such interference to be.
Other option can be LoRa, but I don't have such modules, so need to buy a couple on the ebay in order to test them out.
Power:
Arduino sensors will be powered with 4 AA batteries. I haven't carried any tests yet on power consumption by sensor, but according to various other builds I found on the internet, I will be able to power my sensor for at least 2-3 months. With some tinkering around, I can get twice of that amount.
Hopefully basestations will be powered from 220V, which will be available in the quarry facilities.
Data storage:
By design, Arduino sensors will have MicroSD card modules in order to store data there for backup purposes. But, by writing down to file every received signal, I am taking too much processor time, so readings are occurring not fast enough. On the other hand, basestation will have separated storage also for backup purposes. Since SBC is multithreaded, I can write received data in separate thread, so it will be a HUGE benefit for the sensor.
I see following ideal design for this part: sensors have MicroSD cards, but are not writing there anything, unless basestation told them to do so, or they do not receive any callback from the basestation. Such situation means, that basestation is dead, and sensors must store all the data on their built-in memory. Basestation is storing data for the past 2 weeks. This will be rolling data, which means, that old data will be removed, when new data will come in. If basestation can't reach server, it will store all the data inside and will try to reach the server from time to time. By this design I am covered from all strange situations.
Software:
Boring part of the project. I plan to use Node.js and some fancy frameworks for server-side built of the software. Python will be used on the basestation. Software will run an admin panel for the whole network, where you can add sensors, activate/deactivate basestations and manage configurations for sensors and basestations. Of course, data management and analysis will be done in the software.
If you are interested in this part, I can tell more, but it is not the main topic of this thread.
What is done already:
I have working Piezo vibration sensor, which can send data to the SBC by HC-12. You can call it first proof-of-concept. I am working on the server-side software now.
For now, I will be happy to see your comments about this theoretical built. If you see any downsides already, please write down here. If you have any questions, please ask. I will be happy to answer. More questions will come in the following days. Thank you for reading!
tl;dr: Seismic monitoring network build with Arduino and SBC boards. Project log and different questions to the community.
Here, I will write my project log about building seismic sensor network. I will post any questions I have in this thread in order not to spam all the forum. The goal of this project is quarry blasting monitoring. I will provide a brief information about the problem shortly.
My background:
I am a software developer (mainly WEB technologies) from Latvia, developing various online software solutions already for 10 years. I am working with Java, JavaScript, different API's and different levels of architectures (back-end, front-end, standalone development). Couple of years ago my friend introduced me to Arduino. I successfully managed to complete different small projects with it and now I have first big project.
Problem I want to solve:
Here, in Latvia we have seismic monitoring, that is collecting data about seismic activities around the country. Baltic states are situated in a calm region, so no big seismic events are present. Though, we get some waves, that come from seismic active regions (such as Japan). Due to limited resources for such monitoring (we have only 1 seismic station) we can't tell precisely if the signals we are receiving have true tectonic source. Mainly we receive signals from quarry blasting. In order to identify which signals are coming from quarry blasting, our specialists usually are calling to the quarry and asking time of last blasts. It is time consuming and not effective. My goal is to develop a network of seismic sensors, which will collect data from quarries and accumulate it on the server. The sensor will sense vibrations from the blasts and will record the time of the blast and the strength. When we will have such data, we just need to compare it to the data from true seismic station and voila! we can make corrections. Subgoal for the project is to make this system as cheap as possible.
Methods:
In order to choose suitable seismic sensor, different approaches were used:
- Accelerometer data. We have tested it on a busy road, but unfortunately no suitable data were present. The main problem was with accelerometer positioning inside the sensor. For our test it was just hanging on the wires, so it can freely swing around, when the vibrations are present. Such positioning was successful in theory, but unsuccessful in practice. Vibrations are usually so small and with a low frequency, so sensor just can't swing fast enough for generating identifiable signal.
- Vibrations switch (you can find a bunch of different configurations on ebay). It performed better, than accelerometer, but with switch you can't distinguish signal strength, which is one of the core parameters in the signal. So, a blast and a cargo car passing by will sound the same.
- Piezo disc. For now it is gold candidate for the sensor build. We can measure signal strength and with large enough amplification we can monitor any kind of vibrations. It will be used for the first alpha version of the sensor. Amplification of the signal is planned to be done by OpAmp circuit. I still can't figure out how OpAmp works, due to lack of knowledge, so now amplification is done by heavy objects, which I put on my piezo disc in order to get tight contact between disc and surface. Sounds horrible for the first time, but it is doing it's job good.
Other components for the sensor are: RTC clock module, MicroSD card module, HC-12 radiolink and batteries.
Network configuration:
The network build for one quarry might look as: couple of vibration sensors and one SBC (single-board computer) base-station.
Basestation:
Basestation will accumulate data from Arduino sensors and will send it to the server via GSM. GSM communication will be accomplished by usage of USB GSM modems, or by integrated GSM in SBC (for now, only OrangePi 2G-IOT has such integrated circuit). Various SBC are suitable for the project, but it would be perfect to find a balance between price/performance. Now I am testing with Raspberry Pi 1 Model B without GSM (only ethernet communication), but even such board with USB GSM modem is pretty expensive.
OrangePi 2G-IOT is really affordable solution and it already has a GSM module (which runs only on 2G networks, but in Latvia we will have 2G support for at least 5 years more). By searching reviews of the board I found many bad reviews. Almost everyone has problems with board stability, which will be a crucial moment for the network, since the quarries are situated around whole country. I will not be able to restart the system every couple of days.
So, the choice for the end-solution is still open. I am looking forward for your comments about SBC.
Radio communication:
Sensors will be connected with SBC by multiple HC-12 receivers (one per each sensor). According to documentation, HC-12 can handle 100 channels, so it is enough for our purposes. First tests showed unobstructed straight-line distance about 300 meters (maybe even more) with stock antenna. More tests will be carried in order to cover different situations.
Since piezo and HC-12 module are situated near to each other, I see some interference between them. Piezo is generating false signals because of antenna transmitting them to the basestation. I will think about screening of the Piezo, since I don't want such interference to be.
Other option can be LoRa, but I don't have such modules, so need to buy a couple on the ebay in order to test them out.
Power:
Arduino sensors will be powered with 4 AA batteries. I haven't carried any tests yet on power consumption by sensor, but according to various other builds I found on the internet, I will be able to power my sensor for at least 2-3 months. With some tinkering around, I can get twice of that amount.
Hopefully basestations will be powered from 220V, which will be available in the quarry facilities.
Data storage:
By design, Arduino sensors will have MicroSD card modules in order to store data there for backup purposes. But, by writing down to file every received signal, I am taking too much processor time, so readings are occurring not fast enough. On the other hand, basestation will have separated storage also for backup purposes. Since SBC is multithreaded, I can write received data in separate thread, so it will be a HUGE benefit for the sensor.
I see following ideal design for this part: sensors have MicroSD cards, but are not writing there anything, unless basestation told them to do so, or they do not receive any callback from the basestation. Such situation means, that basestation is dead, and sensors must store all the data on their built-in memory. Basestation is storing data for the past 2 weeks. This will be rolling data, which means, that old data will be removed, when new data will come in. If basestation can't reach server, it will store all the data inside and will try to reach the server from time to time. By this design I am covered from all strange situations.
Software:
Boring part of the project. I plan to use Node.js and some fancy frameworks for server-side built of the software. Python will be used on the basestation. Software will run an admin panel for the whole network, where you can add sensors, activate/deactivate basestations and manage configurations for sensors and basestations. Of course, data management and analysis will be done in the software.
If you are interested in this part, I can tell more, but it is not the main topic of this thread.
What is done already:
I have working Piezo vibration sensor, which can send data to the SBC by HC-12. You can call it first proof-of-concept. I am working on the server-side software now.
For now, I will be happy to see your comments about this theoretical built. If you see any downsides already, please write down here. If you have any questions, please ask. I will be happy to answer. More questions will come in the following days. Thank you for reading!

