Difference between revisions of "ARM/Advantech integration camp"
Eric.liang (talk | contribs) (Created page with "= '''mbed-Cloud FW upgrade feature for WISE-3610''' = '''( refer to ADV integration camp - Update slides.pdf )''' == '''1.To build FW image modify by ARM ''' ==...") |
Eric.liang (talk | contribs) |
||
Line 5: | Line 5: | ||
− | == ''' | + | == '''To build FW image modify by ARM ''' == |
− | # | + | #'''update the lates mbed client source code''' |
− | '''update the lates mbed client source code''' | ||
<pre dir="ltr">'''cd WISE-3610-BSP/qsdk/package/network/utils/''' | <pre dir="ltr">'''cd WISE-3610-BSP/qsdk/package/network/utils/''' | ||
'''rm -r mbed''' | '''rm -r mbed''' | ||
'''git clone --branch openwrt_package [https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential] mbed'''</pre> | '''git clone --branch openwrt_package [https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential] mbed'''</pre> | ||
<ol start="2"> | <ol start="2"> | ||
− | <li> | + | <li>'''Create Certificates Key'''</li> |
− | '''Create Certificates Key''' | ||
− | </li> | ||
</ol> | </ol> | ||
− | '''https://lh3.googleusercontent.com/rr7-10wk1qtuWGyz8iqJh0ouUbER6acvobt1KcdoIkV45yqdmL4VwQxDkbk5Hs0AeNhtes3ysSz6SDQQ17vz11T56od48AfbwHV_pxopGE12wxS28p7e3_maSI3p4K4AwZH_SVoJ''' | + | '''[https://lh3.googleusercontent.com/rr7-10wk1qtuWGyz8iqJh0ouUbER6acvobt1KcdoIkV45yqdmL4VwQxDkbk5Hs0AeNhtes3ysSz6SDQQ17vz11T56od48AfbwHV_pxopGE12wxS28p7e3_maSI3p4K4AwZH_SVoJ https://lh3.googleusercontent.com/rr7-10wk1qtuWGyz8iqJh0ouUbER6acvobt1KcdoIkV45yqdmL4VwQxDkbk5Hs0AeNhtes3ysSz6SDQQ17vz11T56od48AfbwHV_pxopGE12wxS28p7e3_maSI3p4K4AwZH_SVoJ]''' |
− | '''https://lh5.googleusercontent.com/Bv4Xtcn_MdVA_ywYhK_IYS3bTZJPwc3TN9cta-wTJmjJcqfo7P7mF9xaYUFeDDBCPiW2uPJBZwLiFPIrJTUStMfsPYjWAARnaNutTrxG9mYp1_rXFn5Q5NAwkY9EMorVq_U80VEx''' | + | '''[https://lh5.googleusercontent.com/Bv4Xtcn_MdVA_ywYhK_IYS3bTZJPwc3TN9cta-wTJmjJcqfo7P7mF9xaYUFeDDBCPiW2uPJBZwLiFPIrJTUStMfsPYjWAARnaNutTrxG9mYp1_rXFn5Q5NAwkY9EMorVq_U80VEx https://lh5.googleusercontent.com/Bv4Xtcn_MdVA_ywYhK_IYS3bTZJPwc3TN9cta-wTJmjJcqfo7P7mF9xaYUFeDDBCPiW2uPJBZwLiFPIrJTUStMfsPYjWAARnaNutTrxG9mYp1_rXFn5Q5NAwkY9EMorVq_U80VEx]''' |
<br/><br/> 3. '''Download mbed_cloud_dev_credentials.c C code for mbed-Cloud auth''' | <br/><br/> 3. '''Download mbed_cloud_dev_credentials.c C code for mbed-Cloud auth''' | ||
Line 26: | Line 23: | ||
− | '''https://lh3.googleusercontent.com/F7R6TthbutxAbVUSEcpxEaqVJuqYyvNBeVi9-zKY4-RYtHBhFf0tY0fW-_gE2PoeIwFIMj8b4trEb2lnn_vzNHLfLMU-dv8yb7a8XbYDWkwsVsyV0hsxz3khZUZs7KQ_nX4MUEm3''' | + | '''[https://lh3.googleusercontent.com/F7R6TthbutxAbVUSEcpxEaqVJuqYyvNBeVi9-zKY4-RYtHBhFf0tY0fW-_gE2PoeIwFIMj8b4trEb2lnn_vzNHLfLMU-dv8yb7a8XbYDWkwsVsyV0hsxz3khZUZs7KQ_nX4MUEm3 https://lh3.googleusercontent.com/F7R6TthbutxAbVUSEcpxEaqVJuqYyvNBeVi9-zKY4-RYtHBhFf0tY0fW-_gE2PoeIwFIMj8b4trEb2lnn_vzNHLfLMU-dv8yb7a8XbYDWkwsVsyV0hsxz3khZUZs7KQ_nX4MUEm3]''' |
+ | |||
− | |||
''' 4. Copy this file to''' | ''' 4. Copy this file to''' | ||
Line 34: | Line 31: | ||
''' WISE-3610-BSP/qsdk/package/network/utils/mbed/mbed-cloud-client-example-restricted''' | ''' WISE-3610-BSP/qsdk/package/network/utils/mbed/mbed-cloud-client-example-restricted''' | ||
− | + | ||
''' 5. Generate device key ( private , public key ) manifest-tool''' | ''' 5. Generate device key ( private , public key ) manifest-tool''' | ||
Line 63: | Line 60: | ||
'''update_default_resources.c''' | '''update_default_resources.c''' | ||
− | |||
− | |||
== '''To build WISE-3610 image and mbed-client with credential key''' == | == '''To build WISE-3610 image and mbed-client with credential key''' == |
Revision as of 05:44, 15 September 2017
mbed-Cloud FW upgrade feature for WISE-3610
( refer to ADV integration camp - Update slides.pdf )
To build FW image modify by ARM
- update the lates mbed client source code
'''cd WISE-3610-BSP/qsdk/package/network/utils/''' '''rm -r mbed''' '''git clone --branch openwrt_package [https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential https://github.com/ARMmbed/mbed-cloud-client-example-wise-3610-confidential] mbed'''
- Create Certificates Key
3. Download mbed_cloud_dev_credentials.c C code for mbed-Cloud auth
4. Copy this file to
WISE-3610-BSP/qsdk/package/network/utils/mbed/mbed-cloud-client-example-restricted
5. Generate device key ( private , public key ) manifest-tool
( refer to https://github.com/ARMmbed/manifest-tool-restricted )
5.1 Setup and install manifest
To install python2 or Python 3
To install the manifest requirement ( Ubuntu 14.04 )
''' '''sudo apt-get install build-essential libssl-dev libffi-dev python-dev''' '''
To install the manifest by github
'''sudo pip install git+https://github.com/ARMmbed/manifest-tool-restricted'''
To Install the manifest by local file
''' $ git clone ''''''https://github.com/ARMmbed/manifest-tool-restricted''' ''' $ pip install .'''
5.2. Generate key by manifest
''' manifest-tool init --vendor-domain "advantech.com" --model-name "wise-3610"'''
.update-certificates/ => private, & public key
.manifest_tool.json
update_default_resources.c
To build WISE-3610 image and mbed-client with credential key
cp update_default_resources.c </WISE-3610>/qsdk/package/network/utils/mbed/mbed-cloud-client-example-restricted/
export TOOLCHAIN_DIR=`pwd`/qsdk/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/
make
To package image
cd qsdk/package/network/utils/mbed/sdk
#./arm_initial_pack.sh
產生 image folder 裡面有 openwrt-ipq806x-ipq40xx-ubi-root.img
nand-ipq40xx-initial.img
產生的 nand-ipq40xx-initial.img 裡面會修改 boot partition 參數
“mkfs.ubifs --space-fixup -m 2048 -e 126976 -c 31 -o ubifs-kcm.img”
Flash WISE-3610 boot loader by TFTP
uboot> set ipaddr 192.168.1.1
uboot> set serverip “Your TFTP Server”
uboot> tftpboot nand-ipq40xx-initial.img
uboot> boot
Upload the new FW Image to mbed-cloud
To crate manifest file by manifest-tools
把剛剛上傳完產生出來的網址 放到下列產生 manifest 更新說明下載位置
manifest-tool create -p openwrt-ipq806x-ipq40xx-ubi-root.img -uhttp://firmware-catalog-media-ca57.s3.dualstack.us-east-1.amazonaws.com/openwrt-ipq806x-ipq40xx-ubi-root_CovQl9f.img -o mbed-workshop
How to check image by manifest
'''$manifest-tool parse -j -i mbed-workshop'''
Upload the manifest to mbed-Cloud
Create a Camp to do FW update by mbed-Cloud
You can set filter rule in device director
Start to update new FW image to devices
mbed-edge-core
( refer to mbed Cloud Edge architecture )
ARM’s github source code
https://github.com/ARMmbed/mbed-cloud-edge-confidential-a
To build mbed-edge & pt-example & lorapt-example code
mkdir a new folder /qsdk/package/network/utils/mbed-edge
Copy Makefile to “mbed-edge” folder
Copy toolchain.cmake
Copy CMakeLists.txt to mbed-edge/mbed-cloud-edge-confidential-a/
Copy lorapt-example to mbed-edge/mbed-cloud-edge-confidential-a/
To create a “Certificates key” refer to above chapt
download C code form mbed-cloud mbed_cloud_dev_credentials.c
copy to “mbed-cloud-edge-confidential-a/client-wrapper/mbed_cloud_dev_credentials.c”
cd to WISE-3610 BSP Top folder
make
Update image to WISE-3610 Target board
WISE-3610 update image file name: nand-ipq40xx-single.img
You can update fw by WebUI
Run mbed-edge-core
'''#mkdir /usr/sbin/pal''' '''#/usr/sbin/edge-core 22223 8000'''
Run pt-example
requirment example-client-config.json file in the same directory
./pt-example/example-client-config.json
Run lorapt-example
To setup WISE-1501 lora sensor hub connect to WISE-3610
Run lorapt-example
'''#./lorapt-example'''
SenHub and Resource on mbed-Cloud Portal
You can select Resource tab to show sensor resource:
for example: Temperature
/3303/0/5700 -> click
27.6
You also can select the device ( WISE-3610 ) to show how many sensor hub translator protocol by this GW