MQTT Configuration and Applications

1. MQTT CONFIG BLOĞU
MQTT ayarlarını yapılandırmak için öncelikle projenize Mqtt Config bloğunu eklemeniz gerekir.

Pin Açıklamaları
I1: Tcp soket bloğu bağlantısı için kullanılır. Mqtt Config bloğu Tcp soket bloğu olmadan kullanılamaz.

TCP Soket Bloğu Bağlantısı

TCP Soket bloğunun çıkışı Mqtt Config bloğunun I1 girişine bağlanır. TCP Soket bloğunun özel ayarları mqtt bağlantısı için şu şekilde yapılmalıdır;


 * Soket tipi olarak TCP Client seçilmeli,


 * Server IP kısmına bağlanılacak mqtt server IP’si girilmeli,


 * Server Port Kısmına mqtt server port bilgisi girilmeli,


 * Medya tipi ise kullanılan mikrodev cihazın özelliğine göre Ethernet, GSM veya WI-FI seçilebilir.

I2: Periyodik data transferi yapılmak istenildiğinde, bu girişten mqtt config bloğuna tetik verilmelidir. Eğer bu giriş boş bırakılırsa veriler belirlenen diğer koşullara göre iletilir.

#Mqtt0: Q1 çıkışıdır. Bu çıkıştan gelen bilgiler şu şekildedir;


 * 0: TCP_DISCONNECTED;
 * 1: TCP_CONNECTING,
 * 2: MQTT_CONNECTING,
 * 3: MQTT_CONNECTED.

Q2: Q1 çıkışından gelen bilgilere göre, Q2 çıkışından gelen bilgiler şu anlama gelir;


 * 0: E_MQTT_SEND_CONNPACK,
 * 1: E_MQTT_STATE_IDLE,
 * 2: E_MQTT_STATE_SUBSCRIBING
 * 3: E_MQTT_STATE_PUBLISHING

Q3: Bu çıkıştan Data Publish için Timeout bilgisi okunur.

Blok Özel Ayarları
Mqtt Config bloğuna çift tıklanara özel ayarlar penceresi açılır. Burdan Bağlanılacak mqtt server için Cliend id, Username, Password gibi değişkenler girilebilir. Ayrıca Keep Alive süresi (saniye cinsinden) ve Clean Session da burdan ayarlanır. Bu ekrandaki seçeneklerden Use Device Serial as UserName seçilirse, cihazın seri numarası Username olarak tanımlanmış olur.

Topics to Publish
Bu tabloda verileri brokera publish etmek için Publish topic girilir. Tabloda Add Topic butonuna basılarak çıkan ekrandan topic name girilir. Qos, Retain ve payload ayarları da bu sayfadan yapılır.

Publish Blocs For Topic
Bu toplada ilgili Topic için Publish yapılacak bloklar seçilir. Publish to topic tablosunda topic tıklandıktan sonra, Add Entry butonu aktif olur bu butona basılarak projede publish edilmek istenen blok seçilir. Gelen ekrandan Verinin nasıl iletileceği de seçilebilir. Seçilen bloğun hat etiketi ile publish edilmesi isteniyorsa, bloğunun özel ayarlarından Mqtt Format kısmından view and set seçilmelidir. Bu ekranda, Send On Change seçimi yapılır. Change value değerin ne kadar değiştiğinde gönderilmesi isteniyorsa o değerin girilmesi içindir. Örneğin 5 girilirse değer 5 birim değişince veri gönderilir. 0 yazılırsa her değişimde veri iletilir.

Blok özel ayarları, burda eğer hat etiketi ile değer gönderilmek isteniyorsa view and set seçilir.

Topics To Subscribe
Bu tabloda brokerdan cihaza veri gönderilmek için ilgili subscribe topic girilir. Add Topic butonuyla gelen ekrandan topic name, Qos ve Parse Format ayarlanır.

Subscribed Block values for Topic
Bu ekrandan subscribe topic için ilişkilendirilecek bloklar eklenir. Hat etiketlerini kullanmak için yine ilgili bloğun özel ayarlarından mqtt formatı view and set olacak şekilde seçilmelidir. Bütün ayarlar tanımladıktan sonra proje cihaza gönderilebilir. Bağlantı kontrolü için Mqtt Config bloğunun Q1 çıkışı gözlemlenebilir. Ya da mqtt config bloğuna bağlı olan TCP soket bloğuna, mikroterminal programından AT+SOCKET=,? Sorgusu gönderilerek Mqtt server bağlantısı kontrol edilebilir. Yine mikroterminal programından AT+PROTOCOLMAP=? Sorgusu gönderilerek, cihaza gönderilen projedeki topicler ve bloklar kontrol edilebilir.

UBIDOTS
Mikrodev PLC  ubidots mqtt ile kullanılmak istenildiğinde, yukarıda anlatılan ayarlara ilaveten şu adımlar izlenmelidir;

1.      Mqtt Config bloğu özel ayarlarından Username kısmına Ubidots da oluşturulmuş hesabın Access Key  girilmelidir.

2.      Publish Topic: /v1.6/devices/ olarak girilir. İlişkilendirilecek bloklar için ubidots hesabında değişken tanımlamaya gerek yoktur. İlk Gönderilen data ile değişkenler Ubidots tarafında otomatik oluşturulur. Veri blok numarasıyla veya hat etiketiyle Ubidots serverinde okunur.

3.      Subscribe Topic: /v1.6/devices//  olarak girilir. Her subscribe edilecek veri için ayrı ayrı bağlık tanımlanması gerekir. Veriler Ubidots ortamında tanımlanmalıdır. Eğer Hat etiketi kullanılacaksa Ubidots da oluşturulan değişken hat etiketiyle aynı isimde olmalıdır, eğer hat etiketi kullanılmadan sadece blok numarası ile iletim yapılacaksa blok numarası ile aynı isimli değişken ubidots ortamında tanımlanmalıdır.

Antares.id
Antares.id mqtt server için, kullanıcı hesabı oluşturulduktan sonra şu adımlar izlenir;

1.      Mqtt Config bloğu özel ayarlarından Username kısmına Antares.id de oluşturulmuş hesabın Access Key girilmelidir.

2.      Publish Topic: // olarak girilir.

3.      Subscribe Topic: /oneM2M/resp/antares-cse//json olarak tanımlanır.

Diğer Kaynaklar İçin;
https://wiki.mikrodev.com/wiki/MQTT_Communication

https://mikrodev.miraheze.org/wiki/Main_Page

Adreslerini kullanabilirsiniz.