Giter Club home page Giter Club logo

mqttclient's Introduction

mangOH

Base project containing apps and drivers for the mangOH hardware

Setup

  1. Download and install the appropriate toolchain for your WP module from source.sierrawireless.com
    1. Click AirPrime > WP Series > Your WP module > Firmware
    2. Scroll to near the bottom of the page and follow the Release X Components link
    3. Download the 64-bit ToolChain
    4. Run chmod a+x toolchain.sh on the toolchain file (name will vary depending on module)
    5. Run the toolchain installer: ./toolchain.sh and install to /opt/swi/y22-ext_SWI9X07Y_02.14.04.00. Alter the previous path so that it is consistent with the yocto version and Legato Linux distribution version.
    6. Run ln -sf /opt/swi/y22-ext_SWI9X07Y_02.14.04.00 /opt/swi/y22-ext-wp76xx, again modifying this command slightly to match the toolchain/module.
  2. Yocto 1.7 based systems have a problem with their toolchain where some scripts required for building kernel modules aren't built. This currently affects the WP85 and WP75 release 15. To correct this issue, do the following.
    1. export PATH=$PATH:/opt/swi/y17-ext-wpXXXX/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi (Note that the y17-ext-wpXXXX will be something like y17-ext-wp750x depending on the module.)
    2. cd /opt/swi/y17-ext-wpXXXX/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/src/kernel
    3. sudo chown -R $USER .
    4. ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- make scripts
    5. sudo chown -R root .
  3. Get the Legato source code as described by the Legato README
  4. Define an environment variable describing the location of the legato framework: export LEGATO_ROOT=~/legato_workspace/legato
  5. cd to the home directory and clone the mangOH source code by running git clone --recursive git://github.com/mangOH/mangOH
  6. Build mangOH for your board/module combination by doing using a command like make red_wp76xx in the mangOH folder. Possible boards are red and green and possible modules are wp85, wp750x, wp76xx and wp77xx. Note that this will build the necessary parts of the Legato framework from $LEGATO_ROOT as well.
  7. Run $LEGATO_ROOT/bin/update build/update_files/red/mangoh.wp76xx.update 192.168.2.2 to program the update file to the mangOH board connected via a USB cable to the CF3 USB port. Note that the previous command will need to be changed slightly depending on which board and module is in use. Also note that it may be convenient to put $LEGATO_ROOT/bin into your $PATH variable for easier access to the update command.

mqttclient's People

Contributors

dclark75 avatar dpfrey avatar sylvainpastor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mqttclient's Issues

IP disconnected - mqtt_Connect() behaviour and mqtt detecting connection state

I have found that if IP is disconnected when I call mqtt_Connect() the callback handler fails with isConnected == false. Which seems reasonable.

Later when the IP connection is connected no attempt is made by mqttClient to connect. Not sure if this is expected behaviour?

An mqtt_Status() function would be useful to check the connect / connecting status maybe to report
mqttClient_t.session.isConnected

I can see mqttClient_t* mqttMain_getClient(void); in the original IBM mqtt code. As Legato IPC doesn't support structures I think mqtt_Status() could work around this. Maybe in an ascii Key / Value to allow read access to other structure members as well?

Legato client clean up - following Legato client app stop

I noticed that when a simple legatoClient app is mqtt connected to the mqttClient and the user manually stops the legatoClient app. The next time the legatoClient app starts it fails with
"mqtt disconnected: err:1 subErr:-1"

A work around is to mqtt_Disconnect() at the start of legatoClient. I will add a SIGTERM handler to mqtt_Disconnect() which is probably a better workaround.

But maybe mqttClient could detect legatoClient closing and clean up ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.