Re: low energy: does gatt client/server work in current version? How to test?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There has been a discussion on the mailing previously that covered some of this.

Is there anything in this thread that helps:
https://marc.info/?t=149208458400001&r=1&w=2

On Mon, 1 Oct 2018 at 11:25, Pavel Machek <pavel@xxxxxx> wrote:
>
> Hi!
>
> I'm trying to get gatt client/server to run; my ultimate goal is to
> turn Linux machine into "low-energy device", providing services
> similar to heartbeat measurement.
>
> I do have existing qt application (running on Android and PC) I'd like
> "device" to talk to.
>
> TODO says:
>
> - Add complete GATT test coverage in unit/test-gatt following the GATT
>   test
>     spec. This could use shared/gatt-client and shared/gatt-server at
>   the same
>     time to test both against each other. We should definitely have
>   tests for
>     gatt-server and gatt-client simultaneously on one side of the
>   connection.
>
>   Priority: High
>     Complexity: C4
>
> Which tells me that maybe I should consider helping with that. But so
> far I was not able to get it to work...
>
> I can use gatt-server and connect to it using gatttool, but depending
> on details during the server start (?) and phase of moon, either
> device is not enumerated by the QT code, or it is not detected as
> low-energy device, or no UUIDs are detected.
>
> My attempt at launching server is below (using python gatt-server, (1)
> ). I was doing "hciconfig leadv 0" manually at some point.
>
> Using hciconfig while bluetoothd is running sounds kind-of
> dangerous. Stackoverflow (2) suggests using btmgmt (3) instead, and
> things got slightly different, but did not start to work for me. Is
> there documentation how to get this to work somewhere?
>
> Thanks and best regards,
>                                                         Pavel
>
> (3)
> sudo tools/btmgmt -i hci0 power off
> sudo tools/btmgmt -i hci0 le on
> sudo tools/btmgmt -i hci0 connectable on
> sudo tools/btmgmt -i hci0 name "some friendly name"
> sudo tools/btmgmt -i hci0 advertising on
> sudo tools/btmgmt -i hci0 power on
> tools/btgatt-server -i hci0 -s low -t public -r -v
>
> (2)
> https://stackoverflow.com/questions/29128586/bluetooth-low-energy-in-c-using-bluez-to-create-a-gatt-server#31030321
>
> (1)
> #!/usr/bin/python3
> # -*- python -*-
>
> import os
> import re
> import time
>
> def pcmd(c):
>     return os.popen(c).readline()[:-1]
>
> class Ble:
>     def down(m):
>         print("Shutting down BLEE")
>         os.system("sudo killall bluetoohd")
>         os.system("sudo killall gatt-server")
>         os.system("sudo hciconfig hci0 down")
>
>     def up(m):
>         print("Starting up BLEE")
>         os.system("sudo ../bluez/src/bluetoothd -d -n &")
>         time.sleep(2)
>         os.system("sudo ./gatt-server &")
>         time.sleep(2)
>         os.system("sudo hciconfig hci0 up")
>         ##os.system("../bluez/test/example-gatt-server &")
>         while True:
>             #os.system("sudo hciconfig hci0 leadv 0")
>             time.sleep(5)
>
>     def run(m):
>         m.down()
>         time.sleep(1)
>         m.up()
>
> b = Ble()
> b.run()
>
>
>
>                                                                         Pavel
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux