Weekly Tech Report 2016-01-04
Learning
-
The HiveMQ blog posts the blog series of MQTT Essentials, it’s a good summary to MQTT protocol.
1. Introducing MQTT
2. Publish / Subscribe
3. Client, Broker and Connection Establishment
4. MQTT Publish, Subscribe and Unsubscribe
5. MQTT Topics & Best Practices
6. MQTT Quality of Service Levels
7. Persistent Session and Queuing Messages
8. Retained Messages
9. Last Will and Testament
10. Keep Alive and Client Take-Over
Special: MQTT over Websockets
-
The goal is to collect useful content to help users and developers navigate around the MQTT community and understand how best to make use of the technology.
-
MQTT is a Client/Server publish/subscribe messaging transport protocol, it’s ligth weight, open, simple, and designed so as to be easy to implement.
OASIS Standard Specification
IBM/Eurotech Specification
MQTT Man Page
Involve Android Phone to IoT via WebSphere MQTT
-
The IoT Working Group provides open source implementations for IoT protocols such as CoAP, ETSI SmartM2M, MQTT or LwM2M.
Article
-
Reading Notes of “TCP/IP Illustrated”
A reading notes in chinese for the classic book “TCP/IP Illustrated”.
-
Deep Experiment on Android Permissions
Android Permissions has different levels: normal, dangerous, signature, signature or system. To perform your permission, you must declare
tags on AndroidManifest.xml.
-
Developer must declare the permissions they needed on AndroidManifest.xml, for the sake of security. It lists all permissions in Chinese.
-
Mosquitto is a messaging broker implementation under BSD license. This article presents a demonstrated practise of Mosquitto on Windows Cygwin.
-
A practical piece presents how to write a MQTT demo with Paho.
-
An Exmaple of Using TLS with Paho Embedded C++ Client
It shows how to work with TLS by using CyaSSL TLS library on mbed platform.
-
How to make MQTT connection work over SSL
It shows how to make the Paho Java client and the ActiveMQ broker talk over SSL, both parties have to be supplied with neccessary digital cerificaties.
-
You can use keytool to create bks-format keystore file, and use it in HTTPS.
-
The two protocols used in IoT, also two of the most promising for small devices are MQTT and CoAP, MQTT gives flexibility for binary data, and CoAP is designed for interoperability with the web.
-
The Seven Best MQTT Client Tools
Give a brief overview of the best MQTT client tools for different platforms and highlight special features.
Blog
-
Learning Eclipse Paho: MQTT Implementation
A summary of learning Eclipse Paho project, including an overview of MQTT, MQTT packet description, and source analysis of CommsSender/CommsReceiver.
1. Paho: MQTT Implementation
2. Socket Internal Paho
3. Investigate Android Push
-
5 Reasons to Replace PowerPoint with Google Slides
Why makes the switch for PowerPoint to Google Slides:
- Built For Collaboration
- Simple UI Encourage Simpler Presentation
- Offline Access for Editing and Presenting
- Access Presentation from Any Device
- Easy Web Publishing and Sharing
Open Source
-
A MQTT publish/subscribe client implementations in C language for use on embedded platform
-
A sample ride sharing application that accompanies IBM Redbooks “Building Realtime Mobile Solutions with MQTT and IBM Message Sight”
-
A client library for the MQTT protocal, written in JavaScript for node.js and the browser, it’s under MIT license
-
While there are few available MQTT brokers, it seems there is only one MQTT-SN broker called Really Small Message Broker, or RSMB.
-
The Mosquitto project provides an open-source implementation of a MQTT broker and also a MQTT client library.
-
CloudMQTT is a product to use mosquitto to form cloud message solution, and it is not open source. Here is the link of its website, which is open source, also called Flat UI
Problems
-
checkSelfPermission always returns PERMISSION_GRANTED
For Android verision < Android M (6.0), everything will be ok. For Android M, if targetSdkVersion >= VERSOIN_CODES.M (23), Context#checkSelfPermission is ok, else use PermissionChecker#checkSelfPermission instead.
-
java.lang.SecurityException: Requires READ_PHONE_STATE
Append permission declaration on AndroidManifest.xml, see here:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
-
SSL23_GET_CLIENT_HELLO:unknown protocol
Correct protocol in server URI to “ssl://” and add
sslopts.enableServerAuth = 0
-
How to Display Hidden Characters in vim?
Use the commands, see Make Vim show ALL white spaces:
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:< :set list
-
What happens if I define a 0-size array in C/C++?
Zero-size array is not allowed in standard C/C++, however it’s been current use in C to indicate a variable length structure. See GCC Doc and zero length arrays vs. pointers.
This work is licensed under a CC BY-NC 4.0 License.