Download Print this page

ARRIBADA Horizon ARTIC R2 Users Manual & Quick Start Manual

Developer's kit

Advertisement

Quick Links

Arribada Horizon
Arribada Horizon ARTIC R2 Developer's Kit
User Manual & Quickstart Guide
Version 1.0.2 | April 2020
HORIZON-DEV-ARTIC-R2
https://arribada.org | hello@arribada.org

Advertisement

loading
Need help?

Need help?

Do you have a question about the Horizon ARTIC R2 and is the answer not in the manual?

Questions and answers

Summary of Contents for ARRIBADA Horizon ARTIC R2

  • Page 1 Arribada Horizon Arribada Horizon ARTIC R2 Developer’s Kit User Manual & Quickstart Guide Version 1.0.2 | April 2020 HORIZON-DEV-ARTIC-R2 https://arribada.org | hello@arribada.org...
  • Page 2 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Introduction Prerequisites Hardware Software Hardware Preparation Horizon board rev 3.0 & ARTIC R2 board rev 1.0 3.1.1 3.1.2 SARA-U270 cellular module rev 1.0 Application programming via secure bootloader User interface Push buttons...
  • Page 3: Hardware Preparation

    1 x J-Link JTAG programmer or equivalent (required for programming nRF52840 device) 2.2. Software The following release packages should be downloaded and installed by cloning the following git repository: https://github.com/arribada Python tools software package | arribada_tools-2.0.0.zip nRF52840 bootloader file | https://github.com/arribada/horizon-v9-firmware/blob/master/horizon_bootloader_18a6102.hex nRF52840 firmware image DFU file | https://github.com/arribada/horizon-v9-firmware...
  • Page 4 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual ARTIC R2 Developer's Kit Contents: 1 x Horizon board 1 x ARTIC R2 module (daughterboard) 1 x Picoblade cable assembly 1 x MicroUSB cable The main Horizon board accepts either an ARTIC R2 module, or a Cellular SARA-U270 module.
  • Page 5: Firmware Programming

    Arribada Horizon ARTIC R2 Developer’s Kit | User Manual On the cellular module, attach the battery via a JST header and cable to the module and insert a SIM card into the sim card holder. Ensure that you have an active data plan and APN in preparation for configuration.
  • Page 6: User Interface

    Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 4. User interface 4.1. Push buttons The following switches and push buttons are provided: DFU mode push button Hard reset push button The DFU button operates as follows: Tracker state Operation...
  • Page 7 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual then USB_INDEX=0 is assumed. 5.1. Cellular AWS user account setup The first-time AWS account configuration is required to be done only once. The main purpose is to create an Admin user group and an...
  • Page 8 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual $ aws configure AWS Access Key ID []: <enter your AWS Access Key ID here> AWS Secret Access Key []: <enter your AWS Secret Access Key here> Default region name []: <enter region name eg us-west-2>...
  • Page 9 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Commands you can use next ========================= [*] Invoke Function: sam local invoke [*] Package: sam package --s3-bucket <yourbucket> Uploading to 43382c729305e71a5c4fa118fe669aa5 1036 / 1036.0 (100.00%) Successfully packaged artifacts and wrote output template to file /tmp/tmp.yaml.
  • Page 10 VeriSign-Class-3-Public-Primary-Certification-Authority-G5.pem arribada-tools-x.y.z package. It is the primary CA used by all Amazon AWS services and can be used to authenticate the AWS servers. These files should not be deleted. If you accidentally delete these files, you will not be able to provision any tracker devices without first...
  • Page 11 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual $ aws_config --register_thing yourThingName 2019-03-28 15:26:31,265 aws_config INFO Creating certificate and keys for yourThingName 2019-03-28 15:26:31,312 aws_config INFO Registering yourThingName into AWS 2019-03-28 15:26:31,591 credentials INFO Found credentials in shared credentials file: ~/.aws/credentials...
  • Page 12 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 5.5. Provisioning of per device certificate and keys into tracker The following steps should be carried out for each tracker board: $ sudo cellular_config --root_ca VeriSign-Class-3-Public-Primary-Certification-Authority-G5.pem --cert yourThingName.cert --key yourThingName.key <Add example output here>...
  • Page 13 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 5.7. Check Horizon board status To obtain system status information, enter the following command $ sudo tracker_config --status { "cfg_version": 5, "fw_version": 1, "unique_device_identifier": xxxxxxx, "cellular_module_present": true, "satellite_module_present": false } The firmware version and configuration version must match the version requirements for the quick start guide as outlined in the introduction. If these versions do not match, then it is advised not to proceed further.
  • Page 14 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual information on registering for this service: https://www.u-blox.com/sites/default/files/products/documents/MultiGNSSAssistNow_QuickStart_%28UBX-14003139%29.pdf Upon registration to the service, a token shall be issued that permits access to the HTTP server. Typing the following URL format into a web...
  • Page 15 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Once this is set, navigate to the "Satellite pass prediction" page, ensure "NK" and "NN" are ticked under "Satellite choice". This is because these two satellites do not support the Argos 3 messages that we are using.
  • Page 16 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Upon completion of the above steps the status LED shall turn GREEN to indicate that provisioning has been successful. 5.16. Test modes A number of test modes can be activated prior to deployment in order to check that the hardware and overall system configuration are functioning correctly.
  • Page 17 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Device status update Logging data backlog The IoT infrastructure has been configured to organise the received data into three separate data sets which aggregate data across all deployed devices as follows: Device status updates - provides the last know status of each device whenever it connects.
  • Page 18 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual $ aws_config --get_shadow thingName "metadata": { "desired": { "device_status": { "last_log_file_read_pos": { "timestamp": 1553857919 "state": { "delta": { "device_status": { "last_log_file_read_pos": 0 "desired": { "device_status": { "last_log_file_read_pos": 0 "timestamp": 1553857975, "version": 2...
  • Page 19 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual $ aws_config --download_dataset arribada_gps_location 2019-03-29 11:14:48,107 aws_config INFO Retrieving data set meta data for arribada_gps_location 2019-03-29 11:14:48,129 credentials INFO Found credentials in shared credentials file: ~/.aws/credentials 2019-03-29 11:14:49,050 aws_config INFO Downloading data set to file ffa31d0f-15db-4c59-9a85-c8e1a1d368b2.csv...
  • Page 20 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "version": { "timestamp": 1553858886 "state": { "desired": { "device_update": { "firmware_update": { "url": { "domain": "arribada.s3.amazonaws.com", "path": "/f99f1395-dbef-4032-aebc-d01d21b55cf6?AWSAccessKeyId=AKIAIPZT2EDQFBIJHOWA& Expires=1585394885&Signature=%2F%2Fabi%2BYo8%2FGd69yfB3L2Pk3MEGs%3D", "port": 443 "version": 2 "timestamp": 1553858886, "version": 3 Page 20 of 42...
  • Page 21 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 6.6. AWS configuration update This command may only be run by a user in the Admin group: $ aws_config --configuration_update yourThingName --file yourThingName.json 2019-03-29 11:29:11,540 aws_config INFO Uploading configuration data length 1267 to AWS...
  • Page 22 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "version": 1 "timestamp": 1553858954, "version": 4 Page 22 of 42...
  • Page 23 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 6.7. Obtaining the log file after a tracker board is recovered To obtain the log file connect a USB cable from the Horizon board to a PC. Check that the LED turns solid red. Then execute the following commands: $ sudo tracker_config --read_log log.bin...
  • Page 24 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual trade-offs to consider: The scanning duration from the PC may need to be longer to discover the device during its active advertising period Even if a device is successfully scanned it may subsequently be deactivated before a BLE connection attempt is made Note that the only apply when no BLE connection is established.
  • Page 25 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual case with the exception that the option must now be added to the tool. The device address discovered by --ble_addr tracker_config ble_ should be used with the parameter e.g., scan --ble_addr...
  • Page 26 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual ble_auto [ --debug ] [ --connection_retry <number_of_connection_attempts> ] [ --connection_timeout <timeout> ] [ --scan_timeout <timeout> ] [ --black_list <name_of_black_list_file> ] [ --white_list <name_of_white_list_file> ] [ --firmware_update_main <new_fw_file> ] [ --firmware_update_ble <new_fw_file> ] [ --log_erase ] [ --log_create ] [ --log_skip_download ] [ --config <new_config_file>...
  • Page 27 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual $ sudo ble_auto --scan_timeout 1 --log_erase --log_create --reset 2018-10-31 15:08:36,459 ble_auto INFO Scanning for new devices... 2018-10-31 15:08:37,467 ble_auto INFO Discovered device=c8:cb:86:a9:04:e2 rssi=-57 2018-10-31 15:08:37,467 ble_auto INFO Discovered device=d5:8d:8c:d3:bb:32 rssi=-59 2018-10-31 15:08:37,468 ble_auto INFO Discovered device=ee:fa:05:ba:86:8b rssi=-58...
  • Page 28 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 7.4. JSON logging format tool shall generate log output using the following JSON format: log_parse "DateTime": { "seconds": number, "month": number, "hours": number, "year": number, "minutes": number, "day": number "Timestamp": { "timestamp": number...
  • Page 29 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "IOTConfigUpdate": { # Notification an IOT configuration file update was received "version": number, "file_length": number "IOTFirmwareUpdate": { # Notification an IOT firmware file update was received "version": number, "file_length": number "IOTErrorCode": { # Notification of error code when an IOT error occurs "error_code": number...
  • Page 30 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 7.5. GPS Trigger Modes The following diagrams describe the different GPS trigger options. Any arrows on rising edges is the cause for the GPS to turn on, any arrow on a falling edge is the cause for the GPS to turn off 7.5.1.
  • Page 31 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 7.5.3. HYBRID Page 31 of 42...
  • Page 32 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual 7.6. JSON configuration format The raw JSON configuration file format is shown below for the v5 configuration file format. "version": number, "system": { "deviceName": string "gps": { "lastKnownPosition": { # Last known GPS location recorded with date and time (read-only) "accuracyHorizontal": number,...
  • Page 33 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "connectionInactivityTimeout": number, # Force connection to drop after inactivity period in seconds "phyMode": string, # One of { "1_MBPS", "2_MBPS" } "advertisingTags": [ string ], # Permitted options are "LAST_GPS_TIME", "BATTERY_LEVEL", etc "logEnable": boolean...
  • Page 34 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "aws": { "arn": string, # The value of AWS $arn ie same as the HTTPS domain name "port": number, # HTTPS port number for AWS "thingName": string, # Unique thingName assigned to this device in AWS # If not specified use "system.deviceName"...
  • Page 35 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Note that the above JSON configuration record format is subject to change in future releases. 7.7. Tool command-line arguments 7.7.1. aws_config usage: aws_config [-h] [--version] [--debug] [--cert_path CERT_PATH] [--namespace NAMESPACE] [--install] [--uninstall]...
  • Page 36 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual THING_NAME --list_things (admin) Return a list of registered things by their THING_NAME --get_shadow THING_NAME (admin) Obtain the JSON shadow record for THING_NAME --set_shadow THING_NAME (admin) Set the JSON shadow record for THING_NAME; JSON is passed in --data option.
  • Page 37 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual update on THING_NAME --file FILE Provides a file name to support other operations 7.7.2. tracker_config Page 37 of 42...
  • Page 38 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual usage: tracker_config [-h] [--ble_addr BLUETOOTH_ADDR] [--debug] [--write WRITE] [--read READ] [--read_log READ_LOG] [--battery] [--status] [--erase] [--erase_log] [--create_log CREATE_LOG] [--reset RESET] [--test_mode TEST_MODE] [--protect] [--unprotect] [--setdatetime SETDATETIME] [--getdatetime] [--firmware_type FIRMWARE_TYPE] [--firmware FIRMWARE]...
  • Page 39 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual usage: cellular_config [-h] [--serial SERIAL] [--baud BAUD] [--ble_addr BLUETOOTH_ADDR] --root_ca ROOT_CA --cert CERT --key KEY [--debug] [--verify] --serial local serial port for bridging via local serial port (eg /dev/ttyUSB0) --baud set the serial port communications baud rate when...
  • Page 40 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual usage: gps_ascii_config [-h] [--serial SERIAL] [--baud BAUD] [--ble_addr BLUETOOTH_ADDR] --file FILE [--debug] --serial local serial port for bridging via local serial port (eg /dev/ttyUSB0) --baud set the serial port communications baud rate when...
  • Page 41 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual Field Name Presence Type Notes Logging Filter Enable Tag "__dt" Mandatory String Delta time since previous logged item "thing_name" Mandatory String The AWS registered thing name associated with the data record "timestamp"...
  • Page 42 Arribada Horizon ARTIC R2 Developer’s Kit | User Manual "device_update": { "configuration_update": { "url": { "domain": string, "port": number, "path": string }, "version": number }, "firmware_update": { "url": { "domain": string, "port": number, "path": string }, "version": number }, "device_status": { "last_gps_location": { "longitude": float, "latitude": float,...