A homepage subtitle here And an awesome description here!

24 January 2023

ROS Installation | Robotic Operating System Installation | Noetic

ROS Noetic Installation

Today we are going to see the installation of Robotic Operating System 1 (ROS)

Step 1: What We need:

  • This will mainly work on Ubuntu 20.04 OS 
  • Support till 2025 May.
  • Name of the ROS: Noetic 
For the complete installation step by step, you can watch the video given below

Step 2: Commands

Here are the commands to be used one after the other. 

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

$ sudo apt install curl # if you haven't already installed curl

$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

The above commands add the ROS to the aptitude manager and we can now install ROS1 with simple commands

$ sudo apt update
$ sudo apt install build-essential autoconf automake libxmu-dev

$ sudo apt install ros-noetic-desktop-full
The above command need 370MB of softwares to be downloaded.

So the complete package of ROS installed. 

We need some more packages to be installed that can create our own workspaces and manage our own workspaces, here are the following packages.

$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool

$ sudo rosdep init

$ rosdep update

Step 3: Set the path information

Now set the path for a bash file.

Open .bashrc file from the home folder and set the folllwing line

Open the above file using the command 

$ cd 
$ gedit .bashrc

Go to the end of the file and paste the following line

source /opt/ros/noetic/setup.bash

This is how it looks
ROS1 Noetic
ROS path setting

and logout and login back... or restart the system.

Thats it... 

We have installed ROS1 Noetic successfully in Ubuntu 20.04

To check whether it's working or not... run the following commands. 

$ rosrun
$ roslaunch
$ rosmsgs
$ rqt_graph
$ rostopic

If these commands are recognised, then ROS is installed successfully. 


09 January 2023

Constrained Application Protocol (CoAP) using Node JS

Constrained Application Protocol using Node JS

Constrained application protocol is shortly called as CoAP and its based on Request Response Model where a browser or application will be requesting for a resource from the server. The resource would be a sensor reading like temperature, humidity, heartbeat, etc. 

For complete explanation of the source code and the demo please go through the video:


CoAP can be developed with many programming or scripting languages like:

  1. Python
  2. Node JS
  3. Contiki OS

In this article, I will be writing or explaining the source code of CoAP using Node JS and this can be demonstrated with a plugin name called Cu Plugin for Chrome Browser. There are many CoAP client available like coap, libcoap, etc in Linux OS and Cu Plugin being a easier and common approach for a client. 

You can refer the complete

This program first starts the CoAP Server and accept only the JSON format headers, else it will throw the error number '4.06'. 

Based on the request URL (req.url), the incoming requests will be handled by the server and responded with json based sensor values namely: for example, for "temperature", the server respond with {'temperature':988}. The values generated her is baaed on a random integer, in case of real sensor attached to the sensor, it can send those information as well. 

Here is the source code of the CoAP program.  The name of the file is coap.js 

var coap = require('coap');

function randomInt(min,max) {

return (Math.floor(Math.random()*(max-min) + min));
}

var portNumber=5683;
coap.createServer(function (req,res) {
console.info('CoAP device got a request from %s', req.url);
if(req.headers['Accept'] != 'application/json') {
res.code='4.06';
return res.end();
}
switch(req.url) {
case "/co2":
displayOutput(res, {'Co2':randomInt(0,1000)});
break;
case "/temperature":
displayOutput(res, {'Temperature':randomInt(-10,50)});
break;
case "/humidity":
displayOutput(res, {'Humidity':randomInt(0,100)});
break;
default:
displayOutput(res);
}
}).listen(portNumber);
console.log('CoAP Server is started at port Number 5683');

function displayOutput (res,content) {
if(content) {
res.setOption('Content-Format','application/json');
res.code='2.05';
res.end (JSON.stringify(content));
} else {
res.code='4.04';
res.end();
}
}
//End of Program
To install the packages in Linux, here is the command
$ sudo apt update
$ sudo apt install nodejs npm
$ npm install coap
The above program can be run using the command 
$ node coap.js 
The request are  
coap://localhost:5683/co2
coap://localhost:5683/temperature
coap://localhost:5683/humidity

The following will be the output
{'Co2':899}
{'Temperature':45}
{'Humidity':67}
This will start the server and the client can browse the server through the plugin called Cu plugin in Google Chrome Browser. There is a small work around to do the customisation. Please follow the video for enabling the Cu plugin in Google Chrome browser. 

Here is the output screen shot of the above request.
CoAP
CoAP Client (Cu) plugin



Powered by Blogger.

About Me

Featured Post

5G Network Simulation in NS3 using mmWave | NS3 Tutorial 2024

5G Network Simulation in NS3 Using mmWave This post shows the installation of ns3mmwave in Ubuntu 24.04 and simulates 5G networks in ns3. In...

Contact form

Name

Email *

Message *

Total Pageviews

Search This Blog

Pages

Pages

Pages - Menu

Most Popular

Popular Posts