Difference between revisions of "WISE-3610 LoRa Gateway"

From ESS-WIKI
Jump to: navigation, search
Line 17: Line 17:
  
 
== Ubuntu 16.04 x64 Docker Image ( for building LoRa SDK ) ==
 
== Ubuntu 16.04 x64 Docker Image ( for building LoRa SDK ) ==
<pre>Copy OpenWRT BSP SDK ( WISE-3610_SDK_20170405_0f7f137.tar.gz ) in your Linux host
+
<pre>Copy OpenWRT BSP SDK ( WISE-3610_IMAGE_20170405_0f7f137.tar.bz2 ) in your Linux host
  
tar xvzf WISE-3610_SDK_20170405_0f7f137.tar.gz
+
tar jxvf WISE-3610_IMAGE_20170405_0f7f137.tar.bz2
  
 
cd ./WISE-3610_SDK_20170405_0f7f137/
 
cd ./WISE-3610_SDK_20170405_0f7f137/

Revision as of 07:12, 14 July 2017

ADF Demo 

How to build mbed client sample and copy to target board

sudo docker exec -it lora bash

cd /home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137

export ARMGCC_DIR=`pwd`/qsdk/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/

cd qsdk/

make package/mbed/clean package/mbed/prepare package/mbed/compile V=s -j 8

scp eric@172.22.12.213:/home/eric/Work/LoRa/Docker/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/qsdk/build_dir/target-arm_cortex-a7_uClibc-0.9.33.2_eabi/mbed/mbed-cloud-client-1.1-Linux-example-master/mbed-cloud-client-example-ref/Debug/mbedCloudClientExample.elf .


Ubuntu 16.04 x64 Docker Image ( for building LoRa SDK )

Copy OpenWRT BSP SDK ( WISE-3610_IMAGE_20170405_0f7f137.tar.bz2 ) in your Linux host

tar jxvf WISE-3610_IMAGE_20170405_0f7f137.tar.bz2

cd ./WISE-3610_SDK_20170405_0f7f137/

sudo docker run -it --name lora_sdk -v $PWD:/home/adv/work/ advwiseec/lorasdk_openwrt

cd /home/adv/work

export ARMGCC_DIR=`pwd`/qsdk/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/

make -j 8

Add static route and DNS server on LoRa Gateway

route del default
route add -net 0.0.0.0 gw 172.22.15.130 netmask 0.0.0.0 dev br-lan
route add -net 172.16.0.0 gw 172.22.15.254 netmask 255.240.0.0 dev br-lan
echo "nameserver 8.8.8.8" >> /etc/resolv.conf


mbed-client sample with mosquitto library

Add link library of LoRaSDK\WISE-3610_SDK_20170405_0f7f137\qsdk\package\network\utils\mbed\mbed-cloud-client-1.1-Linux-example-master\mbed-cloud-client-example-ref\CMakeLists.txt

target_link_libraries (${TEST_LIB}.elf  ${SRC_LIBS})

target_link_libraries (${TEST_LIB}.elf  mosquitto)

Add depends of V:\Work\LoRa\Docker\build_env\LoRaSDK\WISE-3610_SDK_20170405_0f7f137\qsdk\package\network\utils\mbed\Makefile

DEPENDS += +libpthread +libstdcpp +librt +libmosquitto


How to modify mbed-client source code and build

unzip mbed-cloud-client-1.1-Linux-example-master.zip

modify

\LoRaSDK\WISE-3610_SDK_20170405_0f7f137\qsdk\package\network\utils\mbed\mbed-cloud-client-1.1-Linux-example-master\mbed-cloud-client-example-ref\mbed-cloud-client-example\main.cpp

zip mbed-cloud-client-1.1-Linux-example-master.zip ./mbed-cloud-client-1.1-Linux-example-master

cd qsdk/

make package/mbed/clean package/mbed/prepare package/mbed/compile V=s -j 8


Enable all log with mbed-client example

 add_definitions(-DMBED_CONF_MBED_TRACE_ENABLE=1)  in define.txt


Change TCP / UDP Transport Protocol

mbed_cloud_client_user_config.h

MBED_CLOUD_CLIENT_TRANSPORT_MODE_TCP

MBED_CLOUD_CLIENT_TRANSPORT_MODE_UDP

Setup the build environment  mbed-client with Ubuntu 16.04 Dokcer container

docker run -it --name x86_mbed-client -v $PWD:/home/adv/work:rw advwiseec/lorasdk_openwrt bash

sudo apt-get install cmake

sudo apt-get install libmosquitto-dev

tar xvf mbed-cloud-client-1.1-with-lora-ga-mqtt.tar .

cd mbed-cloud-client-1.1-Linux-example-master/mbed-cloud-client-example-ref/mbed-cloud-client-example/

sudo cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DEXTARNAL_DEFINE_FILE=define.txt

make -j 8

How to build mbed-client on x86 Ubuntu 16.04

depend on: cmake 3.5.1   python 2.7.12

unzip mbed-cloud-client-1.1-Linux-example-master.zip

Modify define.txt & autogen.cmake to meet your environment

Replace files which are in Patch folder
    define.txt                    to mbed-cloud-client-1.1-Linux-example/mbed-cloud-client-example-ref/
    autogen.cmake                to mbed-cloud-client-1.1-Linux-example/mbed-cloud-client-example-ref/pal-platform          => x86 do not replace
    identity_dev_security.c        to mbed-cloud-client-1.1-Linux-example/mbed-cloud-client-example-ref/mbed-cloud-client-example

Generate makefiles

   cd  mbed-cloud-client-1.1-Linux-example/mbed-cloud-client-example-ref/)
    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DEXTARNAL_DEFINE_FILE=define.txt

Build

   make

Execute 'mbedCloudClientExample.elf' application in ./Debug or ./Release  


For ARM Debug mbed-client Note

Set up the Build mbed-client environment for WISE-3610 LoRa GW

Copy OpenWRT BSP SDK ( WISE-3610_SDK_20170405_0f7f137.tar.gz ) in your Linux host

tar xvzf WISE-3610_SDK_20170405_0f7f137.tar.gz

cd ./WISE-3610_SDK_20170405_0f7f137/

docker run -it --name WISE-3610-SDK -v $PWD:/home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137 advwiseec/lorasdk_openwrt bash

cd /home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/

export ARMGCC_DIR=`pwd`/qsdk/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/

cd /home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/qsdk/

make package/mbed/clean package/mbed/prepare package/mbed/compile V=s -j 8


How to copy mbed-client program and run on WISE-3610

# Login by SSH: 
Account: root
Password: advantech

# Copy 
scp eric@xxx.xxx.xxx:/Your Project Folder/WISE-3610_SDK_20170405_0f7f137/qsdk/build_dir/target-arm_cortex-a7_uClibc-0.9.33.2_eabi/mbed/mbed-cloud-client-1.1-Linux-example-master/mbed-cloud-client-example-ref/Debug/mbedCloudClientExample.elf .

# launch
./mbedCloudClientExample.elf 

How to modify mbed-client source code

# Source code at 

/home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/qsdk/package/network/utils/mbed/mbed-cloud-client-1.1-Linux-example-master

# To modify your code and build

cd /home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/qsdk/package/network/utils/mbed

zip -r mbed-cloud-client-1.1-Linux-example-master.zip ./mbed-cloud-client-1.1-Linux-example-master/*

cd /home/adv/work/build_env/LoRaSDK/WISE-3610_SDK_20170405_0f7f137/qsdk/

make package/mbed/clean package/mbed/prepare package/mbed/compile V=s -j 8


Sensor

Build Server: 172.22.12.213

Account:Password: will / 1234


sudo docker exec -it lora_toolchain_for_will bash

cd /home/adv/work/wise_snail_agent_0314ToECG/

make

copy wise_snail_agent to WISE-3610 Target and exec it


How to setup a LoRa toolchain environment

copy to your working folder
\\eossfs\share\@Eric\LoRa\toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-0.9.33.2_eabi_with_wisesnail.tar.gz
\\eossfs\share\@Eric\LoRa\wise_snail_agent_eric20170508.tar


AdvanWISE

  1. Build SOP:  Origin OpenWRT BSP ( version ? ) + AdvanWise's patches  =>  AdvanWISE releases BSP for WISE-3610

Future Work

   A sample code to get LoRa data from mqtt-bus.