Device Discovery Handbook
Resources on how to find and ID networked devices in your vicinity. Filter for instructions by protocol, and wireless device type.
One of the promises of the Internet of Things is that the world around us will become filled with objects that live dual lives—part physical existence, part digital representation. And a lot of these objects will be “headless”, meaning they lack the screens, buttons and other features that would normally let a person interact with the technology directly.
This forces user interface and user experience designers (UI and UX, respectively) to answer the challenge: How will we discover, identify, and interact with the objects and devices in our lives in a seamless way? How will we be made aware of the connected devices we are even surrounded by at any given moment?
The following Channel Guide will help you:
- Drill down on your specific device type or Wireless protocol you are hunting for devices on.
- Discover apps, tools and plugins to help ease the pain of the process and manage the devices once you have found them.
Bluetooth, especially in its recent Low Energy implementation, is the current leader among technologies that allow an object to actively broadcast its digital identity. It has several appealing factors, including its relatively short range and the fact that it’s already nearly ubiquitous in the mobile devices users have with them all the time, like smartphones and tablets.
How It Works
- A beacon device sends out a one-directional signal consisting of a unique ID for that particular beacon. No signals are sent back from the user’s device to the beacon.
- If a user’s mobile device has Bluetooth turned on, it will receive nearby beacon signals. When an app recognizes the ID of a beacon, it can trigger a notification or other behavior.
- If Bluetooth is turned off, or if the user doesn’t have an appropriate app (such as a retail store’s app, which would be programmed to recognize the IDs of any beacons in the store), beacons are effectively invisible.
- Because the power of any radio signal drops off exponentially the farther one is from the source, beacons can provide rough proximity estimates as well as location (since the beacon may be fixed in place).
"Eddystone is an open beacon format from Google that works with Android and iOS. Eddystone includes a number of broadcast frame types, suitable for different types of deployment."
Apple provides development tools to support iBeacon, a cross-platform implementation of Bluetooth beacon technology.
Swirl, a proximity marketing company, offers an “Audience Network” that allows one brand’s beacon content to reach a consumer via the app of any other brand in the network—avoiding the need for customers to download an app for every store or venue they visit.
Facebook Place Tips
Facebook is piloting a feature called Place Tips that uses beacons along with GPS, cell towers and Wi-Fi triangulation to display content that’s tailored to a user’s immediate surroundings.
Wi-Fi Aware is a forthcoming update to the ubiquitous wireless protocol that will add beacon-like features for discovering and connecting to nearby devices. The nonprofit Wi-Fi Alliance will begin certifying devices for the new feature later this year, and it should show up in smartphones and other products by 2016.
How It Works
- Wi-Fi Aware devices broadcast a short one-directional signal that identifies the device. This signal may also contain small amounts of information, such as the kind of application or data the device is ready to share via a direct connection with another device.
- If Wi-Fi Aware is not turned on or a relevant app is not running, the signals are effectively invisible.
- Wi-Fi Aware notifications may be self-contained, like a beacon that broadcasts a URL directing the recipient to a cloud-hosted website; or they may be invitations for the user to make a direct connection with the broadcasting device, such as a request to join a game, share a photo, or make a transaction in a mobile payment app.
- Any Wi-Fi Aware device can act as a broadcaster or receiver. That means a user’s smartphone is not only a discovery tool, but can also become a beacon for others to discover and connect to.
As an update to the Wi-Fi protocol, Wi-Fi Aware is developed by the nonprofit Wi-Fi Alliance. The alliance plans to begin certifying Wi-Fi Aware devices in late 2015.
Based on the Wi-Fi Alliance Neighbor Awareness Networking specification.
The Physical Web is an open-source project based on the premise that discovering and interacting with the connected devices around us should be as easy and familiar as clicking links in a list of search results. The project was started by Google’s Chrome development team, though they are clear that is not an official Google product at this point.
How It Works
- Devices broadcast beacon-like one-way signals that contain a URL. No signals are sent back from the user’s device.
- Software built into the operating system of a user’s mobile device detects Physical Web signals and allows a web browser to display them like traditional search results. Users can then tap a link to access content relevant to that device.
- User devices only scan for Physical Web signals when the screen is on (i.e. the device is in use) and only present them to the user when specifically asked to do so (i.e. by the user opening a web browser).
- The Physical Web is protocol-agnostic. The current prototype implementation uses Bluetooth Low Energy signals, but it could be adapted to use Wi-Fi Aware or other signal types.
- Physical Web devices may provide the illusion that the user is interacting directly with an object, but in fact the digital content or behavior tied to the device is usually programmed into an app or accessed in the cloud.
- Project Github Page
- Scott Jenson Presentation
- Overview Video
- Postscapes Coverage: Google's “Physical Web” suggests URLs, not apps, are the future of the Internet of Things
Visual & Audio
Launched in 2002 as an automated, text message-based system, Shazam is best known as a mobile app that can identify music just by taking over your device’s microphone for a few seconds.
In recent months the company has been expanding its content discovery services and forging a variety of partnerships to allow the act of “shazaming” to identify digital content associated with all sorts of real-world objects and experiences.
New or forthcoming features include the ability to recognize the audio in TV shows and movie theater ad reels; connecting with Bluetooth beacons at retail locations; detecting ultrasonic identification signals from fixed advertising displays; and reading Digimarc tags embedded in print content.
Chirp is a set of software that lets devices send and receive data with brief melodic tweedles.
Originally an app for iOS and Android, the Chirp team recently released a software development kit that allows it run on Arduino and Spark Core hardware as well. For devices that lack traditional network connections, or for uses in which the only folks you want to communicate with are within earshot, Chirp allows the creation of “an Internet made of sound.”
How It Works
- A “chirp” is a short string of data that has been encoded using an alphabet of electronic birdsong that includes 32 semitone pitches.
- Encoding and decoding is done locally by each device, so an Internet connection is not required for the basic exchange—just a speaker to send and a microphone to receive.
- Instead of breaking large amounts of data (i.e. a 2GB photo) into many individual chirps, a device might upload the files to a cloud server and then tweet out a URL.
- Chirps are most reliable over short distances in quiet locations; error correction algorithms allow them to be used even in noisy areas or from farther away.
● Chirp SDK: Arduino, Particle Core (was Spark)
"With Open Hybrid, you are able to directly map a digital interface onto a physical object. By doing so, you never need to memorize any drop down menu or App. With the Hybrid Editor you can just approach an object and interact with its directly mapped user interface. You can build hundreds of objects or even interact with spaces that you have never been to before. At no point do you need to retain a memory of how things are connected."
Protocols and Resources
Products and protocols
Simple Service Discovery Protocol (SSDP) -- uPnP (Universal Plug and Play)
"Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Register external services such as SaaS providers as well."
- Device discovery
- Registering a resource
IoT Discovery GE Open Specification
XMPP - XEP-0347: Internet of Things - Discovery
"Pino is the only fully automatic, distributed Multi-Hop Mesh IoT platform in the market. With Pino, nodes are the network. Every node is complete part of network – just turn it on and it works. All network level optimization is made within Pino by the nodes. What’s more, Pino is scalable. Two or two million nodes – Pino can handle it."
"µPnP is a zero configuration Internet of Things (IoT) platform for sensing and control."
- Zero-Configuration Collaboration of Devices Using Device Sociality (PDF)
- Simurgh: A Framework for Effective Discovery, Programming, and Integration of Services Exposed in IoT (PDF) - Farzad Khodadadi, Amir Vahid Dastjerdi, Rajkumar Buyya
- IoT Needs Open Discovery Scheme -- Francis DaCosta (8/2104)
- Easy IoT Sensor On-Boarding Using Jini Auto-Discovery and Java SE Embedded (Part 1) - Hinkmond Wong
- DiscoWoT: An Extensible Discovery Service for Smart Things (PDF) - Simon Mayer, Dominique Guinard