Generic Pelion Device Management example for various Advantech modules.

This example is known to work great on the following platforms:

Example Functionality

This example showcases the following device functionality:

  • On timer button increment, simulate Pelion LWM2M button resource change

Use this example with Mbed CLI

1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/Advantech/code/pelion-example-common
cd pelion-example-common

2. Download your developer certificate from pelion portal

3. Compile the program

mbed compile -t <toolchain> -m <TARGET_BOARD>

(supported toolchains : GCC_ARM / ARM / IAR)

4. Copy the binary file pelion-example-common.bin to your mbed device.

drivers/network/COMPONENT_WIFI_IDW04A1/SPWFSA04/SPWFSA04.h

Committer:
chuanga
Date:
2019-03-12
Revision:
0:43ff9e3bc244

File content as of revision 0:43ff9e3bc244:

/* SPWFSA04 Device
 * Copyright (c) 2015 ARM Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
#ifndef SPWFSA04_H
#define SPWFSA04_H

#include "mbed.h"
#include "ATCmdParser.h"
#include "BlockExecuter.h"

#include "./spwfsa04_at_strings.h"
#include "../SPWFSAxx.h"

class SpwfSAInterface;

/** SPWFSA04 Interface class.
    This is an interface to a SPWFSA04 module.
 */
class SPWFSA04 : public SPWFSAxx
{
public:
    SPWFSA04(PinName tx, PinName rx,
             PinName rts, PinName cts,
             SpwfSAInterface &ifce, bool debug,
             PinName wakeup, PinName reset);

    /**
     * Open a socketed connection
     *
     * @param type the type of socket to open "u" (UDP) or "t" (TCP)
     * @param id id to get the new socket number, valid 0-7
     * @param port port to open connection with
     * @param addr the IP address of the destination
     * @return true only if socket opened successfully
     */
    bool open(const char *type, int* id, const char* addr, int port);

    /** Scan for available networks
     *
     * @param  ap    Pointer to allocated array to store discovered AP
     * @param  limit Size of allocated @a res array, or 0 to only count available AP
     * @return       Number of entries in @a res, or if @a count was 0 number of available networks, negative on error
     *               see @a nsapi_error
     */
    nsapi_size_or_error_t scan(WiFiAccessPoint *res, unsigned limit);

private:
    bool _recv_ap(nsapi_wifi_ap_t *ap);

    virtual int _read_in(char*, int, uint32_t);
};

#endif // SPWFSA04_H