Internet is a network for servers, desktops, laptops, tablets and mobile phones. IoT is a network for microcontrollers. The microcontroller can communicate via Ethernet, Bluetooth, Wi-Fi or GSM, but none of the technologies were originally designed for battery-powered microcontrollers. There are other options you can consider during designing your hardware solution. They are designed specifically for embedded systems.
Sigfox
Sigfox is a wireless wide area network operating on 868 MHz in Europe and 902 MHz in the US. Te network module is very power efficient and intended to be used by battery powered devices. One Sigfox module can transmit 140 messages per day with a payload of 12 bytes and receive 4 messages per day with a payload of 8 bytes.
A Sigfox module has its unique ID which must be registered to local carrier which charges customers for registered devices. Messages are stored in Sigfox’s datacenter and can be picked up via Internet HTTP API. Messages retention is 3 days. This approach is very practical because it expects that data are processed in the cloud. For instant messages delivery Sigfox natively supports Azure IoT Hub and Azure Event Hubs.
Sigfox is ideal for uploading sensor measurements. It is not designed for sending images. Number of messages per day is restricted because the frequency is unlicensed thus one device cannot operate more often than 1 % of a time. Downlink is not a push notification. The device must initiate the request. Additionally, downlink tariffs are not included in basic tariffs. Sigfox is a global network. A device registered in one country is roamed in another country without additional cost.
LoRa
LoRa is a wireless wide area network operating on 169, 433 or 868 MHz in Europe or 915 MHz in the US and Canada. One LoRa device can transmit or receive 140 messages per day with a payload of 52–220 bytes. Messages are sent to your Internet HTTP endpoint. Permanently powered device can use downlink like a push notification. A device registered in one country will not operate in another country because you must register the device to each carrier.
LoRa is ideal for uploading sensor measurements and receiving commands. LoRa is not designed for sending images or position data. LoRa network does not have Internet peering. Endpoint services may vary. They are operated by each carrier independently.
NB-IoT
NB-IoT is standardized in LTE Cat NB1. It operates on licensed frequency. It can be deployed by a carrier operating LTE network just by a software update. Device is required to have a power connectivity or Li-SoCl2 battery. Network module does not need a registration. Network bandwidth is suitable for sending images, but current modems has typically 512kB buffers. The network requires your backend have a private IP address and UDP communication. Integration is the most difficult, but it opens the most possibilities.
NB-IoT is the only wireless network connected to the Internet directly. The device can open UDP connection to any Internet server. TCP and TLS are planned and will be available in the future. It can be used for remote device firmware upgrade. It targets enterprise customers, but there are some Raspberry Pi NB-IoT shields with micro SIM socket. Availability depends on carriers in your country.