Originally posted by Michael McSharry
View Post
Announcement
Collapse
No announcement yet.
Finally BLE scanning
Collapse
X
-
-
I opened upon another discussion thread at https://forums.homeseer.com/forum/li...oth-low-energy to focus on a specific implementation of a BLE scanner. I felt continuing here would be hijacking this thread and would tend to be confusing to Big5 users.
- Likes 1
Leave a comment:
-
Kalman filter library is available for Arduino https://github.com/TKJElectronics/KalmanFilter . This was a quick search. Maybe more detailed research will unveil more options.
Leave a comment:
-
The main point of the Kalman filter is to remove the noise from the sensor inputs. If the sensors are perfect (i.e. BLE RSSI report is perfect and unchanging for a stationary beacon) then no filtering is needed. If one was to use a simple low pass filter to remove the higher frequency noise components then the position determination would be very slow to recognize that a beacon has moved. Kalman's algorithm provides a good blend of noise reduction and responsiveness. It does not demand that more sensors be added. It just makes "optimal" use of the sensors that are available.
While I am not indicating that this algorithm needs to be used, I was surprised that it was implemented. Apparently node.js has a kalman library function so it was pretty painless in that implementation.
With the data I collected yesterday I can see jitter in the RSSI from minute to minute sample. Usually just a 2 or 3 point variation. Sometimes it would be 20'ish variation. I also see drift where the strength decayed down over time. I also saw dropouts and then reappearance. When one takes all of these things into account going the route of something like Kalman's filter will be needed to provide stable/believable results. This is especially true when one desires to use the information for HS triggers which have no filtering ability and are simple thresholds.
Leave a comment:
-
Kalman filters are literally "rocket science" as they were used in trajectory calculations of spacecrafts. Having more accuracy is always better, however the ultimate goal has to be in mind in a expense/reward analysis. Do you want to know that John is in the kitchen overall or that John is in the kitchen exactly in front of the refrigerator. I think the former is enough for the purpose of running lights, music, HVAC, announcing Johns location etc. I personally will pass on the high accuracy (even if it is implemented hypothetically ) if it comes at the expense of outfitting every room and hallway with 3 USB outlets and 3 ESP32 devices.
Leave a comment:
-
Originally posted by Michael McSharry View PostI briefly looked at the two references. One was implemented in go. The other in node.js. Neither is directly portable to C++, but still give a reference. I was surprised that the node.js one uses a kalman filter. That was a big deal in the early days of inertial reference systems.
Leave a comment:
-
I briefly looked at the two references. One was implemented in go. The other in node.js. Neither is directly portable to C++, but still give a reference. I was surprised that the node.js one uses a kalman filter. That was a big deal in the early days of inertial reference systems.
Leave a comment:
-
Originally posted by kideon View PostWas always interested in this! I just didn’t want to use raspberry pi’s if they could be avoided and wanted everything running in firmware on drop in devices so that there’s no issues or maintained required. Keeping those Linux devices updated and maintained is a PITA.
Leave a comment:
-
Was always interested in this! I just didn’t want to use raspberry pi’s if they could be avoided and wanted everything running in firmware on drop in devices so that there’s no issues or maintained required. Keeping those Linux devices updated and maintained is a PITA.
Leave a comment:
-
Originally posted by Michael McSharry View PostI flashed three ESP32 and collecting data now. My thinking is that the consolidation of data from each ESP willbbe done in the ESP rather than an independent server. There us just so much untapped power in the ESP32 that it does not make sense to add another computer. They can all subscribe so each has full information. If consolidation is needed then I likely would do it the HS plugin.
Are there any algorithms published that I could take advantage for position isolation?
https://github.com/happy-bubbles/presence
https://github.com/mKeRix/room-assistant
Leave a comment:
-
Originally posted by Michael McSharry View PostI flashed three ESP32 and collecting data now. My thinking is that the consolidation of data from each ESP willbbe done in the ESP rather than an independent server. There us just so much untapped power in the ESP32 that it does not make sense to add another computer. They can all subscribe so each has full information. If consolidation is needed then I likely would do it the HS plugin.
Are there any algorithms published that I could take advantage for position isolation?
Leave a comment:
-
I flashed three ESP32 and collecting data now. My thinking is that the consolidation of data from each ESP willbbe done in the ESP rather than an independent server. There us just so much untapped power in the ESP32 that it does not make sense to add another computer. They can all subscribe so each has full information. If consolidation is needed then I likely would do it the HS plugin.
Are there any algorithms published that I could take advantage for position isolation?
Leave a comment:
-
Originally posted by kideon View PostIt looked like it’s worth a shot how did you go about it?
Leave a comment:
-
Originally posted by kideon View PostSimplistically for my first iteration I just want to mount a esp32 in my garage and put beacons in my car triggering events when they are detected vs not. Haven’t dived into mqtt yet but I can do it with events through JSON or this big5 I suppose. Will order some and start fiddling. Shame about happy bubbles though.
Leave a comment:
Leave a comment: