WIRELESS INTERCOM

A Project Report

Submitted by

V. BHARATH RAJ- 2016105018 V.PRANESH- 2016105568 SURAJ SURESH- 2016105598

For the Summer Internship Course In ELECTRONICS AND COMMUNICATION ENGINEERING

DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING ANNA UNIVERSITY CHENNAI MAY 2018

TABLE OF CONTENTS:

S.No. Contents Page

1 Acknowledgement 2

2. Abstract and Overview of the Project 3

3. Introduction 4 4. Getting Started with the Raspberry Pi 6

(i) Installing NOOBS or Raspbian OS onto the SD card. 6

(ii) Working with the Raspberry Pi. 7

5. Configuring the Raspberry Pi with the Mumble Server 10

6. Configuring our Mobile devices 15

7. References 20

8. Manual 20

(i) To establish a Full Duplex Call 20 (ii) To establish a Half Duplex Call 24 (iii) To establish a Group Call 28 (iv) To create a chatroom 31

- 1 -

1. ACKNOWLEDGEMENT

We are highly indebted to our project mentor Dr M A Bhagyaveni, Professor, Dept. of ECE for her continuous supervision, motivation and guidance throughout our tenure of our project.

We would like to thank the Dean, CEG, and the Head, Dept. of ECE, Anna University for giving us the opportunity to undergo this summer internship programme.

We would like to express our sincere thanks to Dr Sridharan, Professor, Dept. of ECE, CEG, who is the coordinator of this summer internship, for helping us in joining this programme.

We thank the Ph.D., Scholars, Dept. of ECE, CEG, for their continuous helping and suggestions during our project.

Last but not least we thank all the staff members of the Dept.nt of ECE for their encouragement and support.

V. BHARATH RAJ V.PRANESH SURAJ SURESH

- 2 -

2. ABSTRACT AND OVERVIEW OF THE PROJECT

In this project we will be setting up a Wireless intercom using the Raspberry Pi 3 Model B. The contributions of this project are : to establish (i) Full duplex communication between two users (ii) Half duplex call like walki talki (iii) Text messages and also to perform (iv) Conference call between many users These are done within the coverage range of Raspberry pi without much cost. In this project the raspberry pi is programmed to operate as server using raspbian OS, the mumble software is installed in the mobile to interact with the server and establish the service.

- 3 -

3. INTRODUCTION

RaspberryPi :

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.

The Raspberry Pi has the ability to interact with the outside world, and has been used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras. We want to see the Raspberry Pi being used by kids all over the world to learn to program and understand how computers work.

Here in this project we have used a Raspberry Pi 3 Model B as shown below.

Figure 1.1 Raspberry PI’s Parts

- 4 -

Mumble Server: A Mumble server (called Murmur) has a root channel and a hierarchical tree of channels beneath it. Users can temporarily connect channels to create larger virtual channels. This is useful during larger events where a small group of users may be chatting in a channel, but are linked to a common channel with other users to hear announcements. It also matches team-based first-person shooter (FPS) games. Each channel has an associated set of groups and access control lists which control user permissions. The system supports many usage scenarios, at the cost of added configuration complexity.

Mumble application is an Open- Platform and it can be found available in the Google Play Store.

Figure 1.2 Mumble’s logo

Figure1.3 Mumble App

- 5 -

4. GETTING STARTED WITH RASPBERRY PI Here we will be learning on how to get started with the Raspberry Pi. Also on how to setup the Raspberry Pi on our first Boot. The required materials are provided below,

Hardware:

o A Raspberry Pi computer with an SD card

o A monitor with a cable (and, if needed, an HDMI adaptor)

o A USB keyboard and mouse

o A power supply

o Headphones or speakers (optional)

o An Ethernet cable (optional) Software:

o Raspbian, installed via NOOBS

STEP 1: Installing the NOOBS or the Raspbian OS onto the SD card. Here in this step we will be installing the Raspbian in the SD card (minimum 16GB free space required).

➢ Initially before starting the SD card must be formatted so that the OS runs without problem. To format the SD card, if you are using Windows OS download the SD card formatter from the link below.

https://www.sdcard.org/downloads/formatter_4/

➢ Insert the SD card onto a SD card reader and then in the formatter select the required drive that need to be formatted.

➢ Now install the NOOBS or the Raspbian OS from the official Raspberry Pi website https://www.raspberrypi.org/downloads/raspbian/

- 6 -

➢ Now the installed OS file has to be written as an image file into the SD card so for this we require a software named, Windows32disk Imager. Download this from the link as below, https://sourceforge.net/projects/win32diskimager/

➢ Using this Disk Imager the image file is now written into the SD card and is now ready to be inserted into the Raspberry Pi.

STEP 2: WORKING WITH RASPBERRY PI: METHOD 1: Connecting Raspberry Pi with an HDMI display. Here the Raspberry Pi is connected to the HDMI display via the HDMI port available in the Pi module. ➢ If in case we do not have a monitor with an HDMI Port the Pi is connected through an HDMI-VGA or DVI adapter. The adapter is easily available and is as shown.

Figure 1.4 HDMI to VGA adapter

➢ As soon as you connect the Raspberry Pi with and HDMI display the Pi will boot up automatically during the first boot some of the parameters of the pi must be configured such as the Time Zone, Language etc.….

NOTE:

- 7 -

➢ If in case on the first Boot-up of the Pi the HDMI display shows ‘No Signal’ or The screen remains Blank the following configuration changes must be applied in the ‘CONFIG.TXT’ which is present in the SD card drive.

CONFIGURATION CHANGES FOR THE HDMI DISPLAY

In the ‘config.txt’ text file the following changes in the code must be applied for the proper display.

Applying these changes enables the user the work on the Graphical User Interface of the Raspbian OS

#hdmi_force_hotplug=1

#hdmi_drive=2

To solve the problem you just have to uncomment (ie remove the sign # at the beginning) these lines and save the file (Ctrl + o, Enter, Ctrl + x with nano). Restart your Raspberry Pi and you’re done!

Just for information, here is what these two lines do:

• hdmi_force_hotplug=1:

Forces to display through HDMI event if no HDMI screen is detected. Remember to re-comment this line if you need to display the Raspberry Pi on a different port than the HDMI.

• hdmi_drive=2:

Trying to use HDMI mode rather than DVI mode, this allows you to solve certain sound problems.

METHOD 2: SETTING UP THE RASPBERRY PI FOR WINDOWS OS

- 8 -

In order to work with the Raspberry Pi using the Laptop with a Windows OS the ‘VNC Viewer’ must be used through which the Graphical User Interface of the Raspbian OS can be accessed.

Downloading and Working with the VNC Viewer: STEP 1: ➢ The VNC Viewer is open-source and can be downloaded from https://www.realvnc.com/en/connect/download/viewer/

➢ VNC is thus extracted and is downloaded and is available for accessing the Raspberry Pi.

STEP 2:

➢ Power up the Raspberry Pi and the Wi-Fi module that is present in the Pi can be connected through the ‘Mobile Hotspot’ of the Laptop.

➢ Turning on the Mobile Hotspot in the Laptop will connect automatically with the Raspberry Pi and the IP Address of the Raspberry Pi will be displayed.

➢ This IP Address is then entered into the VNC Server and the GUI of the Raspberry Pi is then displayed. The ‘Username’ and the ‘Password’ of the Raspberry Pi are default and they are

USERNAME: pi. PASSWORD: raspberry.

➢ Thus now we are ready to work with the Raspberry Pi in a GUI environment provided by the VNC server. All the inbuilt applications and the ‘Terminal’ within the Pi can be directly accessed.

- 9 -

Figure 1.5 Raspberry pi’s desktop in VNC viewer

5. Configuring the Raspberry Pi with the Mumble Server:

With our Raspberry Pi powered up and at the Desktop, we need to open a terminal and install the Mumble server software.

- 10 -

Figure 1.6 Installing and Updating Mumble Server in Raspberry pi using the terminal

1. sudo apt update && sudo apt install mumble-server

Next step is to configure mumble-server. In the terminal type

1. sudo dpkg-reconfigure mumble-server

Figure 1.7 configuration of Mumble server

- 11 -

Figure 1.8 configuration of Mumble server-setting the password

A new menu will appear and it will ask you a series of questions. We need to do the following.

➢ Set Autostart to Yes ➢ Set High Priority to Yes ➢ Create a SuperUser password.

Once completed close the menu to finalise the configuration. The next step provides both security and means to identify the “Channel”. In a terminal type the following command to open the mumble server configuration file.

1. sudo leafpad /etc/mumble-server.ini

- 12 -

Figure 1.9 Setting the password for the server Scroll down the file and look for “registerName”

1. registerName=HomeIntercom

Then look for “serverpassword” and set this to a password that will be used by all those that wish to connect.

1. serverpassword=*****

Save the file and then close the editor. In the terminal type the following command to restart the service that is running our server and reload the configuration files.

1. sudo service mumble-server restart

The reload should produce no errors. The last step on the Raspberry Pi is to fix our IP address and to do this we need to edit a configuration file. In the terminal type

1. hostname –I

Write down your IP address and when ready edit the file by typing this line into the terminal.

1. sudo leafpad /etc/dhcpcd.conf

- 13 -

Figure 1.10 Changing the IP address to our PI’s IP address

The lines that needed changes look as follows

1. # example static IP configuration: 2. # interface eth0 3. # static ip_address=192.168.137.228 4. # static routers=192.168.137.228 5. # static domain_name_servers=192.168.137.228 8.8.8.8

We will need to uncomment these lines by removing the “#” and change the corresponding line to match those issued by your and the IP address your Pi currently has. In our case our Ip address was 192.168.137.228, and our router has an IP address of 192.168.137.228. We also added to DNS (Domain Name Servers) so that our Pi was able to connect to the Internet. The first is our router, the second is Google’s DNS server.

- 14 -

Here is our example, change it to match yours and then save the file.

1. # example static IP configuration: 2. interface eth0 3. static ip_address=192.168.137.228 4. static routers=192.168.137.228 5. static domain_name_servers=192.168.137.228 8.8.8.8

Our server is now configured and ready for use. So let's power down the Raspberry Pi, remove every accessory apart from the microSD card, power and Ethernet. Now place the Pi somewhere safe and power it up.

6. Configuring our mobile devices

Install the Mumble client on your Android device.

Open the Mumble app and you will be asked to press the Menu key to configure a server. The Menu key are the three dots present in the bottom right of the screen. Press that and then press the Add Server button.

- 15 -

Figure 1.11 Adding the server in Plumble app in Android devices In the next screen enter the details for your Mumble server. The label option is optional and it is used if you have multiple servers saved in the Mumble client. The address is our server address, the port for Mumble is always 64738 by default. Username is where we can identify this Mumble device on the network, so call it either a room or something personal. The password is the same password we set in the Mumble server configuration file. Enter the details and then press Add Server.

- 16 -

To connect to the server press the entry in the list of Servers.

Figure 1.12 List of servers added

- 17 -

You will hear a robotic voice that tells that you are connected. Now connect another device and start a conversation! All you need to do is press PTT (Push To Talk) and then speak!

Figure 1.13 Inside the server

- 18 -

There is even a text chat facility built in to Mumble where groups can chat and share information!

Figure1.14 Chatroom

- 19 -

7. References Introduction from https://www.raspberrypi.org/forums/

Configuration of mumble server from

(i) https://www.electromaker.io/project/view/create-your-own-home- intercom-using-raspberry-pi-and-mumble#to-complete-this- project-you-will-need- (ii) https://pimylifeup.com/raspberry-pi-mumble-server/

8. Manual To establish a Full Duplex call: ➢ Power up the raspberry pi using a adapter of 2.5A and 5V and it looks like this,

Figure 1.15 Powering the Raspberry pi

- 20 -

➢ Install the plumble app on your devices. ➢ Open it and click on the “+” icon to add new networks.

Figure 1.17 Plumble app screen

➢ Enter the Username as you wish, the Password that you had given before and the IP address of the PI.

- 21 -

Figure 1.18 Server Details

➢ Repeat this in your other devices too. ➢ The page appears like this.

Figure 1.19 List of Servers

- 22 -

➢ Open the server. ➢ Make sure you are in the “Channel” page. ➢ Click on the three stacked dots in the top right corner and follow, Transmit mode > Continuous ➢ Now you are ready to make a full duplex call between the users in the network. ➢ The Mic and Speaker Icons are used to mute and deafen the call. (Refer Fig 1.20) ➢ The red microphone indicates that you are speaking.

Figure 1.20 In channel call

- 23 -

To establish a Half Duplex Call: ➢ Power up the raspberry pi using a adapter of 2.5A and 5V and it looks like this,

Figure 1.21 Powering the Raspberry pi ➢ Install the plumble app on your devices. ➢ Open it and click on the “+” icon to add new networks.

- 24 -

Figure 1.22 Plumble app screen

➢ Enter the Username as you wish, the Password that you had given before and the IP address of the PI.

Figure 1.23 Server Details

- 25 -

➢ Repeat this in your other devices too. ➢ The page appears like this.

Figure 1.24 List of Servers

➢ Open the server. ➢ Make sure you are in the “Channel” page. ➢ Click on the three stacked dots in the top right corner and follow, Transmit mode > Push To Talk ➢ Now you are ready to make a half-duplex call between the users in the network. ➢ Press and hold the PTT button when it is your turn to speak. ➢ The Mic and Speaker Icons are used to mute and deafen the call. (Refer Fig 1.20) ➢ The red microphone indicates that you are speaking.

- 26 -

Figure 1.25 In channel call

- 27 -

To establish a Group Call:

➢ Power up the raspberry pi using a adapter of 2.5A and 5V and it looks like this,

Figure 1.26 Powering the Raspberry pi ➢ Install the plumble app on your devices. ➢ Open it and click on the “+” icon to add new networks.

- 28 -

Figure 1.27 Plumble app screen

➢ Enter the Username as you wish, the Password that you had given before and the IP address of the PI.

Figure 1.28 Server Details

- 29 -

➢ Repeat this in your other devices too.(More than two) ➢ The page appears like this.

Figure 1.29 List of Servers

➢ Open the server. ➢ Make sure you are in the “Channel” page. ➢ The members in the network will be listed in the server. ➢ Click on the three stacked dots in the top right corner and follow, Transmit mode > Continuous ➢ Now you are ready to make a group call among the users in the network. ➢ The Mic and Speaker Icons are used to mute and deafen the call. (Refer Fig 1.20) ➢ The red microphone indicates that you are speaking.

- 30 -

To Create a Chatroom: ➢ Power up the raspberry pi using a adapter of 2.5A and 5V and it looks like this,

Figure 1.30 Powering the Raspberry pi ➢ Install the plumble app on your devices. ➢ Open it and click on the “+” icon to add new networks.

Figure 1.31 Plumble app screen

- 31 -

➢ Enter the Username as you wish, the Password that you had given before and the IP address of the PI.

Figure 1.32 Server Details

➢ Repeat this in your other devices too.(More than two) ➢ The page appears like this.

- 32 -

Figure 1.33 List of Servers

➢ Open the server. ➢ Swipe to the right and you will get to see the “Chat” page.

Figure 1.34 Chat Page

- 33 -

➢ You are now ready to chat with the users in the network.

Figure 1.35 Sending Message

Figure 1.36 Receiving Message

- 34 -

V. Bharath Raj V. Pranesh Suraj Suresh

Attendance

Evaluation:

Remarks:

Teacher in charge Coordinator Head of the department

- 35 -

- 36 -