Komut
MQTT
Açıklama
Bu Bağlayıcı bir Arduino çiziminde MQTT kullanarak iletişim kurmaya izin verir. MQTT bağlayıcısını kullanmak için izlemeniz gereken adımların altında:
- Kabuk bağlayıcısını kurun;
- konektörü etkinleştirin;
- basit bir eskiz yaz;
- taslağı yükleyin ve keyfini çıkarın.
Kurulum konektörü
MQTT Bağlayıcı yapılandırma dosyasını aşağıdaki yolda bulabilirsiniz: /usr/lib/python2.7/ciao/connectors/mqtt/mqtt.json.conf
"name" : "mqtt" ,
"description" : "Ciao Core için MQTT (v3.1) konektörü" ,
"sürüm" : "0.0.1" ,
"ciao" : {
"host" : "127.0.0.1" ,
"bağlantı noktası" : 8900
} ,
"params" : {
"host" : "YOUR_MQTT_IP_OR_HOSTNAME" ,
"bağlantı noktası" : 1883 ,
"kullanıcı adı" : "USERNAME_IF_REQUIRED" ,
"password" : "PASSWORD_IF_REQUIRED" ,
"clean_session" : doğru ,
"qos" : 2 ,
"Subscribed_topic" : [ "TOPIC_TO_SUBSCRIBE" ] ,
"client_id" : "" ,
"lwt_topic" : "" ,
"lwt_message" : ""
}
}
Başlangıçtaki parametreler dahili kullanım içindir, ne yaptığınızı tam olarak bilmiyorsanız bunları (ad, açıklama, sürüm, ciao) düzenlemeyin.
Yapılandırılabilir kısım, "params" tuşu ile tanımlanan kısımdır:
- host (gerekli): kullanmak istediğiniz MQTT sunucusunun IP'si veya host adı (bir dize olmalıdır)
- port (zorunlu): MQTT sunucunuzun dinlediği portu belirtir (bir tam sayı olmalıdır)
- kullanıcı adı ve şifre: mesaj panosunda kullanılacak kullanıcı adını ve şifresini girin (dize olmalıdır)
- clean_session: (boolean), bekleyen iletilerin bir önceki oturuma göre silinip silinmeyeceğini belirtir. Varsayılan ayar DOĞRU olarak ayarlanmıştır.
- qos: (integer) varsayılan bu değer 2 olarak ayarlanır, düşük değerler verimliliği artırır ancak gecikmeyi artırır.
- Subscribed_topic (zorunlu): MQTT aracılığıyla yürütmesi gereken konuyu belirtir.
- client_id (zorunlu): bir kullanıcı adı belirtir, tek odaklı olmalıdır.
- lwt_topic: (son vasiyetname konusu), bağlantınız kesilirse mesaj yazılacağı bir konuyu belirtir.
- lwt_message: (son vasiyetname mesajı): bağlantınız kesilirse yazılacağı mesajı belirtir.
Bağlayıcıyı etkinleştir
Her Ciao bağlayıcısında Ciao Core için bir yapılandırma dosyası bulunmalıdır; bağlayıcıyı etkinleştirmek için bu basit dosya zorunludur.
MQTT bağlayıcısını etkinleştirmek için lütfen dosyayı aşağıdaki yolda düzenleyin: /usr/lib/python2.7/ciao/conf/mqtt.ciao.json.conf
"name" : "mqtt" ,
"etkin" : doğru ,
"type" : "yönetilen" ,
[ ... ]
}
Etkinleştirilen anahtar true (boole değeri) olarak ayarlanmalıdır.
Bu, MQTT bağlayıcısını etkinleştirmek için düzenlemeniz gereken tek parametredir. Bittiğinde, LininoOS'unuz Ciao Core ve MQTT konnektörü kullanacak şekilde hazır olacak ve yapılandırılacaktır.
Misal
#define LED 13
String TOPIC = "topic_subscribed";
void setup() {
pinMode(LED, OUTPUT);
Ciao.begin();
}
void loop() {
CiaoData data = Ciao.read("mqtt");
if (!data.isEmpty() && !data.isError()) {
String id = data.get(0);
String sender = data.get(1);
String message = data.get(2);
message.toLowerCase();
if (message == "ciao" )
Ciao.write("mqtt", TOPIC, "Hello, i'm Arduino :-) ");
else if ( message == "led on") {
digitalWrite(LED, HIGH);
Ciao.write("mqtt", TOPIC, "LED ON");
}
else if ( message == "led off") {
digitalWrite(LED, LOW);
Ciao.write("mqtt", TOPIC, "LED OFF");
}
else
Ciao.write("mqtt", TOPIC, "Sorry i don't understand :-( ");
}
}