NNN40 XmppClient first commit

Dependencies:   WIFI_API_32kRAM mbed

How to use Demo code

  • Step1: Create Accounts, the accounts information as follow, (Demo server used Openfire3.9.3)
  1. Server Address: xmpp.koryo.com.tw
  2. Account1's name and password (nnn40b/123456)
  3. Account2's name and password (app2/123456)
  • Step2: Burn demo code to NNN40 module.

You can drag and drop the sample code to NNN40 module.

  • Step3: Login XMPP client by mobile or PC side.

Our demonstration is presented in Android phone, and we install ”Xabber” application for XMPP client login. We use “app2” account to login “xmpp.koryo.com.tw” server.

  • Step4: Login XMPP client by NNN40 module.

After turning on NNN40 module, the module will login to XMPP automatically. In addition, the module also sends a message to name2.

  • Step5: Turn on or turn off LED

you can chat with module and ask module to turn on or turn off LED.

How to install Openfire (XMPP Server)

If you want setup XMPP server by yourself, the Installation Guide as follow:

https://www.igniterealtime.org/builds/openfire/docs/latest/documentation/install-guide.html

the download link as follow (Openfire3.9.3):

http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire_3_9_3.exe

DEMO video

main.cpp

Committer:
lester0507
Date:
2015-09-15
Revision:
0:464110a4a6f1
Child:
1:1571d6a1cb27

File content as of revision 0:464110a4a6f1:

#include "mbed.h"
#include "MXmppClient.hpp"
#include "WIFIDevice.h"

#define SSID "SSID"
#define AP_PASSWORD "0123456789"

#define USER_NAME1 "name1"
#define DOMAIN "192.168.0.1"
#define PASSWORD1 "password1"

#define USER_NAME2 "name2"

WIFIDevice wifi;
MxmppClient mXmppClient(USER_NAME1,DOMAIN,PASSWORD1,5222);
void onGetMessage(const char*);

DigitalOut led1(p7);

int main(void)
{
    //set given SSID and PW as the highest priority
    wifi.setNetwork(SSID, AP_PASSWORD, 0);
   
    mXmppClient.login();
    if(mXmppClient.isLogin()) {
        mXmppClient.sendMessageToClient(USER_NAME2,"Login to XMPP server");
    }
    while(true) {
        mXmppClient.setMessageTracker(onGetMessage);
    }
}

void onGetMessage(const char *msg)
{
    if(strcmp(msg,"turn on")==0) {
        mXmppClient.sendMessageToClient(USER_NAME2,"The lights is on");
        led1=1;
    } else if(strcmp(msg,"turn off")==0) {
        mXmppClient.sendMessageToClient(USER_NAME2,"The lights is off");
        led1=0;
    } 
}