DIY: Bluetooth receiver for your speakers #BreakItMakeIt

Take a step back, to obeserve! when you see something that isn’t working you take it, break it, make it and bring it to the next level Thats how this project spanned out! making a bluetooth receiver from a fully functional but a physically broken Nokia BH-503 bluetooth headset. Initial steps were to open the bluetooth headset and see the construction. Pretty amazed! Well thought out design I would say, but the product had a lot of problems regarding power. (It is going to be a challenge to charge it because the charger plug is unavailable and microUSB was not in practice when it was sold.) disassembled the panel with buttons unscrew after removing the glue from the ear sponges fully disassembled state The battery is mounted with a dual side stick tape Removing the glued sponge [06.07.2015] Next steps would be shorten the wire, change the charging port to mini usb and test the working. Today I will be testing if the strip down setup. [22.07.2015] The wires are made shorter and soldered together. It looks in good shape. It’s charging. Next step would be solder the 3.5mm jack for speaker input instead of the wires for LR speaker. Soldering the 3.5mm jack in different configurations to get the better output to the 2.1 speakers. Everything works great as far as the normal operation of the headset is concerned. Yay for that! but the output has too much noise and the levels are low that when the volume is increased… Read more

LQ and RSSI in Bluetooth Protocol: Principles and Application Scenarios

In the physical layer of the Bluetooth protocol stack, there are two useful parameters: LQI and RSSI. Both are used by the receiver to evaluate the current wireless environment quality (link quality) and guide subsequent actions. However, the calculation principles and application scenarios of these two values differ significantly. LQI (Link Quality Indication) measures the quality of the received signal. The quality of the received signal is estimated by the receiver by comparing the received signal with the ideal signal and calculating the error accumulation value. For example, when using FSK or GFSK modulation, the receiver can compare the frequency of each bit with the expected frequency and accumulate a certain number of symbols (e.g., 64) to obtain the error accumulation value. Therefore, LQI can relatively reflect the current link quality, and its value is smaller when the link quality is better, and larger when the link quality is worse. RSSI (Received Signal Strength Indication) indicates the signal strength, regardless of the signal quality or correctness. LQI does not care about the actual signal strength, but the signal quality is related to the signal strength, as a stronger signal is less susceptible to interference, resulting in a higher “correctness” rate, lower LQI, and better signal quality. The following typical scenarios illustrate the application of LQI and RSSI: Weak signal and strong noise: low RSSI, high LQI Weak signal with little noise: low RSSI, low LQI Strong interference (e.g., jammer): high RSSI, high LQI (i.e., high RSSI does not necessarily mean… Read more

Raspberry Pi NFC reader driver installation ACR122u

First add the following dependencies for the NFC driver and other modules sudo apt-get install pcscd libusb-dev libpcsclite1 libpcsclite-dev dh-autoreconf I also installed the drivers from the official website for my device. it can be found here (disclaimer: I do not still not know if this step is required) then install the python package with pip sudo pip install nfcpy   now use the documentation http://nfcpy.readthedocs.io for using the nfc card with python. The python interface doesn’t use the LED notifications on the device, I have to find out how it works with the lights!

Start Building with Web Bluetooth and Progressive Web Apps

A Short Introduction Web Bluetooth is a a new technology that connects the Web with the Internet of Things. Web Bluetooth is so new, it’s still being built and prototyped! But of course, that doesn’t mean we can’t play with it… Essentially, Web Bluetooth lets you control any Bluetooth Low Energy device (smart home appliances, health accessories like heart rate or glucose monitors, temperature sensors, etc.) directly from your PC or smart phone, without having to install an app first. Web Bluetooth will eventually enable developers to build one solution that will work on all platforms, including both mobile and desktop, which means lower development costs, more open source control interfaces for various physical products, and more innovation. Evenings are best spent with fine wine, fine company, and Web Bluetooth In this post I will explain the basics of Web Bluetooth by building a demo web app that controls the smart bulb that I reversed engineered in the previous post. In addition, I’ll explore how you can extend this app to become a Progressive Web App, which is an exciting new approach that we’ll go into later in the post. I will assume for this tutorial you have basic familiarity with Bluetooth Low Energy terms such as Peripherals, Services and Characteristics — if not, check out the previous post to learn about them. You might be thinking, “But Uri, we can already send commands to the bulb, and anyway doesn’t the bulb already come with an app?” Well, it does come… Read more

PsychoPy app development in Python using Eclipse and pyDev

Install and setup psychoPy and using Eclipse and python for development of applications. I developed an application that used a eye tracker. It was a great idea to use python to interface the eye tracker with the routine which was created using psychoPy. Creating a new pydev module to start coding In this post, it is only about installing psychoPy, Python, Eclipse, pyDev for Eclipse and starting a new project. Creating your first psychoPy application with its specification will be in the following post. Install a stand alone version of psychoPy. There are versions available for both osX and Windows. I work on a Windows workstation and use a MacBook Air. So the installations are validated towards its working. StandalonePsychoPy-1.80.03-win32.exe StandalonePsychoPy-1.80.03-OSX.dmg

Sending and Receiving message between onboard Raspberry Pi BLE and an Ardui​no with HM 11

Goal: send messages between the HM 11 BLE modules and my Raspberry PI 3 with its onboard BLE. How: Bluez comes installed with the raspbian distro. Wiring is basic UART for connecting the HM 11 to the Arduino. In my case, I am using a Teensy 3.6 programmed using the Arduino IDE. Use this serial proxy sketch for getting started. if you have Arduino IDE, open this file. Teensy serial ports are on 0 and 1. I kept it software serial so its easy to adapt for any other board by just changing the pins used for the UART. Thats all you need to setup on the Arduino side. Everything should work now. May be try a few AT commands. AT should give you OK if the module is used for the first time. if not OK+LOST which means that the module was connected previously which was lost. I would, either way, try the three AT commands just to be on the safer side. AT+RENEW, AT+RESET, AT. If you make a PR request for adding a new line after every response from the HM 11 module, it would be great Next step is to set up the raspberry pi, everything should be available directly up setting up an RPi with a new SD card. Be sure that you are using Raspberry Pi 3 and newer versions which have onboard BLE. With Commandline: Below is my notes. If I recall either Android or the RPI didn’t like the 6 digit PIN… Read more

Did I know: A water fountain could produce 1,33,303 ?

I always think how much this setup could pump out? This is a fountain at Technical University of Dortmund. Too much in to thinking and I was spoiled by my Statistics for Reaseachers and Engineers (SRE) course! It made me think, why not compute. Thanks to Sakthi Thangavel for the awesome and timely picture using a simple R Console Standing tall quenching the thirst of engineers! What I found is about potatoes that can be grown out that fountain running through the summer was interesting. This was more of an academic endeavour for me. I made a test by conducting a trail for measuring the water flow through it! Now why not use R project for the purpose of computing? I know its a lame for using such a powerful tool for a simple math but its not bad for getting around R! some of the assumptions made: Diameter of the pipe = 1 cm flow rate is constant for 6 months if someone is able to measure it > comment in the post! Formula used: formula used from www.1728.org will be implemented in R Code Formula in R pipeDiameter = sqrt (4 * flow / pi * velocity) velocity = (4*flow) / (pi * pipeDiameter^2) flow = 1/4*pi*(pipeDiameter)^2*velocity A bottle was filled in 21 seconds. Winny was the time keeper. It was a 1 litre bottle. So scientifically saying it took 21 seconds for 1000 millilitres. (Please comment if you have more accurate results to take a list of values from different trails to make the… Read more

Bluetooth and Location Services Permission Tips

An iBeacon app relies on an active Bluetooth connection to detect the beacons around it. Without bluetooth, the app wouldn’t know when to trigger certain location related features. Handling bluetooth settings and permissions on the iPhone can sometimes be tricky. If you don’t request permissions correct and check the phone’s status in the right order, development and testing can become more of a frustration than it needs to be. Here’s how each step of the process should be handled: 1 — Is the device capable of Bluetooth Low Energy (BLE)? iBeacons run on the BLE frequency so it’s important that the device is BLE capable. BLE is available on the iPhone 4S & up, on any iPad mini or Air, and on iPad 3rd & 4th generation devices. Check for BLE capability isn’t necessary if you setup your app to require Bluetooth low energy. UIRequiredDeviceCapabilities bluetooth-le Adding the bluetooth-le key to the UIRequiredDeviceCapabilities array in your app’s plist restricts non-BLE capable devices from downloading your app. We restricted downloads of app to only BLE enabled devices since the app relies on iBeacon tech to function. Some apps may not revolve around iBeacon tech, in that case checking for BLE capability is an absolute necessity. let opts = [CBCentralManagerOptionShowPowerAlertKey: false]let manager = CBCentralManager(delegate: self, queue: nil, options: opts)func centralManagerDidUpdateState(_ central: CBCentralManager) { if central.state != .unsupported { //device supports BLE } } After the central manager is created it calls centralManagerDidUpdateState: on it’s delegate. As long as the central manager’s state isn’t .unsupported BLE is supported and available to… Read more

Hardening SSH

Keep your server safe with a few extra steps. SSH is essential to server management. This post will walk you though some of the options available to harden OpenSSH. The instructions may work for other flavors of Linux but is intended fro Ubuntu 16.04 LTS. Warning: Messing with how SSH works can be dangerous. You can very easily lock yourself out of the server. Be careful. OpenSSH Server Configuration The settings file for OpenSSH on Ubuntu 16.04 is located at /etc/ssh/sshd_config. You will need to be root or use sudo to edit and control the SSH server. Backup Configuration File It is always a good idea to make a backup of any configuration files before editing them. cp /etc/ssh/sshd_config /etc/ssh/backup.sshd_config Editing the Configuration File I am not fancy so, I use nano for configuration file edits. nano /etc/ssh/sshd_config SSH Configuration Test After editing the configuration file you should test that it is valid before reloading the service. sshd -t Reload the Configuration File Once you think your edits are good, reload the SSH daemon. sudo systemctl reload sshd Check the Protocol Our very first edit will be very simple. It is really more of a double check than an edit. Open /etc/ssh/sshd_config and check the line that starts with Protocol. Make sure it is set to 2 and not 1. The current default is 2. Protocol 2 Disable Root Instead of using root, we should be using connecting as user with sudo permission. Make sure you have sudo setup properly before continuing. So let’s disable the ability of root to login using SSH. Inside the configuration… Read more

Featured Bakers – Konditorei – Café in Europe

Konditorei Konditorei is the German word for a pâtisserie or confectionery shop. A Konditorei typically offers a wide variety of pastries and typically also serves as a café. Its an unrated list. Will get longer as more places are visited. Suggestions in comments. Café – Konditorei Wiacker Openning time: Mo. – Fr.: 9.00 – 18.30 Sa.: 9.00 – 17.00 Su.: 12.00 – 18.00 Holidays: 13.00 – 18.00 https://www.instagram.com/p/BXsYlp9AfFC Images from iPhone 6 Images from Internet CHOCOLATE HOUSE of Luxembourg by Nathalie Bonn Openning time: Monday-Friday: 8am  to 8pm Saturday: 9am to 8pm Sunday: 10am to 8pm Holidays: 11am to 8pm https://www.instagram.com/p/BYQ630xHKuY Images from iPhone 6 Images from Internet Ovocný Světozor Ovocný Světozor, Vodičkova, Prague-Praha, Czechia Mon – Fr.  : 08:00 – 20:30 Sat.            : 09:00 – 20:30 Sun.           : 10:00 – 20:30 https://www.instagram.com/p/BYqpJGTgPm6/ Images from iPhone 6 To go list [https://goo.gl/maps/mwbWdhKbK252]