Using a Raspberry Pi as a remote Seneye monitor.

I recently purchased a Seneye device to monitor my pH, NH3 and temperature of my 240 litre aquarium. For those of you that don't know, Seneye is a waterproof USB device that you place inside your aquarium. It monitors your vital statistics and uploads them to an online dashboard. You have two data transfer options:

1) Keep the device plugged into a computer at all times.
2) Purchase a Seneye webserver (to upload the data directly to your seneye.me dashboard)

I had a spare laptop laying around but didn't really like the idea of having it sitting under my aquarium. I also didn't fancy paying the extra to buy the Seneye webserver. I did a little research and came up with a solution.

VirtualHere is a free to use (for one device) USB web server. It allows you to wirelessly share a USB device over a network. Luckily it also works on the Raspberry Pi. My setup is as follows:


The USB hub I used has no external power. Luckily the Seneye and Wireless USB dongle use a relatively small amount of power. For anything more intensive you would need a powered USB hub because of limitations in the Raspberry Pi.

The installation of VirtualHere was extremely simple. The following is carried out on the Pi over SSH:

# Create a working directory:
mkdir VH

#Switch to the newly created directory:
cd VH

#Download the VirtualHere application:
 wget -no-check-certificate https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmhf

#Make the application executable:
chmod +x vhusbdarmhf

#Run the application in the background:
sudo ./vhusbdarmhf -b

I then needed to install the VirtualHere client software on my computer. It is located here:

https://www.virtualhere.com/usb_client_software

It picked up my Rasbperry Pi immediately after install:














I clicked the Seneye device and it appeared in the Seneye Connect application.


I'm really pleased with how this turned out. VirtualHere works as expected and I haven't run into any problems yet. I have a media center running all the time which was perfect for housing the VirtualHere client software.

14 comments:

  1. What happens though when it is turned off. Does it go back to offline mode.

    ReplyDelete
  2. Hey, this is just what I was looking to do with my Seneye as the USB webserver they sell is >£100 would you believe? Great blog. I'm going to try this out with my own aquarium and Pi. Thanks for sharing.

    ReplyDelete
  3. It's working! A few minor issues with the instructions which I will outline below, but thanks for posting.
    Where is says #Download the VirtualHere application:
    wget -no-check-certificate https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarmhf you need to change this to wget --no-check-certificate https://www.virtual.com/sites/default/files/usbserver/ vhusbdarm
    Where is says #Make the application executable:
    chmod +x vhusbdarmhf change this to chmod +x vhusbdarm
    Where is says #Run the application in the background:
    sudo ./vhusbdarmhf -b
    change this to sudo ./vhusbdarm -b


    ReplyDelete
  4. Thanks! This weekend I will receive my Seneye and I've already setup my Pi with your instructions. What happens if the Pi reboots? Will it automatically startup the virtualhere service? Or do I have to do something extra for that? I'm currently running it on Raspbian.

    ReplyDelete
    Replies
    1. I started playing with my rpi again to get it to work with the Seneye and finally managed to make virtualhere autostart when the pi boots into Raspbian. Just edit this file:
      sudo nano /etc/rc.local

      And add this after the first part with the hashtags:

      # Autorun virtualhere
      (sleep 2;sudo ./home/pi/VH/vhusbdarm -b)&

      When the pi reboots it automatically starts virtualhere again.

      Question: does someone know if we could use the rpi as a webserver to automatically upload the data from the Seneye to the Seneye website so I can check it with my iphone?

      Delete
    2. i followed this and works for me.
      now virtualhere autorun when rpi reboots.
      https://www.virtualhere.com/oem_faq

      Delete
  5. You can write a small script to auto load (I'll post it when I get time to work it out), but you unplug the Pi you need to SSH or Putty into it and then cd VH and then sudo ./vhusbdarm -b

    ReplyDelete
  6. This is genius. YOU are a genius! You just saved me $150-200 bucks.

    /etc/rc.local is the place to put 'vhusbdarm -b' btw. It'll start on every reboot if it's there.

    ReplyDelete
  7. Using your blog as inspiration, I've got my Seneye Reef and Raspberry Pi set up as per above and want to say thank you for saving me a fortune.

    At first the Seneye wouldn't talk to my PC, and I had to contact Seneye support. I mentioned the Pi and they said they were aware that quite a few people were using them. In the end their developers had to get involved and use Team Viewer to faff about with my PC drivers to get it to phone home in order to install itself.

    The Raspberry Pi end of things works absolutely fine. I'm not using a hub, just the Pi plugged into the mains and the Seneye connected to it.

    My programming isn't up to writing an autostart script though, so if the Pi ever loses power I'll have to restart VirtualHere manually.

    Thanks again

    ReplyDelete
  8. Have you tried this setup running the Beta for V2?

    ReplyDelete
  9. Have you tried this setup running the Beta for V2?

    ReplyDelete
  10. this worked great, thanks for the post!. now we just have to get them to make a linux version of seneye connect so we can completely skip this whole usb to server nonsense and just run it strait from the Pi.

    ReplyDelete
  11. Hy, great thing
    I am about to buy one also.
    But the next question:
    could I collect the parameters, like as on a normal sensor?
    I have already a Pi controlled aquarium, and to implement this parameters would be great.
    Thanks

    ReplyDelete
  12. FYI I was able to update to Seneye Connect App v2.1.20.0 on Win10 64-bit, and process the firmware upgrade of the Seneye SUD to 2.0.16 while using this configuation.

    I did the following:
    (While VirtualHere still connected)
    -Uninstall the old Seneye Connect
    -Installed the new v2 Seneye Connect App
    -Opened Connect, it auto-detected and began updating firmware of the SUD
    -It said complete and to unplug/replug USB from the PC
    -At this point I unplugged the SUD from my raspberry pi, waited 10 seconds, replugged
    -VirtualHere now had a different item listed that had 'memory' in the title, I right-clicked and 'auto-use port/device' for this and it trigged some more installation, then Connect advised to remove/reconnect which I did
    -Next time on PC VirtualHere listed the SUD Bootloader in the list, 'auto-use port/device' again, let Connect process and then request remote/reconnect
    -Device finished its firmware updating and now shows as "Seneye SUD v 2.0.16" and after choosing auto-use port/device one final time Seneye Connect App loaded up with all its details.

    ReplyDelete