Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.
- Web site is www.dowse.eu
- Dyne is spelled as here; our website is www.dyne.org
- irc channel is irc.dyne.org #dowse, feel welcome also to join in via https://irc.dyne.org
- fredd email is firstname.lastname@example.org
- Mailing list is email@example.com
How to deploy Dowse on a Raspberry Pi
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 firstname.lastname@example.org
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
- 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)
to make it start at every boot, put this line inside the file /etc/rc.local (edit as root)
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
Download and install node-js
- install node.js
- in terminal sudo npm install -g --unsafe-perm node-red
install via homebrew https://brew.sh/ First install brew if it isn't already, then follow instructions here: http://flnkr.com/2016/03/node-red-install-on-mac-os-x/
once installed run: /usr/local/bin/node-red -v
then open http://127.0.0.1:1880 in your browser follow instructions on node-red documentation
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 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 -
- Instead of cmd/powershell, use a shell that knows SSH and such tools like 'https://babun.github.io/'
- Untested, please document :-)
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
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!
- pointer page https://blog.falafel.com/esp8266-firmware/
- ESP boards to Arduino IDE https://github.com/esp8266/arduino