Few days ago Microsoft was included in the ranking of the 10 most innovative companies of 2015 as part of the Internet of Things and this result can not be absolutely considered a case. Most likely, the main reasons that have enabled Microsoft to achieve this great result are two :
The announcement of an operating system like Windows 10 that is able to run on any kind of device, from embedded systems, smartphones, tablets, gaming consoles and finally to the PC;
The wide Microsoft Azure cloud services offer through which you can "accommodate" and analyze in real time the huge amount of data from the "things";
The Microsoft offer for the Internet of Things covers everything from embedded device (the "T") to the Cloud (the "I") failing to provide a solution under one "hat".
What are the available technologies ? How can we really "bring" our "things" in the Cloud and make them an integral part of the Internet of "Your" Things as it was renamed by Microsoft ...
Read the rest of entry »
Finally the new M2Mqtt 4.1 version is out !
In the last months, my library was under pressure thanks to my friends Olivier Vigliengo (from Adeneo) and Nicolas Besson (Microsoft MVP on Windows Embedded, from Adeneo). They used the MQTT client for their hobbistic projects and stressed it a lot !
After exchanging a lot of emails with log traces, I fixed some bugs and added some improvements to the library.
After about a month of work during my free time, it's finally time to release the new version of the M2Mqtt library (126.96.36.199) and the related GnatMQ broker (0.9.3.0 Beta) with the MQTT OASIS 3.1.1specification support (in addition to some bug fixes).
This time another new and exciting experience as speaker … at Community Days 2014 in Rome with all Microsoft italian communitis !
For the first time, I had the honour to have a session with me “big” friend Valter Minute, from which you never stop learning something new. Of course, the topic was the Internet of Things and this time with a washing machine as protagonist !
This time, with great honor, I will be among the speakers of the Community Days 2014 to be held September 23 to 25 in Rome, after I was there more times as attendee in the past.
The honor will be double, because I will have the session with my dear friend Valter Minute that I recognized as the "Maradona" of embedded systems.
Our session entitled "Internet of Things: my washing machine connected to the Internet?" will be completely dedicated to IoT starting from embedded systems (Microsoft based) to the possible solutions in the Cloud, including the future project "Reykjavik" based on Azure and presented at Build 2014; the title tells the truth, among other things, we will have as its protagonist a washing machine (toy) !
You can find all the information concerning the agenda of the sessions and logistics on the official website in addition to the registration form.
We look forward to this event every year will not disappoint the expectations of those who participate !
It seems that I was on vacation (given the lack of posts on my blog) and it's the truth !
Despite the holiday, I continued the development of the M2Mqtt project and today I am pleased to release the new version 188.8.131.52 with WinRT support !!
I made some changes on networking layer (from Socket to StreamSocket), thread (from Thread to Task) and security but finally the first MQTT client for all .Net platforms today also works on tablets with Windows 8.1 and on smartphones with Windows Phone 8.1.
The new project, added in a Visual Studio 2013 solution, is a "portable class library" that I used and tested in a Universal App.
The same for the "brother" GnatMQ, now in version (Beta) 0.9.2.0, thanks to which we have an MQTT broker to run on tablet and smartphone with Windows 8.1 OS family.
Of course I updated the Nuget package by adding the assemblies for WinRT.
I hope I did something useful f ...
The M2Mqtt library is now at 184.108.40.206 release with the new tracing feature in debugging mode.
The project has the new Trace class that exposes the static member TraceListener declared as the following delegate :
1: // delegate for writing trace
2: public delegate void WriteTrace(string format, params object args);
In this way, it is possibile to chose our preferred tracing mode setting a method to this delegate. Furthermore, it is possibile to set the tracing level using thet static member TraceLevel with the following possible values :
1: /// <summary>
2: /// Tracing levels
3: /// </summary>
4: public enum TraceLevel
6: Error = 0x01,
7: Warning = 0x02,
8: Information = 0x04,
9: Verbose = 0x0F,
10: Frame = 0x10
A simple example of tracing usage could be the following :
1: Trace.TraceLevel = MqttUtility.TraceLevel.Verbose | MqttUtility.TraceLevel.Frame;
2: Trace.T ...
Friday, June 6th IoT@Work event was held in Rome at the Microsoft headquarters and it was organized by the DomusDotNet community and the online TinyCLR.it community (of which I am member).
Thanks to the hospitality of Massimo Bonanni and all the guys in the community, we spent an entire day dedicated to the Internet of Things.
In the morning, Mirco Vanini started showing us what Internet of Things is and what it is not with a series of real use cases and future projections of this new business. The next session saw myself as the lead in tackling a technical point of view of main protocols that are used in the IoT, each with their own advantages and disadvantages. The morning sessions were completed by Lorenzo Maiorfi who spoke of "flow-programming", its application in the IoT and two main tools that can be used for this purpose: NodeRed and Orleans.
Development of M2Mqtt library continues .... now reached the version 220.127.116.11 !
This time the new features are related to two requests from people who are using it.
First, I added more overloads for Connect() method, because from when I removed the default parameters (for compatibility with older versions of the .Net Framework) I left the more complex constructor that requires all parameters. Many people, not knowing well the MQTT protocol, found themselves in difficulty in deciding what values to pass to lesser known parameters (will message, clean session, ...).
A further new feature concerns the client disconnected event (from the MQTT broker) that was requested on the official CodePlex web site. The MqttClient class exposes MqttMsgDisconnected event that is raised when a condition of connection failure with the broker is detected and typically in two cases :
when there isn’t network traffic, when client sends the PINGREQ message (relative to the keep-alive) it doesn’t receive ...
With a week later than the expected output, I finally released in Beta an MQTT broker completely developed in C# that can run on .NET Framework and .NET Compact Framework 3.9 (on systems with Windows Embedded Compact 2013) his name is ... GnatMQ !
It has the M2Mqtt library “core” with which it shares the features of MQTT protocol about the part of the connection to the clients and the messages management.
Obviously, it is completely open source and available on CodePlex but is currently in Beta version (aspect numerous reports on your part!).
Main features included in the current release :
All three Quality of Service (QoS) Levels (at most once, at least once, exactly once);
Will message (QoS, topic and message);
Username/Password via a User Access Control;
Subscription to topics with wildcards;
Publish and subscribe handle using inf ...
View this page in another language: