Trygve Laugstøl <trygvis@trygvis.io>
Chip | CPU | Freq | RAM | Flash | Price |
---|---|---|---|---|---|
nRF52810 | Cortex-M4 | 64 M | Hz 24k | 192k | $1.88 |
High perf | ormance, | entry | -level Bl | uetooth | 4/ANT/2.4GHz SoC |
nRF52832 Cortex-M4F 32k 256k $2.54 64k 512k $2.59 High performance Bluetooth 4/ANT/2.4GHz SoC
nRF52840 Cortex-M4F 256k 1024k $3.85 Advanced multi-protocol System-on-Chip Supporting: Bluetooth 5, ANT/ANT+, 802.15.4 and 2.4GHz proprietary
Chip | CPU | Freq | ROM | RAM | Price |
---|---|---|---|---|---|
ESP8266 | Tensilica L106 | 160 MHz | N/A | ~50 kB | < $1 |
ESP32 - dual cpu, Wi-Fi, Bluetooth 4 ESP32-D0WDQ6 2x Xtensa @ 160MHz $ 4.53 @ 10
State | Current usage |
---|---|
Off | 0.5 µA |
Deep sleep with RTC | 20 µA |
Light sleep (with Wi-Fi) | 1 mA |
Sleep with peripherials | 15 mA |
TX | 170 mA |
https://github.com/esp8266/Arduino
Agents have one of two roles:
foo/bar/baz
foo/bar/?
foo/#
The temperature sensor:
myapp/$device-id/temperature
myapp/$device-id/humidity
myapp/$device-id/altert
myapp/$device-id/command
The central application:
myapp/#/temperature
myapp/#/humidity
myapp/$device-id/command
Enten må den holdes rett etter “## MQTT - The protocol - MQTT Topic” ellers kanskje flyttes etter “patterns”.
The central application is split:
myapp/#/temperature
myapp/#/humidity
myapp/$device-id/altert
myapp/$device-id/command
Message is kept by the server even after disconnect
CONNECT
PUBLISH
RETAIN
$app/$device/temperature
22.3
DISCONNECT
Later on:
SUBSCRIBE
$app/#/temperature
PUBLISH
$app/$device/temperature
22.3
Message sent when you disconnect
Client #1:
CONNECT
WILL TOPIC: $app/$device/online
WILL PAYLOAD: 0
PUBLISH
$app/$device/online
1
DISCONNECT
Broker
PUBLISH
$app/$device/online
0
Må utvides
Explain:
Measure round trip time/latency. Measure UDP, TCP. Measure when the packet size is greater than the MTU
Notice variations in RTT
Wikipedia “Internet of Things”↩