IBM IoT Foundation Device Management - iot

I would like to use IBM IoT Foundation Device Management for an important customer. It wants the solution on premises and not on the cloud. Can I use IBM IOT Foundation on premises?

Yes, There is a Local version of Watson IoT Platform available.
With IBM's Local offering, you can have IoT Platform deployed your own data center or one of your choosing – flexibility to deploy whenever you choose.
With Local, you own the hardware, running in your own datacenter. Find more information in this [announcement][1].
[1]: https://developer.ibm.com/iotfoundation/blog/2016/03/30/announcing-watson-iot-platform-local/ - link not working

Related

How can I connect a real device only accepting MQTT / TCP connection to azure IoT hub?

Context:
I have a real device that only uses MQTT and only accepts a TCP connection (The only things I can modify in the real device are the cloud address, cloud ID (username), cloud password, machine cloud ID and cloud port).
Question:
How can I connect this device to the azure IoT hub?
Can I use azure IoT edge runtime w/ transparent gateway?
In case if you want to try connectivity with IoT hub and if there is no feasibility for usage of device SDK in your device, you can try the option of using MQTT protocol directly (as a device), using which the device can still connect to the public device endpoints using the MQTT protocol on port 8883.
However, for using the MQTT protocol directly, the device must connect over TLS/SSL. Since your device has constraints in using TLS/SSL or installing certificate, the best option is usage of gateway.
In a typical IoT system, gateways are used to overcome the limitations of device capabilities. You may need to decide the suitable deployment type based on these three patterns of using IoT Edge device as a gateway as per your device capabilities and requirement in hand.
There is a scenario where you don't have to use the device SDK and connect your MQTT device directly to the IoT Hub. It is documented here. Azure IoT Hub is not a full-featured MQTT broker though, so results may vary. As per your suggestion, yes you can use a transparent gateway for this if you don't want your device to connect directly to the IoT Hub. But it's not a prerequisite.
In the case that your device needs more MQTT features than IoT Hub (or Edge for that matter) can offer, you can also consider creating an Edge module with an MQTT broker inside.

How can i get the connection string for IoT hub in Azure Digital Twin

Resource only return following object and not connection string which I need to call Direct methods on device.
[{"id":"585302d5-f4c9-4248-bb50-482657c028ba","spaceId":"b27f5aa2-ba06-4ffa-9750-b4a3655a6096","type":"IotHub","isExternallyCreated":false,"status":"Running","lastUpdatedUtc":"2019-02-21T10:22:00.0456407","properties":{"iothubUrl":"ih-46de7654-b8c5-4ddc-9e50-b455d36d4146-1.azure-devices.net"},"instanceNum":1}]
The connectionString can only be retrieved from the devices endpoint.
GET https://{{instanceName}}.{{regionName}}.azuresmartspaces.net/management/api/v1.0/devices?includes=ConnectionString
In the early preview version of Digital Twins Command and Control is not available.
Currently Azure Digital Twins doesn't support command & control to devices. You can get the device connection string but you cannot get the IoT Hub's connection string to issue commands (or device twins).
Moving forward we have heard a lot of feedback from customers that they want/need to send commands and in the next set of updates to Digital Twins we are looking at how to enable this. Stay tuned as we will have updates later in 2019. Thanks for the interest & question.

How to implement IoT in serial communication devices

I want to enable IoT in the devices (inverters) which currently supports only serial communication. Through serial port I'm able to view statistics of the device, configure device and do firmware updates. I want to do all these remotely by enabling IoT. I have just gone through Azure IoT hub, iBOT etc.
How will I enable communication between my serial port with IoT hub?
Is there any supporting device for that?
You can use another device as a gateway, this device is networkable and has serial port. Azure IoT Edge lets you build IoT solutions tailored to your exact scenario. You can refer to the document and get start.
In addition, here is a tutorial to implement a device firmware update process. This tutorial shows how you can start and monitor the firmware update process remotely through a back-end application connected to your hub.

How can I push the data collected from IoT devices to Microsoft Azure IoT hub?

I need to connect my cell phone to the IoT sensors (Say BLEs) and collect the data which needs to be sent or stored into Azure.How can I do that? Is there any App (preferably mobile App) through which I can handle my IoT devices and push the data to MS Azure using any gateways? If yes, how can I do that? Links of any articles or materials and videos related to this will be helpful. Thanks.
Currently there is no such out of box mobile app to use.
If you like to develop an app by yourself you need connect to sensors and collect data and connect mobile device to Azure IoT Hub and send Device-To-Cloud message.
Also here is a Azure IoT and Mobile sample application: MyDriving. It is a typical Internet of Things (IoT) solution that gathers telemetry from devices, processes that data in the cloud. You can customize for your deployment.

IBM Watson Subscribe

I am looking for a way for my ESP8266 Arduino device to subscribe to the IBM Watson IoT platform to receive device management messages (reboot, update etc.). I have located examples that use the PubSubClient library (https://developer.ibm.com/recipes/tutorials/run-an-esp8266arduino-as-a-iot-foundation-managed-device/) to do this, however, I have not yet found a working example of PubSubClient using TLS1.2 (a requirement for this project). As such I am currently using the Adafruit_MQTT_Client which can connect and publish to Watson using TLS1.2, but I have not had success subscribing to the platform. If anyone could suggest a way to connect, publish and subscribe to IBM Watson IoT platform using TLS1.2, it would be much appreciated!
The Arduino ESP8266 2.3.0 core provided TLS v1.2 support. Simply upgrade to this core using the boards manager in the Arduino IDE.

Resources