An Idea that inspired – IoT/Drone

2 years before my IoT and Drone-based Indore surveillance idea got selected in one of the global competition.

IOt

Today some company from USA/Europe got inspired the idea I Believe and launching the product.

quite excited to see the product in real time. (https://www.gizmodo.com.au/2018/08/get-ready-for-indoor-surveillance-drones/)

indoor Iot

 

 

E: Unable to locate package dos2unix

When you got the above error message in Visual Studio Code Terminal window while deploying the C code to IoT device.

Open your Unix utility instance running on Windows machine and run the command to update.

sudo apt-get upgrade

unix1.PNG

Previous when we try the following command in the terminal window of Visual Studio Code, We get the following error.

Unable to locate package dos2unix

sudo apt-get install dos2unix

It will get going now,

unix2

 

More than one remote source not supported

When you try to push the data through to Raspberry Pi from your Windows 10 development system, you may face the following error message

pscp -pw raspberry CMakeLists.txt main.c wiring.h pi@192.168.X.XXX
More than one remote source not supported

Because you specify more than one remote source. username@server: . ← the dot here (which supposedly means your working directory) doesn’t belong there. You cannot reference your working directory on another machine like this, and since there’s a space between username@server and ., it’ll be interpreted as two arguments.

Instead, specify an absolute path

pu0

 

Establish Windows 10 to Raspberry Pi connection.

Open the PuTTY tool.

pt1

In the Host Name (or IP address) text box, enter the IP address for your Pi, and then click Open.

The IP Address for your Pi will be something like 192.168.x.xxx

Note: The first time you connect to your device you will need to complete a registration step indicating that you trust the device.

At the login prompt, type pi and then press Enter. At the password prompt, type raspberry and then press Enter.

pt2

First Step-up of Raspberry Pi -Ready to code

After setup RASBIAN setup similar to Windows installation 

Download from https://www.raspberrypi.org/downloads/raspbian/ and open the download page for the Etcher SD card burner utility, navigate to https://etcher.io/. The Etcher utility enables you to install the Raspbian image on your SD card.

iot5

Now let’s see how to enable the wifi in our Rasberry Pi.

iot0

Enable ssh and other necessary interfaces.

iot1 (2)

iot4 (2)

Now click on the wifi connector and search for available wifi connections.

iot2 (2)

All set now, let’s start smart solution building.

iot3 (2)

 

 

 

ArgumentError: The connection string is missing the property: SharedAccessKeyName

When you trying to connect to iothub-explorer with your login connection string you may face error as follows.

IoTconn0

This is because you missing a connection property. When I checked the Azure device details it doesn’t have SharedAccessKeyName, If you are connecting to the Device you won’t see a SharedKeyName.

When you are connecting to the IoT HUB then you will see a parameter of SharedAccessKeyName.

The following screen capture is Device details.

IoTconn1

Just rename the DeviceId to SharedAccessKeyName it will work.

IoTconn2.PNG

Hope this helps.

 

HoloLens Emulator not showing in Visual Studio

Followed every step and installed all the required tools and updates. Still no sign of HoloLens Emulator in my Visual Studio 2017.

https://developer.microsoft.com/en-us/windows/mixed-reality/install_the_tools

Halo

Halo 0

Halo 1

Finally double checked the Developer mode settings.

Halo 2

Still doesn’t seem to appear in Visual Studio. Now I feel the issue is something to do with Visual Studio setting or some update patch missing.

So now modified the Visual Studio Installation and added the following components.

Halo 3

Halo 4

After installing, just to make sure all installation settled well did windows restart.

Then open the solution and in the project property try to change the target version to Build 10240 and check the emulator’s availability.

Halo 6

Finally, there you go. It brought a smile to my face 🙂 Let’s run our sample project and see how it results in your laptop.

Halo 7

Bliss. Ok. Make your solution Min version to Build 10240 and Target version to Build 10586 to avoid missing libraries and compilation errors.

Hope this helps, happy creating solutions.

 

Understanding well Supported Protocols for IoT

The following are the well-supported protocols for IoT, it doesn’t mean IoT is limited to these lists. IoT is widely using many open protocols and custom built protocols too. Here we discuss the highly influenced and widely used data protocols for IoT, especially for Asure IoT.

HTTP: This is well-known protocols for the IoT solution. One main common limitation felt by any solution designer is it’s synchronous. In the modern world, solutions are demanding for asynchronous data transfer.

AMQP: Advanced Message Queuing Protocol (http://www.amqp.org/). An open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing, point-to-point and publish-and-subscribe, reliability and security.

MQTT: Message Queuing Telemetry Transport (http://mqtt.org/). The MQTT protocol enables a publish/subscribe messaging model in an extremely lightweight way. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.  It is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol.

Apart from these, you have STOMP – The Simple Text Oriented Messaging Protocol,  XMPP (Extensible Messaging and Presence Protocol), CoAP (Constrained Application Protocol), etc. Or you can build your own solution based on requirement and SDKs available.

In Azure, you have Azure IoT protocol gateway: The Azure IoT protocol gateway is a framework for protocol adaptation that is designed for high-scale, bidirectional device communication with IoT Hub. The protocol gateway is a pass-through component that accepts device connections over a specific protocol. It bridges the traffic to IoT Hub over AMQP 1.0.