Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Bluetooth levialas olevad seadmed? [C#] märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 05.11.2009 21:59:02 Bluetooth levialas olevad seadmed? [C#] vasta tsitaadiga

Tervist!

Nimelt selline lugu, et huvitaks, kuidas oleks võimalik normaalselt uurida, millised seadmed parajasti bluetooth levialas istuvad? Puutun seda sorti asjaga suht esimest korda kokku ja seetõttu ei tea, kuidas asi täpselt välja peaks nägema.

Hetkel olen leidnud sellise julla, nagu Code 4 Fun Development Kit, kus oli ka bluetooth'i jaoks paar dll'ikest olemas. Kuid see ei paista liiga hästi töötavat. Nimelt, kui ma üritan seadmeid leida, leitakse ka need, mida (enam) levialas pole. Samas mul on vaja kindlalt teada, kas konkreetsel hetkel on seade levialas või mitte. Pm sain selle lahendatud, küsides seadmelt edasi, mis service'eid ta lubab ja kui sealt ühtegi vastust ei tule, sain aru, et teda levis pole. Samas tundub mulle see, nagu parandaks hammast päraku kaudu. Ehk on mingeid elegantsemaid võtteid ka olemas?

See päraku kood on muidu selline:
using System;
using System.Threading;
using System.Collections.Generic;
using System.Text;
using C4F.DevKit.Bluetooth.ServiceAndDeviceDiscovery;

namespace Bluetooth_Finder
{
    class Program
    {
        static void Main(string[] args)
        {
            BluetoothDeviceServicesManager btdevsrv = new BluetoothDeviceServicesManager();
           
            Console.WriteLine("Keda me täna otsime?");
            string kes = Console.ReadLine();

            List<Device> Devices = btdevsrv.DiscoverAllDevices();

            Device dev = btdevsrv.DiscoverDeviceByName(kes);
            if (dev != null)
            {
                while (true)
                {
                    List<RemoteService> services = btdevsrv.DiscoverAllServices(dev);
                    if (services.Count > 0)
                    {
                        Console.WriteLine("Seade " + dev.Name + " on levialas!");
                    }
                    else
                    {
                        Console.WriteLine("Seadet " + dev.Name + " levialast ei leitud!");
                    }

                    Thread.Sleep(500);
                }
            }
        }
    }
}


Ehk oskab keegi natuke nõu anda?

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 05.11.2009 22:36:42 vasta tsitaadiga

InTheHand.Net.Bluetooth.dll
Konkreetse teegi sisu/funktsioonide kohta saad infot siit
Netist saad selle teegi alla laadida (kui juba ennem pole arvutis olemas) ja lisa viitena oma projekti. See teek peaks probleemi lahendama.

_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 08.11.2009 18:16:42 vasta tsitaadiga

Absona, Ka see kipub näitama seadmeid, mida tegelikult levialas pole. Või teen ma midagi valesti?

using System;
using System.Threading;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using InTheHand.Net;
using InTheHand.Net.Sockets;
using InTheHand.Net.Bluetooth;

namespace Bluetooth_Finder
{
    class Program
    {
        static void Main(string[] args)
        {
            BluetoothRadio.PrimaryRadio.Mode = RadioMode.Connectable;

            BluetoothClient bc = new BluetoothClient();

            BluetoothDeviceInfo[] bdis = bc.DiscoverDevices();

            foreach (BluetoothDeviceInfo bdi in bdis)
            {
                Console.WriteLine(bdi.DeviceName);
            }

            Console.ReadLine();

        }
    }
}

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
d3t
HV Guru
d3t

liitunud: 14.05.2004




sõnum 09.11.2009 23:33:46 vasta tsitaadiga

Valmislahendused ka olemas, just so you know

http://www.bluetoothshareware.com/lockitnow.asp
http://www.rohos.com/support/knowledge-base/authentication-in-windows-with-bluetooth-device/

_________________
next.Insiders - koht mängijatele ja tehnikahuvilistele toredaks ajaveetmiseks.
PT: Sony XE90 & LG C1 värvi kalibreerimine
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 72
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 07.01.2010 00:55:50 vasta tsitaadiga

d3t, valmislahendused on antud teemas suht mööda siiski. icon_wink.gif

EDIT:
Mõnda aega mööda läinud. Ega keegi pole kuskil sellise asjaga kokku puutunud?

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
tonuonu
HV kasutaja
tonuonu

liitunud: 29.01.2005




sõnum 12.01.2010 18:53:20 vasta tsitaadiga

Bluetooth discovery on väga aeglane asi. Seepärast draiver cacheb tulemusi ning seadme poole päringuga pöördumine on kindlaim viis cache uuendamiseks. Wifi käitub sarnaselt aga BT-s on 79 kanalit ja keeruline frequency hopping. Alla sekundi ei leia suurt midagi ja korralik discovery on palju sekundeid pikk.
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Bluetooth levialas olevad seadmed? [C#]
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.