13

Yes, there are plenty of applications in the market already which do not rely on cloud services. The heirarchy of complexity which a user may choose to install with a specific product goes something like this: Device with dedicated remote control Device with phone app and in-house link node Node linked to cloud for user remote access by phone (tunneling and ...


10

While you can design an IoT gadget to work via direct connection with the user's phone, a device that only works in that manner may be too limiting for many users: If the user is not at home, then they are unlikely to be able to interact with the device directly, as allowing inbound connection attempts to the home network is generally unacceptable from a ...


8

The generics first Some of the candidates only talk about what they learned from building PCs Coming from PCs is not a problem, but, candidate should understand that an IoT device/product/application isn't same as a general PC. PC are built for general compute purpose, you can use a PC for almost anything: Browse Internet Play games loaded with ...


8

Basile, I think that we are missing a fine distinction here. When you speak of a Posix like standard for IoT, I think that you are speaking of libraries which wrap a protocol. As one who has been employed for (cough) decades implementing protocol stacks for telephony and satellite communication, I can say (as you are probably aware) that these protocols ...


8

If you only want control inside the home sure it is possible. The problem is if you want to offer control from outside the home things get difficult. Neither the client or the server are likely to have a static IP, there are likely to be firewalls and/or NATs in the way. It is possible for the user to set up port forwarding/exceptions in their router/...


8

@jsotola's comment (Something like: "Sounds like something machine learning could do") is probably the right answer, but I'll expand on it a little. It's going to depend on at least the following factors: Size of the room Number of people Type of activity the people are doing Amount of ventilation the room has (windows/ac/...) Accuracy and response time of ...


8

It appears some research has been done on this already – Sensing by Proxy: Occupancy Detection Based on Indoor CO2 Concentration describes a model developed at the University of California, Berkeley to detect occupancy based on CO2 concentration. We propose a link model that relates the proxy measurements with unknown human emission rates based on a ...


7

Typically, IoT is expected to offer advanced connectivity of devices, systems, and services that goes beyond machine-to-machine (M2M) communications https://en.wikipedia.org/wiki/Internet_of_things IoT devices go beyond inter-device communication. Take for example a TV remote, it is an embedded device which communicates with the TV through an infrared ...


7

if the MQTT IoT devices are completely different from other types like HTTP in features, or is the difference only about communication protocols? Can a device that marked with "MQTT" be swapped to "HTTP" or vice versa? This depends on the device, but HTTP and MQTT are protocols and the same device could support both. A more common situation is a ...


7

I have linked this before to another question, this kind of nails it. Quite in the beginning there is a list of protocols compared. HTTP and MQTT are on that table and LwM2M as described on their site works on top of coap, which appears in table. Main difference is the nature of communication: HTTP and coap provide a request and response based ...


7

For simplicity, I'll describe this using a typical smart-home setup as a reference, but nothing here is really fixed by the application. The high level topology is equally suitable for a farm monitoring application covering several kilometres with thousands or sensors, tracking parking spaces in a city, or lighting management in an office building. I'll ...


7

You have already capability to publish data over MQTT protocol, even a broker and way to forward certain requests to Spring from the socket. I see no point of taking the responsibility of knowing whether socket is plugged for some requests for Spring. MQTT broker does that under the hood, you don't have to invent the wheel again. So, I would create some ...


6

Marketing, it's mainly just marketing... There is one possible interpretation that has fog computing being more of a distributed system in that nodes on the edge of the network share information laterally between themselves vs edge computing which does data aggregation and reduction before forwarding on to a central point. ... but it really is just ...


5

Short answer is yes, at least according this feature request: Define convention for 'stateful' sessions #63 This request is closed with a commit stating that a web socket node is added, which is based on a session token.


5

The standards for various networking protocols are already well defined. What it sounds like you're hoping to find is an API implementing standard behaviors inherent to IoT devices. Something like a Light() function that can turn lights on, off, or dim them to a fraction of their brightness; DoorSensor() that can be armed or disarmed, or can register for ...


5

The architecture which you propose seems OK. You can build more functionality on top of this, such as authentication and request sanitisation (for example time of day controls, rate limiting, etc) so it's a great example to investigate. There are probably some important details in the implementation which you've not looked into yet. For example, the ...


5

As quick response, I don't think that for IoT there is a special type of library, I would say that IoT is basically the "new embedded systems", they just changed the name and added the connection to the cloud. So answering to what I use for C++ programming, my reference page is http://www.cplusplus.com/ Basically for IoT you will need communication ...


4

Embedded, plus secure communications, plus provisioning (device management) plus OTA updates. This is a big software package and also emerging as a new type of platform for developing on. There are several providers offering cloud solutions, they will typically have their own client APIs and chosen endpoint operating systems. As far as I can tell, the ...


4

Yes, there already are such devices. If you are not bound to the rotary dial there are dimmers out there (e.g. Insteon 2477d). Probably there some rotary versions too. The Insteon variant can be controlled via their powerline messages (Spec) or via a hub. According to the Insteon website you could build your own powerline client, hook it up to a Pi, a ...


4

Stage 1: PC side peripherals, specially input devices like mouse, scanner, keyboard are equivalents to sensors. Relevant is the correct pins, correct protocols and signal forms etc. Stage 2: Bus between internal parts of PC and between processor and outer devices equals data acquisition and networking. Stage 3: Edge processing is equal to sound card or ...


4

if the MQTT IoT devices are completely different from other types like HTTP in features, or is the difference only about communication protocols? The difference is at the protocol level. Same device may run MQTT as well as HTTP if required. But, device maker will choose a protocol based on the problem statement. Can a device that marked with "MQTT" be ...


4

You are limited to either NoSQL databases, because any SQL database won't allow you 6K TPS directly on the server nor you may use any SaaS cloud service or platform already specialized in such kind of operations - e.g. receive telematics data via MQTT/Kafka, split it over and store for these 6000 devices and provide simple REST API to access the telemetry ...


4

I've done something similar with my pool. I have a Temp/Ph/ORP sensor package that sits by the pool with its sensors in the water. I send the data over WiFi and MQTT to a Node.JS/Express program running on my Docker server. From my desk, I connect to the web interface of the Node.JS/Express program to see what my pool is doing. If the Ph or ORP get to a ...


4

With MQTT version 3.x there is nowhere to include any meta data except in the message payload it's self. This means the sensors will need to build this in before they publish the message. You can encode some information in the topic and this makes sense for certain things, e.g. having each sensor publish on their own topic and subscribe to wild cards. ...


3

IoT is pretty much time-series data. There are a few TSDB out there: InfluxDB, OpenTSDB, GridDB, etc. They all have the community/oss version so you can see if it suits your need. InfluxDB is a popular one but note that clustering is only available for paid version. OpenTSD is pure oss, and GridDB states it is IoT-oriented and faster than InfluxDB. Depending ...


3

The answer is no and yes. Flows in node-red are pretty static, there is no notion of instantiating a flow when the first requests comes in such that you might have an instance of a flow per request. There is also no built-in notion of a session that would allow you to associate messages flowing through flows with a session. However, you can relatively ...


3

They are handled by the device connecting out and maintaining an on going TCP connection. TCP connections are bi-directional once opened so as long as the device opens the connection outbound through the NAT gateway the cloud can push information/commands back down that link.


3

The UART protocol (in its simplest form) has no presence detection. All you can do is monitor the data which is being transmitted (in both directions). This assumes that your USB-UART bridge is external to the STM32. If the STM32 itself is providing the USB endpoint, then there will be status available from the USB peripheral (as described in the reference ...


3

I think your objective is somewhat similar to BOOST: Boost C++ Libraries They aim to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Perhaps Boost could be a major player in IoT: it certainly has made some great improvements to C++.


3

Instead of web server doing HTTP request to RBP it is much easier to connect from RBP to MQTT Broker and subscribe to some topic. Once Web server will receive some request it can publish message to the Broker and RBP will receive it. Thus it will eliminate the need for RBP to have public IP. You may install own MQTT Broker on the same host as Web server or ...


Only top voted, non community-wiki answers of a minimum length are eligible