Micropython Bluemix

From wiki.emacinc.com
Jump to: navigation, search

Bluemix is a cloud computing service developed by IBM.

Bluemix has the capabilities to host a variety of services from web services to crypto-currencies.

This Wiki contains information on how to use the methods that EMAC has developed for Micropython to interact with IBM Bluemix IoT.

EMAC methods for Micropython with IBM Bluemix

class Bluemix

  • This class provides a tailored interface to the MQTTClient class, for the purpose of connecting to the IBM Bluemix IoT service. It is imported from the 'bluemix' module. The following is an example usage.
  • client = bluemix.Bluemix(ORG, DEVICE_ID, DEVICE_TYPE, AUTH_TOKEN)
    client.connect()
    msg = '{d:{value:"42"}}'
    client.publish('desired/topic/to/use', msg)
    

Constructor

  • bluemix.Bluemix(ORG, DEVICE_ID, DEVICE_TYPE, AUTH_TOKEN, ssl=False)
    
  • This constructor creates the Bluemix object, which inherits the MQTTClient Class. Returns the Bluemix object. Arguments are:
    • ORG The organization ID of the Bluemix service that is to be connected to
    • DEVICE_ID The unique Bluemix identifier for the board that is connecting.
    • DEVICE_TYPE The Bluemix board type.
    • AUTH_TOKEN The secret authentication token for the board that is connecting.
    • ssl Keyword only. False by default. Will use the port: 8883.

Methods

  • Bluemix.connect()
    
    • Connect to the Bluemix IoT service using the credentials provided in the constructor.
  • Bluemix.disconnect()
    
    • Disconnect from the Bluemix service.
  • Bluemix.publish(topic, message)
    
    • Send the given message to the given topic. This method requires the board to be connected to the Bluemix service.
  • Bluemix.set_cb(callback)
    
    • Sets the callback to use when subscribed to a topic. An example callback follows:
      • def sub_cb(topic, msg):
             print(topic, msg)
        
    • The callback should have two arguments, one for the topic and one for the message. This method should be called before connect() if subscribe() is to be used.
  • Bluemix.subscribe(topic)
    
    • Subscribe to the given topic. This method requires the board to be connected, and a callback set with set_cb().
  • Bluemix.wait_msg()
    
    • Waits for a message to appear on the topic that is subscribed to.