

Show HN: PiUi – add a mobile phone UI to your RaspberryPi project - dps
http://blog.davidsingleton.org/introducing-piui/

======
rbn1
Great project. Just got it working. I have an Edimax 7811 module which of
course didn't work being realtek based. I tried Paul's alternative hostapd and
couldn't get joy out of that either. Eventually I found this one
[http://www.jenssegers.be/blog/43/Realtek-RTL8188-based-
acces...](http://www.jenssegers.be/blog/43/Realtek-RTL8188-based-access-point-
on-Raspberry-Pi) and it worked OK.

Also as already pointed out the missing CherryPy module need sorting out. YOu
could add instructions of where to get it and how to install it for those who
don't know

~~~
kananaskis
I ran into the missing CherryPy module issue.... How did you sort it out?
Thanks for all of the great info.

------
platz
I like it! Although why would I use it over building a simple webapp hosted on
the Pi by using existing server-side technologies such as Flask, Rails etc..

~~~
CamperBob2
No configuration needed in order to talk to it. You just tell your users to
connect to the access point it provides, and everything happens automagically
from there.

------
Sevik
Can someone please give me some instructions on how to set PiUi u without
turning the Pi into a access point? I installed Nginx and followed the do-it-
yourself instructions from "Configure nginx". Everything is installed and the
piui_demo.py works without errors. However, when I type in the IP of the Pi, I
only see the "Welcome Screen" from nginx. Any help would be highly
appreciated. Thanks

~~~
jaws84
I had the same problem so I went through the nginx.conf file supplied with
PiUi and compared it to the default one in /etc/nginx/nginx.conf. In the
default one there's an _include_ line on line 71. This pulls in what ever
.conf files from /etc/nginx/conf.d/ I then copied the lines 40-59 from
piui/nginx/nginx.conf to its own file /etc/nginx/conf.d/piui.conf and
restarted nginx. Now when I type in the IP of my Pi in my mobile webbrowser I
get in to the PiUi site. However this way does not provide the small graphics
components in the UI components. Any ideas on that?

~~~
Sevik
Thank you. It seems that I installed another version of nginx. With the apt-
get install it worked perfectly. I replaced the whole conf. file.

------
Piquestion
Does the phone have to be on the same WiFi network to connect to the
<http://piui/>? More specifically, if the pi is running at my house and is
connected to my home WiFi, can I run the UI from my phone while at my office
over a different WiFi or over 4G?

------
CamperBob2
Hmm, this does seem pretty nifty. I've never heard of making a device
"support" WiFi by appearing as an access point. That seems to offer some huge
advantages over making the user configure their device to connect to an
existing network. It's almost like Bluetooth 4.0 meets WiFi.

~~~
dps
FWIW, this is how the GoPro works with its iPhone app and Android app. It's so
easy to set up that I decided to adopt it here. It is of course possible to
connect the Pi and the phone to the same (existing) wifi network, but then you
need to help the user figure out the right IP address to connect to. I messed
around with zeroconf/bonjour for this before I settled on this simpler
mechanism -> it works but is pretty temperamental. The other thing I have
tried on Android is to have the phone create a wifi hotspot with the same SSID
and password as my home network. When at home, the devices are all connected
nicely, when away, the Pi connects to the phone and (modulo zeroconf being
picky) the whole thing works well; couldn't get this to work with the iPhone.

------
amirnathoo
Cool!

> There’s even an Android app to make connecting easy and show useful status
> info plus an iPhone webapp you can save to your homescreen.

What does the Android app do to show useful status information? Can we expect
an iPhone version in the future too?

~~~
dps
Right now, the Android app shows the current uptime and system load on the
Raspberry Pi in the title bar. It does this by polling a URL which is handled
by the PiUi Supervisor (separate python app from your main app). As you can
see on github, the supervisor can also list and stop/start apps - I have
feature enhancements to use all this planned for Android and yes, I'm keen to
expose on iOS in future too.

------
Pauldf
Works great but:- 1) How do I stop the verbose on screen reporting (I use SSH)
2) How do I stop it once it is running - CTRL+C does not work and kill only
sometimes works 3) Is there any documentation or more examples please Thanks

------
Blaster
Hi, got a problem with toggles. I dont understand the code 100% If a toggle
has the status "On" i would like to send an OS Command like os.system("send
11111 1 0") to toggle an 433 MHz Switch Unit. How do i do this?

Thanx Stefan

------
dkp0h
I appreciate that work of UI for rPi....i need it to show some datas with
highcharts so i need to include html code with jquery...what would the way to
do it ? thank you 4 your work - (dkp0h at free dot fr)

------
holri
I ssh into the rpi from my Nokia N900 (has a hardware keyboard), and have a
little text based python interface for controlling my heating. KISS.

~~~
dps
Yep, that's neat! Intention was to allow richer, graphical UI. Esp, the
timelapse project was a motivating use case for me and seeing the preview
images on the phone display is really useful.

------
jabian
Following manual setup instructions, with raspbian, you end up with
'ImportError: No module named cherrypy' when calling the demo script

------
LAMike
So one could build a Pi project that was controlled by the interface on a iOS
or Android phone? That's awesome!

------
Cpt_Monac
This is pretty neat! How would I go about porting this over/ implementing
something similar on the BeagleBoard?

~~~
dps
Other than the wifi access point set up, it should just work on the
BeagleBoard. Follow the detailed instructions on the blog post (not the "easy
way" using SD card images) and follow a BeagleBoard wifi AP tutorial.

------
dkp0h
@jabian : 'ImportError: No module named cherrypy' => sudo python setup.py
install ;O)

~~~
jabian
@dkp0h, Thanks I know how install a python module, actually pip does the job.
My point is that it should be indicated on the requirementents of the piui
installation. Just to help beginners.

------
jottinger
How fast is nginx at executing the python code? (What's the typical UI
response time?)

