A prototypical triage management system based on commodity hardware and software components using a single-hop, ad-hoc network architecture with multi-master replication, a tablet-based device setup, and a mobile application for emergency services.
- Ensure that all dependencies are installed and available in your PATH
- Change to the
disasterAppdirectory - Run
npm installto install all client dependencies with npm - Run
gulp distto pack all client dependencies together - Modify the
.couchapprcaccording to your CouchDB configuration - Run
npm run deployto push the application to your CouchDB instance - Access the disasterApp using the displayed URL
Due to an unresolved Erlang bug (see Connection to IPv6 link local address fails due to missing scope identifier) it is not possible to replicate to a remote database using an IPv6 link local address.
As a workaround Erlang's native IP implementation can be patched, by modifying the inet_set_address method in otp/erts/emulator/drivers/common/inet_drv.c.
This method is used to set the ip address for a connection.
To use link local addresses one has to set the sin6_scope_id field in the sockaddr struct, to the correct value.
Since this value is only used for link local addresses, any other communication is unaffected by this workaround.
(see also man 7 ipv6)
- Make sure that couchDB listens on all IPv6 addresses, by setting
chttpd.bind_address = :: - Change to the
disasterBeacondirectory - Run
npm installto install all dependencies with npm - Start the disasterBeacon with
node index.jsor any node process manager (e.g. pm2)
- Attach two WLAN USB dongles to the Raspberry Pi
- Configure one as an access point (e.g. using hostapd), through which a user device can be connected
- Configure the other one in IBSS mode
- Install all dependencies and follow the "Getting Started" instructions
- Dominik Meißner, Benjamin Erb, Rens van der Heijden, Kristin Lange, and Frank Kargl. 2016. Mobile triage management in disaster area networks using decentralized replication. In Proceedings of the Eleventh ACM Workshop on Challenged Networks (CHANTS '16). ACM, New York, NY, USA, 7-12. DOI: http://dx.doi.org/10.1145/2979683.2979689
