0

Internet of Things (IoT), a New Trend

Yesterday, during Advanced Robotic class, we the students had to present our research title in front of the class. For your information, all students are taking Master and Ph.D. degree.

And as most of you may have noticed from the title of the course, most students were presenting their robotic related research. But, there was one student with a different field of research. The IoT, a.k.a. Internet of Things.

It was the first time I ever heard of this field of research. He said it was a new trend in todays all-web-related technology. So, he presented his slides. He tried to tell us what is this IoT thing.

He started his presentation with a very confident face. Founded and being researched by MIT, he explained to us the definition of IoT, which is some thing like "everything goes internet". We make every thing in our real life to have ID for its internet identification. And he meant everything! Every single thing! While wikipedia defines IoT as networks of everything. Kinda funny but obviously an interesting idea.

In his slides, he stated the main problem to implement this kind of thing. It involves many line of disciplines, such as wave technology, in this case he mentioned RFID. Also the hardware part, which can be an AVR module or ARDUINO starter kit or something else. He defined the state he currently in, which was to study further about this Internet of Things thing. And he said, it might takes him one whole semester, since it involves many areas of research.

The fact is, it was a very interesting idea to me. Today, after a meeting with our lab's director, he even told me he wanted to put this IoT thing onto my honeybee research. He wanted to make the bees goes internet! "WOW", I said. That surprised me. But yeah, why not.
Using this technology, it will allow us to see a 3D version of honeybees' life. A 3D version of their world. To monitor their activity and at the end it will ease us to study more about their behavior.

I can only say one thing, "Good luck, Hamid! Thank you for sharing your idea".



0

How to Install Player/Stage on OpenSuSE

Installing Player/Stage on a computer with OpenSuSE was the easiest and funnest installation I've ever done. Why?

Because by default, many of Player/Stage dependency packages are already installed by OpenSuSE. So you don't have to install a new ones. And to be honest, personally I still think OpenSuSE installation manager is the best and the easiest installation manager ever compared to others. Note: I was using OpenSuSE 10.3 when writing this post.

Anyway, how to install Player/Stage on OpenSuSE, then?
Well, let's first check the dependency packages required by OpenSuSE. For the general requirement, read this post.

The dependencies available by-default are:

  • gcc-fortran or related;
  • libgnomecanvas;
  • imagemagick;
  • openssl;
  • libjpeg, libusb;
  • libdc1394 and libraw1394;
  • sed, gsl, statgrab;
  • libtool, libltdl;
  • swig, gawk, gtk;
  • freeglut;
  • cmake, and
  • boost
The complete list was uploaded here. The rest is still need to be installed. If you can't find the package in your DVD repository, you can always check OpenSuSE's website and search the package there.

The next step is the same as installing Player/Stage on PCLinuxOS, though Player was not in OpenSuSE's repository.
So, the same first step is to compile Player from its source.
cd ~/player-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
make
make install
export PATH=$PATH:/home/$USER/playerstage/bin/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$USER/playerstage/lib/pkgconfig
export PLAYERPATH=$PLAYERPATH:/home/$USER/playerstage/share/stage/worlds:/home/$USER/playerstage/lib/
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/playerstage/include:/home/$USER/playerstage/lib:/home/$USER/playerstage/share/player/examples/plugins/logplugin
Next step is to add these lines into /etc/ld.so.conf.
/home/$USER/playerstage/lib/
/usr/local/lib
Then, test the installation using pkg-config:
pkg-config --libs playercore
pkg-config --cflags playercore
player ~/playerstage/share/stage/worlds/simple.cfg &
cd ~/stage-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
sudo make
sudo make install
pkg-config --libs stage
pkg-config --cflags stage
That would be all.



0

How to Install Player/Stage on PCLinuxOS

It's been a while since my last post. This time I'd like to share my experience about installing Player/Stage on PCLinuxOS. So, how to install Player/Stage on PCLinuxOS?

First of all, some of you might wondering what Player/Stage is. Player/Stage is a software released under GNU GPL license to support development in robotic research. It was from a project formerly known as Player Project founded by Brian Gerkey, Richard Vaughan and Andrew Howard.

For more information about Player/Stage, visit its project website at SourceForge. If you are installing Player/Stage on OpenSuSE go to this post. Let's get to the main topic, "How to install Player/Stage on PCLinuxOS?"

The first thing you need to do is to install the dependencies for Player/Stage. To do this, make sure you already have the latest link on your repositories and you are connected to internet. Click here to read on how to update your repository on PCLinuxOS.

After updating your repository, type these words on Synaptic's search box. These packages are compulsory for installing Player/Stage. fortran, libconfig, libtool, pkg-config, gtk, sed, cmake, geos, statgrab, swig, gnomecanvas, imagemagick, glut, libltdl and gsl.

For a more general packages for solving dependency issue before installing Player/Stage, read my post about General Requirement for Player/Stage.

After installing those dependency packages, you'll have to install Player first before installing Stage. Although Player was available in PCLinuxOS repository, from my experience it's best to build the application from source.

Installing Player
If you decide to install Player from the repository, you'll get difficulty to run the code you made. I still don't know why, but I guess it has something to do with the library linkages.

If you build Player from the source, you could define the library linkages and the directory to which Player will be installed. By the way, PCLinuxOS didn't provide Stage in its repository.

To install Player, it's best to switch to superuser account. Since by default,  player will be installed in /usr/local/. Although it's not really necessary. The first step is to download the source and extract it to your local directory (I'll assume you know how to extract an archive in Linux). Note that this guide uses Player version 2.1.2 although the latest version available on its website is 3.0.0. And instead of installing it in the default location, it'll be installed in user directory (/home/$USER/playerstage).

cd ~/player-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
In my case, I put extra options. I enabled lasertoranger and sonartoranger and disabled vec2map. Hence, my code becomes:
/configure --prefix=/home/$USER/playerstage --enable-lasertoranger --enable-sonartoranger --disable-vec2map
make
make install
The next step is to add the Player's executables and libraries path to system path. Type these lines in terminal (or konsole):
export PATH=$PATH:/home/$USER/playerstage/bin/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$USER/playerstage/lib/pkgconfig
export PLAYERPATH=$PLAYERPATH:/home/$USER/playerstage/share/stage/worlds:/home/$USER/playerstage/lib/
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/playerstage/include:/home/$USER/playerstage/lib:/home/$USER/playerstage/share/player/examples/plugins/logplugin
Or you can manually add them to the your local profile file by editing these files: .bashrc or .bash_profile.
Next step is to add these lines into /etc/ld.so.conf.
/home/$USER/playerstage/lib/
/usr/local/lib
The last step is to test this installation configuration by typing this line in terminal.
pkg-config --libs playercore
It should return something like this, (might be different depending on your machine)
-L/home/$USER/playerstage/lib -lplayercore -lltdl -lpthread -lplayererror
And this line again:
pkg-config --cflags playercore
Again, it should return something like this, (might also be different)
-I/home/$USER/playerstage/include/player-2.1
If your machine return something like those, then you could try to run the application:
player ~/playerstage/share/stage/worlds/simple.cfg &
If it run well, then the installation is complete.

Installing Stage
The installation for Stage is almost the same as installing Player.
cd ~/stage-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
sudo make
sudo make install
pkg-config --libs stage
pkg-config --cflags stage

I summarized all steps above and upload it to my Google Docs, you can read the file too. If you notice that there is the word "OpenCV" in that file, just ignore it if you don't need to install it.

OpenCV is a computer vision library for researches having image manipulation/processing. If your robot involves such sensor behavior, then you'll need to install this library.

I hope this guide is useful. Inform me if you have any thing to say.

Disclaimer !

This site and its contents are copyrighted to Abqori Aula unless otherwise mentioned. The images, videos, and other artworks are belong to their authors. This site does not host any copyrighted files.