The Microchip Technology AC164160 AVR-IoT WG Evaluation Board is an Internet of Things (IoT) development kit containing an ATmega4808 low-power microcontroller, ATECC608A cryptographic coprocessor, Wi-Fi module, on-board sensors, and expansion bus for connecting a growing portfolio of modular sensor and actuator add-ons. Several Integrated Development Environment (IDE) options coupled with an automated code-generation tool support software development. The automated code-generation tool creates ready-to-run projects containing the exact mix of hardware, software, and cloud connectivity needed for your application. The board includes a built-in Nano Embedded Debugger interface for programming and debugging using a personal computer running Windows, Mac OS, or Linux. The embedded Wi-Fi module allows the board to connect to an 802.11 b/g/n Wi-Fi access point for Internet connectivity. The cryptographic coprocessor provides secure hardware-based storage of private keys along with accelerated cryptographic operations that are much faster than performing them in software.
Google Cloud IoT is a cloud service on the Google Cloud Platform. It allows you to define registered IoT devices along with their device identifications (IDs) and security credentials. This cloud service creates publish and subscribe topics, which allow the secure exchange of messages between IoT devices and the Google Cloud. Other applications and Google Cloud services can subscribe to receive these messages to take further action on the data. IoT devices can also receive commands and configuration parameters by publishing messages to corresponding topics.
Cloud communications take place using the Message Queue Telemetry Transport (MQTT) protocol or the Hypertext Transport Protocol (HTTP). The Transport Layer Security (TLS) secures communications, and the JavaScript Object Notation [JSON] Web Tokens (JWT) perform authentications. Each device uses public and private key pairs for secure authentications within the Google Cloud IoT. Individual devices can be enabled, disabled, or blocked by adjusting their parameters in the Google Cloud IoT console. Connection metrics and logging can be enabled in the cloud for monitoring and debugging purposes when necessary. Cloud functionality can be configured and controlled through a web-based console, a command-line tool, or through the Google Cloud Application Programming Interfaces (APIs). Google offers command-line tools and API packages for several programming languages as free downloads.
The Atmel START web-based tool provides the required software to get the AC164160 AVR-IoT WG Evaluation Board working with the Google Cloud. The web-based tool contains several components and libraries including microcontroller initialization, board sensor I/O drivers, interrupt-driven operating environment, MQTT and TLS libraries, and interfaces with the cryptographic coprocessor. Example programs illustrate end-to-end operation, and you can modify the source code to extend and adapt for your own applications.
To use your own AVR-IoT WG board with the Google Cloud, check out our step-by-step Connecting Google Cloud IoT and AVR-IoT WG Eval Board article that walks you through the entire process of:
There, we also show you how to observe the published data by subscribing to the message-data topic using a Python program. A set of next steps gives you suggestions for how to extend and adapt the application for different IoT prototyping scenarios or to learn more.
Greg is an architect, engineer and consultant with more than 30 years experience in sensors, embedded systems, IoT, telecommunications, enterprise systems, cloud computing, data analytics, and hardware/software/firmware development. He has a BS in Electrical Engineering from the Univ. of Notre Dame and a MS in Computer Engineering from the Univ. of Southern California.