This is the sample program that can see the decode result of barcode data on Watson IoT.

Dependencies:   AsciiFont DisplayApp GR-PEACH_video LCD_shield_config LWIPBP3595Interface_STA_for_mbed-os USBDevice

Committer:
Osamu Nakamura
Date:
Thu Nov 10 20:23:55 2016 +0900
Revision:
1:67f8b5cfde75
Parent:
0:7d720671e6dc
Revised the initial value of /888/0/7700

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Osamu Nakamura 0:7d720671e6dc 1 /**
Osamu Nakamura 0:7d720671e6dc 2 * @file main.cpp
Osamu Nakamura 0:7d720671e6dc 3 * @brief mbed Endpoint Sample main
Osamu Nakamura 0:7d720671e6dc 4 * @author Doug Anson
Osamu Nakamura 0:7d720671e6dc 5 * @version 1.0
Osamu Nakamura 0:7d720671e6dc 6 * @see
Osamu Nakamura 0:7d720671e6dc 7 *
Osamu Nakamura 0:7d720671e6dc 8 * Copyright (c) 2014
Osamu Nakamura 0:7d720671e6dc 9 *
Osamu Nakamura 0:7d720671e6dc 10 * Licensed under the Apache License, Version 2.0 (the "License");
Osamu Nakamura 0:7d720671e6dc 11 * you may not use this file except in compliance with the License.
Osamu Nakamura 0:7d720671e6dc 12 * You may obtain a copy of the License at
Osamu Nakamura 0:7d720671e6dc 13 *
Osamu Nakamura 0:7d720671e6dc 14 * http://www.apache.org/licenses/LICENSE-2.0
Osamu Nakamura 0:7d720671e6dc 15 *
Osamu Nakamura 0:7d720671e6dc 16 * Unless required by applicable law or agreed to in writing, software
Osamu Nakamura 0:7d720671e6dc 17 * distributed under the License is distributed on an "AS IS" BASIS,
Osamu Nakamura 0:7d720671e6dc 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Osamu Nakamura 0:7d720671e6dc 19 * See the License for the specific language governing permissions and
Osamu Nakamura 0:7d720671e6dc 20 * limitations under the License.
Osamu Nakamura 0:7d720671e6dc 21 */
Osamu Nakamura 0:7d720671e6dc 22
Osamu Nakamura 0:7d720671e6dc 23 // Our device type
Osamu Nakamura 0:7d720671e6dc 24 #define MY_DEVICE_TYPE "mbed-endpoint"
Osamu Nakamura 0:7d720671e6dc 25
Osamu Nakamura 0:7d720671e6dc 26 // Include security.h
Osamu Nakamura 0:7d720671e6dc 27 #include "security.h"
Osamu Nakamura 0:7d720671e6dc 28
Osamu Nakamura 0:7d720671e6dc 29 // mbed Endpoint Network
Osamu Nakamura 0:7d720671e6dc 30 #include "mbed-connector-interface/mbedEndpointNetwork.h"
Osamu Nakamura 0:7d720671e6dc 31
Osamu Nakamura 0:7d720671e6dc 32 // Logger
Osamu Nakamura 0:7d720671e6dc 33 #include "mbed-connector-interface/Logger.h"
Osamu Nakamura 0:7d720671e6dc 34 Serial pc(USBTX,USBRX);
Osamu Nakamura 0:7d720671e6dc 35 Logger logger(&pc);
Osamu Nakamura 0:7d720671e6dc 36
Osamu Nakamura 0:7d720671e6dc 37 // LED Resource
Osamu Nakamura 0:7d720671e6dc 38 #include "mbed-endpoint-resources/LEDResource.h"
Osamu Nakamura 0:7d720671e6dc 39 LEDResource led(&logger,"311","5850");
Osamu Nakamura 0:7d720671e6dc 40
Osamu Nakamura 0:7d720671e6dc 41 // ZXing Resource
Osamu Nakamura 0:7d720671e6dc 42 #include "mbed-endpoint-resources/ZXingResource.h"
Osamu Nakamura 0:7d720671e6dc 43 ZXingResource barcodedecode(&logger,"888","7700",true);
Osamu Nakamura 0:7d720671e6dc 44
Osamu Nakamura 0:7d720671e6dc 45 // called from the Endpoint::start() below to create resources and the endpoint internals...
Osamu Nakamura 0:7d720671e6dc 46 Connector::Options *configure_endpoint(Connector::OptionsBuilder &config)
Osamu Nakamura 0:7d720671e6dc 47 {
Osamu Nakamura 0:7d720671e6dc 48 // Build the endpoint configuration parameters
Osamu Nakamura 0:7d720671e6dc 49 logger.logging("Endpoint::main (%s): customizing endpoint configuration...",net_get_type());
Osamu Nakamura 0:7d720671e6dc 50 return config
Osamu Nakamura 0:7d720671e6dc 51 // PROVISIONING: set the Provisioning Credentials (all from security.h)
Osamu Nakamura 0:7d720671e6dc 52 .setEndpointNodename(MBED_ENDPOINT_NAME)
Osamu Nakamura 0:7d720671e6dc 53 .setDomain(MBED_DOMAIN)
Osamu Nakamura 0:7d720671e6dc 54 .setEndpointType(MY_DEVICE_TYPE)
Osamu Nakamura 0:7d720671e6dc 55 .setServerCertificate((uint8_t *)SERVER_CERT,(int)sizeof(SERVER_CERT))
Osamu Nakamura 0:7d720671e6dc 56 .setClientCertificate((uint8_t *)CERT,(int)sizeof(CERT))
Osamu Nakamura 0:7d720671e6dc 57 .setClientKey((uint8_t *)KEY,(int)sizeof(KEY))
Osamu Nakamura 0:7d720671e6dc 58
Osamu Nakamura 0:7d720671e6dc 59 // Add my specific physical resources...
Osamu Nakamura 0:7d720671e6dc 60 .addResource(&led)
Osamu Nakamura 0:7d720671e6dc 61 .addResource(&barcodedecode,(bool)false) // on demand observation
Osamu Nakamura 0:7d720671e6dc 62
Osamu Nakamura 0:7d720671e6dc 63 // finalize the configuration...
Osamu Nakamura 0:7d720671e6dc 64 .build();
Osamu Nakamura 0:7d720671e6dc 65 }
Osamu Nakamura 0:7d720671e6dc 66
Osamu Nakamura 0:7d720671e6dc 67 // main entry point...
Osamu Nakamura 0:7d720671e6dc 68 int main()
Osamu Nakamura 0:7d720671e6dc 69 {
Osamu Nakamura 0:7d720671e6dc 70 // set Serial
Osamu Nakamura 0:7d720671e6dc 71 pc.baud(115200);
Osamu Nakamura 0:7d720671e6dc 72
Osamu Nakamura 0:7d720671e6dc 73 // Announce
Osamu Nakamura 0:7d720671e6dc 74 logger.logging("\r\n\r\nmbed Connector Sample Endpoint - TechCon2016 (%s)",net_get_type());
Osamu Nakamura 0:7d720671e6dc 75
Osamu Nakamura 0:7d720671e6dc 76 // we have to plumb our network first
Osamu Nakamura 0:7d720671e6dc 77 Connector::Endpoint::plumbNetwork();
Osamu Nakamura 0:7d720671e6dc 78
Osamu Nakamura 0:7d720671e6dc 79 // starts the endpoint by finalizing its configuration (configure_endpoint() above gets called...)
Osamu Nakamura 0:7d720671e6dc 80 Connector::Endpoint::start();
Osamu Nakamura 0:7d720671e6dc 81 }