Chriz76 / Xiaomi-Mi-Band-8-Surfr-Watchface-Notifications

0 stars 0 forks source link

Port for ZeppOS #1

Open vstoianov opened 2 weeks ago

vstoianov commented 2 weeks ago

Hi, I saw your profile from the Juggluco repository/project. I saw that you asked for protocol to connect Libre 2|3 sensors directly to watch supported Bangle JS. I did a lot of work to do the Juggluco for WearOS 'battery frendly' and I had some success (you can check the discussion section of Juggluco). Then I figured out that WearOS is not the right way and I start working with ZeppOS. Sorry that I have created an issue of this repository but I have no way to contact you and share info. I think we are all in the same shoes. If you would like to share/discuss how we can port the functionality from Juggluco to ZeppOS or Bangle JS you can contact me: vasil.stoianov@gmail.com

We will be in touch.

Chriz76 commented 2 weeks ago

Hello Vasil, Thank you for reaching out to me.

Was battery time your reason to abondan wear os? Zepp OS looked promising but I didn't like that the system is closed and somehow restricted and so I switched to bangle js.

The support by Gordon is impressive. Just imagine to have a 100 Euro watch with 14 days of battery directly connected to your glucose sensor without the need for a smartphone? That could change the live of many people.

But I abondand that idea because I don't have a sensor and don't want to afford 100 bucks each month for developing a software that the sensor producer could kill easily by changing the protocol. Maybe the new Chinese sensors have an open protocol?

However I already did a bit programming for the bangle in the framework (c code) and a little app to display data. So if you have a running sensor maybe I could assist you with porting the code to bangle js.

Currently I am focusing on making the bangle js waterproof for watersports like kitesurfing and therefore develop a buttonless mode and glue it/3D print a back case without a button hole.

vstoianov commented 2 weeks ago

Hi Chriz, Yes at first the battery was the major issue and the harduer bugs in BLE 4.x too. The support of BLE in Wear OS and Android is awful. Especially for BLE 4.x. I have totally changed the way the Juggluco stayed connected with the Libre 2 in order to achieve 30h battery life instead of 13-14h. Sorry about my question but how is Gordon? Maybe I have missed something. About ZeppOS ... yes ... it is proprietary ... it is not free ... but the watches have affordable build quality at low price compared to iWatch and WearOS watches. I am diabetic type 1 and I am an active swimmer ... I need an affordable watch to swim and to monitor my glucose. I use Libre 2 daily and I can do (and I do all the time) any kind of tests with Libre 2. "Currently I am focusing on making the bangle js waterproof for watersports like kitesurfing and therefore develop a buttonless mode and glue it/3D print a back case without a button hole." - you will put a lot of efforts here ... it is not necessary to invent the wheel. There are a lot of affordable watches which can be programmed. This is my goal.

Best regards,

On Fri, Jun 21, 2024 at 7:36 PM Chriz76 @.***> wrote:

Hello Vasil, Thank you for reaching out to me.

Was battery time your reason to abondan wear os? Zepp OS looked promising but I didn't like that the system is closed and somehow restricted and so I switched to bangle js.

The support by Gordon is impressive. Just imagine to have a 100 Euro watch with 14 days of battery directly connected to your glucose sensor without the need for a smartphone? That could change the live of many people.

But I abondand that idea because I don't have a sensor and don't want to afford 100 bucks each month for developing a software that the sensor producer could kill easily by changing the protocol. Maybe the new Chinese sensors have an open protocol?

However I already did a bit programming for the bangle in the framework (c code) and a little app to display data. So if you have a running sensor maybe I could assist you with porting the code to bangle js.

Currently I am focusing on making the bangle js waterproof for watersports like kitesurfing and therefore develop a buttonless mode and glue it/3D print a back case without a button hole.

— Reply to this email directly, view it on GitHub https://github.com/Chriz76/Xiaomi-Mi-Band-8-Surfr-Watchface-Notifications/issues/1#issuecomment-2183077956, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJFAKM5TXMKGOWSPAIOQGDZIRJBRAVCNFSM6AAAAABJV5IYNCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGA3TOOJVGY . You are receiving this because you authored the thread.Message ID: <Chriz76/Xiaomi-Mi-Band-8-Surfr-Watchface-Notifications/issues/1/2183077956 @github.com>

--

Vasil Stoianov Technical Manager CM2W JSC www.cm2w.net

IMPORTANT NOTICE: This e-mail or fax, and the attached documents if any, may contain confidential information. The information is intended only for use by the owner(s) of the listed e-mail address(es) or fax number(s). The present email shall not constitute conclusion of any agreement between the parties. In order for the agreements to be binding, they must be concluded in written form, signed by the intended parties. No obligations can arise for CM2W following the discussions through email. CM2W reserves all Intellectual property and Industrial property rights that may arise out of this email, including but not limited to rights over devices, software, projects, schemes, calculations, operation method or model, server (mobile) software, where no action shall be understood as granting such, except after explicitly stated and agreed by the parties by a signed written document. No legal claims can be deduced from this e-mail.

If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or the taking of any action in reliance on, or regarding the contents of this e-mailed information is strictly prohibited. If you have received this e-mail or fax in error, please notify CM2W immediately.

Chriz76 commented 2 weeks ago

Yes at first the battery was the major issue and the harduer bugs in BLE 4.x too. The support of BLE in Wear OS and Android is awful.

I am not sure if the nordic soft device used in the bangle js is much better.

in order to achieve 30h battery life instead of 13-14h. That's really impressive!

Sorry about my question but how is Gordon? Gordon is the creator of the bangle js eco system and espruino.

About ZeppOS ... yes ... it is proprietary ... it is not free ... but the watches have affordable build quality at low price compared to iWatch and WearOS watches. I am not sure if I remember it correctly but for me it looked likr there are restrictions for active apps/watch faces and that's why I switched to a more open system. Could you make Zepp OS work with your libre? The Samsung Galaxy watches are cheap here in Europe but battery life is bad.

you will put a lot of efforts here ... it is not necessary to invent the wheel. There are a lot of affordable watches which can be programmed.

What watch and open eco system would you suggest? For me the bangle js looked most promising. They use existing hardware and let the manufacturer flash their open OS on the watch. So my current work is only preperation for a buttonless mode because I believe that's the cheapest way to make a watertight watch. They are already thinking about the next bangle js and want to have it waterproof. And I hope to convince them to also have an affordable buttonless smart band like version. This would enable a 40 euro smart band with 10 days of battery directly connected to a glucose sensor.

How hard would it be for me to make a first test with the current bangle js and a libre sensor? Just to see if ble is working like expected and to check the battery consumption. No UI, config, etc. Just sending and receiving the necesarry ble packets. Would it be possible to use an existing encryption token from another device or is the ble mac somehow involved (then I would have to check if the mac can be changed in the bangle js).

I would even be willing to buy a sensor for that after doing the programming.

Chriz76 commented 2 weeks ago

I did a lot of work to do the Juggluco for WearOS 'battery frendly' and I had some success

I just looked at the Juggluco sources again. https://github.com/j-kaltes/Juggluco/tree/primary

Are the protocol details part of the public java and c++ repo or is it encapsulated in the closed source(?) libs:

The following files need to be added to build Juggluco and can be found by unzipping an Arm/Arm64/x86/x86_64 Juggluco apk from https://www.juggluco.nl/Juggluco/download.html

Also j-kaltes suggested to start with the sibionics sensors. Do they use a simpler encryption and/or is the protocol open or somewhere available?

vstoianov commented 2 weeks ago

Hi, Chriz76 I will answer all of the questions from the two emails which you sent to me.

  1. "I am not sure if I remember it correctly but for me it looked likr there are restrictions for active apps/watch faces and that's why I switched to a more open system. Could you make Zepp OS work with your libre?" In ZeppOS you have full access to the Device API and only your imagination is your limit! Yes I started to implement Libre 2 protocol from Juggluco in my ZeppOS app + a watch face to present the data from the sensor. My options for the watches are as follows: 1.1 Amazfit Cheetah / Amazfit Cheetah Pro. The price for Amazfit Cheetah is 190EU and for Amazfit Cheetah Pro is around 220EU. They are affordable watches with the latest ZeppOS 3.5. Have in mind that you have to use ZeppOS (when you are ready for this) >= 3.0. In this version of the ZeppOS you will have access to BLE master and you can connect the smart watch directly to the sensor (never mind what kind of sensor you will use). These watches have WiFi and using the WiFi you can easily exchange the encryption data to establish secure connection with the Libre 2 sensor. 1.2 On the other hand you can have a cheap and very good watch when you take into account Amazfir Bip 5 Unity https://www.amazon.com/Amazfit-Activity-Monitoring-Customizable-Compatible/dp/B0CZP6V3MN?th=1 It has ZeppOS 3.5 and supports everything you need to develop a ZeppOS application to connect Libre 2 or Sibionics sensors.

  2. "Would it be possible to use an existing encryption token from another device or is the ble mac somehow involved (then I would have to check if the mac can be changed in the bangle js)". Long answer short: No. In order to pair/bond the Libre 2 sensor you need first to do an NFC scan, to get all data needed to connect to the sensor using BLE. You cannot use an existing encryption token.

  3. "Are the protocol details part of the public java and c++ repo or is it encapsulated in the closed source(?) libs:" - the protocol itself is part of the java code: SensorBluetooth.java SuperGattCallback.java MyGattCallback.java

The libs contain code related to the encryption and decryption procedure especially for Libre 3 sensors.

We will be in touch. Best regards,

On Sat, Jun 22, 2024 at 9:23 AM Chriz76 @.***> wrote:

Yes at first the battery was the major issue and the harduer bugs in BLE 4.x too. The support of BLE in Wear OS and Android is awful.

I am not sure if the nordic soft device used in the bangle js is much better.

in order to achieve 30h battery life instead of 13-14h. That's really impressive!

Sorry about my question but how is Gordon? Gordon is the creator of the bangle js eco system and espruino.

About ZeppOS ... yes ... it is proprietary ... it is not free ... but the watches have affordable build quality at low price compared to iWatch and WearOS watches. I am not sure if I remember it correctly but for me it looked likr there are restrictions for active apps/watch faces and that's why I switched to a more open system. Could you make Zepp OS work with your libre? The Samsung Galaxy watches are cheap here in Europe but battery life is bad.

you will put a lot of efforts here ... it is not necessary to invent the wheel. There are a lot of affordable watches which can be programmed.

What watch and open eco system would you suggest? For me the bangle js looked most promising. They use existing hardware and let the manufacturer flash their open OS on the watch. So my current work is only preperation for a buttonless mode because I believe that's the cheapest way to make a watertight watch. They are already thinking about the next bangle js and want to have it waterproof. And I hope to convince them to also have an affordable buttonless smart band like version. This would enable a 40 euro smart band with 10 days of battery directly connected to a glucose sensor.

How hard would it be for me to make a first test with the current bangle js and a libre sensor? Just to see if ble is working like expected and to check the battery consumption. No UI, config, etc. Just sending and receiving the necesarry ble packets. Would it be possible to use an existing encryption token from another device or is the ble mac somehow involved (then I would have to check if the mac can be changed in the bangle js).

I would even be willing to buy a sensor for that after doing the programming.

— Reply to this email directly, view it on GitHub https://github.com/Chriz76/Xiaomi-Mi-Band-8-Surfr-Watchface-Notifications/issues/1#issuecomment-2183838815, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJFAKJTJG7YGEJUG6HVJUDZIUJ4XAVCNFSM6AAAAABJV5IYNCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTHAZTQOBRGU . You are receiving this because you authored the thread.Message ID: <Chriz76/Xiaomi-Mi-Band-8-Surfr-Watchface-Notifications/issues/1/2183838815 @github.com>

--

Vasil Stoianov Technical Manager CM2W JSC www.cm2w.net

IMPORTANT NOTICE: This e-mail or fax, and the attached documents if any, may contain confidential information. The information is intended only for use by the owner(s) of the listed e-mail address(es) or fax number(s). The present email shall not constitute conclusion of any agreement between the parties. In order for the agreements to be binding, they must be concluded in written form, signed by the intended parties. No obligations can arise for CM2W following the discussions through email. CM2W reserves all Intellectual property and Industrial property rights that may arise out of this email, including but not limited to rights over devices, software, projects, schemes, calculations, operation method or model, server (mobile) software, where no action shall be understood as granting such, except after explicitly stated and agreed by the parties by a signed written document. No legal claims can be deduced from this e-mail.

If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or the taking of any action in reliance on, or regarding the contents of this e-mailed information is strictly prohibited. If you have received this e-mail or fax in error, please notify CM2W immediately.