36

MQTT is a "messenger" between devices: your device measures at time T a temperature of X degrees it connects (itself or via the zwave hub) to the MQTT broker it create a message with the topic /domotics/myplace/mydevice/temperature within the message it just puts X (as the "payload") Elsewhere in your house: your Raspberry Pi is connected to the MQTT ...


21

MQ Telemetry Transport Protocol known as MQTT is designed for devices which run on low power and low bandwidth. It is a lightweight publish/subscribe messaging protocol which means any other device can subscribe to a particular topic. HTTP/HTTPS is designed as a request-response protocol for client-server computing which never bother about power usage and ...


12

MQTT (Message Queue Telemetry Transport) seems to be well suited for the proposed application. It is lightweight both with respect to bandwidth (smallest packet size with a header of just 2 bytes) and client code footprint (enabling it to run on thin clients like the ESP8266, typical IoT client). Reduced transmitted data is beneficial to longer battery life ...


7

Ok here goes Install MQTT on your Raspberry Pi Look if it is already running on your Rpi linux flavor or install it Expose your MQTT port Look at which port MQTT is installed and open this port using port forwarding with your broadband modem Connect your cloud server to your local MQTT Test your sensors I don't know how the temperature sensor will be ...


7

You should have a look at the Raspberry Pi Zero W for this. It doesn't cost more than $9 or so, and it can handle a camera. You would also get the benefit of an OS that is easy to program and configure. Once you're done with the programming and configuration of one, and provided that you solve it in a reasonably flexible manner, you could just clone the SD-...


6

You could, but you'd need a radio transceiver with compatible frequency range, modulation, and data rate. Typically radios with those capabilities are either sold as Zigbee radios, or for the underlying 802.15.4 layer. Sometimes they can do some additional custom modes of communication as well (though often available software stacks force you to pick a ...


6

Here I wrote an article which shows and evolution in communications system we had in our project. It about micro-services, but you can consider any sensor to be micro-service with its job to gather and publish any kind of telemetry data. So most important conclusion is that it is better to use MQTT when you just need to send event somewhere and you know ...


6

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 ...


5

If you already have curl to do the download there should be no reason not to use it to do a POST to push the data to another service. So you need to search for HTTP APIs for any provider you want to use. e.g. It's been a long time since I used it (back when they were called Pachube) but Xively have a HTTP POST API (https://developer.xively.com/docs/...


5

Timescaledb, a postgres extension customized for timeseries datasets works really well. And you get the usual relational database features, use of SQL, reliability, indexes, scalability.


5

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 ...


5

There is the Sonoff Pow WiFi Switch With Power Consumption Measurement or the SONOFF S31 - COMPACT DESIGN SMART PLUG WITH ENERGY MONITORING that seems to be popular with the DIY community. You can reflash that with new firmware (might not be absolutely needed) and receive mqtt messages on your server. You can then have a TICK Stack to receive and store and ...


5

One thing that should be noted is that 5G will not just improve network performance from a single user perspective, but will also utilise bandwidth more efficiently; more devices will be served by a single base station. One enabling technology should be of particular interest to the IoT community: Massive MIMO. Massive MIMO has the potential to be used for ...


5

Bluetooth (and pretty much every other transmission protocol in contrast to sensors like radar) are based on digital protocols. This means that the signals are both binary, and protected by error detection/correction codes. So long as the signal is strong enough that there are only a few errors in any one packet, the resulting sensor reading which is sent ...


5

Oh man, don't ask me how but I think I figured it out. Let's have a look: Basically you split the data up into packets of 4 bits each. You then concat each first, second, third and fourth letter together separately. This can be seen in the 1, 2, 3 and 4 columns. Afterwards you count the 1s in each of them (the number of ones is written beside each of them)....


5

You don't have to use MQTT. Kafka clients installed on employee ID cards can send data to the kafka broker in the cloud directly. So while you are using Kafka for the gateway, you can actually use kafka for the sensors itself. Kafka and MQTT are not interchangeable, they have different strong sides(energy consumption, bandwidth consumption,throughtput...) ...


5

Looks like flespi is the way to go in your case. You may use flespi http channel to upload data in http with CURL (or alternatively use mqtt channel). The data you upload should be in format like: curl -X POST http://X.Y.Z.W:P/ -d {"ident":"123","humidity":51.00}, where ident is unique identifier for your sensor. Also you may pass "timestamp" with time of ...


5

Sending packets at a high rate 'feels' wrong, and does increase the chances of seeing some odd effects when the network latency spikes occasionally. In this instance, the fact that you're in a development cycle means that any period much above 10-30 sec will start to become painful to debug or adjust. Batching up the readings is one option, or you can ...


5

If it's just 8 bytes every 30mins then one of the short message services will probably be good enough (no need for a full on IP connection). e.g. Rock7 RockBLOCK. Also see this answer for rough pricing details


4

You want to get data off a moving vehicle into the cloud. A trailing cable seems a trifle impractical, so you're down to wireless. Wireless options are roughly: Satellite Cellular Point-to-point LPWAN Satellite is relatively expensive and a little bit tricky to get going. Point-to-point requires that you set up the other end of the link and it doesn't ...


4

To summarize, you want an Arduino, which is driving around in a car or a bus, to send some data to a sensor. Firstly, you need to be clear whether you need this data in real time, or whether you can collect it during the drive and send it to the server at the end. If you need real-time, then we can probably rule out WiFi, unless you are 1000% certain that ...


4

As I began to research this, I ran across this article from NetworkWorld.com. There were several things I hadn't thought of which they pointed out. Basically, it's not just speed that's changing in 5G. It's also reliability in low latency connections. This opens the door for some areas where rapidly forming connections with unknown devices. One of the ...


4

If you already have a digital meter inline (or can fit a cheap 2nd hand one), then you can optically monitor the 1000 impulse/kwH LED which is likely present (without needing to interface to the optical serial port present on the meter). You can then integrate the impulses to approximate instantaneous power. Bear in mind that you'll need to infer the ...


4

I have seen systems like this built using the TP-Link sockets with a raspberry pi that polls the sockets regularly enough to determine what mode a product was in (the product draws different amounts of current for different modes). The problem will be monitoring an oven as these tend to be wired directly to high current supplies with no where to put a ...


4

One solution would be with the help of Rasberry Pi. Make raspberry Pi as an access point and bridge the internet via the ethernet port. Make Rasberry Pi as your wifi connection to the smart plug. Now install Wireshark and collect all network data from the wireless interface in the form of pcap file. You can use SCAPY or Zeek(BRO) IDS for packet inspections ...


4

It looks like a pretty standard Bluetooth Low Energy (BLE) device so assuming the manufacturer hasn't done something strange (e.g. like fitbit) then you should be able to use any language that has BLE GATT support to connect to the device and then subscribe to the characteristics for each of the different data fields. For NodeJS there is the noble which is ...


4

Given the answers in the comments then using git over ssh is probably the best option. Firstly git will only pull the differences between the current head hash and the head on the remote. Given you are pulling updates to python scripts these should just be text files so the diffs should be simple. I say pulling over SSH because you can enable compression ...


4

What you want is to “pack” your 3 integers as such rather than express the in decimal as text. If your 3 values were for instance 123, 1200 and 45678, then if you send them as three 16-bit integers it will take 6 bytes. If you send them as a human readable string made of the decimal representation, separated by commas, it would take 14 bytes. The big ...


3

It's easy to build your own platform to stream video/security camera for less that $50. You can use any Pi, buy one used for cheap or a Pi Zero W (it has wireless) for less than $10. Here are a few examples of how this can be achieved using both Raspbian and Windows IoT Core. You can use the Raspberry Pi Camera Module or a Webcam. Raspbian - Streaming to ...


3

The question is broad and no accurate answer can be given, but these links can help: http://outlyer.com/blog/top10-open-source-time-series-databases/ Followup with benchmarks: http://outlyer.com/blog/time-series-database-benchmarks/ Other comparison: https://gist.github.com/sacreman/00a85cf09251147175241d334aafa798 I set some rules to attempt to limit ...


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