Communicating with a Bluetooth device from UEFI code - mobile

Is it possible to communicate with a mobile device supporting Bluetooth LE from UEFI of a system? UEFI specification 2.6 adds support for Bluetooth but I dont see any new laptops supporting it and also the specification doesnt say anything about Bluetooth LE.

This feature is possible. However, its not related to UEFI Mode but this feature has to be embedded into the bluetooth chip itself. This feature is generally known as Headless mode of Bluetooth Chip.
The Bluetooth chips contain two firmwares. One firmware for general BT functionality and the other firmware contain a lite Bluetooth stack which contain a very cut down version of Bluetooth stack which can support BLE feature. So, when your laptop either gets shutdown or goes to sleep, your BT chip goes into headless mode and start advertising itself to other BLE device. Other ble device like mobile can see this and can connect to it and start your laptop.
This feature is however, not present in any laptop known to me. But you find a good example of this in Samsung's smart TV. You can switch on your TV from samsung mobile using ble.

Related

How to use bluetooth in Marmalade SDK?

I'm writing a mobile application on Marmalade SDK. How can I connect to other device via bluetooth?
https://answers.madewithmarmalade.com/questions/7285/bluetooth-support.html
No, Marmalade doesn't have a Bluetooth API. However, you could write
an extension to do it.
iOS has a CoreBluetooth API that allows you to interact with devices
supporting the Bluetooth 4 Low Energy GATT profile - this is only
supported from iOS 5/iPhone 4S/iPad3 and up, and will only
interoperate with Bluetooth 4 LE capable peripherals exposing a GATT
service. For earlier iOS devices, the only option is to use Apple's
proprietary iAP protocol, which means you can't "talk" to generic
Bluetooth devices - only those that implement iAP.
Android on the other hand offers Bluetooth 2.x + EDR connectivity. A
number of profiles (e.g. RFCOMM, A2DP) are supported. However, Android
doesn't have an API for Bluetooth 4 LE yet.
So, currently, the situation, from a cross-platform point of view, is
quite fragmented and it isn't straightforward to implement a
one-size-fits all Bluetooth connectivity solution.

Autoconfiguration on programmable Xbee modules

Non-programmable Xbee modules should be configured through a PC (with XCTU) or other devices like Arduino... but can the programmable xbee modules (like xbee-pro zb s2b) autoconfigure themselves, without being connected to another device like a PC or Arduino, by running code stored in their memory?
I mean, can they run orders like the ones you run through XCTU but programming them in the internal memory code? Like scan energy of every channel, select a channel, set a PAN ID, configure the different parameters of the device...
Thank you
Yes, the development kit includes an API for sending AT commands from the co-processor to the radio on those boards.
There's also a passthrough mode that relays the host computer serial port through to the radio processor, which can help with initial setup/configuration of the modules like you might do during manufacturing.
To answer your question:
I mean, can they run orders like the ones you run through XCTU but programming them in the internal memory code?
No. You can not program a sequence of orders/commands into the internal memory of the device. To do anything meaningful the device needs to be "driven" from a host PC or MCU that can send the AT Commands.
If you want 1 device solution that does not require a Host MCU then you will need to use a ZigBee SoC (System on Chip), such as the CC2538 - http://www.ti.com/product/cc2538 running a ZgBee SDK (Software Development Kit) - http://www.ti.com/tool/z-stack (ZStack-Home). However this will require you to develop the ZigBee application SW.
Regards,
TC.

Connecting an Adobe AIR mobile app to Arduino wirelessly - what are the options?

Is there a way to connect an Adobe AIR mobile app to an Arduino hardware wirelessly with no pc or router?
either with bluetooth or directly to an Xbee piece connected to the Arduino?
I need both iOS and android solutions
thanx
You could use the Native Extensions for Adobe AIR (ANE) for iOS and Android, although it means you might have to do a bit of C coding (or at least have basic understanding of the C programming language). A couple of projects have been created for either Bluetooth or Arduino connection using ANE already.
There is an ANE based project called as3-arduino-connector on Google Code, which gives you an ActionScript 3 API and mimics the Arduino serial port.
Another useful project might be AirNativeiOS-Bluetooth, an AIR Native Extension to add Bluetooth support for iOS apps. A corresponding project for Android is Bluetooth ANE, although the website mentions that it's early beta only, not ready for production.
Digi International has a Wi-Fi XBee now; that might be a good option since Android and iOS devices have Wi-Fi already. The more commonly used XBee modules (Series 1 and 2) use 802.15.4 networking (instead of Wi-Fi's 802.11).
I haven't used one yet, personally, so I don't know how you access the serial port connected to the Arduino. It might be possible to telnet to the XBee and send/receive data from Arduino.

How to do this: embedded USB-Host communication with plugged USB-Device

I am currently practising with USB programming on an AT91SAM9G20-Evaluation Kit. I learned much about USB devices and USB device port drivers while "playing" with the ATMEL provided USB device port projects (CDC-driver, ..).
But now I'd like to write a small driver to controll a wireless stick
which I plugged into one of the boards USB-A Host Ports.
I read a lot on Stack Overflow, the OpenHCI specification and even found some libraries on the net, but I am not sure if it's a good way to implement my own stack without any "good" knowledge in USB Host Port programming.
Is there a small and easy way to control the wireless-stick at the boards USB Host port? (like using the USART-Interfaces?).
I am also keen to hear hints on how to implement RTUSB or libUSB in to the AT91.
You can download AT91LIB version 1.9 from atmel from this page
The usb host libraries are under at91lib/usb/host. They're not the complete package you need though since they're just the OHCI driver -- you still need a USB driver and class drivers to implement what you want.
You could try an RTOS with USB Host support like rt-usb32

Connect Bluetooth device to an unknown device

Is it possible to connect a Bluetooth device to an unknown device? I thought all Bluetooth devices had to be paired with another Bluetooth device before they could be used together. Someone mentioned a possible application where a Bluetooth device (most likely a Windows Mobile phone as the iPhone SDK doesn't support Bluetooth connections) can be used to say read electric meters in a given area. I thought the phone would have to be paired with each meter before any other communication could take place. Is this correct? Can the phone receive arbitrary data from a Bluetooth provider before they are paired?
You don't have to have security set up (no pin code) so you could have a bluetooth device that is always discoverable and will always connect/pair. So this could be used for the 'read a meter' type application.
Also, in Bluetooth 2.1, you have Extended Inquiry data so you could get the meter reading by having the meter encode the reading into the Extended Inquiry response. Then you don't even have to connect/pair. Just have a device that does an inquiry and gets the data that way.
There are some new standards coming for BlueTooth for Low Energy devices that would basically act like sensors, which are specifically targeted at this type of application.
There is more info then you could possibly want at www.bluetooth.org
If you know the MAC address of a bluetooth device and it is connectable you can talk to it directly.

Resources