Taking photo using GR-LYCHEE through Pelion Device Management.

This firmware project works for GR-LYCHEE and GR-PEACH.

Steps to build this firmware with Mbed CLI

Import project

$ mbed import http://os.mbed.com/users/coisme/code/Pelion-GR-LYCHEE-camera-firmware/

Setting

  • Ethernet (GR-PEACH only)
    • Change the file name mbed_app.RZ_A1H_Ethernet.json to mbed_app.json
  • Wi-Fi
    • Change the Wi-Fi setting in mbed_app.json, i.e. nsapi.default-wifi-ssid and nsapi.default-wifi-password

If you haven't set your Pelion API key, run the following command.

$ mbed config -G CLOUD_SDK_API_KEY <API_KEY>

Setting for Pelion Device Management

$ mbed dm init -d "example.com" --model-name "PELION_DEMO" -q --force

Compile

For GR-LYCHEE:

$ mbed compile -t GCC_ARM -m GR_LYCHEE

For GR-PEACH:

$ mbed compile -t GCC_ARM -m RZ_A1H

Write the created .bin file to your GR-LYCHEE/PEACH.

That's it! :-)

LED Status Indicator

LEDs next to UB0 show the status of your GR-LYCHEE/PEACH.

LED#GR-LYCHEEGR-PEACHStatusDescription
LED1greenredNormalTurned on after the device is registered to Pelion Device Management successfully.
LED2yellowgreenErrorTurned on when the network initialization failed. Check your Wi-Fi setting.
LED3orangeblueErrorTurned on when the Pelion Device Management Client initialization failed. Check your SD card.
LED4redredErrorTurned on when the network is disconnected. Check your Wi-Fi network status.

Clear device identity

If you want to clear the device's identity, connect to the device via serial terminal. Then input r command. The device flushes the identity storage, then reboot.

Known Issues

  • client_error(6) -> Client in reconnection mode NetworkError appears when connecting to network, but eventually connection will be established.
  • Warning message "MBEDTLS_TEST_NULL_ENTROPY has been enabled. This configuration is not secure and is not suitable for production use" appears when compiling the project for GR-PEACH. This can be ignored in development stage.

Files at this revision

API Documentation at this revision

Comitter:
Osamu Koizumi
Date:
Thu Jun 27 13:14:25 2019 +0900
Parent:
18:d1429faa7c87
Child:
20:c846613d9e3b
Commit message:
Changed LED references to enable GR-PEACH

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r d1429faa7c87 -r bdc69891952a main.cpp
--- a/main.cpp	Thu Jun 27 13:13:38 2019 +0900
+++ b/main.cpp	Thu Jun 27 13:14:25 2019 +0900
@@ -110,15 +110,15 @@
 }
 
 /*
- * Monitor the network connection. If the network is disconnected, the RED LED (LED4) on the board lights.
+ * Monitor the network connection. If the network is disconnected, LED4 on the board lights.
  */
 void monitor() {
     nsapi_connection_status status = net->get_connection_status();
     if(status != NSAPI_STATUS_GLOBAL_UP) {
-        DigitalOut led(LED_RED, LED_ON);
+        DigitalOut led(LED4, LED_ON);
         printf("Network is disconnected. Status = %d.\n", status);
     } else {
-        DigitalOut led(LED_RED, LED_OFF);
+        DigitalOut led(LED4, LED_OFF);
     }
 }
 
@@ -159,8 +159,8 @@
     // Set default photo
     M2MResource* m2m_res = camera_capture_res->get_m2m_resource();
     m2m_res->set_value(DEFAULT_PHOTO, DEFAULT_PHOTO_LEN);
-    // Turn on the GREEN LED (LED1) when device is registered.
-    DigitalOut led(LED_GREEN, LED_ON);
+    // Turn on LED1 when device is registered.
+    DigitalOut led(LED1, LED_ON);
 }
  
 
@@ -173,8 +173,8 @@
 
     if (status != NSAPI_ERROR_OK) {
         printf("Connecting to the network failed %d!\n", status);
-        // Turn on the YELLOW LED (LED2) when the network initialization failed.
-        DigitalOut led(LED_YELLOW, LED_ON);
+        // Turn on LED2 when the network initialization failed.
+        DigitalOut led(LED2, LED_ON);
         return -1;
     }
 
@@ -185,8 +185,8 @@
     int client_status = client.init();
     if (client_status != 0) {
         printf("Pelion Client initialization failed (%d)\n", client_status);
-        // Turn on the ORANGE LED (LED3) when Pelion Client initialization failed.
-        DigitalOut led(LED_ORANGE, LED_ON);
+        // Turn on LED3 when Pelion Client initialization failed.
+        DigitalOut led(LED3, LED_ON);
         return -1;
     }