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
tombed_app.json
- Change the file name
- Wi-Fi
- Change the Wi-Fi setting in
mbed_app.json
, i.e.nsapi.default-wifi-ssid
andnsapi.default-wifi-password
- Change the Wi-Fi setting in
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-LYCHEE | GR-PEACH | Status | Description |
---|---|---|---|---|
LED1 | green | red | Normal | Turned on after the device is registered to Pelion Device Management successfully. |
LED2 | yellow | green | Error | Turned on when the network initialization failed. Check your Wi-Fi setting. |
LED3 | orange | blue | Error | Turned on when the Pelion Device Management Client initialization failed. Check your SD card. |
LED4 | red | red | Error | Turned 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.
Revision 16:e0cf507dcd5d, committed 2019-04-10
- Comitter:
- Osamu Koizumi
- Date:
- Wed Apr 10 13:25:20 2019 +0900
- Parent:
- 15:09a192353257
- Child:
- 17:07576dd58e8c
- Commit message:
- Correct GREEN LED behavior.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 09a192353257 -r e0cf507dcd5d main.cpp --- a/main.cpp Wed Apr 10 12:49:09 2019 +0900 +++ b/main.cpp Wed Apr 10 13:25:20 2019 +0900 @@ -63,9 +63,6 @@ MbedCloudClientResource *camera_capture_res; bool take_photo(uint8_t *photo_data, uint32_t *photo_data_len) { - // When taking a photo, RED LED (LED4) lights. - DigitalOut led(LED_RED, LED_ON); - JPEG_Converter::bitmap_buff_info_t buff_info; JPEG_Converter::encode_options_t encode_opt; @@ -82,9 +79,7 @@ encode_opt.input_swapsetting = JPEG_Converter::WR_RD_WRSWA_32_16_8BIT; dcache_invalid(photo_data, *photo_data_len); - JPEG_Converter::jpeg_conv_error_t err = Jcu.encode(&buff_info, photo_data, (size_t *)photo_data_len, &encode_opt); - led = LED_OFF; - + JPEG_Converter::jpeg_conv_error_t err = Jcu.encode(&buff_info, photo_data, (size_t *)photo_data_len, &encode_opt); if(err != JPEG_Converter::JPEG_CONV_OK) { return false; @@ -95,14 +90,13 @@ bool take_and_send_photo() { // Send photo data on button click uint32_t photo_data_len = sizeof(JpegBuffer); - if (take_photo(JpegBuffer, &photo_data_len)) { + bool result = take_photo(JpegBuffer, &photo_data_len); + if (result) { M2MResource* m2m_res = camera_capture_res->get_m2m_resource(); m2m_res->set_value((const uint8_t *)JpegBuffer, photo_data_len); - // success - return true; } - // fail - return false; + + return result; } void button_press() {