Mumble-Server Pi – Student Worksheet
Total Page:16
File Type:pdf, Size:1020Kb
Mumble-Server Pi – Student Worksheet Learning Outcomes • Learn the basics of IoT; • Understand the concepts of a Mumble-server; • Learn how to configure and use a Mumble-se6rver. Background Raspbian is a Debian-based computer operating system for the Raspberry Pi computer. There are several versions of Raspbian including: Raspbian Stretch and Raspbian Jessie. Raspbian was created by Mike Thompson and Peter Green as an independent project, with an initial build completed in June 2012. Since 2015, Raspbian has been officially provided by the Raspberry Pi Foundation as its primary operating system for the family of Raspberry Pi single-board computers and is highly optimized for the Raspberry Pi line's low-performance ARM CPUs. The internet of things, or IoT, is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers (UIDs) and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. IoT devices could be a person with a heart monitor implant, a farm animal with a biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is low or any other natural or man-made object that can be assigned an IP address and is able to transfer data over a network. Increasingly, organisations in a variety of industries are using IoT to operate more efficiently, better understand customers to deliver enhanced customer service, improve decision-making and increase the value of the business. Mumble is a voice over IP (VoIP) application primarily designed for use by gamers and is similar to programs such as TeamSpeak. Mumble uses a client–server architecture which allows users to talk to each other via the same server. It has a very simple administrative interface and features high sound quality and low latency. All communication is encrypted to ensure user privacy. Mumble is free and open-source software application, is cross-platform, and is released under the terms of the new BSD license. 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 uses the low-latency audio codec Opus as of version 1.2.4, the codec that succeeds the previous defaults Speex and CELT. This and the rest of Mumble's design allow for low-latency communication, meaning a shorter delay between when something is said on one end and when it's heard on the other. Page 1 of 25 www.cyberpiprojects.com | [email protected] Mumble also incorporates echo cancellation to reduce echo when using speakers or poor-quality sound hardware. Hardware Required Component Number (Peli Case) Component Number (Box Case) Component Slot 4 + 5 Slot 1 Raspberry Pi + Case Slot 5 Slot 10 Raspbian SD Card Slot 9 Slot 2 TFT Screen Slot 3 Slot 11 HDMI Slot 3 Slot 11 Wireless Keyboard Slot 5 Slot 12 Wireless Mouse Slot 1 Slot 13 Power Supply Unit Slot 3 Slot 11 Headphones Slot 3 Slot 11 Microphone Project assembly/ Code setup: Step 1: Ensure that all the hardware required is taken out of the Peli or Box case; Step 2: Insert the Raspbian SD Card into the SD Card slot on the Raspberry Pi; Step 3: Insert the USB dongle for the keyboard and mouse (or connect an external USB keyboard and mouse). Now plug in the microphone to one of the USB ports and then headphones into the aux port; Step 4: Connect the TFT Screen to the Raspberry Pi GPIO pins ensuring that the HDMI ports align on the side. Connect the HDMI to HDMI U shaped connector between the Raspberry Pi and the TFT Screen. (If using an external monitor connect the HDMI cable directly to the external monitor and you do not need to use the TFT Screen); Step 5: You are now ready to power on the Raspberry Pi. Plug in the power supply unit into your wall power outlet and connect the mini USB cable to the power socket on the Raspberry Pi. You should get a red light appear and a green/amber light flashing as the Raspberry Pi starts to boot up; Page 2 of 25 www.cyberpiprojects.com | [email protected] Step 6: Once the Raspbian OS has booted up you will be sign in automatically; Step 7: Make sure your Raspberry Pi is either connected to your WiFi or connected to the internet using an Ethernet cable and connecting it using the Ethernet port on the Raspberry Pi; Step 8: Open up the terminal; Step 9: We need to do some basic configurations such as set up a superuser so we can connect, do this by running the following command. sudo dpkg-reconfigure mumble-server Step 10: This command will present you with a few options, set these however you would like mumble to operate. Autostart: I selected Yes High Priority: I selected Yes (This ensures Mumble will always be given top priority even when the Pi is under a lot of stress) SuperUser: Set the password here. This account will have full control over the server. Page 3 of 25 www.cyberpiprojects.com | [email protected] Step 11: You need the IP address to connect, to get this type the following: ip addr show Step 12: Write this number down next to inet (It will be under either eth0 or wlan0) as you will need it to connect to the server and also setup port forwarding for outside access if you want to take the project further. Step 13: Now we will probably want to set up a few things on the Mumble server such as welcome message, password (if you don’t want anyone just joining). Step 14: In the terminal app enter the following command: sudo nano /etc/mumble-server.ini This command will open the server config in the nano text editor. Step 15: Everything here is pretty self-explanatory: • Find welcomeText and update to whatever you would like displayed when a user joins the channel. • Find serverpassword and update if you would like a password for users looking to join the server. • Uncomment registername by removing the # and replace mumble server with the name that you would like to use for the base channel. Once you have done this press Ctrl + X and Y and enter to save the text editor. Page 4 of 25 www.cyberpiprojects.com | [email protected] Step 16: You will need to restart the server for changes to take place. Enter the following command. sudo /etc/init.d/mumble-server restart Once the server has rebooted, you can now move onto accessing it by typing mumble into the terminal. Step 17: Open the Mumble Client Software by typing mumble into the terminal. Make sure you are on the same network as the server otherwise you won’t be able to connect. Step 18: Now we need to run the audio tuning wizard. Upon opening mumble, you should see the Audio Tuning Wizard prompt. Step 19: Click the Next button to continue the wizard. Page 5 of 25 www.cyberpiprojects.com | [email protected] Step 20: On this screen if you know exactly what devices you use, select them, if not just leave values to the defaults. Click the Next button to continue. Step 21: On this portion you should be hearing a continuous loop of sound. Select a value that gives you no interruptions or jitter in the sound. Once you find a good setting click the Next button to continue. Step 22: Follow the instructions on the screen and click the Next button once complete. Page 6 of 25 www.cyberpiprojects.com | [email protected] Step 23: If you want Mumble to record your voice as soon as you start talking without having to push a button, you'll want to select the Raw amplitude from input option. If you want Mumble to start recording your voice after you push a button, you'll select the Push To Talk option and you'll need to click inside the box next to the option and push a key you want to use. Page 7 of 25 www.cyberpiprojects.com | [email protected] Step 24: We recommend leaving the defaults on the page here, although you can change them if you want higher quality or do not want to hear sounds instead of text to speech. Step 25: Depending on the speaker or headphone setup you use, you'll want to select the Use headphones if you do so. Click Next otherwise. Page 8 of 25 www.cyberpiprojects.com | [email protected] Step 26: Click the Finish button to finish the setup wizard. Page 9 of 25 www.cyberpiprojects.com | [email protected] Step 27: You will now get a certification authentication screen pop up. Click on the automatic certificate creation option. Step 28: Then on the next screen that pops up select finish. Page 10 of 25 www.cyberpiprojects.com | [email protected] Step 29: You will get a pop-up box with a list of server names, just click on the one you have created under the heading LAN.