iBeacon battery level indication using esp32 bleclient - bluetooth-lowenergy

I was tring to get the battery level and RSSI value along with distance in mtr of iBeacon acting as server and ESP32 acting as aclient which can collect data from surrounding iBeacons.
I tried doing like finding the rssi values for surrounding ble devices. But i also want to get the battery level of the perticular beacon im intrested in.

Related

matching network BLE antenna

Hi I'm using a BLE module connected to a chip antenna, the antenna manufacture establish the path width is .4mm, if I need to match the network to 50ohm how can I do it? the system has a pi-match C1=0.8pF L=3.9nH and C2 is 0.8pF how can I make sure it match to 50 ohm?
Your network contain 2 parts:
Antenna + pi-match
BLE module
You need to make sure both 2 part meet the requirement 50 ohm itself so you have to isolate 2 part.
(You can use the knife to remove a small path in the transmission line)
After isolation, use a 50ohm cable, solder one side of cable to each part, other side to the Vector network analyzer.
If the S-parameter you got is <-8dB in your frequency range => You got 50 ohm matching.
(Try change value of your pi to got value close to 50ohm)

Using an Arduino as EMG sensor

When I search online for EMG sensors, I often see these sensors are just made of a few transistors, resistors and sometimes diodes. Also I once read on a site that EMG sensors are some kind of modified voltmeters. But while I managed to make a voltmeter from an Arduino, I haven't been able to make an EMG sensor from an Arduino.
Does someone know whether it is possible to make an EMG sensor from an Arduino and how they did achieve this?
I think the biggest problem here is that of dynamic range. EMG signals are AC voltages typically in the low mV range and would need a gain of 100 or so to get them up to +/-2.5V, then a simple offset circuit to convert that to 0-5V for the Arduino analog inputs. However, that's not the whole story, since the small EMG signals can ride up and down on large low-frequency background voltages. Your AC amplifier would need a high-pass filter to remove those, or they could drive it off-scale which would prevent the EMG from getting through. If you reduce the gain to keep things in range, the EMG will be a rather small part of the 10-bit ADC range on the Arduino.
So the thing to ask is what is the point of using the Arduino in the first place? If you are going to connect it to a computer in order to look at the EMG signals, then why not just skip the Arduino and use the computer's sound card? The Mic input probably has enough gain already, and you get at least 16-bit resolution to handle any large non-EMG background that wasn't filtered out.
IMPORTANT! EMG measurements require direct electrical connection to the body. For safety, you should make certain that your recording equipment is electrically isolated. If you use only a standalone Arduino, you should power it from batteries. If you use a computer, it should be a laptop running on batteries, with no other connections to ground.
I often see these sensors are just made of a few transistors,
resistors and sometimes diodes.
That's true for pretty much all electronics devices...
Does someone know whether it is possible to make an EMG sensor from an
Arduino and how they did achieve this?
You cannot build an EMG sensor from an Arduino. But you read sensor values with an Arduino either through serial interfaces or by measuring voltages.
With a bare Arduino you can neither measure negative voltages nor can you amplify small signals. (we're in the µV range here...)
Just buy something ready or learn more on electronics

Self-correcting beacons is it possible to work?

I read a paper discussing about a method to reduce beacon's measurement error up to 10%.
I was wondering if it's possible. Basically the self-correcting beacon system is composed of two beacons: target beacon and self-correcting beacon. These two beacons are positioned one meter far from the other.The measuring device (the device we want to calculate the distance from) is positioned at d meters far from the target beacon. Basically the target beacon broadcasts a message, self-correcting beacon will get, calculate the RSSI save as srcPower (RSSI at 1m distance) and broadcasts again. On the other hand, the target device will get the message from target beacon that was sent in the beginning and a message from the self-correcting beacon. So the measuring device uses this "more recent RSSI(d0) (srcPower) to calculate the distance"... does anybody tried to implement and it worked?
The link to the scientific paper is this one:
https://www.ronpub.com/OJIOT_2015v1i2n03_Cho.pdf

Displaying battery percentage with arduino

I would like to know if there is any way to display the battery level of an arduino running off a rechargeable battery. Is there some piece of equipment or certain code I could use with an LCD? To be clear I'm looking to display the battery percentage not the voltage.
I'm using an adafruit proto board with a servo shield
Thanks in advance.
I don't know why you are avoiding the simple solution (resistor bridge into an analog input). Create a map in EEPROM to act as an interpolation table and re-scale it occasionally. Taking the voltage from that analog input and mapping it through your interpolation table will give you a percentage battery remaining for the LCD. (most batteries I have interacted with slowly decrease in output voltage as their percentage remaining drops and the slope/ curve is usually fairly repeatable)

bluetooth - tx power and rssi

I am experimenting two low energy bluetooth 4. I am getting uuid, tx power level and rss values on the android app that I downloaded.
I noticed that one of these two is sending 0 for tx power level, but the other one is sending 4 for tx power level and see different RSSI values on the android app even though I put them in the same spot. It means that the distance is same between my android phone and these two bluetooth devices. If the difference is +/- 5, I understand, but the difference is +/- 15. Is is because of the tx power level?
And oo I need to take tx power level into consideration to calculate the proximity between the BLE 4 and my android app?
You cannot directly relate RSSI and absolute distance between BLE central and peripheral. Of course RSSI is affected by, but not only, distance. However there are other significant factors such as interference, transmittion medium, etc. If your two BLE peripherals are two different models, the values may even vary more.
RSSI fluctuating for around +-15 is very normal for BLE connections, and nearly impossible to eliminate in practical cases. So basically you cannot only rely on RSSI for calculating distance if you want the error to be less than several meters.

Resources