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

Committer:
lester0507
Date:
Tue Sep 15 01:26:54 2015 +0000
Revision:
0:464110a4a6f1
Child:
1:1571d6a1cb27
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lester0507 0:464110a4a6f1 1 #include "mbed.h"
lester0507 0:464110a4a6f1 2 #include "MXmppClient.hpp"
lester0507 0:464110a4a6f1 3 #include "WIFIDevice.h"
lester0507 0:464110a4a6f1 4
lester0507 0:464110a4a6f1 5 #define SSID "SSID"
lester0507 0:464110a4a6f1 6 #define AP_PASSWORD "0123456789"
lester0507 0:464110a4a6f1 7
lester0507 0:464110a4a6f1 8 #define USER_NAME1 "name1"
lester0507 0:464110a4a6f1 9 #define DOMAIN "192.168.0.1"
lester0507 0:464110a4a6f1 10 #define PASSWORD1 "password1"
lester0507 0:464110a4a6f1 11
lester0507 0:464110a4a6f1 12 #define USER_NAME2 "name2"
lester0507 0:464110a4a6f1 13
lester0507 0:464110a4a6f1 14 WIFIDevice wifi;
lester0507 0:464110a4a6f1 15 MxmppClient mXmppClient(USER_NAME1,DOMAIN,PASSWORD1,5222);
lester0507 0:464110a4a6f1 16 void onGetMessage(const char*);
lester0507 0:464110a4a6f1 17
lester0507 0:464110a4a6f1 18 DigitalOut led1(p7);
lester0507 0:464110a4a6f1 19
lester0507 0:464110a4a6f1 20 int main(void)
lester0507 0:464110a4a6f1 21 {
lester0507 0:464110a4a6f1 22 //set given SSID and PW as the highest priority
lester0507 0:464110a4a6f1 23 wifi.setNetwork(SSID, AP_PASSWORD, 0);
lester0507 0:464110a4a6f1 24
lester0507 0:464110a4a6f1 25 mXmppClient.login();
lester0507 0:464110a4a6f1 26 if(mXmppClient.isLogin()) {
lester0507 0:464110a4a6f1 27 mXmppClient.sendMessageToClient(USER_NAME2,"Login to XMPP server");
lester0507 0:464110a4a6f1 28 }
lester0507 0:464110a4a6f1 29 while(true) {
lester0507 0:464110a4a6f1 30 mXmppClient.setMessageTracker(onGetMessage);
lester0507 0:464110a4a6f1 31 }
lester0507 0:464110a4a6f1 32 }
lester0507 0:464110a4a6f1 33
lester0507 0:464110a4a6f1 34 void onGetMessage(const char *msg)
lester0507 0:464110a4a6f1 35 {
lester0507 0:464110a4a6f1 36 if(strcmp(msg,"turn on")==0) {
lester0507 0:464110a4a6f1 37 mXmppClient.sendMessageToClient(USER_NAME2,"The lights is on");
lester0507 0:464110a4a6f1 38 led1=1;
lester0507 0:464110a4a6f1 39 } else if(strcmp(msg,"turn off")==0) {
lester0507 0:464110a4a6f1 40 mXmppClient.sendMessageToClient(USER_NAME2,"The lights is off");
lester0507 0:464110a4a6f1 41 led1=0;
lester0507 0:464110a4a6f1 42 }
lester0507 0:464110a4a6f1 43 }