Difference between revisions of "DisasterRadio"

From Sudo Room
Jump to navigation Jump to search
(updated banner)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{tocright}}
<center>
[[File:Disasterradio banner with subtitle icon sunflip.png|600px]]
</center>
= Introduction =
= Introduction =


DisasterRadio uses cheap software defined radios (SDRs) to create a low bandwidth disaster-recovery mesh. Disasters being either natural (e.g. earthquake) or man-made (e.g. extreme censorship scenarios).
DisasterRadio is an off-grid (solar-powered) low-bandwidth long-range mesh network built on free and open source software and affordable open hardware.  
 
The goal of DisasterRadio is to allow people to communicate short text messages that optionally include GPS coordinates in the event of a disaster, both within the affected area and to the outside world. A map-based interface allows people to find resources such as medical facilities, cell phone charge stations, food, shelter, etc.
 
The mesh will have many receive-only nodes and fewer transmit-capable nodes, due to the much higher cost of transmit-capable SDRs.
 
= Pages =
 
*[[DisasterRadio/SDR software|SDR software]]: GNU Radio, etc.
*[[DisasterRadio/SDR hardware|SDR hardware]]: RTL-SDR, USRP, transmitter design.
*[[DisasterRadio/Android app|Android app]]: The beginnings of the android app.
 
 
 
== Using the DisasterRadio mesh ==
 
=== Smartphone based communication ===
 
Smartphone receive and charge stations will be set up at houses with existing off-grid power (usually solar). These stations will be publicly accessible from the sidewalk. People can charge their phones by hooking them into one of the USB outlets and connect to a wifi access point that allows them to install the DisasterRadio application. The application contains a map-based interface with an offline map of the local area. Every time the phone running the DisasterRadio app comes into range of a receive station it synchronizes over bluetooth (to conserve power) with the receive station and the map displays up to date locations for services and points of interest, while a list interface shows non-mapped data. The user is free to move away from the receive station and remains able to browse the latest data they receive. If two phones running the DisasterRadio app come into contact, they will synchronize their data, ensuring that both devices have the latest data.
 
One of the types of locations displayed on the map interface is receive/charge stations and transmit stations.
 
Transmit stations are exactly like receive stations, except there
 
=== Laptop based data reception ===
 
Before the disaster (hopefully before) people get/buy a little water-proof baggie containing:
 
*A USB stick.
*An RTL-SDR stick.
*An antenna.
*A booklet with instructions for how to boot from USB for various computers.
 
The USB stick contains a GNU/Linux distro that boots straight into an app that starts receiving emergency info from the DisasterRadio mesh and displays it on the map. The USB stick already contains a map of the local area.
 
= Status =
 
== Transmitter ==
 
Prototype using a USRP1 with a WBX board and a GRC sketch is implemented and transmitting data.
 
== Receiver ==
 
GNU Radio python script using RTL-SDR and DQPSK implemented but not yet able to receive data.
 
== Receive/charge/transmit station ==


A Beagle Bone Black is running Debian and GNU Radio and talking to an RTL-SDR device. Compiling GNU Radio was problematic, but we figured out the right parameters and workarounds and it seems to be taking full advantage of the NEON FPU accelerator.
The nodes are small and entirely self-contained units that can be deployed simply by leaving them in a place with sun. They are intended for either manual or drone-deployment on rooftops or in windows. They use high gain omni-directional antennas on 915 MHz using the LoRa PHY (Chirp Spread Spectrum) to talk to each-other and a downward-pointing/inward-pointing high gain wifi antenna to talk to user devices (phones/tables/laptops) inside the buildings on which they are placed. They use a low-power microcontroller running a web server that lets anyone use the network as long as they have a device with wifi and a web-browser.


Work remaining: Turn this into a minimal image that can fit onto the 2 gig of internal memory on the beagle bone black so we don't have to pay for extra SD cards. Make a weather-proof box for it. Add a bunch of cheap 5v supplies (or one big one, but may be more failure-prone), a way to mount it in a theft-proof, an LED-lit sign to let people find it at night, and a long outdoor extension cord.  
= Updates =
* Status as of 31 October 2017: [[User:nanomonkey]] and fritz received the custom PCB boards they designed. got one working tonight \o/
* Status as of June 10th 2017: Basic chat between two nodes working. A more fleshed-out website should appear here soon.


== Android app ==
= Applications =


Bluetooth scan for devices implemented. Connecting to other DisasterRadio devices implemented, but having trouble connecting to python-bluez examples and currently troubleshooting. Could be because python-bluez is unmaintained since 2009 or because the bluetooth usb sticks we have just plain suck.
The in-development apps are secure chat and community resource mapping (an offline map that communities can use to add resources, like [http://tidepools.co/ tidepools]).


Also working on porting scuttlebutt data synchronization.
= Technical Specifications =
* Bandwidth: < 2000 kbits/sec.
* Power: Nodes need at minimum a 6V, 3W solar panel plus a battery capable of 3600mAh


== Bootable USB stick with customized distro ==
== Components ==
All are initial estimations, probably missing a component or two and haven't scoured for bulk prices on everything [[User:Tunabananas|Tunabananas]]:
* [https://tinurl.com/y7sytmox ESP8266] - $2.50
* LoRa Transceiver - [https://www.digikey.com/products/en/rf-if-and-rfid/rf-transceiver-modules/872?k=RFM95 HackRF RFM95W] - $7 OR [Dorji DRF1276G](https://www.tindie.com/products/DORJI_COM/868mhz-915mhz-sx1276-module-drf1276g/) - $6
* [https://www.seeedstudio.com/fusion_pcb.html Custom PCB - ~180x120, 1 layer, 100ct] - $6.50
* [https://www.ebay.com/itm/GSM-900MHZ-Omnidirectional-Wireless-Module-Antenna-SMA-Head-5DBI-19cm/281782888586900MHz Directional WiFi Antenna 5dBi] - [https://www.tvc-mall.com/details/3w-6v-diy-monocrystalline-silicon-solar-panel-145mm-x-145mm-sku85020025a.html another option] - $3
* [https://www.ebay.com/i/121104191012?chn=ps&dispItem=1 Solar Panel - 6V, 3W, 120mAH] - [https://www.tvc-mall.com/details/3w-6v-diy-monocrystalline-silicon-solar-panel-145mm-x-145mm-sku85020025a.html another lead] - $5-6
* [http://www.dx.com/p/ultrafire-18650-3-7v-3600mah-batteries-pair-50486 LiOn Battery] - 3.7V 3600mAh - $4
OR
* LTO battery? - NEED TO RESEARCH COSTS
* [https://www.adafruit.com/product/2745 3.3V buck converter] - $5
* Enclosure - ~$5
'''* Total: ~$40'''


Work has not yet begun. Thinking of implementing the GUI using a full screen web app.
= Documentation =
* Code is here: https://github.com/sudomesh/disaster-radio-nodemcu
* Documentation wiki is here: https://github.com/sudomesh/disaster-radio/wiki
* Network visualization simulation: https://jemucino.github.io/disaster-radio-netsim/


== Offline map ==
== Presentations ==
[[User:juul|juul]] gave a [https://www.youtube.com/watch?v=tPJj3zCyRpI talk about this at the 2017 BATTLEMESH in Vienna]. [http://battlemesh.org/BattleMeshV10?action=AttachFile&do=get&target=disasterradio_juul.odp Slides]


We have successfully generated local-area-only maps using TileMill and the Open Street Map data. We need to find a way to only supply phones with the local area relevant based on receive station location without having to re-generate the tile-sets, and we should figure out how to automate the process.
== User Research ==
[[User:Tunabananas|Tunabananas]] designed [http://wiki.tidepools.co/view/Ethnography use cases and user stories] for the decentralized mobile mapping application Tidepools in early 2013, based on open-ended interviews with community residents and various organizations engaged in technology equity and access.


== Documentation ==
= Licensing =
* [https://github.com/sudomesh/disaster-radio/tree/master/firmware firmware/]: Dual licensed under both GPLv3 and AGPLv3
* [https://github.com/sudomesh/disaster-radio/tree/master/web web/]: AGPLv3


Is in a sad state. I am working to remedy this situation ([[User:Juul|Juul]] ([[User talk:Juul|talk]]) 17:10, 13 September 2013 (PDT))
[[Category:DisasterRadio]]

Latest revision as of 00:15, 12 November 2017

Disasterradio banner with subtitle icon sunflip.png

Introduction

DisasterRadio is an off-grid (solar-powered) low-bandwidth long-range mesh network built on free and open source software and affordable open hardware.

The nodes are small and entirely self-contained units that can be deployed simply by leaving them in a place with sun. They are intended for either manual or drone-deployment on rooftops or in windows. They use high gain omni-directional antennas on 915 MHz using the LoRa PHY (Chirp Spread Spectrum) to talk to each-other and a downward-pointing/inward-pointing high gain wifi antenna to talk to user devices (phones/tables/laptops) inside the buildings on which they are placed. They use a low-power microcontroller running a web server that lets anyone use the network as long as they have a device with wifi and a web-browser.

Updates

  • Status as of 31 October 2017: User:nanomonkey and fritz received the custom PCB boards they designed. got one working tonight \o/
  • Status as of June 10th 2017: Basic chat between two nodes working. A more fleshed-out website should appear here soon.

Applications

The in-development apps are secure chat and community resource mapping (an offline map that communities can use to add resources, like tidepools).

Technical Specifications

  • Bandwidth: < 2000 kbits/sec.
  • Power: Nodes need at minimum a 6V, 3W solar panel plus a battery capable of 3600mAh

Components

All are initial estimations, probably missing a component or two and haven't scoured for bulk prices on everything Tunabananas:

OR

* Total: ~$40

Documentation

Presentations

juul gave a talk about this at the 2017 BATTLEMESH in Vienna. Slides

User Research

Tunabananas designed use cases and user stories for the decentralized mobile mapping application Tidepools in early 2013, based on open-ended interviews with community residents and various organizations engaged in technology equity and access.

Licensing

  • firmware/: Dual licensed under both GPLv3 and AGPLv3
  • web/: AGPLv3