7

Are single boards always necessary when implementing an IoT connection? Can they be substituted by normal smartphones in, let's say, a business setting so as to communicate to POS/Internet-enabled sale system?

I'm not well oriented with Android Things. I just saw the option to include its support when creating a new application in Android Studio. Any and all helpful advice is welcome.

  • 1
    It's not really clear what you are asking here. A Smartphone is a common alternative to a traditional PC for human interaction with an IoT ecosystem. But typically it wouldn't be an IoT device. There are viable IoT platforms that re-purpose (often outdated) smartphone (or more commonly tablet) chips on special boards and are arguably better suited for that than a pi is. Occasionally someone will modify an old phone or add a USB peripheral to it for a custom project, but that's more a hobby hack or proof of concept than a routine installation. – Chris Stratton Mar 25 '18 at 17:07
  • 3
    I'd like to suggest this question be re-framed slightly to ask 'What is the Thing in IoT', I think that would make it clearer, and still in line with the existing answers (if the Raspberry Pi example is moved into the body of the question). Or 'where is the thing' if you prefer that. – Sean Houlihane Mar 26 '18 at 7:05
  • 1
    @Sean Houlihane exactly what I wanted to ask. – keyboard_kracker22 Mar 27 '18 at 8:59
14

The device itself isn't really particularly important here. While the boundaries between 'IoT' and just a normal network connection are a bit fuzzy around the edges, the general consensus is that the main requirement is that you're interacting with the physical environment in some way.

How you reach that goal is up to you, and so it doesn't really matter if you use a smartphone, a single-board computer or even a server rack. But what distinguishes IoT from traditional computer networking is the fact that you're connecting physical devices to a network for sensing and control.

Single-board computers often tend to be more useful in that case; for example, the Raspberry Pi has many GPIO pins which can easily be connected to a circuit to control another device. Your phone almost certainly does not have GPIO pins that you can use to connect to other devices. You would need to find some other way of connecting the phone to the environment to be able to control other devices, so it adds an extra layer of complexity. That's why single-board computers are far more popular in this space.

Additionally, a smartphone likely has features that wouldn't be needed (e.g. a touchscreen), adding to cost and complexity unnecessarily.

Honestly, a POS system would be better thought of as a traditional computer network than trying to call it 'IoT'. Tracking packages with RFID chips to connect 'things' to the Internet on the other hand would sound more like an IoT use case. Notice the difference here — just connecting traditional devices to a network would generally not be considered IoT, because it doesn't connect physical devices that would otherwise remain isolated from networks.

| improve this answer | |
  • If your packages only have an RFID chip, they're not really connected to the Internet, it's just a fancier kind of barcode. And I'm pretty sure barcode package tracking has been around for a while. – user253751 Mar 25 '18 at 23:15
  • I have implemented software to read RFID tags as products pass on a conveyor belt, for inventory tracking. No humans were involved and I would call it IoT. I used an RFID reader, but a smartphone would have worked (ditto for NFC, which is just a special case of RFID) – Mawg says reinstate Monica Mar 28 '18 at 8:44
6

Short answer is NO, IoT is really a concept about "things" communicating (usually over the internet) with other "things", by this definition a phone can just as easily be a thing as a raspberry PI, or a PC.

IoT as a concept is device agnostic.

From an Android Studio point of view, adding IoT support means that common protocols and support libraries such as MQTT will be added to the project so that you can make use of them in your application.

If you have a need to implement an IoT Connection and the rest of your code or logic can be executed from the phone or whatever the device is, then go for it, congratulations, your "Phone" is now a "Thing" that can be connected.

Is it still IoT? That becomes a subjective discussion, but usually an irrelevant one. From a purists point of view IoT implies Device-Device connections, where each device knows how to perform specific operations and either does this on a scheduled or triggered basis, or after receiving a command from another device. So an IoT solution will usually involve a lot of satellite devices performing discrete operations or relaying telemetry and there will be separate processes or entities that coordinate between these "things"

In a practical sense, you will find that many IoT implementations will involve micro-controller devices like Arduino or mini-pc / compute boards like Raspberry Pi as they provide a hardware platform that simplifies how we can get our logical code base (software platform) into a specific environment that can interface with hardware to collect telemetry about the physical world or that can otherwise interact with it. But that is only a subset of possible applications of IoT.

| improve this answer | |
  • 1
    The PC analogy is a useful one, but the conclusion may not be fully developed here. Typically, a PC configured for use by a human would not be considered an IoT device. But a PC interacting with the physical world and network and only occasionally receiving configuration or maintenance directly by a human could well be an IoT device. The same would go for a phone, with the exception that consumer builds of phone operating systems are typically locked down in a way that is harder to reconfigure for automatic operation and hardware I/O, without rebuilding a custom version from source. – Chris Stratton Mar 26 '18 at 16:44
  • Do not limit IoT to things that interact with the physical world, there are vast streams of telemetry about a PC or services within a PC that can be captured and transmitted to or via IoT platforms. But also do not discount humans interacting with "things" via IoT. One of the simplest IoT implementations is the Amazon Dash Button, that button is not a lot of good without someone to press it. Any "thing" can be an IoT "thing" once it can communicate with other "things". – Chris Schaller Mar 28 '18 at 14:26
  • It's at some level necessary to draw a line between IoT-ish "gadgets" and more traditional human interface and server metrics types of tasks. Yes, the dash button is a UI - but it's very much a "thing". In contrast, a big button on an otherwise blank Android tablet screen could have the same function, but people aren't going to think of that as a thing, but rather as a tablet. Give it an environmental sensor and mount it on the wall as a "thermostat" and you might be in the "thing" area, but in contrast a Manged-by-Q wall-mounted iPad is probably just a UI device for booking services. – Chris Stratton Mar 28 '18 at 16:35
1

Are single boards always necessary when implementing an IoT connection?

No, Single Board Computers aren't necessary. Single Board Computers provide a very effective way to build a proof of concept, and are instrumental when the developers are trying to create the software stack. But, for a mass scale production a specific design is created. A specific design has benefits of power, thermal and performance. For example:

  • Amazon has a custom board for Echo, with Texas Instrument DM3725 at its core and other chips on the main board. This ifixit tear down provides details of the board.
  • Google Home devices are built with Armada 1500 Mini Plus dual-core ARM Cortex-A7 at core, and the board is again custom made for Home; with a number of supporting chips on the main board.
  • Apple's HomePod as well houses a custom board, with Apple A8 at it's core, and a custom board.
  • Philips Hue bulbs are also based on a custom built board.

Can they be substituted by normal smartphones in, let's say, a business setting so as to communicate to POS/Internet-enabled sale system?

Using a smartphone will be a overkill, as smartphones are built to be multipurpose. And re-purposing a smartphone would hurt the solution in following aspects:

  • Price effectiveness: A smartphone will drive up the cost of Bill of Materials (BoM).
  • Power: Smartphones are too power hungry for a small IoT solution.
| improve this answer | |
  • Your examples of non-SBC's are themselves functionally SBCs, simply custom rather than generic. Smartphone chips are quite power efficient, when used correctly - much more so than the proposed alternative of a raspberry pi, which uses a chip designed for mains-powered set top boxes rather than battery-powered mobiles like phones or tablets. – Chris Stratton Mar 31 '18 at 19:21
  • @ChrisStratton Yes, Smartphone chips are power efficient, I am saying why a custom board tends to be a better choice over a re-purposed Smartphone. – sob Apr 3 '18 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.