Skip to content

Leverege/deprecated-microchip-avr-iot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

⛔️ DEPRECATED

This repo is deprecated and will no longer be maintained. Please visit Microchip's AVR and PIC git resources for up-to-date information: https://github.com/microchip-pic-avr-solutions

Information below is for archival purposes only, and may be removed at any point.


Microchip logo GCP Logo Leverege logo

AVR-IoT Quick Start

A rapid deployment tool for getting your AVR-IoT data on the cloud. Powered by Leverege.
Talk to an Expert »

Want to see how easy IoT can be? Check out our blog post with video walkthroughs of the Quick Start!

(Links will open in this window. Shift+click, command+click, or middle mouse click to open in new window or tab.)

Table of Contents

  1. Set up your GCP and Firebase Projects
  2. Run the Quickstart Script
  3. Add your devices public key to your IoT Core Registry
  4. Update your AVR-IoT device firmware

This repository contains resources for quickly connecting your AVR-IoT device to your own Google Project and deploying a live UI to Firebase.

Following this guide, you will clone this repo into your Google Cloud project, and run a script that:

  • enables Cloud Functions, Cloud IoT Core, and Pub/Sub,
  • creates an avr-iot Pub/Sub topic,
  • creates an IoT registry (default name: AVR-IOT, configurable in the script),
  • adds your device's UID to the registry,
  • builds and deploys a Cloud Function to route Pub/Sub messages to your Firebase project, and
  • builds and deploys a UI to firebase.

After running the quick script, you'll need to add your device's secure pubkey to the device's entry in your IoT core registry and update the firmware on your device using Atmel START and Atmel Studio.

Set up your GCP and Firebase Projects

The quickstart requires that you have a Firebase project connected to a GCP project with billing enabled.

GCP Project

  1. Create (or select an existing) GCP project.

    GO TO THE MANAGE RESOURCES PAGE

  2. Enable billing for the project.

    LEARN HOW TO ENABLE BILLING

Firebase Project

  1. Launch the Firebase Console.

    GO TO FIREBASE CONSOLE

  2. Select 'Add project'.

  3. In the Project Name field, select the GCP project you created or selected above.

  4. Click 'Add Firebase'.

Run the Quickstart Script

  1. Open Cloud Shell from your project.

  2. In the shell, run

git clone https://github.com/Leverege/microchip-avr-iot.git && cd microchip-avr-iot/setup && bash setup.sh

to clone this repo, enter the newly created directory, and run the quickstart script.

  1. You will need to provide firebase authentication. To do this, copy the authentication URL provided in the shell console, and paste it into a new browser window. Then, log in on that page, authorize the app, and copy the security key. Paste the security key into the shell at the prompt and hit return.

  2. At the prompt, enter your AVR-IoT device's UID. Your device's UID is the last portion of the url you see after launching CLICK-ME.HTM from the device.

  3. If you would like to customize your IOT Core registry name, you may do so at the IoT core registry name prompt.

    IoT core registry names must start with a letter, use only letters, numbers, hyphens, and the following characters:

     + . % _ ~
    
  4. The setup script will run for several minutes. The setup script will:

    • Enable Cloud Functions, IoT Core, and Pub Sub in your GCP project
    • Create an IoT Core registry called AVR-IOT and register your device
    • Install, build, and deploy Cloud Functions and the UI

Add your device public key to your IoT Core Registry

  1. Make sure your device is connected to your computer via USB.

  2. Open your IoT Core registry management page, and select the AVR-IOT registry.

    OPEN IOT CORE REGISTRY MANAGEMENT

  3. Click on your device's UID in the list.

    Because registry entries must begin with a letter your device UID will be prefixed with a 'd'. To search for your device by uid, you must enter 'd<your_device_id>' in the search box.

  4. Click the Add public key button.

  5. Select 'Upload' under the input method, and ES256 (not ES256_X509) as the public key format. Then click the Browse button.

  6. In the upload window, navigate to the CURIOSITY drive, then select PUBKEY.TXT and click add to upload it.

Update your AVR-IoT device firmware

  1. Navigate to the Atmel START Rapid Development Tool. Please note that this software is Windows only.

  2. Click the Browse Example button.

  3. Search for ATMEGA4808 and select AVR IoT WG Sensor Node.

  4. Click on Open Example.

  5. Scroll down to the Cloud Configuration section, and enter your GCP Project ID and Registry ID.

  6. Select the "WIFI_0" module under "My Software Components" to display the WiFi configuration settings.

  7. Under the WLAN Configuration section, enter in your WiFi credentials. Note: the network must be 2.4Ghz as the device cannot connect to 5.0 Ghz networks.

  8. Switch to the Export Project tab and click on Download Pack.

  9. Open the .atzip file in Atmel Studio and select Build Solution under the Build menu bar (or hit F7). Atmel Studio will generate a .hex file in the folder where you saved your project.

    By default, it will be located in ..\Atmel_Studio\7.0\<YourProjectName>\<YourProjectName>\Debug

  10. Drag and drop the .hex project file into your CURIOSITY drive.

View your live data!

And that's it! If you've edited your device with the Atmel START rapid development tool, you should see live data flowing to your new Firebase app at <your-project-id>.firebaseapp.com/device/<your-device-uid>.

Building a solution at scale?

Want to build something bigger? We can help you scale your projects into solutions. Talk to an IoT expert.

Whether you're a Fortune 500 company or startup, transforming your current business or creating entirely new businesses, it takes a team with deep experience across verticals and use cases to turn your IoT prototype into an IoT product.