Find Jobs
Hire Freelancers

Bluetooth Proximity Detector for Windows (Prototype)

$500-5000 USD

クローズ
投稿日: 18年近く前

$500-5000 USD

完了時にお支払い
Bluetooth Proximity detector with Jabber (prototype) A demo/prototype of a system to detect when a wearable bluetooth device is present in the vicinity of a Bluetooth equipped Windows PC, and generate events when it enters or departs the area, based as well on keyboard/mouse activity. The prototype will be very basic, for use in demos and by alpha test users. It will have a very simple UI (mostly for testing and debug) and need only work with one bluetooth stack. It will signal status events by sending messages to a Jabber server. (Using your choice of free Jabber library, of which there are many.) Please note: Originally we requested bids on the production version as well as the prototype. At this point we are interested only in bids on the demo/prototype version. ## Deliverables Copied from [project web page][1] You are recommended to read this page which also has links to the description of the production version and questions for developers. It also includes a description of an even simpler version. Bluetooth Proximity detector with Jabber (prototype) Required are the components of a tool to be run on a Windows PC equipped with a bluetoothinterface (such as a standard bluetooth USB dongle) which will detect when certain bluetooth devices are close to the PC. A publishable tool is planned, but for prototyping purposes a quick demo version is desired which is able to do the basics The program will run on a user's bluetooth enabled PC. When the user leaves their PC and takes the wearable bluetooth device they have associated with the system out of the room, the program will detect this and, among other things, change their presence on a Jabber server. The program will detect when they return and make suitable presence changes. The tool will also track keyboard/mouse idle as a normal IM client would. Note the description of the [full Bluetooth Proximity Daemon][2] is also available, and may assist you in decisions with this prototype. ## Binding The prototype will feature a basic mode, which when invoked from the UI, scans for visible Bluetooth devices, and lists them and any information known from the scan (name, MAC address, device type.) The user may then select a device as the one to poll. It may be necessary to pair with the device to operate the system. In this case a mechanism should exist to provide the device's PIN for pairing. ## UI The user, in the UI can enable and disable polling, and provide a Jabber server name, userid, password and optional resource to the system. These should be remembered, of course. The UI should offer, when its window is visible, the status information on the bluetooth device for debugging (present, absent, connected, signal strength, line quality.) It may be necessary for the device to "pair" with the PC in order to discover it and make a connection. If so, the UI should allow input of a PIN number to complete the pairing process. This should be tested with a variety of bluetooth devices, both phones and headsets. While it may be necessary for the user to re-associate their headset with their phone after this, they must not have to do this more than once. While the UI need not be visible after binding, for debug purposes a status display showing keyboard/mouse idle time, the presence of the device, and if present the signal strength and link quality, plus the polling interval, would be needed in testing. ## Operation When operating, the tool will detect the proximity of the BT device through the best means available, probably by sending polling requests aimed at its MAC address since many devices do not respond to general scans but do respond to HCI probes for their address. The long term goal is that polling will not cause a major power drain on the battery powered devices. Tests will be made of rapid polling to see how much power is drained by each poll. This will help determine polling rates. Polling operations should not interfere with the operation of the devices or cause noises or prompts or other noticeable effects on the devices. Connections made should not interfere with other connections on a device (for example a user should be able to have a call on their cellphone using their headset without change because of the existence of the polling.) ## Power Saving & Polling The prototype will poll more aggressively than a final version. Polling should not take place while there is very recent keyboard/mouse activity. After a period of idle, settable in the UI or registry, polling will begin, at first rapid, and the more slowly. Exact intervals will be worked out in tests and must be tunable in the UI or registry. When the device is not present, polling should be every N seconds (tunable, suggested default 20) until the device returns. If the device is present but the keyboard/mouse is idle, poll every N (tunable, suggested default 10) seconds for the first 5 minutes, then double that time ever 5 minutes until polling once every 3 minutes. If the device stops responding, poll 3 more times in quick succession to confirm departure. If the user is at the keyboard and the device is not detected, note that, and poll every few minutes until it is detected again. If the keyboard/mouse goes idle, just continue this, do not do the fast polling protocol. Presume the device is missing or off. ## Devices to suport Device Support: At a minimum, the system should work with the most popular devices, however it is understood that some phones may not readily proximity detect. It is required it work with the buyer's Motorola V710. We have tested the V710 with simple detection code on linux, and find that it does not respond to scans unless you tell it to be discoverable on its menu. However, after that, it does respond to things like name requests which know its MAC address. Part of the project may involve borrowing popular brands of phones to check their behaviour and test if they work. The Treo 650 is another popular device to be supported. Headsets are far more similar, it is likely most of them will work with the same code without special tweaking. ## Signal Strength measurement The prototype should attempt to do signal strength measurement on devices. This may require connecting. The user should be able to define, in UI or registry, a threshold signal strength, below which the device is to be considered absent. A rapid drop in signal strength to below this level should be considered immediately as a departure (within 5 seconds of the drop.) Please see the web page for full details and notes on an even simpler version which may be acceptable. ## Platform Platform Requirements: On at least Windows 2000 and presumably Windows XP. Using a popular dongle stack such as WidComm or Bluesoleil. (Microsoft stack runs only on Win XP SP2, but supporting it in addition would be a plus.) The production version should not have a large memory footprint or noticeable CPU footprint, but the prototype can be a bit sloppier. C++ is preferred, but we're open to other tools if they make the most sense. It is planned to port this program at some point to Linux and Mac and code re-use is a plus. However, if it can be done much more cheaply in less portable languages like VB this can be bid. Some form of simple install would be handy. Long term this code will be a DLL bundled with another program which will manage install, and the jabber events.
プロジェクト ID: 3483528

プロジェクトについて

3個の提案
リモートプロジェクト
アクティブ 18年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に3人のフリーランサーが、平均$5,553 USDで入札しています
ユーザーアバター
See private message.
$3,400 USD 40日以内
4.9 (68 レビュー)
7.5
7.5
ユーザーアバター
See private message.
$11,900 USD 40日以内
2.9 (9 レビュー)
6.5
6.5
ユーザーアバター
See private message.
$1,360 USD 40日以内
0.0 (0 レビュー)
0.0
0.0

クライアントについて

UNITED STATESのフラグ
United States
0.0
0
メンバー登録日:4月 24, 2006

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。