IoEHub MQTT MCP Server
by ioehub
The IoEHub MQTT MCP Server facilitates communication between a client and IoT devices using MQTT and JSON-RPC. It acts as a translator between JSON-RPC requests from the client and MQTT protocols for device interaction.
Last updated: N/A
��#� �I�o�E�H�u�b� �M�Q�T�T� �M�C�P� ����
�
�
�
�#�#� �1�.� ����
�
�
�
�t� �8���� �M�Q�T�T�|� ���t� �(�ij �<�� �p�t�0�|� �}�� �L�E�D�|� �ȴ�XՔ� �M�C�P�(�M�o�d�e�l� �C�o�n�t�e�x�t� �P�r�o�t�o�c�o�l�)� ����|� �$���i�Ȳ�.� �t� ������ �F�a�s�t�M�C�P� �������l�|� �0��<�\� �X�p�,� �J�S�O�N�-�R�P�C� ��\���\�D� �����X��� �����i�Ȳ�.�
�
�
�
�
�
�#�#�#� �1�.�1� �l�p�ij
�
�<�s�v�g� �v�i�e�w�B�o�x�=�"�0� �0� �8�0�0� �6�0�0�"� �x�m�l�n�s�=�"�h�t�t�p�:�/�/�w�w�w�.�w�3�.�o�r�g�/�2�0�0�0�/�s�v�g�"�>�
�
� � �<�!�-�-� �M�C�P� �C�l�i�e�n�t� �B�o�x� �-�-�>�
�
� � �<�r�e�c�t� �x�=�"�5�0�"� �y�=�"�1�0�0�"� �w�i�d�t�h�=�"�2�0�0�"� �h�e�i�g�h�t�=�"�1�2�0�"� �r�x�=�"�5�"� �r�y�=�"�5�"� �f�i�l�l�=�"�w�h�i�t�e�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�t�e�x�t� �x�=�"�1�5�0�"� �y�=�"�1�4�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�6�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�M�C�P� �C�l�i�e�n�t�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�1�5�0�"� �y�=�"�1�6�5�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"�>�(�C�l�a�u�d�e� �A�I�)�<�/�t�e�x�t�>�
�
�
�
� � �<�!�-�-� �M�C�P� �S�e�r�v�e�r� �B�o�x� �-�-�>�
�
� � �<�r�e�c�t� �x�=�"�5�5�0�"� �y�=�"�1�0�0�"� �w�i�d�t�h�=�"�2�0�0�"� �h�e�i�g�h�t�=�"�1�2�0�"� �r�x�=�"�5�"� �r�y�=�"�5�"� �f�i�l�l�=�"�w�h�i�t�e�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�t�e�x�t� �x�=�"�6�5�0�"� �y�=�"�1�4�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�6�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�M�C�P� �S�e�r�v�e�r�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�6�5�0�"� �y�=�"�1�6�5�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"�>�(�P�y�t�h�o�n�/�F�a�s�t�M�C�P�)�<�/�t�e�x�t�>�
�
�
�
� � �<�!�-�-� �A�r�r�o�w� �d�e�f�i�n�i�t�i�o�n�s� �-�-�>�
�
� � �<�d�e�f�s�>�
�
� � � � �<�m�a�r�k�e�r� �i�d�=�"�a�r�r�o�w�h�e�a�d�"� �m�a�r�k�e�r�W�i�d�t�h�=�"�1�0�"� �m�a�r�k�e�r�H�e�i�g�h�t�=�"�7�"� �r�e�f�X�=�"�9�"� �r�e�f�Y�=�"�3�.�5�"� �o�r�i�e�n�t�=�"�a�u�t�o�"�>�
�
� � � � � � �<�p�o�l�y�g�o�n� �p�o�i�n�t�s�=�"�0� �0�,� �1�0� �3�.�5�,� �0� �7�"� �f�i�l�l�=�"�b�l�a�c�k�"�/�>�
�
� � � � �<�/�m�a�r�k�e�r�>�
�
� � �<�/�d�e�f�s�>�
�
�
�
� � �<�!�-�-� �J�S�O�N�-�R�P�C� �A�r�r�o�w� �-�-�>�
�
� � �<�l�i�n�e� �x�1�=�"�2�5�0�"� �y�1�=�"�1�3�5�"� �x�2�=�"�5�5�0�"� �y�2�=�"�1�3�5�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"� �m�a�r�k�e�r�-�e�n�d�=�"�u�r�l�(�#�a�r�r�o�w�h�e�a�d�)�"� �s�t�r�o�k�e�-�d�a�s�h�a�r�r�a�y�=�"�5�,�5�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�5�5�0�"� �y�1�=�"�1�6�5�"� �x�2�=�"�2�5�0�"� �y�2�=�"�1�6�5�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"� �m�a�r�k�e�r�-�e�n�d�=�"�u�r�l�(�#�a�r�r�o�w�h�e�a�d�)�"�/�>�
�
� � �
�
� � �<�!�-�-� �L�a�b�e�l�s� �f�o�r� �J�S�O�N�-�R�P�C� �-�-�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�1�2�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�J�S�O�N�-�R�P�C�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�1�4�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�2�"�>�(�s�t�d�i�o�)�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�1�8�5�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�2�"�>�R�e�q�u�e�s�t�/�R�e�s�p�o�n�s�e�<�/�t�e�x�t�>�
�
� � �
�
� � �<�!�-�-� �M�Q�T�T� �B�r�o�k�e�r� �B�o�x� �-�-�>�
�
� � �<�r�e�c�t� �x�=�"�3�0�0�"� �y�=�"�3�0�0�"� �w�i�d�t�h�=�"�2�0�0�"� �h�e�i�g�h�t�=�"�1�2�0�"� �r�x�=�"�5�"� �r�y�=�"�5�"� �f�i�l�l�=�"�w�h�i�t�e�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�3�4�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�6�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�M�Q�T�T� �B�r�o�k�e�r�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�3�6�5�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"�>�(�1�7�2�.�3�0�.�1�.�1�0�0�)�<�/�t�e�x�t�>�
�
�
�
� � �<�!�-�-� �B�i�d�i�r�e�c�t�i�o�n�a�l� �a�r�r�o�w�s� �f�o�r� �M�Q�T�T� �c�o�n�n�e�c�t�i�o�n�s� �-�-�>�
�
� � �<�!�-�-� �B�e�t�w�e�e�n� �S�e�r�v�e�r� �a�n�d� �B�r�o�k�e�r� �-�-�>�
�
� � �<�l�i�n�e� �x�1�=�"�6�5�0�"� �y�1�=�"�2�2�0�"� �x�2�=�"�5�0�0�"� �y�2�=�"�2�8�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�5�0�0�"� �y�1�=�"�2�8�0�"� �x�2�=�"�5�2�0�"� �y�2�=�"�2�7�3�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�5�0�0�"� �y�1�=�"�2�8�0�"� �x�2�=�"�5�0�7�"� �y�2�=�"�2�9�5�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �
�
� � �<�l�i�n�e� �x�1�=�"�5�0�0�"� �y�1�=�"�3�4�0�"� �x�2�=�"�6�5�0�"� �y�2�=�"�2�2�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�6�5�0�"� �y�1�=�"�2�2�0�"� �x�2�=�"�6�3�5�"� �y�2�=�"�2�3�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�6�5�0�"� �y�1�=�"�2�2�0�"� �x�2�=�"�6�4�0�"� �y�2�=�"�2�1�2�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �
�
� � �<�!�-�-� �M�Q�T�T� �L�a�b�e�l� �f�o�r� �S�e�r�v�e�r�-�B�r�o�k�e�r� �-�-�>�
�
� � �<�t�e�x�t� �x�=�"�5�5�0�"� �y�=�"�2�5�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�M�Q�T�T� �(�J�S�O�N�)�<�/�t�e�x�t�>�
�
�
�
� � �<�!�-�-� �I�o�T� �D�e�v�i�c�e� �B�o�x� �-�-�>�
�
� � �<�r�e�c�t� �x�=�"�3�0�0�"� �y�=�"�5�0�0�"� �w�i�d�t�h�=�"�2�0�0�"� �h�e�i�g�h�t�=�"�1�0�0�"� �r�x�=�"�5�"� �r�y�=�"�5�"� �f�i�l�l�=�"�w�h�i�t�e�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�5�3�5�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�6�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�I�o�T� �D�e�v�i�c�e�<�/�t�e�x�t�>�
�
� � �<�t�e�x�t� �x�=�"�4�0�0�"� �y�=�"�5�6�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"�>�(�T�e�m�p�e�r�a�t�u�r�e�/�L�E�D�)�<�/�t�e�x�t�>�
�
�
�
� � �<�!�-�-� �B�i�d�i�r�e�c�t�i�o�n�a�l� �a�r�r�o�w�s� �f�o�r� �M�Q�T�T� �c�o�n�n�e�c�t�i�o�n�s� �-�-�>�
�
� � �<�!�-�-� �B�e�t�w�e�e�n� �B�r�o�k�e�r� �a�n�d� �D�e�v�i�c�e� �-�-�>�
�
� � �<�l�i�n�e� �x�1�=�"�3�8�5�"� �y�1�=�"�4�2�0�"� �x�2�=�"�3�8�5�"� �y�2�=�"�5�0�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�3�8�5�"� �y�1�=�"�5�0�0�"� �x�2�=�"�3�7�8�"� �y�2�=�"�4�8�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�3�8�5�"� �y�1�=�"�5�0�0�"� �x�2�=�"�3�9�2�"� �y�2�=�"�4�8�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �
�
� � �<�l�i�n�e� �x�1�=�"�4�1�5�"� �y�1�=�"�5�0�0�"� �x�2�=�"�4�1�5�"� �y�2�=�"�4�2�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�4�1�5�"� �y�1�=�"�4�2�0�"� �x�2�=�"�4�0�8�"� �y�2�=�"�4�4�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �<�l�i�n�e� �x�1�=�"�4�1�5�"� �y�1�=�"�4�2�0�"� �x�2�=�"�4�2�2�"� �y�2�=�"�4�4�0�"� �s�t�r�o�k�e�=�"�b�l�a�c�k�"� �s�t�r�o�k�e�-�w�i�d�t�h�=�"�2�"�/�>�
�
� � �
�
� � �<�!�-�-� �M�Q�T�T� �L�a�b�e�l� �f�o�r� �B�r�o�k�e�r�-�D�e�v�i�c�e� �-�-�>�
�
� � �<�t�e�x�t� �x�=�"�4�7�0�"� �y�=�"�4�6�0�"� �t�e�x�t�-�a�n�c�h�o�r�=�"�m�i�d�d�l�e�"� �f�o�n�t�-�f�a�m�i�l�y�=�"�A�r�i�a�l�"� �f�o�n�t�-�s�i�z�e�=�"�1�4�"� �f�o�n�t�-�w�e�i�g�h�t�=�"�b�o�l�d�"�>�M�Q�T�T� �(�J�S�O�N�)�<�/�t�e�x�t�>�
�
�<�/�s�v�g�>�
�
�
�
�
�
�#�#�#� �1�.�2� �K�e�y� �C�o�m�p�o�n�e�n�t�s�:�
�
�
�
�1�.� �M�C�P� �C�l�i�e�n�t���(�C�l�a�u�d�e� �A�I�)�
�
�
�
�-� �P�r�o�v�i�d�e�s� �u�s�e�r���i�n�t�e�r�f�a�c�e�
�
�
�
�-� �S�e�n�d�s� �J�S�O�N�-�R�P�C���r�e�q�u�e�s�t�s� �t�o� �M�C�P� �S�e�r�v�e�r�
�
�
�
�-� �D�i�s�p�l�a�y�s���r�e�s�u�l�t�s� �t�o� �u�s�e�r�
�
�
�
�1�.� �M�C�P� �S�e�r�v�e�r���(�P�y�t�h�o�n�/�F�a�s�t�M�C�P�)�
�
�
�
�-� �P�r�o�c�e�s�s�e�s� �c�l�i�e�n�t� �r�e�q�u�e�s�t�s�
�
�
�
�-� �C�o�m�m�u�n�i�c�a�t�e�s���w�i�t�h� �M�Q�T�T� �B�r�o�k�e�r�
�
�
�
�-� �T�r�a�n�s�l�a�t�e�s� �b�e�t�w�e�e�n� �J�S�O�N�-�R�P�C� �a�n�d� �M�Q�T�T� �p�r�o�t�o�c�o�l�s�
�
�
�
�1�.� �M�Q�T�T� �B�r�o�k�e�r� �(�1�7�2�.�3�0�.�1�.�1�0�0�)�
�
�
�
�-� �C�e�n�t�r�a�l� �h�u�b� �f�o�r� �M�Q�T�T���m�e�s�s�a�g�e�s�
�
�
�
�-� �R�o�u�t�e�s� �m�e�s�s�a�g�e�s� �b�e�t�w�e�e�n���s�e�r�v�e�r� �a�n�d� �d�e�v�i�c�e�s�
�
�
�
�-� �H�a�n�d�l�e�s� �p�u�b�l�i�s�h�/�s�u�b�s�c�r�i�b�e� �m�e�s�s�a�g�e���p�a�t�t�e�r�n�
�
�
�
�1�.� �I�o�T� �D�e�v�i�c�e� �(�T�e�m�p�e�r�a�t�u�r�e� �S�e�n�s�o�r�/�L�E�D�)�
�
�
�
�-� �P�h�y�s�i�c�a�l� �h�a�r�d�w�a�r�e� �d�e�v�i�c�e�s�
�
�
�
�-� �P�r�o�v�i�d�e�s���t�e�m�p�e�r�a�t�u�r�e� �d�a�t�a�
�
�
�
�-� �C�o�n�t�r�o�l�s� �L�E�D� �s�t�a�t�e�s���b�a�s�e�d� �o�n� �c�o�m�m�a�n�d�s�
�
�
�
�#�#�#� �D�a�t�a� �F�l�o�w�:�
�
�
�
�1�.� �C�l�i�e�n�t� ��! �S�e�r�v�e�r�:� �F�u�n�c�t�i�o�n� �c�a�l�l���i�o�e�h�u�b��m�q�t�t��g�e�t��t�e�m�p�e�r�a�t�u�r�e�(�)���o�r���i�o�e�h�u�b��m�q�t�t��s�e�t��l�e�d�(�)�
�
�
�
�2�.� �S�e�r�v�e�r����! �B�r�o�k�e�r�:� �P�u�b�l�i�s�h�e�s� �M�Q�T�T� �m�e�s�s�a�g�e���(�t�o�p�i�c�:� �i�o�e�h�u�b�/�m�c�p�/�c�o�m�m�a�n�d�)�
�
�
�
�3�.� �B�r�o�k�e�r� ��! �D�e�v�i�c�e�:� �F�o�r�w�a�r�d�s� �c�o�m�m�a�n�d� �t�o� �a�p�p�r�o�p�r�i�a�t�e���d�e�v�i�c�e�
�
�
�
�4�.� �D�e�v�i�c�e� ��! �B�r�o�k�e�r�:� �P�u�b�l�i�s�h�e�s� �r�e�s�p�o�n�s�e� �w�i�t�h� �d�a�t�a� �(�t�o�p�i�c�:� �i�o�e�h�u�b�/�m�c�p�/�r�e�s�p�o�n�s�e�)�
�
�
�
�5�.� �B�r�o�k�e�r� ��! �S�e�r�v�e�r�:� �D�e�l�i�v�e�r�s� �r�e�s�p�o�n�s�e� �t�o���s�u�b�s�c�r�i�b�e�d� �s�e�r�v�e�r�
�
�
�
�6�.� �S�e�r�v�e�r����! �C�l�i�e�n�t�:� �R�e�t�u�r�n�s� �f�u�n�c�t�i�o�n� �c�a�l�l���r�e�s�u�l�t� �w�i�t�h� �p�r�o�c�e�s�s�e�d� �d�a�t�a�
�
�
�
�T�h�i�s� �v�e�r�t�i�c�a�l���l�a�y�o�u�t� �c�l�e�a�r�l�y� �s�h�o�w�s� �t�h�e� �h�i�e�r�a�r�c�h�i�c�a�l� �f�l�o�w� �o�f� �c�o�m�m�u�n�i�c�a�t�i�o�n� �f�r�o�m� �c�l�i�e�n�t� �t�h�r�o�u�g�h���s�e�r�v�e�r� �a�n�d� �b�r�o�k�e�r� �t�o� �t�h�e� �I�o�T� �d�e�v�i�c�e�s�.�
�
�
�
�
�
�#�#� �2�.� ��¤�\� �l�1�
�
�
�
�-� ���������l���:� �F�a�s�t�M�C�P�
�
�-� ������� ��\���\���:� �M�Q�T�T�,� �J�S�O�N�-�R�P�C� �2�.�0�
�
�-� ���l�� ��Ŵ���:� �P�y�t�h�o�n�
�
�-� ������� �0�����:� �(�ij �!��,� �L�E�D� �ȴ�
�
�
�
�#�#� �3�.� �M�Q�T�T� �$��
�
�
�
��
�� � �M�Q�T�T�_�B�R�O�K�E�R� �=� �"�1�7�2�.�3�0�.�1�.�1�0�0�"� � �M�Q�T�T�_�P�O�R�T� �=� �1�8�8�3� � �M�Q�T�T�_�U�S�E�R�N�A�M�E� �=� �"�i�o�e�h�u�b�"� � �M�Q�T�T�_�P�A�S�S�W�O�R�D� �=� �"�p�a�s�s�w�o�r�d�"� � �M�Q�T�T�_�P�U�B�L�I�S�H�_�T�O�P�I�C� �=� �"�i�o�e�h�u�b�/�m�c�p�/�c�o�m�m�a�n�d�"� � �M�Q�T�T�_�S�U�B�S�C�R�I�B�E�_�T�O�P�I�C� �=� �"�i�o�e�h�u�b�/�m�c�p�/�r�e�s�p�o�n�s�e�"� � �
��
�
�
�
�
�#�#� �4�.� �l��� �0���
�
�
�
�#�#�#� �4�.�1� �(�ij �!�� �(��i�o�e�h�u�b�_�m�q�t�t�_�g�e�t�_�t�e�m�p�e�r�a�t�u�r�e�
�)�
�
�
�
�-� ���$�����:� �M�Q�T�T�|� ���t� �(�ij �<����� �֬� �(�ij �p�t�0�|� �}Ǵ�5�Ȳ�.�
�
�-� ����X� ����:� �֬� �(�ij(�-�(�)�|� �8�����\� ��X�
�
�-� ���0��� �@���:� �1�3���
�
�
�
�#�#�#� �4�.�2� �L�E�D� �ȴ� �(��i�o�e�h�u�b�_�m�q�t�t�_�s�e�t�_�l�e�d�
�)�
�
�
�
�-� ���$�����:� �M�Q�T�T�|� ���t� ����� �@�X� �L�E�D� �����|� �ȴ�i�Ȳ�.�
�
�-� ����|���0���:�
�
� � �-� ��p�i�n�
� �(���)�:� �L�E�D� �@� ���8� �(�0����:� �0�)�
�
� � �-� ��s�t�a�t�e�
� �(���)�:� �L�E�D� ����� �(�1�=����,� �0�=�����)�
�
�-� ����X� ����:� ����� �1��� ��ŀ�(�T�r�u�e�/�F�a�l�s�e�)�
�
�
�
�#�#� �5�.� �T����� ����
�
�
�
�#�#�#� �5�.�1� �(�ij �!�� ��ƭ�
�
�
�
��
��j�s�o�n� � �{� � � � �"�f�u�n�c�t�i�o�n�"�:� �"�i�o�e�h�u�b�_�m�q�t�t�_�g�e�t�_�t�e�m�p�e�r�a�t�u�r�e�"�,� � � � �"�p�a�r�a�m�s�"�:� �{� � � � � � �"�p�i�n�"�:� �1�3� � � � �}� � �}� � �
��
�
�
�
�
�#�#�#� �5�.�2� �(�ij �!�� �Q���
�
�
�
��
��j�s�o�n� � �{� � � � �"�f�u�n�c�t�i�o�n�"�:� �"�i�o�e�h�u�b�_�m�q�t�t�_�g�e�t�_�t�e�m�p�e�r�a�t�u�r�e�"�,� � � � �"�r�e�s�u�l�t�"�:� �2�6�.�5�,� � � � �"�t�i�m�e�s�t�a�m�p�"�:� �"�7�4�9�8�1�7�"� � �}� � �
��
�
�
�
�
�#�#�#� �5�.�3� �L�E�D� �ȴ� ��ƭ�
�
�
�
��
��j�s�o�n� � �{� � � � �"�f�u�n�c�t�i�o�n�"�:� �"�i�o�e�h�u�b�_�m�q�t�t�_�s�e�t�_�l�e�d�"�,� � � � �"�p�a�r�a�m�s�"�:� �{� � � � � � �"�p�i�n�"�:� �0�,� � � � � � �"�s�t�a�t�e�"�:� �1� � � � �}� � �}� � �
��
�
�
�
�
�#�#�#� �5�.�4� �L�E�D� �ȴ� �Q���
�
�
�
��
��j�s�o�n� � �{� � � � �"�f�u�n�c�t�i�o�n�"�:� �"�i�o�e�h�u�b�_�m�q�t�t�_�s�e�t�_�l�e�d�"�,� � � � �"�r�e�s�u�l�t�"�:� �t�r�u�e�,� � � � �"�t�i�m�e�s�t�a�m�p�"�:� �"�7�4�9�8�2�0�"� � �}� � �
��
�
�
�
�
�#�#� �6�.� ���ٳ �)���
�
�
�
�1�.� ������ ��0�T���:�
�
� � � �-� �M�Q�T�T� �t�|�tǸŸ� ���1� �� �$��
�
� � � �-� �l�ų ���=� �$�� �(�i�o�e�h�u�b�/�m�c�p�/�r�e�s�p�o�n�s�e�)�
�
� � � �-� �F�a�s�t�M�C�P� �xǤ�4Ѥ� ���1�
�
�
�
�2�.� ����� ��\�8�����:�
�
� � � �-� �M�Q�T�T� ��\����� ���
�
� � � �-� �1���|���ܴ ����ܴ��� �T����� ���� ���0�
�
�
�
�3�.� ���h�� �8֜� ��̬���:�
�
� � � �-� �M�C�P� �ijl� �8֜� ��� �t��� �h�� ���
�
� � � �-� �M�Q�T�T�|� ���t� ��ƭ� �ȡ�
�
� � � �-� �Q��� ���0� �(�\��� �5��)�
�
� � � �-� ����� ��X�
�
�
�
�4�.� ���T����� ���� ��̬���:�
�
� � � �-� �l�ų ���=���� �T����� ����
�
� � � �-� �J�S�O�N� ���� �� �p�t�0� ��͜�
�
� � � �-� �Q��� ���� �$��
�
�
�
�#�#� �7�.� �$�X� ��̬�
�
�
�
�-� ���Q��� ��Є�D�����:� �5�� �tǴ��� �Q���t� ���<�t� �0���� ��X�
�
�-� ���J�S�O�N� ���� �$�X���:� ��ǻ�� ����X� �T����� ��̬�
�
�-� ���M�Q�T�T� ��� �$�X���:� ��� ���(� ��� �$�X� �T����� ���%�
�
�
�
�#�#� �8�.� ����� �)���
�
�
�
�#�#�#� �8�.�1� ���� ���
�
�
�
��
��b�a�s�h� � �p�y�t�h�o�n� �m�c�p�_�s�e�r�v�e�r�.�p�y� � �
��
�
�
�
�
�#�#�#� �8�.�2� �t�|�tǸŸ���� �h�� �8֜�
�
�
�
��
��p�y�t�h�o�n� � �#� �M�C�P� �t�|�tǸŸ� ���� � �t�e�m�p�e�r�a�t�u�r�e� �=� �c�l�i�e�n�t�.�i�n�v�o�k�e�(�"�i�o�e�h�u�b�_�m�q�t�t�_�g�e�t�_�t�e�m�p�e�r�a�t�u�r�e�"�)� � �p�r�i�n�t�(�f�"�֬� �(�ij:� �{�t�e�m�p�e�r�a�t�u�r�e�}���C�"�)� � � � �#� �L�E�D� ��0� � �r�e�s�u�l�t� �=� �c�l�i�e�n�t�.�i�n�v�o�k�e�(�"�i�o�e�h�u�b�_�m�q�t�t�_�s�e�t�_�l�e�d�"�,� �{�"�p�i�n�"�:� �0�,� �"�s�t�a�t�e�"�:� �1�}�)� � �p�r�i�n�t�(�f�"�L�E�D� ��0� �����:� �{�'�1���'� �i�f� �r�e�s�u�l�t� �e�l�s�e� �'���(�'�}�"�)� � �
��
�
�
�
�
�#�#� �9�.� �m�c�p� �s�e�r�v�e�r� �$�� �(�w�i�n�d�o�w�s� �c�l�a�u�d�e� �d�e�s�k�t�o�p�)�
�
��
�� � �{� � � � �"�m�c�p�S�e�r�v�e�r�s�"�:� �{� � � � � � �"�I�o�E�H�u�b�M�q�t�t�M�c�p�S�e�r�v�e�r�"�:� �{� � ��� ��� ��� ��� �"�c�o�m�m�a�n�d�"�:� � � ��� ��� ��� ��� � � � �"�Y�o�u�r� �p�r�o�j�e�c�t� �p�a�t�h�\�\�.�v�e�n�v�\�\�S�c�r�i�p�t�s�\�\�p�y�t�h�o�n�.�e�x�e�"�,� � � � ��� ��� ��� ��� �"�a�r�g�s�"�:� �[� � � ��� ��� ��� ��� �"�Y�o�u�r� �p�r�o�j�e�c�t� �p�a�t�h�\�\�m�c�p�_�s�e�r�v�e�r�.�p�y�"� � � ��� ��� ��� ��� �]� � � � � � � � �}� � � � � � � � �}� � �}� � �
��
�
�
�
�
�#�#� �1�0�.� �p�y�t�h�o�n� �Xֽ� �l���(�w�i�n�d�o�w�s�)�
�
��
�� � �c�d� �"�y�o�u�r� �p�r�o�j�e�c�t� �p�a�t�h�"� � �u�v� �v�e�n�v� �.�v�e�n�v� � �u�v� �p�i�p� �i�n�s�t�a�l�l� �m�c�p� � �u�v� �p�i�p� �i�n�s�t�a�l�l� �p�a�h�o�-�m�q�t�t� � � �
��
�
�
�
�
�#�#� �1�1�.� ��\� ���m� �� �8�ବ�m�
�
�
�
�-� �M�Q�T�T� ��\����� ��� ��tǴ�|� �i�Ȳ�.�
�
�-� �Q��� ��̬� ��� �'�f�u�n�c�t�i�o�n�'� �D�ܴ|� �U�x�X��� ���\� �Q���D� ���ļi�Ȳ�.�
�
�-� ���� ������ �T����ɔ� �s�t�d�o�u�t�t� �D�̲ �s�t�d�e�r�r�\� ���%����|� �i�Ȳ�.�
�
�-� ���� �X�ܴ�ƴ�@� �����X�0� ��t���� �t��� ���X���� �M�Q�T�T� �t�|�tǸŸ��� ������|� �i�Ȳ�.�
�
�
�
�