Sunday, January 03, 2016

RBox - A Lightweight Linux system for IoT

Update(18.11.2016): Raspi image provided here works only on Raspberry pi B+ 

RBox is an acronym for RemoteBox which is a light weight linux system specifically designed to address the connectivity challenges of IoT devices on public internet. Some of the key features of Rbox are as listed below.
  1. Runs on low cost opensource h/w like Raspberry Pi B+, BeagleboneBlack and BeagleboneGreen.
  2. Less than 20Mb of update-binary image for Raspi and less than 10Mb of update-binary for beaglebone.
  3. Provides an easy way of online update to latest Rbox version from a remote location and without having to remove SDCard, It uses a dual-boot mechanism for fail-safe linux upgrade against power-outage or network-failure.
  4. Keeps your Raspi or Beaglebone always accessible via xmpp chat server on public internet.
  5. Xmpp chat messages will allow you to remotely read/write GPIO pins of Raspi or Beaglebone.
  6. Provides basic set of commands to monitor the health status of Rbox.
  7. Lets you connect Huawei E173 GSM modem to usb port of raspi or beagle, and provides basic set of sim management commands like read-sms,send-sms, delete-sms, dial-ussd-code and voice-dialling(for the moment its dialing only, no GSM-to-voip bridging).
  8. Open source project hosted on Gighub

What are the Applications of RBox?

Although RBox is in early stage of the development, there could be many use cases where it can be deployed for remote asset management. As of now, I came across following use cases where RBox can be useful.
  1. Home Automation
  2. Remotely Deployed GSM SIM Management.

How to deploy RBox on Raspberry Pi B or B+?

  1. First and foremost is to have two xmpp login accounts on publicly available jabber servers(So far RBox has been tested with and Follow my previous Post on how to create master and slave xmpp accounts(ensure that master/slave accounts have authorized each other to send/receive messages).
  2. Download the initial SDCard Image from here.
  3. Unzip the downloaded xz image using 7zip or your favorite decompression tool.
  4. Write the unzipped binary image to Sdcard using Win32DiskImager
  5. After writing the image to SDCard, remove and re-insert the card on your PC. Your PC will detect a new drive as "boot" where raspi's kernel and boot images are listed.
  6. In this "boot" drive, create a new file called xmpp-login.txt and copy this text. After copy, edit this file and replace sample user and password with actual username and password of your slave-device which you created in Step-1.
  7. Remove the SDCard from PC, and insert it into Raspberry Pi, connect network cable and power it ON(ensure that your LAN has internet connectivity).
  8. On your android phone, open xabber app and login using master's username and password which you created in Step-1.
  9. If everything goes well, raspi will show up as online on your xabber client.
  10. Send a "Help" to your raspi-slave, it will reply with list of available commands.
  11. Send "Sysupdate;reboot" and wait for raspi to update to latest RBox image, after update, it will reboot and be back online again with latest RBox version. Here is the detailed information on all available commands.

Please note that RBox is in its initial development phase, so far i am a lone contributor to this project, hopefully it will get better as more contributors join. Let me know in comments section if you are facing any problems.

In the coming days, I would be posting information on "How to deploy RBox for Beagleboneblack/green".


Anonymous said...

tried with r-pi B. looks like nothing appear on my screen when boot. any idea?

ADAV said...

before powering the raspi, ensure that raspi-hdmi-out is connected to monitor, else, during bootup, raspi checks if monitor is connected, if not, then it turns off HDMI.

write my essay for me said...

I have found R Box one of the best system when we talk about Linux system for IoT,. I liked your blog post and appreciate the share you have made to deal with the public understanding

taki khondoker said...

I want to thank you for writing this article.This is great Article for me. It also more very informative & awesome. I expect more articles from you in future.

Redlance305 said...

Anyway to manually install RBox without having to use a clean SD card?

currently working on a automation server, the old jabbed system I was using isn't working and would like to try RBOX as its replacement.


Redlance305 said...

Anyway to manually install RBox without having to use a clean SD card?

currently working on a automation server, the old jabbed system I was using isn't working and would like to try RBOX as its replacement.


Oh, we have our own Jabber/chat server, we would like to avoid using google anything..