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.
- Runs on low cost opensource h/w like Raspberry Pi B+, BeagleboneBlack and BeagleboneGreen.
- Less than 20Mb of update-binary image for Raspi and less than 10Mb of update-binary for beaglebone.
- 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.
- Keeps your Raspi or Beaglebone always accessible via xmpp chat server on public internet.
- Xmpp chat messages will allow you to remotely read/write GPIO pins of Raspi or Beaglebone.
- Provides basic set of commands to monitor the health status of Rbox.
- 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).
- 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.
How to deploy RBox on Raspberry Pi
B or B+?
- First and foremost is to have two xmpp login accounts on publicly available jabber servers(So far RBox has been tested with jabber.de/xabber.de and ubuntu-jabber.de). 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).
- Download the initial SDCard Image from here.
- Unzip the downloaded xz image using 7zip or your favorite decompression tool.
- Write the unzipped binary image to Sdcard using Win32DiskImager.
- 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.
- 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.
- 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).
- On your android phone, open xabber app and login using master's username and password which you created in Step-1.
- If everything goes well, raspi will show up as online on your xabber client.
- Send a "Help" to your raspi-slave, it will reply with list of available commands.
- 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".