(Links will open in this window. Shift+click, command+click, or middle mouse click to open in new window or tab.)
This repository contains resources for quickly connecting your AVR-IoT device to your own Google Project and deploying a live UI to Firebase. It assumes you have already configured your device with Microchip's AVR START rapid development tool (coming soon).
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 quickstart script, you'll need to add your device's secure pubkey to the device's entry in your IoT core registry.
The quickstart requires that you have a Firebase project connected to a GCP project will billing enabled.
-
Create (or select an existing) GCP project.
-
Enable billing for the project.
-
Launch the Firebase Console.
-
Select 'Add project'.
-
In the Project Name field, select the GCP project you created or selected above.
-
Click 'Add Firebase'.
git clone https://github.com/Leverege/microchip-avr-iot.git && cd microchip-avr-iot && bash setup.sh
to clone this repo, enter the newly created directory, and run the quickstart script.
-
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.
-
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:
+ . % _ ~
-
The setup script will run for several minutes. The setup script will:
- Enable Cloud Functions, IoT, and Pub Sub
- Create an IoT Core registry called AVR-IOT and register your device
- Install, build, and deploy Cloud Functions and the UI
-
Make sure your device is connected to your computer via USB.
-
Open your IoT Core registry management page, and select the AVR-IOT registry.
-
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.
-
Click the Add public key button.
-
Select 'Upload' under the input method, and ES256 (not ES256_X509) as the public key format. Then click the Browse button.
-
In the upload window, navigate to the CURIOSITY drive, then select PUBKEY.TXT and click add to upload it.
And that's it! If you've edited your device with the AVR 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>.