Skip to content
Christian Sievers edited this page Dec 11, 2017 · 11 revisions

#DOWSE

the on off switch (and much more) for your devices in your home

by the dyne.org crew

No one can ignore the immense impact of computers, laptops, and smartphones. And now your lamp, fridge, >television, vibrator, mattress and electrical toothbrush will go online. They are communicating through the >internet with their makers. In your home. Invisible to you. Are still in charge in your own home? Rob

No, you are not.

Navigating this Internet of Things is extremely difficult. Everything is invisible.

The Dowse box gives you back control. Dowse is free and open source software. There is no big company behind it. By installing the Dowse box you will get insight down to the network layer of what is actually going on in your home. Who is talking to who, what, where and when? You can see which device connects to which company and you can turn that communication off. Or allow it.

We call it an Awareness Box. You will be aware of the invisible world surrounding you and your famlly. To us, this is the first step. Dowse is building a community of developers who will create modules allowing you to safely and securely share your data with whomever you want. After all there are a lot of pros about getting insight into your own behavior, your family’s and your home as a companion. Yet the control should stay with you. You will share if you know what you are really sharing.

Dowse project is being developed with support from SIDN fonds and nlnet in the Nederlands.

Has being developed by dyne.org, a non-profit foundation and free software foundry with more than 10 years of expertise in developing tools and narratives for community empowerment.

Notes for Dowse workshops, install setup and materials

Thanks to Christian Siever, PingAV crew and all guys and galls from Dortmund.

Dowse

How to deploy Dowse on a Raspberry Pi

  • you need:

  • a Raspberry Pi (version 2 or 3)

  • a power supply with at least 2A power (the Raspberry Pi 3 needs 2.5A) and a Micro-USB connector

  • a MicroSD card with at least 4GB capacity, class 10

  • the Dowse image file from http://www.dowse.eu/

  • use your computer to clone the image onto the SD card (instructions here https://duckduckgo.com/?q=clone+raspberry+sd+card)

  • put the SD card into your Raspberry Pi

  • connect it to your access point/router via an Ethernet cable

  • optional: you can connect a monitor via HDMI and keyboard and mouse, but you'll have to do it before powering it up. This might be useful at the beginning because you can login to it right away, get its IP address and change settings, etc.

  • connect it to power to boot it up

  • Dowse should now be running!

  • Log into your home router/access point's web interface. Instructions can be found online if confused.

  • disable DHCP (also for IPv6 if that is on in your case, as apparently Windows 10 uses IPv6 for DNS)

  • The router will give you the Dowse box's IP address. With the default Raspberry image Dowse takes its IP via DHCP

  • Use that to SSH into your Dowse box, i.e. with ssh [email protected]

  • set up a static IP address for your dowse box (edit /etc/network/interfaces). After all, you have disabled the router's DHCP, so if you ever reboot the Dowse box (your new DHCP server), it will want to know which IP it should have.

There are two users set up, root and dowse. The default password for root is toor, for the user dowse it is dowse. Log in as dowse to go straight to the interactive Dowse console.

How to say Dowse is running:

  • find out its IP address. Your router might tell you if you log in to its web interface, or try an app like https://github.com/adafruit/Adafruit-Pi-Finder/releases/tag/3.0.0

  • Let's assume it's 10.0.1.10. Open a Terminal and type ping 10.0.1.10

  • or open http://dowse.it in your browser. You should see the captive portal. Enter yourself as the administrator.

  • Another way to check that the captive portal works: dig 10.0.1.10 dowse.it

How to say dowse is running on WIN machines

  • Open the start menu and type as a command to run 'cmd' - it will open a command prompt
  • run 'ping dowse.it'
  • if it says 'xx bytes from dowse.it … time=xx ms' a few times, it works!
  • Open 'dowse.it' in your browser

Troubleshooting

  • Dowse runs your DHCP. If it fails, try to disable the DHCP on your router
  • Check if there is a separate DHCPv6 that might cause IPv6 resolving issues (Windows 10 uses IPv6 for DNS)
  • check and edit /etc/dowse/settings

How to start OSC

ssh into the dowse box (See 'Putty' further down if you are on Windows)

then start:

/usr/local/dowse/bin/dowse-to-osc osc.udp://ip-of-machine-to-send-to:port/path

to make it start at every boot, put this line inside the file /etc/rc.local (edit as root)

Node-Red

A graphical editor to edit node patches/flows. Such flows allow reacting to input (like Dowse MQTT data). Not required to use Dowse. You can write your own programs or create gadgets that receive MQTT or OSC data and do things with it.

After installing node red you can follow a great tutorial to get up to speed with the possibilities:

note: Node-Red can and has been compiled for dowse, so it will be in the future be distributed with the box. For now is anyhow better to run it locally on your main development machine.

How to install node-red locally

Node.js

Download and install node-js

Installation Linux

  • install node.js
  • in terminal sudo npm install -g --unsafe-perm node-red

Installation Mac

Installation Win

go to node.js website and install node.js https://nodejs.org/en/

open node terminal type: sudo npm install -g --unsafe-perm node-red

Gource

Gource allows to visualize the data using a colorful, dynamic and animated graph. It's processor-intensive so it should be run on a client machine.

How to use Gource on a windows machine

  • Windows does not come with SSH. It is possible to use an alternative SSH-client called 'Putty' (Download URL: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
  • After installing, there is a ssh console client called plink.exe. It might not be in your 'PATH'. To run it from windows commandline, you need to specify the whole path. E.g. "c:\Program Files\Putty\plink.exe …"
  • When piping the output to gource, Windows does not show the interactive prompot for the password. But you can specify the password via the commandline switch -pw

<full_path_to_putty>\plink.exe -pw dowse -l dowse dowse.it /usr/local/dowse/bin/dowse-to-gource | <full_path_to_gource>\gource.exe --log-format custom -

Alternative:

  • Instead of cmd/powershell, use a shell that knows SSH and such tools like 'https://babun.github.io/'
  • Untested, please document :-)

On Mac:

install via homebrew https://brew.sh/ First install brew if it isn't already, then just do brew install gource Once installed, start gource on your own laptop with ssh -l dowse 10.0.1.10 /usr/local/dowse/bin/dowse-to-gource | gource --log-format custom - #password is dowse

general

you can also get dns queries listed directly in your shell i.e. with ssh -l dowse 10.0.1.10 /usr/local/dowse/bin/dowse-to-gource

Making Buttons and magic wands!

ESP

Node MCU

Node-red to Arduino