Send the data of GR-PEACH_HVC-P2_sample to the cloud.

Dependencies:   AsciiFont GR-PEACH_video GraphicsFramework LCD_shield_config R_BSP USBHost_custom easy-connect-gr-peach

Fork of mbed-os-example-client by mbed-os-examples

Note at the time of sample import

Please not check the "Update all libraries to the latest version" at the time of import.

Warning!

When exporting and using it, increase the following stack size.

mbed-os/features/FEATURE_LWIP/lwip-interface/lwipopts.h

#define TCPIP_THREAD_STACKSIZE      1024
->
#define TCPIP_THREAD_STACKSIZE      2048

Overview

This is a sample to send the analysis result of GR-PEACH_HVC-P2_sample to the cloud using mbed-client. Please refer to following for operation of HVC-P2.

Import programGR-PEACH_HVC-P2_sample

Sample to operate omron HVC-P2 on GR-PEACH.


Required hardware

Application setup

Client credentials

To register the application to mbed Device Connector, you need to create and set the client side certificate.

  1. Go to https://connector.mbed.com/ and log in with your mbed account
  2. On mbed Device Connector, go to https://connector.mbed.com/#credentials and click the Get my device security credentials button to get new credentials for your device.
  3. Replace the contents in security.h of this example with content copied above.

Ethernet settings

This sample uses Ethernet as the default connection type. To change the connection type, set WIFI_BP3595 in mbed_app.json:

mbed_app.json

"network-interface":{
    "help": "Options are ETHERNET, WIFI_ESP8266, WIFI_BP3595",
    "value": "ETHERNET"
},


To specify MAC address, add fllowing function to main.cpp. (When using Wifi, setting of MAC address is not necessary.)

Specify MAC address

// set mac address
void mbed_mac_address(char *mac) {
    mac[0] = 0x00;
    mac[1] = 0x02;
    mac[2] = 0xF7;
    mac[3] = 0xF0;
    mac[4] = 0x00;
    mac[5] = 0x00;
}


Wifi settings

This example can use BP3595 Wifi Interface for managing the wireless connectivity. To run this example using Wifi, you need:

  1. A BP3595 Wifi module ( https://developer.mbed.org/components/BP3595-for-GR-PEACH/ )
  2. Mount BP3595 onto GR-PEACH
  3. Close GR-PEACH's JP21 (https://developer.mbed.org/teams/Renesas/wiki/Jumper-settings-of-GR-PEACH)
  4. In the mbed_app.json file, change

mbed_app.json

"network-interface":{
    "help": "Options are ETHERNET, WIFI_ESP8266, WIFI_BP3595",
    "value": "WIFI_BP3595"
},


Provide your Wifi SSID and password here and leave \" in the beginning and end of your SSID and password as shown in the example below:

mbed_app.json

"wifi-ssid": {
    "help": "WiFi SSID",
    "value": "\"SSID\""
},
"wifi-password": {
    "help": "WIFI Password",
    "value": "\"Password\""
}


Specify the security type for connection to be used. When the security type is WPA2, you need to specify NSAPI_SECURITY_WAP as follows:

mbed_app.json

"wifi-security":{
    "help": "Options are NSAPI_SECURITY_WEP, NSAPI_SECURITY_WPA, NSAPI_SECURITY_WPA2, NSAPI_SECURITY_WPA_WPA2",
    "value": "NSAPI_SECURITY_WEP"
},

By default, NSAPI_SECURITY_WPA_WPA2 is specified here.

Application resources

This example exposes four resources listed below:

  1. 3202/0/5700. Recognition result from HVC-P2 (GET).
  2. 3201/0/5850. Blink function, blinks LED when executed (POST).
  3. 3201/0/5853. Blink pattern, used by the blink function to determine how to blink. In the format of 1000:500:1000:500:1000:500 (PUT).
  4. 3201/0/5855. Blink color, used by the blink function. Any of red, green, blue, cyan, yellow and magenta is acceptable (PUT).

For more info on how to get notifications when resource 1 changes, or how to use resource 2, 3 and 4, please look at

Import programGR-PEACH_mbed-connector-ZXingSample-node

Node.js based Web Application for mbed Device Connector specific to GR-PEACH_mbed-os-client-ZXingSample

# This is a Web Application for GR-PEACH_mbed-os-client-ZXingSample, but it can also be used for this sample.

Committer:
mbed_official
Date:
Tue Nov 01 11:45:11 2016 +0000
Revision:
27:3d32587bf8f7
Parent:
18:628e22df9c41
Child:
36:bfb6816a677c
Merge pull request #103 from ARMmbed/lowpan_to_jenkinsfile

Added boards, shields and 6LoWPAN mode to Jenkinsfile
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-client

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 18:628e22df9c41 1 // List of targets to compile
mbed_official 18:628e22df9c41 2 def targets = [
mbed_official 27:3d32587bf8f7 3 "K64F",
mbed_official 27:3d32587bf8f7 4 "NUCLEO_F429ZI",
mbed_official 27:3d32587bf8f7 5 "UBLOX_EVK_ODIN_W2"
mbed_official 18:628e22df9c41 6 ]
mbed_official 18:628e22df9c41 7
mbed_official 18:628e22df9c41 8 // Map toolchains to compilers
mbed_official 18:628e22df9c41 9 def toolchains = [
mbed_official 18:628e22df9c41 10 ARM: "armcc",
mbed_official 18:628e22df9c41 11 GCC_ARM: "arm-none-eabi-gcc",
mbed_official 18:628e22df9c41 12 IAR: "iar_arm"
mbed_official 18:628e22df9c41 13 ]
mbed_official 18:628e22df9c41 14
mbed_official 18:628e22df9c41 15 def configurations = [
mbed_official 27:3d32587bf8f7 16 "def": ["ETH"],
mbed_official 27:3d32587bf8f7 17 "thd": ["ATMEL", "MCR20"],
mbed_official 27:3d32587bf8f7 18 "6lp": ["ATMEL", "MCR20"]
mbed_official 18:628e22df9c41 19 ]
mbed_official 27:3d32587bf8f7 20
mbed_official 27:3d32587bf8f7 21 def connectiontypes = [
mbed_official 27:3d32587bf8f7 22 "ETH",
mbed_official 27:3d32587bf8f7 23 "ATMEL",
mbed_official 27:3d32587bf8f7 24 "MCR20"
mbed_official 27:3d32587bf8f7 25 ]
mbed_official 27:3d32587bf8f7 26
mbed_official 18:628e22df9c41 27 def stepsForParallel = [:]
mbed_official 18:628e22df9c41 28
mbed_official 18:628e22df9c41 29 // Jenkins pipeline does not support map.each, we need to use oldschool for loop
mbed_official 18:628e22df9c41 30 for (int i = 0; i < targets.size(); i++) {
mbed_official 18:628e22df9c41 31 for(int j = 0; j < toolchains.size(); j++) {
mbed_official 18:628e22df9c41 32 for(int k = 0; k < configurations.size(); k++) {
mbed_official 27:3d32587bf8f7 33 for(int l = 0; l < connectiontypes.size(); l++) {
mbed_official 27:3d32587bf8f7 34
mbed_official 27:3d32587bf8f7 35 def target = targets.get(i)
mbed_official 27:3d32587bf8f7 36 def toolchain = toolchains.keySet().asList().get(j)
mbed_official 27:3d32587bf8f7 37 def compilerLabel = toolchains.get(toolchain)
mbed_official 27:3d32587bf8f7 38 def config = configurations.keySet().asList().get(k)
mbed_official 27:3d32587bf8f7 39 def allowed_configs = configurations.get(config)
mbed_official 27:3d32587bf8f7 40 def connectiontype = connectiontypes.get(l)
mbed_official 27:3d32587bf8f7 41
mbed_official 27:3d32587bf8f7 42 def stepName = "${target} ${toolchain} ${config} ${connectiontype}"
mbed_official 27:3d32587bf8f7 43 if(allowed_configs.contains(connectiontype)) {
mbed_official 27:3d32587bf8f7 44 stepsForParallel[stepName] = buildStep(target, compilerLabel, toolchain, config, connectiontype)
mbed_official 27:3d32587bf8f7 45 }
mbed_official 27:3d32587bf8f7 46 }
mbed_official 18:628e22df9c41 47 }
mbed_official 18:628e22df9c41 48 }
mbed_official 18:628e22df9c41 49 }
mbed_official 18:628e22df9c41 50
mbed_official 18:628e22df9c41 51 timestamps {
mbed_official 18:628e22df9c41 52 parallel stepsForParallel
mbed_official 18:628e22df9c41 53 }
mbed_official 18:628e22df9c41 54
mbed_official 27:3d32587bf8f7 55 def buildStep(target, compilerLabel, toolchain, configName, connectiontype) {
mbed_official 18:628e22df9c41 56 return {
mbed_official 27:3d32587bf8f7 57 stage ("${target}_${compilerLabel}_${configName}_${connectiontype}") {
mbed_official 18:628e22df9c41 58 node ("${compilerLabel}") {
mbed_official 18:628e22df9c41 59 deleteDir()
mbed_official 18:628e22df9c41 60 dir("mbed-os-example-client") {
mbed_official 18:628e22df9c41 61 checkout scm
mbed_official 18:628e22df9c41 62
mbed_official 27:3d32587bf8f7 63 if ("${configName}" == "thd") {
mbed_official 27:3d32587bf8f7 64 // Change device type to Thread router
mbed_official 27:3d32587bf8f7 65 execute("sed -i 's/\"NANOSTACK\", \"LOWPAN_ROUTER\", \"COMMON_PAL\"/\"NANOSTACK\", \"THREAD_ROUTER\", \"COMMON_PAL\"/' mbed_app.json")
mbed_official 18:628e22df9c41 66 // Change connection type to thread
mbed_official 18:628e22df9c41 67 execute ("sed -i 's/\"value\": \"ETHERNET\"/\"value\": \"MESH_THREAD\"/' mbed_app.json")
mbed_official 18:628e22df9c41 68 }
mbed_official 27:3d32587bf8f7 69
mbed_official 27:3d32587bf8f7 70 if ("${configName}" == "6lp") {
mbed_official 27:3d32587bf8f7 71 // Change connection type to 6LoWPAN
mbed_official 27:3d32587bf8f7 72 execute ("sed -i 's/\"value\": \"ETHERNET\"/\"value\": \"MESH_LOWPAN_ND\"/' mbed_app.json")
mbed_official 27:3d32587bf8f7 73
mbed_official 27:3d32587bf8f7 74 // Change channel for HW tests
mbed_official 27:3d32587bf8f7 75 execute ("sed -i 's/\"mbed-mesh-api.6lowpan-nd-channel\": 12/\"mbed-mesh-api.6lowpan-nd-channel\": 18/' mbed_app.json")
mbed_official 27:3d32587bf8f7 76 }
mbed_official 27:3d32587bf8f7 77
mbed_official 27:3d32587bf8f7 78 if ("${connectiontype}" == "MCR20") {
mbed_official 27:3d32587bf8f7 79 // Replace default rf shield
mbed_official 27:3d32587bf8f7 80 execute ("sed -i 's/\"value\": \"ATMEL\"/\"value\": \"MCR20\"/' mbed_app.json")
mbed_official 27:3d32587bf8f7 81 }
mbed_official 27:3d32587bf8f7 82
mbed_official 18:628e22df9c41 83 // Copy security.h to build
mbed_official 18:628e22df9c41 84 mbed.getSecurityFile()
mbed_official 18:628e22df9c41 85
mbed_official 18:628e22df9c41 86 execute ("mbed deploy --protocol ssh")
mbed_official 27:3d32587bf8f7 87
mbed_official 27:3d32587bf8f7 88 dir("mbed-os") {
mbed_official 27:3d32587bf8f7 89 execute ("git fetch origin latest")
mbed_official 27:3d32587bf8f7 90 execute ("git checkout FETCH_HEAD")
mbed_official 27:3d32587bf8f7 91 }
mbed_official 27:3d32587bf8f7 92 execute ("mbed compile --build out/${target}_${toolchain}_${configName}_${connectiontype}/ -m ${target} -t ${toolchain} -c")
mbed_official 18:628e22df9c41 93 }
mbed_official 27:3d32587bf8f7 94 archive '**/mbed-os-example-client.bin'
mbed_official 18:628e22df9c41 95 }
mbed_official 18:628e22df9c41 96 }
mbed_official 18:628e22df9c41 97 }
mbed_official 18:628e22df9c41 98 }