UPDATE 30 November 2019: I must concede defeat. "Sensing the World" ends today and I am no more successful with the code for my project than when I started. I learned a lot, but no where near where I need to be to do what I had envisioned.
The hardware is done. The MikroE Expand 2 was to serve as my level shifter for my 5v inputs. Now that the contest part is done, I am hoping that someone else had success using this and will post how they did it. The Relay3 was simple enough, so the outputs functioned. The OLED was just going to be a bonus.
I will probably shift this project to an Arduino and (maybe) later try a different IDE.
I really like the idea of a secure IoT device. I can definitely see application in an industrial environment for maintenance monitoring. I'm sure that someone will offer this product in the near future.
Project Concept: Monitor sources and position of Automatic Transfer Switch on Emergency Power System. Provide for remote start of generator. Provide ability to test system/force system onto generator.
INPUTS: Utility Phase A, B, C 5v non-contact voltage detectors
Generator Phase A
Building Phase B
ATS in Utility contact dry contacts
ATS in Emergency contact
OUTPUTS: Parallel remote start from ATS relay on click board
Forced transfer - break utility sensing path relay on click board
Day 10?: Yup. Totally done with the contest server. Someone else can take over my spot. Frustrated with trying to write code in C. Every edit brings a ridiculous amount of errors. From reviewing the lack of blogs, I'm not the only one not having a lot of fun.
Day 56: The contest server is broken again today. Sad. The contest registration was what kept the Sphere on the desk all day every day. I still haven't found an example that works with the port expander.
Day 47: Modified the Blink solution and got the MikroE Relay3 click to do what it was supposed to. Of course I forgot to add the appropriate GPIO to the app_manifest.json so it didn't work at first. This is making a bit more sense. Now on to the Expand 2 click. I haven't found an example out there yet to build off. Someone's got a frowny face.
46 days in: I've run the tutorials a few times each. I'm into the pay-as-you-go program with Microsoft but have managed not to select any billable features. I'm still struggling with C and understanding the flow of the code. It's fascinating and frustrating. At least the hardware side of my project idea is simple enough and does what it's supposed to. It just won't be very cool if I can't get the Sphere to read/sense it. Back to reading Visual Studio "solutions".
3.5 weeks in: Click boards arrived today. Now I have to figure out how to interface with them. I'm starting with a Expand 2 16 bit IO expander and a Relay 3 dual relay output board. I'm going to have to go back to the Getting Started blogs to get back up to speed on programming this toy. I should have taken better notes.
2.5 weeks in: Broke down and ordered some MikroE click boards. The workbench is a mess so this will be easier than finding and making my own interfaces. Decided to try to publish this and do updates - because I've not done this before either. WHEW!!! Looks like I can edit this without problems. Whoop-whoop.
Day 3+: Doing the daily check-ins. Added the cellphone hotspot because I had to work on the road for a week. It worked fine. I was also getting the WiFi not configured. Stumbled across a post that added a pause. I wish I could remember who posted it because I love it - even better than increasing the time delays - which didn't really work for me.
Day 2: Check-ins are working. Time to make this puppy do something cool. Looks like I'm going to need to buy some click boards or create a usable interface of some sort. This will take some time.
Started playing with the CLI. I like the structure. Note to self: Add your phone hotspot to the WiFi list and do tomorrow's check-in with that. Sideloaded Blink. More learning trying to get back to OTA. I'm learning the language. Someday I might even be able to speak to one of the natives.
Day 1: The kit arrives. Time to connect to the world. Time to load Visual Studio Community. Time to load Azure Sphere SDK. Time to get an Azure account. I should have paid more attention to those Getting Started blogs.
Claim the device... okay... use the program you installed on your PC: Azure Sphere Developer Command Prompt Preview.
Ah! A Command Line Interface! I'm saved. Claim the device. Configure the WiFi.
NOW I can download the Daily Sync with Contest Server stuff and start being counted. I think it worked. I'll check the heat map in a few hours.
START! It looks cool! It's free (except shipping)! I want it! Maybe I should have read a bit more before I ordered the kit... Now I have to actually do something IoT. Note to self: Read, then click.