Our step-by-step guide to install and run Pareto Anywhere on a personal computer to make any physical space context-aware.
Learn how we at reelyActive run our Pareto Anywhere open source middleware on a PC.
The computer will transform ambient wireless data into real-time context: who/what is where/how.
A recent version of Node.js installed.
From a terminal run node --version
to check if Node.js is already installed.
Install in a minute in either of two ways.
Choose the installation option that best suits your situation from the two options below:
Choose this option for the ease of a single-step installation.
Open a terminal and enter the command npm install -g pareto-anywhere
1 min
Pareto Anywhere can be run with the command pareto-anywhere as presented in the next step.
Choose this option for development and production deployments.
Open a terminal and complete the following steps:
git clone --recurse-submodules https://github.com/reelyactive/pareto-anywhere.git
(or download as ZIP and extract as pareto-anywhere). cd pareto-anywhere
npm install
1 min Pareto Anywhere can be run from its folder with the command npm start as presented in the next step.
Confirm that everything works!
Run Pareto Anywhere from the command line based on the installation option you selected in Step 1:
Open a terminal and enter the command pareto-anywhere
Open a terminal and from the pareto-anywhere folder, enter the command npm start
Browse to localhost:3001 to observe Pareto Anywhere running on the PC. It is normal not to observe any data yet: connecting an ambient data source is covered next.
Enter Ctrl+C to stop either program.
Should a source of ambient data be available (see the tabs below), it is possible to validate its integration with Pareto Anywhere, replacing xxx.xxx.xxx.xxx with the PC's IP address, where required.
Pareto Anywhere will automatically listen for ambient Bluetooth Low Energy data forwarded from reelyActive Owl-in-Ones and Minew G1 gateways. Follow the step-by-step tutorials below to forward data from these gateways.
Pareto Anywhere will automatically listen for ambient Bluetooth Low Energy data forwarded from compatible Aruba and Huawei APs. Follow the step-by-step tutorials below to forward data from these access points.
Forward UDP packets from the Huawei AP to the PC on port 50010
Pareto Anywhere will automatically listen for ambient Bluetooth Low Energy data from the PC's onboard radio—if compatible—provided an instance of barnowl-hci is running and forwarding the data. Follow the instructions below to install and run this option.
Open a terminal and complete the following:
git clone https://github.com/reelyactive/barnowl-hci.git
cd barnowl-hci
npm install
1 min Allow Node.js programs the privilege to initiate scans with the command sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
Run barnowl-hci once to confirm that it can listen for ambient data:
npm start
will output radio decodings (raddecs) to the console for quick-and-dirty testing npm run forwarder
will forward raddecs to a local Pareto Anywhere instance Enter Ctrl+C to stop either program.
Pareto Anywhere will automatically listen for ambient Bluetooth Low Energy data forwarded from reelyActive reelceivers on UDP port 50000.
Pareto Anywhere will automatically listen for ambient RAIN RFID data forwarded from compatible Impinj and RF Controls readers. See the barnowl-impinj and barnowl-rfcontrols modules, respectively, for additional details.
Pareto Anywhere will automatically listen for ambient EnOcean Wireless Standard data from a USB dongle connected to the PC provided an instance of barnowl-enocean is running and forwarding the data. Follow the instructions below to install and run automatically each time the Pi boots.
Open a terminal and complete the following:
git clone https://github.com/reelyactive/barnowl-enocean.git
cd barnowl-enocean
npm install
1 min Include the user in the dialout group to facilitate serial access to the USB dongle with the command sudo usermod -a -G dialout $USER
Run barnowl-enocean once to confirm that it can listen for ambient data:
npm start
will output radio decodings (raddecs) to the console for quick-and-dirty testing npm run forwarder
will forward raddecs to a local Pareto Anywhere instance Enter Ctrl+C to stop either program.
Pareto Anywhere now #RunsAtTheEdge on your machine!
Feedback from our user community guides & motivates the continuous evolution of our open source technologies—and our obscure memes—so don't by shy to reach out moving forward!
Our cheatsheet details the raddec and dynamb JSON output from the Pareto Anywhere open source middleware.
This optional step applies only to Linux distributions that have adopted systemd.
Configure systemd to run the pareto-anywhere service by completing the following:
sudo cp units/pareto-anywhere.service /lib/systemd/system
sudo systemctl enable pareto-anywhere.service
sudo systemctl start pareto-anywhere.service
Optionally install this duo to explore and analyse contextual data over time.
Elasticsearch can be installed locally on the PC, free of cost, under the Elastic License. Follow the Elasticsearch installation instructions for your platform/OS.
Elasticsearch can also run as a hosted service, bundled with Kibana, and starting with a free trial. Learn how in this tutorial:
Kibana can be installed locally on the PC, free of cost, under the Elastic License. Follow the Kibana installation instructions for your platform/OS.
Kibana can also run as a hosted service, bundled with Elasticsearch, and starting with a free trial. Learn how in this tutorial:
Pareto Anywhere will automatically connect to a local Elasticsearch instance.
If Elasticsearch is installed and running locally on the PC, no further action is required. Pareto Anywhere will automatically connect to and write to a local Elasticsearch instance (running at localhost:9200).
If Elasticsearch is running as a hosted service, update the ELASTICSEARCH_NODE environment variable as in the table below, specifying the user, pass and server, so that Pareto Anywhere can connect to and write data to the remote instance.
Environment Variable | Default Value | Updated Value |
---|---|---|
ELASTICSEARCH_NODE | http://localhost:9200 | https://user:pass@server.com |
Browse to the local (localhost:5601) or hosted Kibana instance and begin analysing context-aware physical spaces over time starting with the following tutorial:
Tutorial prepared with ♥ by jeffyactive.
You can reelyActive's open source efforts directly by contributing code & docs, collectively by sharing across your network, and commercially through our packages.Continue exploring our open architecture and all its applications.